You can’t send text string to Value Display - only numerical data types. (or at least I haven’t been able to);
Basically I sample a sensor (scale that tells me how many cans of beer are left . . . ) then depending on the quantity display a different text string. EG <6 “Get More Beer!”; >24 “Whoo Hoo, More Beer!”; etc
This works OK on the LCD display, I just dont like the interface style.
Thnx, the answer was staring me in the face . . . Labeled Value widget (i’ve used this many, many times before . . .). Previous uses have been fixed text with a chnaging variable . . . thats what threw me off track . . . I want to send variable text. But I already have seperate functions for each text string, so just add the numerical value as well as the text and voila.
I’ve used two Labeled Value widgets here, the one on the left is a ‘Dummy’, I just changed the text in the app. When I get home I’ll consolidate the string and quantity into a single widget from the hardware side.
Thnx for the insight guys, its amazing how fresh sets of eyes changes the perpective!
Nice… I also have one of those LCD/keypad shields (must find a use for it)… and a renewed interest in merging “old” Arduino tech with Blynk into “new” IoT devices. As shown here:
Did you change this in the app or by using Blynk.setProperty(V0, “label”, “My New Widget Label”); ???
I have been trying tonight to change the LABEL on a Labeled Value Display widget by sing the Blynk.setProperty() function. it does work to a limited degree . . . however there is an inconsistency in the terminology between the docs and the app.
In the app (or widget properties) LABEL refers to the field where you enter the test string, /pin/ value etc.
However when you set the label property from hardware it changes te small widget descriptor test in the top left corner of the widget - not the section described (labeled as LABEL.
DOCS say you can change widget propertities, including “label”
So back to my original post . . . is there a way to change the LABEL (as described in the widget settings on the app), from hardware. Its easy to change in the app, but from hardware based on different conditions?
Your OP was that you thought you needed the LCD becasue can’t send text strings…presumably in the main body of a Display widget. This has been resolved
As for labels, LABELS, and Labeled Display Widgets… yes, all a bit confusing as the App and libraries developed
The little grey label on most widgets can be changed in App or via code with Blynk.setProperty(V0, "label", "Your Label")
The main boady of the text can be changed via code with Blynk.virtualWrite(vPin, value)
But in the Labeled Display Widget, AFAIK NO, you cannot change the LABEL data from code… However, there is no real need to… since you can use alphanumeric text and/or emoticons via their UTF-8 code… see here, and even control the decimal points if need be (generaly by preformatting the number to a string I belive?), all from code for the main value body of the widget.
The LABEL option is probably more for “codeless” App use.
Yes, but that ONLY writes the text value to the widget Vx pin. (which is better than the LCD display), but still not staisfcatory (for me
I want to write . . .
/pin/ in the same widget . . .
I’m getting greedy, I know. I an experimenting with sprintf() now to see if I can get my text and int in the same string . . .
There is still a basic inconsistency with the Blynk Docs - the setPropety() label does NOT change the label as they show in the docs, it changes the small widget descriptor in the top left corner. It may not seem like much, but support documents must be 100% accurate, especially for naming conventions.
No big deal, I’ve learnt a LOT today (and re-remembered twice as much!).
The more I play with Arduino and Blynk, the more I remember the more powerful it gets!
To add to my joy I’m doing this manually flashing a standalone ESP chip . . . which I only sorted last week . . .
You are referring to the specific part of a the Labeled Display called LABEL (all caps)… that is the one that appears meant for codeless use, and anything it can do can be done by code… which since you are sending values to it anyhow, well, customise it first.
As I’ve discovered . . .I can send text, int, float, whatever, but not a combination . . . i’m experimenting with sprintf() to see if I can create the string I want and send that.
cul
billd
I know that know . . .label <> LABEL . . .just a bit confusing . . .perhaps a different choice of descriptor? Aanyway all good, my beer is old, I have lots and have learnt a lot!
That is the key… since everything set is apparently strings anyhow, just make up/combine your own and virtualWrite() it
For example this is how I format my nicely formatted clock (thanks to @Costas for showing this to me)…
sprintf(currentTime, "%02d:%02d:%02d", hour(), minute(), second());
Blynk.virtualWrite(V12, "\xE2\x8F\xB3", currentTime); // Send time to Display Widget
The funny text at the beginning of the virtualWrite() value is the hourglass, I actually change it every second so that it looks like it is filling & emptying in the App. The label was manually inserted.