🎮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
WohnzimmerKücheFlurSchlafzimmerBadEingang💡Deckenlampe🌡️ Soll 21 °C☕ Steckdose an🔊 Lautsprecher💡· keine Bewegung · 12 lux🪟 Fenster zu🌡️ Soll 22 °C🌙 Nacht: aus

Orange gestrichelt = Befehl gesendet, noch nicht bestätigt (ack: false).

Datenpunktvalacklc
Bewegung Flurfalse ✔ ack: true17:36:37
Helligkeit Flur12 lux✔ ack: true17:35:36
Deckenlampe Flurfalse ✔ ack: true17:31:32
Fenster Bad offenfalse ✔ ack: true17:37:38
Letzte Benachrichtigung"" ✔ ack: true17:21:22
Solltemperatur Wohnzimmer21 °C✔ ack: true17:40:41
Solltemperatur Bad22 °C✔ ack: true17:34:35
Nachtmodus aktivfalse ✔ ack: true17:22:23
Deckenlampe Wohnzimmerfalse ✔ ack: true17: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.