Smart Devices — what runs in the house

Everything here is documentation of things already running on the Pi, one folder per device. The code itself is not in this folder and there is no copy of it on the Mac — ~/smart-home/… on the Pi is the source of truth, so a change means editing it there and restarting the service.

In one line. One device so far: a Hue Iris floor lamp driven over Zigbee with no Hue Bridge anywhere in the chain. The page below documents the whole path, phone to lamp.

Where the work is
What the projects tracker says is next
read live from 0_My Projects Tracker/smart-devices.md

What is running

Walked from this folder on every page load and joined with status.json, so this table cannot fall behind what is actually here — the same live link the projects tracker uses.

DeviceStackWhere it runsDocumentationState
Hue Iris
Philips Hue Iris floor lamp, paired straight to a Zigbee dongle - no Hue Bridge
Zigbee → Zigbee2MQTT → MQTT → PythonPi · hramiyar
hue-iris.service · port 8091
~/smart-home/hue-iris/app.py
10 sections, 5,472 words, 2 figures, 2 imagesrunning
Walked live at page load — in step with Smart Devices/status.json.

The devices

Hue Iris
The living-room floor lamp: the five-hop data path from phone to bulb, what the hardware genuinely supports, the HTTP API, the state-read trap that broke it, the interface, the sleep timer, and how to debug it. Port 8091 on the Pi.

How this folder works

One folder per device, each holding an index.md and its own images/. The folder name is the device name — it is what status.json keys on and what the tracker displays.

status.json is the contract. It carries what a walk cannot see: whether the thing is running, on which host, under which service and port. Add a device folder and add it to status.json in the same pass, or the tracker flags it in red.

The Pi is the source of truth for code. These pages document; they do not deploy. Edit ~/smart-home/<service>/app.py on the Pi and restart the unit.

Adding a device: create <Device Name>/index.md, add its images/ if it needs any, add the entry to status.json, and add a card above. The tracker picks it up on the next reload.

# serve this folder
mddash ~/Documents/md-engine/"Smart Devices"

# push it to the Pi so it is readable from anywhere on Tailscale
mdpush ~/Documents/md-engine/"Smart Devices"