Key Concepts
Understanding these core building blocks will make every other part of VWire click instantly.
Virtual Pins
Virtual pins are named data channels that carry values between your device and the dashboard.
They are called virtual because they don't map to specific hardware — you can use V0 to carry a temperature reading, a GPS latitude, or a button state — whatever your firmware puts there.
- Range:
V0toV255 - Value type: Always a UTF-8 string (your firmware converts numbers to strings before sending)
- Direction: Bidirectional — device publishes to a pin; widgets can also write to a pin (commands)
Device publishes: V0 = "23.5"
Widget reads: 23.5 °C
Widget writes: V5 = "1" (a button press)
Device receives: V5 changed to "1" → toggle relay
Devices
A device is any MQTT-capable hardware that authenticates with your Device Token.
The token is generated once per device in the dashboard and is embedded in your firmware.
| Field | Details |
|---|---|
| Token | Unique 32-char secret — keep it private |
| Device ID | Public identifier used in MQTT topic paths |
| Status | Online / Offline tracked by MQTT connection |
| Last Seen | Timestamp of most recent MQTT activity |
| Heartbeat | Optional periodic payload with heap/RSSI/IP info |
Projects
A project is a named dashboard that contains one or more widgets.
Projects can be shared with other VWire users at different permission levels (Viewer, Operator, Editor, Admin).
Widgets
Widgets are the visual building blocks of a project.
Each widget is bound to a device + pin pair and renders or controls the value on that pin.
✅ There are 29 widget types — see the full list in the Widget Overview.
Notifications
VWire supports three delivery channels:
| Channel | Trigger |
|---|---|
| In-app bell | Always delivered when conditions are met |
| User preference per notification type | |
| Mobile push | Via FCM to the VWire Android / iOS app |
Notifications are throttled to 60 per minute per device to prevent spam. The first 3 seconds after a device connects/disconnects are a quiet window for other notification types.