Seite 1 von 1

Rule läuft nach update auf OH3 nicht mehr

Verfasst: 16. Jun 2021 19:57
von bolle05
Hallo,
ich habe mein Openhab2.5 neu auf OH3 installiert. Das Einrichten der Things und Items lief super. Schon klasse das Update auf 3.
Neben vielen anderen Dingen Steuer ich den Pool mit dem OH3. Nun geht meine alte Rule von OH2 nicht mehr. Hat sich was geändert? Ich habe eigentlich alles angepasst bekomme aber immer einen Fehler. Finden dazu kann ich irgendwie auch nichts. Wie gesagt unter dem OH2 läuft die Rule. Auch ist die Darstellung im Rule Manager anders.
FM: 2021-06-16 19:52:25.204 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'pool-1' failed: 'state' is not a member of 'java.lang.String'; line 5, column 29, length 28 in pool

Code: Alles auswählen

rule "Solarheizung schalten"
when
    Item Pool_SolarTemperature changed
then
    val Number TempPool  = ('Pool_PoolTemperature'.state as Number).floatValue        // Pooltemperatur
    val Number TempSolar = ('Pool_SolarTemperature'.state as Number).floatValue                     // Solartemperatur
    val Number Differenz = ('Wassertemperatur_Soll_Differenz'.state as Number).floatValue       // Minimaldifferenz
    val Number PoolMax   = ('Wassertemperatur_Max'.state as Number).floatValue                  // Maximaltemperatur Pool
    val Number SolarMin  = ('Solar_Min'.state as Number).floatValue                             // Minimaltemperatur Solar

    if (TempSolar - TempPool > Differenz && TempPool < PoolMax  && TempSolar > SolarMin) {     // Differenz überschritten und Grenzwerte eingehalten
        if (Pool_PowerSolar.state != ON)                                                          // Falls Pumpe nicht an
            Pool_PowerSolar.sendCommand(ON)                                                       // Schalte Pumpe an
    } else { // if(TempSolar - TempPool < Differenz || TempSolar < SolarMin || TempPool > PoolMax) // Differenz unterschritten oder Grenzwerte nicht eingehalten
        if (Pool_PowerSolar.state != OFF)                                                         // Falls Pumpe nicht aus
            PoolPowerSolar.sendCommand(OFF)                                                      // Schalte Pumpe aus
    }
end
So wird es im Manager angezeigt.
Bild

Re: Rule läuft nach update auf OH3 nicht mehr

Verfasst: 16. Jun 2021 20:41
von KellerK1nd
Warum die „''“ in den Variablen? Sollte doch auch ohne gehen. Er meckert ja daran auch rum, line 5 state ist not a member of bla, heißt das was an deiner Variablendefinition nicht stimmt.

Re: Rule läuft nach update auf OH3 nicht mehr

Verfasst: 17. Jun 2021 09:24
von bolle05
Ja ich habe die „''“ aus der Rule genommen. Jetzt geht er auf Line8 also meine Val zur Differenz. Aber die ist auch genau wir im OH2. Muss ich die jetzt anders schreiben?

Re: Rule läuft nach update auf OH3 nicht mehr

Verfasst: 17. Jun 2021 09:32
von bolle05
Ich habe noch einen Fehler gefunden. Die Wassertemperatur_Soll_Differenz war als State und nicht als Number in den Items angelegt. Ich habe das geändert und das System neu gestartet. Läuft! :-)

Re: Rule läuft nach update auf OH3 nicht mehr

Verfasst: 17. Jun 2021 09:35
von peter-pan
Wie sieht denn deine Original-Rule jetzt aus ? In der o.g. Regel ist "PoolMax" in Linie 8 und nicht "Differenz" !!!

Edit: Hat sich ja wohl gerade erledigt ;)