In the Blynk app (in zeRGBa) I use merge, all 3 value ranges set to 0-255.
When I send 255; 255; 255, on the ESP8266 I get 9999; 255; 255;
What is going on?
• Hardware model : ESP8266 (tried ESP32 with my similar big sketch, it does not help)
• Core version 2.4.2 (tried 2.4.0 version, it does not help)
• Smartphone OS : Android 7.0
• Blynk server
• Blynk Library version 0.5.3 (tried older versions, it does not help)
• App 2.26.7 (tried old apk file 2.18.1, it does not help)
OK, found the issue) It turns out that you can turn on/off conversion for each pin,
and if you click that thing then it sends values from -9999 to 9999, but it still shows 0-255 everywhere… strange… why not to show real values that widget sends?
Yes, I agree… I’ve missed that
But why does it still shows all three is 255 in the app? when in reality it is “9999”,“255”,“255”, that is what it send to the server and what my ESP8266 gets. I think it should be fixed. It is not a bug, it is just misleading.
Because that is the actual values of the colour picker in the widget… No need to overthink it
What the widget mapping does is something different and variable with the data output to the device, and in my experience just messes up things, just leave them off and work with the raw data. If you need mapping (not applicable in your case), use the Arduino map() function.
PS, in your image… if you can see the circle and the squiggly line, then mapping is ON, not off.
So, Are you saying that mapping is on only for [R] ?
From the picture it looks like it, I agree, but via restful API I get this: [“9999”,“255”,“255”]. (with all like on the picture above)
I just rechecked all again, if widget shows 0; 0; 0; via restful API I get this: [“-9999”,“0”,“0”] it kind of strange… I don’t know.
Anyways, thanks for help. It is good enough for me the way it is.
You’d only activated data mapping for the Red channel, so yes, it’s only on for R values.
With virtual pins, data maps from -9999 to 9999. That’s how it’s desihned to work.
The mapping happens in the background, so is invisible to the app user (as you discovered, the user sees the range specified for that channel - in this case 0-255).