Widgets
Each widget declares a config schema, a fetch step and a render step that produces HTML for a box of a given size. The same registry drives the config form, the preview and the renderer. This page is generated from that registry, one section below per widget.
A widget also sees the screen it is drawn on. Battery uses that: it draws the voltage the device sent when it last fetched an image, as a battery glyph with the charge left in percent, so a battery-powered panel tells you it needs charging as you walk past. The reading is one schedule interval old, and a device that sends no voltage gets an empty outline instead.
Text
Widget id: text.
JSON URL
Widget id: json-url. Reference.
Battery
Widget id: battery.