Slider Reverts to Either the Left Side or Right Side

I am having an issue with a slider on the app dashboard. Whenever I try to slide it, it reverts to the left side no matter what, except for some occasions where if I drag right, it stays on the far right side. It’s a little upsetting to me that the app has a lot less ways to customize the widgets, because I wanted to troubleshoot by editing this slider, but unlike the web dashboard, I can’t edit the min/max, step size, or even add a number on the side to see what it thinks the slider is sending to my esp. But that is beside the issue.
I am using an ESP8266, and my code is below.
(Yes I know half of the code I’m using is a terrible way of doing things but I’d like to make the duration slider work before refining the code)
V0 and V5 are set up as buttons, V4 is set up as a slider that works perfectly fine, and V6 is the slider that doesn’t seem to work.

/*************************************************************

  This is a simple demo of sending and receiving some data.
  Be sure to check out other examples!
 *************************************************************/

// Template ID, Device Name and Auth Token are provided by the Blynk.Cloud
// See the Device Info tab, or Template settings
#define BLYNK_TEMPLATE_ID           "TMPLKDb_NP9O"
#define BLYNK_DEVICE_NAME           "Quickstart Device"
#define BLYNK_AUTH_TOKEN            "b-ojKgDGbZzTqW46QlswTh45TMOoJpiP"


// Comment this out to disable prints and save space
#define BLYNK_PRINT Serial


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <pitches.h>

int melody[] = {
  NOTE_C5, NOTE_D5, NOTE_E5, NOTE_F5, NOTE_G5, NOTE_A5, NOTE_B5, NOTE_C6};

char auth[] = BLYNK_AUTH_TOKEN;

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "FiOS-XSUVX";
char pass[] = "Proverbs31";

BlynkTimer timer;

int duration;
int thisNote;
int value;
int i;
int k;

BLYNK_WRITE(V5){
  duration=0;
}

BLYNK_WRITE(V4){
  thisNote = param.asInt();
  Serial.println(thisNote);
}

BLYNK_WRITE(V6){
  k = param.asInt();
  if(k==0){
    duration=0;
  }
  Serial.println(duration);
}


// This function is called every time the Virtual Pin 0 state changes
BLYNK_WRITE(V0)
{
  // Set incoming value from pin V0 to a variable
  value = param.asInt();
  duration=k;
  // Update state
  Blynk.virtualWrite(V1, value);
}

// This function is called every time the device is connected to the Blynk.Cloud
BLYNK_CONNECTED()
{
  // Change Web Link Button message to "Congratulations!"
  Blynk.setProperty(V3, "offImageUrl", "https://static-image.nyc3.cdn.digitaloceanspaces.com/general/fte/congratulations.png");
  Blynk.setProperty(V3, "onImageUrl",  "https://static-image.nyc3.cdn.digitaloceanspaces.com/general/fte/congratulations_pressed.png");
  Blynk.setProperty(V3, "url", "https://docs.blynk.io/en/getting-started/what-do-i-need-to-blynk/how-quickstart-device-was-made");
}



// This function sends Arduino's uptime every second to Virtual Pin 2.
void myTimerEvent()
{
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
  Blynk.virtualWrite(V2, millis() / 1000);
}



void setup()
{
  // Debug console
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);

  // Setup a function to be called every second
  timer.setInterval(1000L, myTimerEvent);
}

void loop()
{
    if(duration!=0){
      tone(14, melody[thisNote], duration);
      Serial.println(duration);
    }
  Blynk.run();
  timer.run();
  // You can inject your own code or combine it with other sketches.
  // Check other examples on how to communicate with Blynk. Remember
  // to avoid delay() function!
}

Hey there,
How did you configure your datastream ?

The min/max values for the app dashboard are inherited from the datastream

Use the Step Slider widget for this.

You can add a label widget attached to the same datastream.

I suspect that the issue is with the way that you’ve configured the datastream, especially the data invalidation settings in the advanced settings.

Pete.

1 Like

Hi, thanks for responding so fast. I am wondering if it might not work because 5000 is a big number, but I kinda doubt that, and my data invalidation settings are just blank, here they are:

I should have thought before about putting in the different widgets for the different things I want, although I am just using the free version for now, so I don’t have access to the step slider.

That isn’t a virtual pin.
I’d suggest that you delete the datastream and add it back in again, this time as a virtual pin.

Pete.

I will try that, however on this screen it marks it as “V6”:

Yeah, I created a new pin on V7, and that did not appear to solve the issue.

Update: I ended up getting the plus version and used the step slider, I could use the step once, and then on the second step the slider reset back to the left side, however my reader on that virtual pin still read the value it should have