erst mal ein Hallo an alle hier und alles Gute für 2021!
ich bin ganz waagemutig umgezogen auf OH3 Release Build und muss sagen, alles frisch alles neu und natürlich: nicht alles klappt. Dass hatte ich allerdings auch nicht erwartet.
Ich nutze das ganze System eigentlich zur Betriebszustandsüberwachung einiger Geräte und der Benachrichtigung über die Fertigstellung.
Die Rules dafür haben sich jetzt Jahre bewehrt und sollten also in die neue Engine Übertagen werden.
Also frisch ans Werk und das erste Mal mit Blockly gearbeitet, um die Rules neu aufzusetzen. Es funktioniert auch ausnahmslos alles - bis auf die nötigen Durchschnittswerte über 5 min in die Vergangenheit zum Abfragezeitpunkt (wie im Topic beschrieben).
Aufgrund der Energiesparmodi der Geräte fallen diese während dem Betrieb immer wieder mal auf "OFF" Niveau zurück und melden "falsch" eine Fertigstellung. Dies bin ich in den alten Rules immer mit dem Durchschnittswert über 5min umgangen.
Laut aktueller Doku soll immer noch <item>.averageSince(now.minusMinutes(5)) oder <item>.averageSince(now.minusMinutes(5), "influxdb") verwendet werden.
Noch zur Info: InfluxDB ist der Persistence Dienst. Alles on Board nachinstalliert und funktioniert auch. 'Select * from <item>...' zeigt mir die sauber gespeicherten Values mit Zeitstempel an.
Meine naive Idee war, eine Variable in die von Blockly erstellte Grundregel (wohl Javascript ??) zu schreiben, die mir den Durchschnittswert errechnet. Ich weiß allerdings nicht, ob es noch mehr braucht als ein " var WAvg = <item>.averageSince(now.minusMinutes(5), "influxdb");". Es gibt den Fehler aus, das WAvg nicht definiert sei. Ich weiß nicht, ob es hier noch eine Schnittstelle braucht, die aufgerufen wird, oder ob es gänzlich der falsche Weg ist....
Muss man hier mit Arrays / Listen arbeiten? Wie bekäme man die - wenn dann - mit den InfluxDB Daten gefüllt?
Ich bin schlichtweg aufgeschmissen!
Vielleicht hat jemand von Euch eine Idee oder hat das gleiche vor sich liegen.... bin für jede Hilfe dankbar!
VG Jens
averageSince(now.minusMinutes())
-
- Beiträge: 9
- Registriert: 3. Jan 2021 09:04
Re: averageSince(now.minusMinutes())
... ich habe es ohne Persistence und anstelle dessen mit einem Timer hinbekommen.
Vielen Dank!
Vielen Dank!
- sihui
- Beiträge: 1827
- Registriert: 11. Apr 2018 19:03
Re: averageSince(now.minusMinutes())
Wäre schön wenn du die komplette Lösung posten würdest, davon leben Foren wie dieses hier
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.
-
- Beiträge: 9
- Registriert: 3. Jan 2021 09:04
Re: averageSince(now.minusMinutes())
Hallo
Meiner bescheidenen Meinung nach leben Foren von einem Erfahrungsaustausch - richtig. Da sich die Antworten auf meine oben gestellten Fragen in durchaus sehr überschaubaren Grenzen bewegen, habe ich nicht auf ein besonders hohes Interesse nach der Lösung geschlossen....
bei Interesse kann man sich hier mal einlesen:
https://community.openhab.org/t/use-of- ... 3/112518/3
https://community.openhab.org/t/oh-3-ex ... les/108526
https://community.openhab.org/t/how-to- ... 3/111057/8
Und hier die Lösung, die für mich funktioniert:
Danach wird ein simpler sendCommand für die Notification gesendet beim Wechsel itemState von 'MODE_TIMED' zu 'MODE_FINISHED' - in einer separaten Rule.
Falls es jemandem hilft - bitteschön....
VG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- sihui
- Beiträge: 1827
- Registriert: 11. Apr 2018 19:03
Re: averageSince(now.minusMinutes())
Dann darfst du gerne davon ausgehen das die Antwort niemand gewusst hat.
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.
-
- Beiträge: 9
- Registriert: 3. Jan 2021 09:04
Re: averageSince(now.minusMinutes())
Und auch das wäre eine Antwort gewesen, mit der man weiterarbeiten kann....
Nicht für Ungut!
Alles Gute weiterhin