Seite 1 von 1

Netatmo CO2 Rule funktioniert nicht

Verfasst: 30. Sep 2020 18:02
von agsmart
Guten Abend.

Ich bin langsam am verzweifeln. Ich habe meine Netamo Station in mein Openhab eingebunden.
Temperatur und CO2 werden im PaperUI angezeigt und Änderungen auch im events.log mitgeschrieben

Code: Alles auswählen

2020-09-30 17:29:18.558 [vent.ItemStateChangedEvent] - NetatmoIndoor_CO2Gehalt changed from 1041 ppm to 1078 ppm
2020-09-30 17:33:50.270 [vent.ItemStateChangedEvent] - Wohnzimmer_Temperature changed from 19.06 °C to 19.02 °C
Ich habe jetzt folgende rules Datei:

Code: Alles auswählen

rule "CO2-Status ueberwachen"

        when
                Item NetatmoIndoor_CO2Gehalt changed
        then

                if(NetatmoIndoor_CO2Gehalt.state > 1000) {
                        logInfo("Netatmo", "C02 State Changed Warning true")
                        executeCommandLine("/var/lib/openhab2/test-signal.sh")
                }
end
Es passiert aber nichts ... auch das loginfo wird nicht geschrieben.
Verschiebe ich die loginfo-Zeile über die IF-Abfrage - wird bei der Änderung des CO2 Wertes die Info geschrieben ...

Wer kann mich denn mal mit der Nase drauf stoßen, was ich falsch mache? :D

Openhab läuft bei mir auf einem Raspi - Version 2.5.9.

Viele Grüße,
Andreas

Re: Netatmo CO2 Rule funktioniert nicht

Verfasst: 30. Sep 2020 18:08
von Darkwin101
Du hast ein gebundenes Item angelegt die Abfrage sollte so aussehen

Code: Alles auswählen

 if((NetatmoIndoor_CO2Gehalt.state as Number).floatValue > 1000) {
Damit entfernst du die Einheit ppm weile es muss in Openhab eine Abfrage sein die vom gleichen Typ ist als entweder entfernst du die Einheit beim ersten Operanten oder schreibst sie beim zweiten dazu

Re: Netatmo CO2 Rule funktioniert nicht

Verfasst: 30. Sep 2020 19:09
von udo1toni
Der Vollständigkeit halber noch die zweite Variante, (also die, die Einheit hinzuzufügen):

Code: Alles auswählen

if(NetatmoIndoor_CO2Gehalt.state > 1000 | "ppm")
Allerdings gilt (wie immer), dass man genau aufpassen muss. Ein "as Number" setzt voraus, dass der Status tatsächlich eine gültige Zahl enthält. trifft das nicht zu, so ergibt ein "as Number" eine Nullpointer Exception. Also besser vorher kontrollieren...

Re: Netatmo CO2 Rule funktioniert nicht

Verfasst: 30. Sep 2020 19:36
von agsmart
Danke für die schnellen Antworten ...

Ich hab dann einfach meine Zeile wie erwähnt erweitert ...

Code: Alles auswählen

if(NetatmoIndoor_CO2Gehalt.state > 1000 | "ppm")
Funktioniert jetzt wunderbar :)