# OpenCode decision notes # # Decisions and constraints about this Home Assistant installation, recorded by # the OpenCode add-on only when you approve them. OpenCode reads a short digest # of the active notes at the start of every session. # # Safe to edit or delete by hand. Keep the shape below; OpenCode refuses to add # notes while the file cannot be parsed, so nothing is silently overwritten. # # Set a note's status to "superseded" (or delete it) to drop it from the digest. # Add "pin: true" to a note to keep it in the digest when older notes no longer # fit — use it for the decisions that must never be reversed by accident. version: 1 notes: - id: 2026-07-29-nest-snapshot-custom-integration date: 2026-07-29 title: nest_snapshot custom integration abandoned decision: nest_snapshot integration is abandoned. WebRTC SDP parsing was fixed but ICE connection to Google Nest's ice-lite candidates never establishes (30s timeout). Do not revisit. rationale: After resolving SDP candidate format issues (missing component-id), aiortc could parse Google's answer but ICE connectivity checks timed out every time across multiple restarts. Track handler fires but recv() never gets a frame. Root cause undetermined — likely aiortc STUN connectivity or ice-lite compatibility issue. Not worth further effort. files: - custom_components/nest_snapshot/__init__.py - custom_components/nest_snapshot/manifest.json - custom_components/nest_snapshot/services.yaml integrations: - nest_snapshot pin: true status: active - id: 2026-08-06-octoprint-automation-playroom-light date: 2026-08-06 title: OctoPrint automation (playroom light + basement heat) pending — via MQTT/OctoMQTT decision: "Built-in OctoPrint integration is broken here (AssertionError device_id is not None; no printer entities). Chosen route: OctoMQTT plugin, trigger on octoPrint/event/PrintStarted. Pending automation: when print starts, turn on light.playroom_light and set climate.basement to 22C." rationale: Completed the built-in OctoPrint integration setup flow but HA logs show setup errors for sensor/binary_sensor/button/camera/number platforms, so there is nothing to trigger on. User chose the MQTT route and will configure the OctoMQTT plugin later (printer is currently busy). Leave the broken OctoPrint entry alone until this is resolved. entities: - light.playroom_light - climate.basement integrations: - octoprint - mqtt status: superseded superseded_by: 2026-08-06-3d-printer-automation-runs-on-helper - id: 2026-08-06-3d-printer-automation-runs-on-helper date: 2026-08-06 title: 3D printer automation runs on helper, not MQTT decision: "When the OctoPrint HA plugin toggles input_boolean.3d_printer_running: ON -> playroom + bedroom lamps on, basement 22C heat; OFF -> playroom light off after 10 min, thermostat untouched. Mode restart cancels pending off on a new print. Old MQTT automation stays disabled." rationale: Built-in OctoPrint integration is broken here (AssertionError device_id is not None; no printer entities). The OctoMQTT event trigger was replaced by a helper-based design so OctoPrint can toggle a HA entity directly (plugin pointed at the helper) and print-end handling (delayed light off) becomes possible. Built, tested, and working 2026-08-06. entities: - input_boolean.3d_printer_running - light.playroom_light - light.bedroom_lamp - climate.basement integrations: - octoprint - mqtt status: active