NEWS
[erledigt] CCU-Prog führt immer das 1.DANN aus - Workaround?
-
Moin,
Ein ZigBee Bewegungsmelder soll eine Gartenbeleuchtung via CCU bei Dunkelheit anschalten. Dunkelheit liegt vor, wenn eine Systemvariable EsIstDunkel in der CCU TRUE ist.Dafür habe ich ein JavaScript im IoBroker geschrieben, welches erfolgreich in der CCU ein Programm via
setState('hm-rega.0.1610.ProgramExecute'/*Garten-AussenbeleuchtungTriggerVonIOBroker-PRG execute*/,true);aufruft. Funktioniert. Dieses CCU-Programm soll überprüfen "Wenn CCU Systemvariable EsistDunkel = TRUE DANN ...."
Leider wird ja bei externen Aufrufen (und beim Booten) immer, wirklich IMMER der erste DANN ausgeführt egal ob das WENN zutrifft oder nicht, sodass aktuell immer das Licht angeschaltet wird - auch wenn EsIstDunkel = FALSE ist.
Wie löst Ihr das?
Meine Ideen:
- Die Überprüfung schon im ioBroker machen. Ist machbar, finde ich aber den falschen Weg, denn die Variable "gehört" ja der CCU.
- Die Überprüfung durch ein CCU Script innerhalb des ersten DANN Teils der CCU machen ... auch unschön, weil umständlich.
- Eine eigene TriggerVariable in der CCU anlegen, die vom IoBroker-Javascript-Script auf TRUE gesetzt wird und von einem CCU Programm dann genommen + wieder auf FALSE gesetzt wird ... sehr aufwändig. Verstehe ich dann in 3 Monaten nicht mehr, was ich damals mit ausgemacht habe....
Gruss
-
Moin,
Ein ZigBee Bewegungsmelder soll eine Gartenbeleuchtung via CCU bei Dunkelheit anschalten. Dunkelheit liegt vor, wenn eine Systemvariable EsIstDunkel in der CCU TRUE ist.Dafür habe ich ein JavaScript im IoBroker geschrieben, welches erfolgreich in der CCU ein Programm via
setState('hm-rega.0.1610.ProgramExecute'/*Garten-AussenbeleuchtungTriggerVonIOBroker-PRG execute*/,true);aufruft. Funktioniert. Dieses CCU-Programm soll überprüfen "Wenn CCU Systemvariable EsistDunkel = TRUE DANN ...."
Leider wird ja bei externen Aufrufen (und beim Booten) immer, wirklich IMMER der erste DANN ausgeführt egal ob das WENN zutrifft oder nicht, sodass aktuell immer das Licht angeschaltet wird - auch wenn EsIstDunkel = FALSE ist.
Wie löst Ihr das?
Meine Ideen:
- Die Überprüfung schon im ioBroker machen. Ist machbar, finde ich aber den falschen Weg, denn die Variable "gehört" ja der CCU.
- Die Überprüfung durch ein CCU Script innerhalb des ersten DANN Teils der CCU machen ... auch unschön, weil umständlich.
- Eine eigene TriggerVariable in der CCU anlegen, die vom IoBroker-Javascript-Script auf TRUE gesetzt wird und von einem CCU Programm dann genommen + wieder auf FALSE gesetzt wird ... sehr aufwändig. Verstehe ich dann in 3 Monaten nicht mehr, was ich damals mit ausgemacht habe....
Gruss
@adarof
Manueller Aufruf eines CCU Programms löst immer das erste DANN aus.
Das ist so!Da hilft nur das Programm auf iobroker zu verlagern.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden