Skip to content

feat(smarthome): TP3 — Logikketten → native deCONZ-Regeln - #209

Merged
CallMeTechie merged 13 commits into
masterfrom
feat/smarthome-tp3
Jul 1, 2026
Merged

feat(smarthome): TP3 — Logikketten → native deCONZ-Regeln#209
CallMeTechie merged 13 commits into
masterfrom
feat/smarthome-tp3

Conversation

@CallMeTechie

Copy link
Copy Markdown
Owner

Smart Home TP3 — Logikketten → native deCONZ-Regeln

Der Admin definiert WENN/DANN-Logikketten; GateControl übersetzt sie in native deCONZ-Objekte (/rules + bei Verkettung /schedules + CLIP-Sensor), die autonom auf der Bridge laufen — auch wenn GC offline ist. Reine Admin-Funktion hinter Pro-Key smarthome. Spec: docs/superpowers/specs/2026-06-30-smarthome-tp3-rules-design.md §1–§13.

Inhalt (subagent-getrieben, TDD, zweistufiges Review je Task)

  • Task 0 (Live-Spike, gating): Wire-Format gegen das echte Gateway verifiziert (deconzCapabilities.js + Fixtures). Belegt: Operatoren eq/gt/lt/dx/in, cancelSupported=true, clipDeletable=true, buttonevent-Formel button*1000+offset, Daylight-bool-Feld, Schedule-command.address braucht /api/<apiKey>-Präfix (Rule-Actions nicht).
  • deconzClient: /rules, /schedules, CLIP-Methoden über den Companion-Proxy-Transport.
  • Übersetzung (rulesTranslate.js): dx-Semantik (edge-OR/state-AND), Temp ×100, Szene-Recall {on:true}, plug ohne bri/color; Objekt-Plan je Delay-Modus (schedule-first, damit Platzhalter auflösbar).
  • Service (smarthomeRules.js): CRUD mit Best-Effort-Kompensation (keine Waisen), Update-Atomizität (NULL-before-delete), idempotentes remove (404), Limit-Erkennung (DECONZ_RULE_LIMIT_REACHED), Boot-Resync pendenter Regeln.
  • Admin-API: CRUD + gateway-count + limit_warn; Admin-Guard vor requireFeature, CSRF, lokalisierte Fehler. Kein Portal.
  • Admin-UI (3 Themes): Logikketten-Unterseite, WENN/DANN-Builder, Flow-Zeile, Multi-Trigger-Hinweis, Limit-Banner, cancel-Option deaktiviert wenn Firmware es nicht kann, verwaiste Regeln read-only. CSP-konform (kein inline onclick), XSS-sicher (esc()), GC.t-Bridge vollständig (inkl. dynamischer btn_*-Keys).

Tests

Volle Smart-Home-Suite lokal 84/84 grün. Keine neue Migration (smarthome_rules aus TP1).

Bewusst deferred (Minor, aus Reviews)

gateway-count zählt GC-Sekundärregeln (#reset/#cancel) als extern; kein Gateway-Selector im UI (nutzt erstes Gateway); xy-Farb-Prefill beim Edit fehlt (nur ct); 409-Doppel-Signal (Banner+alert); Client-seitiges maxlength am Namen.

🤖 Generated with Claude Code

@CallMeTechie
CallMeTechie merged commit cb61cae into master Jul 1, 2026
8 checks passed
@CallMeTechie
CallMeTechie deleted the feat/smarthome-tp3 branch July 1, 2026 10:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant