Ja, das ist kein Wunder. Du versuchst, auf historische Daten zuzugreifen (deltaSince), dabei persistierst Du das Item Wetter_Regenmenge aber gar nicht.
Weiterhin mischst Du hier zwei zueinander inkompatible Items (Number != Number:Length) einfach so. Das könnte in diesem speziellen Fall allerdings tatsächlich funktionieren, da rrd4j nicht mit UoM umgehen kann und deshalb die Einheiten stillschweigend verwirft.
Rule zum Regenmenge messen täglich
- udo1toni
- Beiträge: 15241
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Rule zum Regenmenge messen täglich
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 19
- Registriert: 26. Feb 2020 17:44
Re: Rule zum Regenmenge messen täglich
Vielen Dank; jetzt klappt es.
Kannst du mir auch noch sagen, wie ich die Angabe der Sonnenstunden vom Ausgabewert (in Min) per Rule in Stunden und Minuten umrechnen lassen kann?
Kannst du mir auch noch sagen, wie ich die Angabe der Sonnenstunden vom Ausgabewert (in Min) per Rule in Stunden und Minuten umrechnen lassen kann?
- udo1toni
- Beiträge: 15241
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Rule zum Regenmenge messen täglich
Da müsste man etwas experimentieren. Wie ist das Item definiert, als einfaches Number Item? Die einfache Variante wäre ohne Rule über JavaScript Transformation:
Die Datei minToHM.js kommt ins transform Verzeichnis:
Die JS Transformation muss dazu natürlich installiert sein. Die Berechnung kannst Du in dieser Form auch in einer Rule ausführen, allerdings steht der Modulo Operator % nur für int (und evtl. für Integer, müsstest Du ausprobieren) zur Verfügung, das musst Du natürlich berücksichtigen (also den Number Status zuerst in eine entsprechende Variable kopieren).
Das JS Script kannst Du aber auch direkt aus einer Rule heraus verwenden.
Code: Alles auswählen
Number SonnenStunden "SonnenStunden [JS(minToHM.js):%s]"
Code: Alles auswählen
(function(minutes){
var retval = "";
var hours = Math.floor(minutes / 60)
minutes = minutes % 60
if (hours < 10)
retval = retval + "0";
retval = retval + hours + "h ";
if (minutes < 10)
retval = retval + "0";
retval = retval + minutes+"m";
return retval;
})(input)
Das JS Script kannst Du aber auch direkt aus einer Rule heraus verwenden.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 19
- Registriert: 26. Feb 2020 17:44
Re: Rule zum Regenmenge messen täglich
Wie immer: Es funktionert. Vielen Dank
Ja, der item, war als Number angelegt, so das das mit deinerm Code und der Transformation problemlos geklappt hat
Ja, der item, war als Number angelegt, so das das mit deinerm Code und der Transformation problemlos geklappt hat