rules nach upgrad auf 4.3.4 ...

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
goerdi
Beiträge: 113
Registriert: 21. Dez 2019 23:44
Answers: 1

rules nach upgrad auf 4.3.4 ...

Beitrag von goerdi »

Hi !

Nach dem Upgrad auf 4.3.4 machen mir 2 rules Ärger...
eine meckert schon länger das wildcards nicht mehr unterstützt werden (ging aber die ganze Zeit noch) und die andere ist das
sendBroadcastNotification nicht auflösbar ist...
(die rules hab ich mal drangehängt...


Gruss Gerd
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Re: rules nach upgrad auf 4.3.4 ...

Beitrag von udo1toni »

Warum stellst Du die Rules denn nicht direkt (als Code markiert in Textform) ein? Die Dateien erst umständlich herunterladen zu müssen ist nicht sonderlich praktisch...

Die taupunkt.rules Datei scheint schon etwas älter zu sein ;) da sind einige Dinge obsolet bzw. inzwischen anders zu schreiben.
Lass zunächst mal alle Imports weg. Ein Großteil davon musste zuletzt in openHAB1 (!) importiert werden.
Joda Time wird seit openHAB3 nicht mehr unterstützt, mag sein, dass man es noch importieren kann, aber selbst die Hersteller von Joda Time raten dazu, auf JavaTime umzustellen. In der vorliegenden Rule verwendest Du allerdings ohnehin keinerlei Zeitfunktionen...
Etwas entschlackt sähe die Rule so aus und openHAB zeigt mir keine Fehler mehr:

Code: Alles auswählen

val calculateDewPoint = [ double temperature, double humidity |
    var Double a = 7.6       // Temperatur unter 0 °C
    var Double b = 240.7
    if (temperature >= 0.0){ // Temperatur >= 0 °C
        a = 7.5
        b = 237.3
    }
    var Double SDD = 6.1078 * Math::pow(10.0, (( a * temperature) / ( b + temperature)).doubleValue) 
    var Double  DD = humidity / 100 * SDD
    var Double   v = Math::log10((DD / 6.107).doubleValue)
    ((b * v)/(a - v)).doubleValue // return
]

rule "Taupunkt"
when
    Item AUSSEN_TEMP changed or
    Item AUSSEN_HUMID changed or
    Item TWZ_IST_TEMP changed or
    Item TWZ_HUMID changed or
    Item WS_TEMP changed or
    Item WS_HUMID changed or
    System started 
then
    var Double TP_A     = calculateDewPoint.apply((AUSSEN_TEMP.state as DecimalType).doubleValue, (AUSSEN_HUMID.state as DecimalType).doubleValue)
    var Double TP_WSTAT = calculateDewPoint.apply((WS_TEMP.state as DecimalType).doubleValue, (WS_HUMID.state as DecimalType).doubleValue)
    var Double TP_WZ    = calculateDewPoint.apply((TWZ_IST_TEMP.state as DecimalType).doubleValue, (TWZ_HUMID.state as DecimalType).doubleValue)
    TP_AUSSEN.postUpdate(TP_A)
    TP_WS.postUpdate(TP_WSTAT)
    TWZ_DEW.postUpdate(TP_WZ)
end
Das große Double ist ein Objekt, das kleine double ist ein Primitive.
openHAB mag keine Primitives (die Verarbeitungszeit der Rule steigt dadurch extrem an).

Für sendBroadcastNotification muss ein CloudConnecter (z.B. myOpenHAB) aktiv sein. Funktioniert das bei Dir noch?

Ich nutze hier weder Taupunkt noch Cloud, weshalb ich das selbst nicht wirklich testen kann.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

goerdi
Beiträge: 113
Registriert: 21. Dez 2019 23:44
Answers: 1

Re: rules nach upgrad auf 4.3.4 ...

Beitrag von goerdi »

Hi !

Ok der Taupunkt funktioniert ... das Offline auch (cloud connector geht)
Danke

Ciao Gerd

Antworten