[SOLVED] Bei Luminanz Wert xx Switch ON und um yy Uhr OFF

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

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

Re: [SOLVED] Bei Luminanz Wert xx Switch ON und um yy Uhr OFF

Beitrag von udo1toni »

Wie Du die Rules organisierst, ist letztlich wuppe.

Es gibt zwei Punkte, die beachtet werden müssen.

Zum einen sollte man globale Variablen nur innerhalb der Datei verwenden, in der sie definiert sind (vor der ersten Rule in der Datei).
Zum zweiten wird der Debugger tendenziell langsamer, je größer die Datei ist. Es ist also trotz Punkt eins sinnvoll, Rules, die man gerade entwickelt, zunächst in einer eigenen Datei "aufzubewahren".
Ich habe alle Rules grundsätzlich in einer Datei, aber das ist nur meine Art, Rules zu organisieren.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Boris099
Beiträge: 381
Registriert: 19. Feb 2020 20:51
Answers: 3
Wohnort: Saarbrücken

Re: [SOLVED] Bei Luminanz Wert xx Switch ON und um yy Uhr OFF

Beitrag von Boris099 »

Ich habe da noch eine Verständnisfrage zur angewendeten TimeCron rule. Ich habe diese rule nun als separate Datei gespeichert,
ist übersichtlicher und ich schalte zusätzlich diverse andere Switches.

Diese schaltet zum gegebenen Zeitpunkt, die entsprechenden Switches OFF.
Läuft diese rule nun permanent oder exakt einmalig zur gegebenen Uhrzeit?
Raspberry 4, Rev.1.2b, 4GB, Openhab 2.5.12 (OH3 kommt im Winter dran:-))

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

Re: [SOLVED] Bei Luminanz Wert xx Switch ON und um yy Uhr OFF

Beitrag von udo1toni »

Rules sind IMMER eventgesteuert. Rules werden exakt dann ausgeführt, wenn einer der gelisteten Trigger auslöst. Time cron gibt immer Zeitpunkte an, niemals Zeiträume.
Selbst der Time cron Ausdruck "* * * * * ?" (das ist das maximal mögliche) gibt lediglich Zeitpunkte an, eben jede einzelne Sekunde des gesamten Jahres jedes beliebigen Jahres. Es wird dann also zu Beginn jeder Sekunde jeweils ein Trigger ausgelöst.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Boris099
Beiträge: 381
Registriert: 19. Feb 2020 20:51
Answers: 3
Wohnort: Saarbrücken

Re: [SOLVED] Bei Luminanz Wert xx Switch ON und um yy Uhr OFF

Beitrag von Boris099 »

Ok vielen Dank, das dachte ich auch so.
Raspberry 4, Rev.1.2b, 4GB, Openhab 2.5.12 (OH3 kommt im Winter dran:-))

Boris099
Beiträge: 381
Registriert: 19. Feb 2020 20:51
Answers: 3
Wohnort: Saarbrücken

Re: [SOLVED] Bei Luminanz Wert xx Switch ON und um yy Uhr OFF

Beitrag von Boris099 »

Also ich habe da noch eine kleine Fehlfunktion, ich denke begründet in der "unbefriedigenden" Funktion der ZWAVE Luminance Sensoren.

Ich benutze z.B. diese if Abfrage

Code: Alles auswählen

    	if(newState <= 6 && previousState > 6) {
		if (now.getHourOfDay() >= 16 || now.getHourOfDay() <= 0) {
		KuecheKamin56.sendCommand(ON)
		KuecheVitrine23.sendCommand(ON)
		}
Ich habe die Sensoren so eingestellt, dass sie Luminance Änderungen von "1" auch schon melden. Das funktioniert grundsätzlich,
jedoch "pennen" die manchmal ein oder so, und melden dann eine halbe Stunde gar nichts, und wenn dann z.B. "4".
Das ist eigentlich mit <= abgefangen, aber da passiert trotzdem nix.
Wenn ich dann den Luminance Wert nach oben treibe (Taschenlampe) und der wieder unter 6 sinkt, schalten die Switches auch.
Was kann ich da tun, evtl. mit mehreren "Oder" die einzelnen Luminanz Werte von 6 nach 1 abfragen?
Raspberry 4, Rev.1.2b, 4GB, Openhab 2.5.12 (OH3 kommt im Winter dran:-))

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

Re: [SOLVED] Bei Luminanz Wert xx Switch ON und um yy Uhr OFF

Beitrag von udo1toni »

Das kann eigentlich nicht sein. Setze mal vor das if ein logInfo, um die Werte zu sehen:

Code: Alles auswählen

logInfo("luminance","Neuer Wert: {} Alter Wert: {}",newState,previousState)
Damit kannst Du dann im Log nachvollziehen, welche Werte tatsächlich geliefert werden.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Boris099
Beiträge: 381
Registriert: 19. Feb 2020 20:51
Answers: 3
Wohnort: Saarbrücken

