🎮Mini-Simulator: das Musterhaus live
Eine eigene kleine Engine im Browser – kein echtes ioBroker. Sie bildet States-DB, Trigger, Adapter-Bestätigungen, Timer und Zeitpläne nach. Die Skripte sind genau die Blockly-Programme aus dem Kapitel „Skripte“.
🕒 18:00:00
simulierte Zeit (MESZ)
📜 Skripte (javascript.0)
💡 Licht bei Bewegung
Trigger
🪟 Benachrichtigung bei offenem Fenster
🌙 Heizungsabsenkung
⚡ Ereignisse auslösen
Tipp: „Bewegung im Flur“, 90 s warten (+1 min, dann 3 × +10 s per Echtzeit oder +1 min), „Bewegung erneut gemeldet“, +1 min – einmal mit 'ne', einmal mit 'any'.
⏱ Laufende Timer
- keine
Orange gestrichelt = Befehl gesendet, noch nicht bestätigt (ack: false).
| Datenpunkt | val | ack | lc |
|---|---|---|---|
| Bewegung Flur | false | ✔ ack: true | 17:36:37 |
| Helligkeit Flur | 12 lux | ✔ ack: true | 17:35:36 |
| Deckenlampe Flur | false | ✔ ack: true | 17:31:32 |
| Fenster Bad offen | false | ✔ ack: true | 17:37:38 |
| Letzte Benachrichtigung | "" | ✔ ack: true | 17:21:22 |
| Solltemperatur Wohnzimmer | 21 °C | ✔ ack: true | 17:40:41 |
| Solltemperatur Bad | 22 °C | ✔ ack: true | 17:34:35 |
| Nachtmodus aktiv | false | ✔ ack: true | 17:22:23 |
| Deckenlampe Wohnzimmer | false | ✔ ack: true | 17:32:33 |
Protokoll (Simulation)
Noch nichts passiert – löse links ein Ereignis aus.
⚡ event💾 state▶ trigger⏭ skip🔌 adapter📜 script⏱ timerℹ info
🔍Worauf achten?
💡 ack-Fluss
Das Skript schaltet das Flurlicht mit
ack: false (💾 from: javascript.0). 300 ms später bestätigt der simulierte shelly.0-Adapter mit ack: true – und lc bleibt gleich.⚠️ 'ne' gegen 'any'
Bei „Bewegung erneut gemeldet“ erscheint mit
change: 'ne' ein ⏭-Eintrag „Wert unverändert“. Mit 'any' läuft das Skript erneut und startet den Timer neu.✅ Filter ack: true
Das Fenster-Skript reagiert nur auf bestätigte Änderungen. Ereignisse kommen hier immer vom Adapter (ack: true); ein Befehl an den Fensterkontakt würde übersprungen.