NEWS
Blocky Trigger Netatmo CO2 Script startet nicht
-
Hallo Zusammen,
nachdem ich mit Homematic schon viele Jahre Erfahrung habe und den IO Broker derzeit 2 Jahre im Probetrieb habe, will ich nun langsam den IO Broker "voll" nutzen.
Habe eine Netatmo, der Adapter läuft auch. Alexa Adapter läuft ebenfalls, ein anderes Blocky im Rahmen des Probetriebes sagt bei HM Klingeltasterdruck sorgt dafür das Alexa eine Ansage startet.
Nun will ich, das bei einem CO2 Innenwert > 1000 ppm und < 2000 ppm alle 10 min eine Ansage macht. Weiterhin alle 5 min eine Ansage wenn der Wert über 2000 ppm liegt.
Beide Ansagen sollen natürlich nur laufen, wenn wir nicht schlafen und wenn wir zu Hause sind (daher die weitere Und Verknüpfung).
Leider wird das Script nicht ausgeführt, obwohl der Wert auf über 1000 ppm steigt. Komischerweise hat es ein einziges Mal ausgelöst, als ich in den Objekten mir den Wert einmal angesehen. Hatte u.a. extra ppm als Einheit gelöscht im Wert, damit auf wirklich eine Zahl ausgelesen wird.
Achja, gibt es irgendwie eine einfache Möglichkeit die Blocky Scripte als Bild zu Exportieren als mit Screenshotfunktion des Betriebssystems?
-
@Tomcat1982
Warum das Skript nicht getriggert wird ist so erst einmal nicht zu erkennen. Ich vermute das es mit dem wiederhole solange ... zu tun hat, welches deine Prozessorlast nach oben treibt und ggf. verhindert das das Skript ein zweites mal triggert.-
du fragst an vielen Stellen den Wert des Datenpunktes explizit ab. Innerhalb des Triggers solltest du statt dessen den Baustein im Bild nutzen, in dem aktuell "object ID" drin steht. Den musst du auf "Wert" umstellen.
-
das "Wiederhole solange" wird nicht funktionieren. Dieses bitte ersetzen durch
falls Wert(co2) < 1000 mache anhalten intervall, intervallAktiv=falsch
das Ausführen Intervall kömmert sich schon um die Wiederholung alle 10 Minuten, da musst du nur genau einmal prüfen ob der Wert noch zu hoch ist.
Wichtig: Hier musst du den Wert des Objektes explizit abfragen, also nicht den oben angegebenen Baustein nutzen- um Zu verhindern das das Intervall bei jeder Änderung neu gestartet wird solltest du folgendes tun:
- eine Variable "intervallAktiv" definieren, auf falsch setzen
- in deinem grossen falls einen Zweig "und nicht intervallAktiv" hinzufügen
- im Intervall: intervallAktiv=wahr setzen
das gleiche natürlich analog beim Blockly für kritische Werte. Wichtig: Hier musst du natürlich eine 2. Variable definieren und benutzen.
Dann sollte es gehen.
A. -
-
Lieben Danke für Deine Ausführliche Hilfe! Jetzt habe ich Ordentlich dazu gelernt einmal wieder. Werde berichten ob es klappt.