Re: [SOLVED] Bei Luminanz Wert xx Switch ON und um yy Uhr OFF

Beitrag von Boris099 »

Jetzt gerade nochmal das gleiche Problem.
Kann das mit der Uhrzeit zu tun haben, denn ich frage zusätzlich die Uhrzeit ab und erst ab 15h (habe ich geändert auf 15h und <=3) macht er was
Momentan hatte ich den Luminanz Wert von 1 und natürlich kam er von einem höheren Wert, aber das spielt sich alles unter dem Wert von <= 3 ab.
Also um 14:41 hatte er 1 und um 15:31 hatte er 1, und 15:00 ist mit IF abgefragt.

Im log sehe ich die Werte sowieso, mit Filter sieht das folgendermassen aus:

Code: Alles auswählen

2020-12-02 12:46:11.200 [vent.ItemStateChangedEvent] - zwave_device_6c898019_node5_sensor_luminance changed from NULL to 3

2020-12-02 12:49:26.224 [vent.ItemStateChangedEvent] - zwave_device_6c898019_node5_sensor_luminance changed from 3 to 5

2020-12-02 13:04:31.842 [vent.ItemStateChangedEvent] - zwave_device_6c898019_node5_sensor_luminance changed from 5 to 3

2020-12-02 14:34:54.836 [vent.ItemStateChangedEvent] - zwave_device_6c898019_node5_sensor_luminance changed from 3 to 1

2020-12-02 14:36:44.846 [vent.ItemStateChangedEvent] - zwave_device_6c898019_node5_sensor_luminance changed from 1 to 3

2020-12-02 14:41:49.874 [vent.ItemStateChangedEvent] - zwave_device_6c898019_node5_sensor_luminance changed from 3 to 1

2020-12-02 15:31:28.999 [vent.ItemStateChangedEvent] - zwave_device_6c898019_node5_sensor_luminance changed from 1 to 10

2020-12-02 15:31:37.611 [vent.ItemStateChangedEvent] - zwave_device_6c898019_node5_sensor_luminance changed from 10 to 0

2020-12-02 15:31:47.065 [vent.ItemStateChangedEvent] - zwave_device_6c898019_node5_sensor_luminance changed from 0 to 2
Und um 15.31h habe ich kurz eine Lampe eingeschaltet und wieder ausgeschaltet, damit er das rule zieht, mit Erfolg!
Deshalb dachte ich ich frage einfach mit Oder einzelne Werte ab, aber wie geht das mit dem Oder?
Raspberry 4, Rev.1.2b, 4GB, Openhab 2.5.12 (OH3 kommt im Winter dran:-))

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

Re: [SOLVED] Bei Luminanz Wert xx Switch ON und um yy Uhr OFF

Beitrag von udo1toni »

Na ja, die Uhrzeiteinschränkung hast Du ja explizit drin. In der Regel oben wird das Licht nur in der Zeit von 16:00:00 Uhr bis 00:59:59.999 Uhr (also eine Millisekunde vor 1 Uhr) eingeschaltet, und zwar ausschließlich dann, wenn ein neuer Messwert kommt und der vorherige Messwert über 6 und der aktuelle Messwert gleich oder unter 6 ist.
Dein Filter ist insofern nicht hilfreich, denn man kann nicht erkennen, ob die Rule ausgelöst hat, und erst recht kann man nicht erkennen, welchen Wert newState und previousState haben, wenn die Rule läuft. Du musst hier schon darauf achten, dass Du die tatsächlichen Variablen ausliest, und nicht auf einen Wert schauen, der eigentlich in den Variablen drin stehen müsste.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Boris099
Beiträge: 381
Registriert: 19. Feb 2020 20:51
Answers: 3
Wohnort: Saarbrücken

Re: [SOLVED] Bei Luminanz Wert xx Switch ON und um yy Uhr OFF

Beitrag von Boris099 »

OK und weil die Luminance die ganze Zeit bei 1 war (ohne Änderung) passiert nix, dass ist nicht im Sinne des Erfinders:-)
Diese Zwave Battery Geräte senden halt möglichst wenig und halt auch nur Änderung und nicht einfach nur so.
Aber das könnte ich doch abfangen, wenn ich feste Werte abfrage, also bist du 4 oder 3 oder 2 oder 1 dann "ON".
Jedoch müsste ich dann den letzten gemeldeten Wert abfragen, geht das?
Raspberry 4, Rev.1.2b, 4GB, Openhab 2.5.12 (OH3 kommt im Winter dran:-))

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

Re: [SOLVED] Bei Luminanz Wert xx Switch ON und um yy Uhr OFF

Beitrag von udo1toni »

Nein, Du musst lediglich den Vergleich mit previousState weg lassen...

Gesendet von meinem SM-G973F mit Tapatalk

openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten