NEWS
Blocky und Javascript Regeln funktionieren nicht richtig
-
Hallo zusammen,
ich bin recht neu was ioBroker angeht, komme von Pimatic. Hab mich soweit eingefuchst das ich weiss was Adapter sind,
wie sie funktionieren und wie ich sie nutze. Nun versuche ich meine Regeln aus Pimatic in ioBroker nachzubauen. Dazu
versuche ich es in Blockly bzw auch in Javascript hinzubekommen, jedoch funktioniert es einfach nicht, sobald ich die
Regeln erweitere.
Hier ein Beispiel:
Das funktioniert wie erwartet
Diese Varianten funktionieren nicht. Sobald eine weitere Variable wie Zeit oder Abfrage eines anderen Zustandes dazu kommen gehts nicht mehr.
in Javascript (ohne Blockly) versucht klappt es auch nicht:
on({id: 'mqtt.0.esp11.pir', change: "ne", ack: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (true && compareTime(getAstroDate("sunsetStart", undefined, 0), getAstroDate("sunriseEnd", undefined, 0), "between", null) && getState("hue.0.Philips_hue.Arbeitszimmer.on"/*Philips_hue.Arbeitszimmer.on*/) === false && getState("hue.0.Philips_hue.Arbeitszimmer_Deckenlampe.on"/*Philips_hue.Arbeitszimmer_Deckenlampe.on*/) === false) { setState("hue.0.Philips_hue.Arbeitszimmer_Deckenlampe.on"/*Philips_hue.Arbeitszimmer_Deckenlampe.on*/, true); setStateDelayed("hue.0.Philips_hue.Arbeitszimmer_Deckenlampe.on"/*Philips_hue.Arbeitszimmer_Deckenlampe.on*/, false, 300000, true); } });
Ich komme an der Stelle nicht weiter, weiß nicht wo das Problem ist.
Hoffe ihr könnt mir nen Tipp geben.
-
Das Problem mit der Zeitabfrage ist, dass Sonnenaufgang Ende (z.B. 8:00 Uhr) zeitlich gesehen vor Sonnenuntergang Anfang (z.B. 18:00 Uhr) kommt.
Deine Abfrage prüft daher folgendes:
FALLS (aktuelle Zeit > Sonnenuntergang Anfang) UND (aktuelle Zeit < Sonnenaufgang Ende)
was nicht funktionieren kann. Du musst daher auf das Gegenteil prüfen:
FALLS aktuelle Zeit NICHT ZWISCHEN Sonnenaufgang Ende UND Sonnenuntergang Anfang
-
Oh man, ich danke dir. Das war ja einfach und ehrlich gesagt, jetzt wo du es geschrieben hast viel mir ein, dass
ich genau das gleiche "Problem" (Denkfehler) schon vor ein paar Jahren bei der Einrichtung von Pimatic hatte.
Ich danke dir für die Hilfe