Einfache Script-Beispiele
Zwei Lampen miteinander verknüpfen
Wenn wir das Licht im Esszimmer ein- und ausschalten, soll auch gleich das Licht im Korridor dasselbe tun.
Derartige Verknüpfungen werden so oft benötigt, dass es dafür eine Abkürzung gibt:
on("lightify.0.82EBC90000261884.on","lightify.0.DAF3C90000261884.on")
Dies tut exakt dasselbe: Bei jeder Änderung des Zustandes des ersten State-Objekts, wird das zweite in denselben Zustand versetzt.
Fernsehlicht einschalten, wenn der Fernseher an und die Sonne untergegangen ist.
Wir haben, wie am Anfang dieser Reihe erwähnt, Philips LivingColors-Lampen als Fernsehlichter. Die sollen sich jetzt automatisch einschalten, wenn wir nach Sonnenuntergang fernsehen.
Hier wird eine interessante Möglichkeit des ioBroker Script-Systems genutzt: 'isAstroDay()' liefert true zwischen Sonnenauf- und Untergang und false zwischen Unter- und Aufgang. Damit die Funktion das wissen kann, muss man ihr mitteilen, wo wir uns befinden. Vielleicht haben Sie sich bei der Instanzkonfiguration von 'javascript' schon gefragt, wozu die Angaben von 'latitude' und 'longitude' nötig sind. Genau hierfür. Geben Sie die Zahlen so ein, wie sie etwa google maps liefert, also z.B. 55.1234 und 8.1123.
Also: Wir prüfen alle 10 Minuten, ob die Sonne schon untergegangen ist. Wenn ja, dann prüfen wir, ob der Fernseher eingeschaltet ist. Wenn ja, dann schalten wir die Hue-Lampen ein, falls sie nicht schon an waren. Wenn der Fernseher aus ist, dann schalten wir auch die Hue-Lampen aus.Wie immer dauert es jeweils einige Zeit, bis das Script mitkriegt, dass der Fernseher ein- oder ausgeschaltet wurde.
Eine etwas elegantere Methode mit Subscriptions statt regelmässiger Abfrage zeige ich in einem späteren Teil.
Hier noch etwas ganz einfaches:
Aussenlicht bei Sonnenuntergang bis 23:30 Uhr einschalten
Ich denke, das ist nun auch ohne weitere Erläuterungen verständlich.
zum ersten Teil - zum vorherigen Teil - zum nächsten Teil
Kommentare
Kommentar veröffentlichen