Value box
Shows the latest text or number the sketch published. It does not send clicks back to the device.
Set it up on the server
- Sign in to the Box IO dashboard and open the project that uses this device key.
- Turn on Edit.
- In Edit, add Value box.
- Set Virtual pin to
1so it matchesV1. - Set Label and Color. Color is the text color.
- Save the layout, then open Live.
- Flash the sketch below with the same device key, host, and port
5923. KeepBoxIO.run()inloop().
Properties
Sketch values are always strings, including numbers: BoxIO.setProperty(V2, "max", "200").
| Property | Where to set it | Format | Example | Effect |
|---|---|---|---|---|
color | Dashboard or sketch | #RRGGBB | #f5b942 | Text color. |
label | Dashboard or sketch | Plain text | Pump | Caption above the widget. On a round or oval button this is the caption, not the word on the button face. |
hideLabel | Dashboard | On or off | checked | Hides the caption. Button face text, meter numbers, and label text stay visible. |
fontSize | Dashboard | Whole number 8 to 160, or blank for automatic size | 28 | Text size in pixels inside the widget. |
opacity | Dashboard | 10% to 100% | 70% | Lets an overlapping widget show through. 100% is solid. |
Formatting
- virtualWrite sends the value as text. Numbers are sent without units. A string is shown exactly as written.
- An empty pin shows an em dash until the first virtualWrite.
Sketch
Paste the device key over bx_paste_your_device_key_here. Wi-Fi boards include BoxIOEsp32.h. Ethernet boards use the same calls with an EthernetClient.
#define BOXIO_AUTH "bx_paste_your_device_key_here"
#define WIFI_SSID "your-ssid"
#define WIFI_PASS "your-password"
#define BOXIO_HOST "boxio.krmsproducts.net"
#define BOXIO_PORT 5923
#include <BoxIOEsp32.h>
void setup() {
BoxIO.begin(BOXIO_AUTH, WIFI_SSID, WIFI_PASS, BOXIO_HOST, BOXIO_PORT);
BoxIO.setProperty(V1, "label", "Value Lab");
BoxIO.setProperty(V1, "color", "#f5b942");
BoxIO.virtualWrite(V1, "hello-lab");
}
void loop() {
BoxIO.run();
static uint32_t last = 0;
if (millis() - last < 1000) return;
last = millis();
static int n = 0;
n = (n + 3) % 180;
BoxIO.virtualWrite(V1, n);
}
What you should see
The box shows hello-lab, then the counting number. Any text fits: temperatures, names, or a short status.