Netatmo CO2 Rule funktioniert nicht

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
agsmart
Beiträge: 2
Registriert: 30. Sep 2020 13:55
Answers: 0

Netatmo CO2 Rule funktioniert nicht

Beitrag 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
von udo1toni » 30. Sep 2020 19:09
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...
Gehe zur vollständigen Antwort

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Netatmo CO2 Rule funktioniert nicht

Beitrag 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

Benutzeravatar
udo1toni
Beiträge: 15264
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Netatmo CO2 Rule funktioniert nicht

Beitrag 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...
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

agsmart
Beiträge: 2
Registriert: 30. Sep 2020 13:55
Answers: 0

Re: Netatmo CO2 Rule funktioniert nicht

Beitrag 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 :)

Antworten