Skip to content

Todo

Outstanding tasks and documentation improvements.


In Progress


To Do

High Priority

  • [ ] "Alexa, Goodnight" does not reliably arm the alarm — and fails silently. Ring refuses an arm when any contact is faulted, and HA's MQTT path has no bypass (supported_features is only arm_home/arm_away). The Ring Alexa skill does handle it — it asks "sensors require bypass, do you want to arm your system anyway?" — so arming needs to go back to the Alexa side. Plan agreed 2026-07-28:
    1. Remove alarm_control_panel.alarm_arm_home from script.goodnight; put the Ring arm action back in the Alexa routine
    2. Add a separate automation (Dan's preference) triggered on script.goodnight finishing: wait ~2 min, and if the alarm is not armed_home, announce on the Echo and notify, listing which contacts are open
    3. Restructure the power check from a bare condition: to if/then — as written it aborts the whole script when draw is under threshold, which would skip anything added after it
    4. Open question: does the bypass prompt work when the arm is an action inside an Alexa routine, or only when asked directly? Dan recalls a button on the Shelly Wall Display that ran the routine and thinks bypass worked that way — needs confirming before choosing the final shape
    5. Until fixed, check the keypad — Goodnight may leave the house unarmed with no warning
  • [ ] Identify what's running at 192.168.1.11 and 192.168.1.111 (DNS servers) — document in network.md
  • [x] Set up local docs mirror — http://docs.home live on Lotus (192.168.1.81), syncs every 30 min (2026-04-14)
  • [ ] Fix or remove broken containers on Lotus: Dawarich Sidekiq (exited), Splitpro PostgreSQL (exited), Calibre book downloader (unhealthy)
  • [ ] Fix iPlayarr container — download paths are incorrect
  • [ ] Investigate and fix Uptime Kuma on Pacific (LXC 105 stopped)
  • [ ] Add service URLs (subdomains) to QUICK-REFERENCE.md — pull from SWAG config

Normal Priority

  • [ ] Physically label the plug bodies with their register tags — inventory.md. Pw03 done. This is the only thing that identifies a plug without tracing its cable, which is what the 2026-07-29 audit actually struggled with
  • [ ] Bin Pw06 (failed desktop plug), and bypass Pw01 so the living-room UniFi switch plugs straight into the wall. After the bypass: delete switch.dishwasher + sensor.dishwasher_energy_*, and add sensor.living_room_switch_energy to the Energy dashboard (not before, or the 7 W is double-counted)
  • [ ] Resolve Pz08's identity — Z2M calls it Plug Wardrobe Rack, HA calls it Bedroom NUC Plug. Settle before it gets a physical label
  • [ ] Check MQTT reconnect counts on Pw01 / Pw02 / Pw05 a day after the 2026-07-29 upgrade — all were reset to 1, and single digits would confirm the Sleep 0 fix fleet-wide (Pw02 was at 3,727)
  • [ ] Enable "restore on AC power loss" in Cooper's BIOS — it currently stays down after any power cut and Wake-on-LAN doesn't work, so the backup NAS fails silently until someone presses the button
  • [ ] Investigate Pz05 (WasherDryer) at LQI 18 — joint-weakest link in the Zigbee mesh, on a kitchen appliance
  • [ ] Re-take the boiler plug photo in the partner heating guidepartner/heating.md shows the old white Tasmota plug, which was physically replaced by the Third Reality UZ1 on 2026-07-29. The written instruction (check the wall switch) is still correct, but the picture no longer matches what's in the socket
  • [x] Set the Boiler Plug's area to Utility Room — DONE 2026-07-29
  • [ ] Read sensor.boiler_plug_power during a real heating cycle — the running draw is unknown, which is what would let the plug's 50 W rise/drop alert thresholds be tuned sensibly (or shown to be useless). Standby reads 0 W, below the plug's resolution
  • [ ] Three living-room clients are still stranded on the Bedroom AP after the channel-6 incident — Shelly Wall Display (-79 dBm), Hue Sync Box (-71), Awair (-55). Needs a power cycle or a UniFi "Reconnect" each
  • [ ] Move Hue from Zigbee ch25 to ch15, then reconsider taking the Office AP to WiFi ch11 for a clean 1/6/11 split — see network.md
  • [ ] Re-run the ch6 vs ch11 Zigbee comparison using the new LQI sensors — the original comparison used TRV update cadence, which cannot see a mesh working harder for the same result
  • [ ] Watch recorder database growth now 76 LQI sensors are enabled — exclude the noisiest if it grows, as was done for sensor.*_last_seen
  • [ ] Consider an alert for the jammed-channel signature (cu_total ≥ 95 with cu_self_tx ≈ 0) — nothing in UniFi or HA warns on it, which is why the channel-6 jam went unnoticed for three days
  • [ ] Investigate the Zigbee devices sitting at the bottom of the LQI range (outside_climate and porch_light at 18; living_room_ceiling_dimmer, living_room_lamps_dimmer, desk_light at 25) and the ones showing unavailable, including water_leak_sensor_subfloor
  • [x] Audit remaining Tasmota plug firmware — DONE 2026-07-29: all five WiFi plugs now on 15.5.0 with standard telemetry settings
  • [x] Fix UniFi client alias for 192.168.30.57 — DONE 2026-07-29, now Pw04 - Kettle (all plug aliases retagged)
  • [x] Confirm PowerDelta works end-to-end — verified 2026-07-28 with a real boil: 76 s at ~3 kW, detected within 2 s of switch-on and switch-off
  • [ ] Consider raising the Goodnight power threshold from 500 W to 700 W — 17.7% of overnight samples already exceed 500 W with nothing wrong (threshold variable at the top of script.goodnight)
  • [ ] Consider whether "Alexa, Goodnight" losing its cloud independence is acceptable long term — it now does nothing if HA/Lotus is down
  • [ ] Fill in service-specific docs for key services (Home Assistant, Plex, Paperless, Immich)
  • [ ] Clean up unused containers on Lotus: N8N (unconfigured), Paperless-AI (unconfigured), Duplicati (superseded), pgAdmin4 (never started)
  • [ ] Configure offsite backup (e.g. Backblaze B2)
  • [ ] Test all recovery procedures and mark as tested in recovery docs
  • [ ] Print quick reference and store it physically somewhere accessible

Deferred to Autumn 2026

  • [ ] VT Central Boiler Migration + Re-enable Heating Failure Alerts — currently using a custom automation ("Central Heating Control Versatile") to control the boiler instead of VT's native central boiler support. This causes false heating failure alerts because VT can't distinguish "boiler on for this room" from "boiler on for another room, heat trickling through my 10% minimum valve opening." Full context in Homelab Support CLAUDE.md under "Deferred to Autumn 2026". Steps: (1) migrate to is_used_by_central_boiler: true in VT config, (2) set failure_detection_enable_template per room, (3) fix Living Room cooling_failure_threshold (currently 0.0 — triggers every warm morning), (4) re-enable automation.heating_failure_detected and automation.heating_failure_resolved.

Low Priority / Ideas

  • [ ] Configure AdGuard on Pacific as active DNS (currently installed but not in use)
  • [ ] Set up N8N for automation
  • [ ] Set up Paperless-AI

Done

  • [x] Initial documentation setup — all core docs populated (2026-04-13)
  • [x] Partner pages written for Gabriela (2026-04-13)
  • [x] CLAUDE.md updated with real homelab context (2026-04-13)