Fehler in Rule nach Umstellung auf OH3
Verfasst: 5. Mai 2022 22:01
Hallo,
ich habe meine Rules von OH2.4 nach OH3.2 übernommen. Leider gibt das LOG bei einer Rule an mehreren Stellen eine Fehlermeldung aus, folgend ein Beispiel:
Die Rule selber wird laut LOG nach dem zweiten Versuch normal geladen:
Die Fehlermeldung beim laden hat wahrscheinlich damit zu tun, das sich in der Licht.rule mehrere einzelne Rules befinden...
Hier 2 Beispiele der fehlerhaften Regeln:
Wahrscheinlich muss ich wohl bestimmte Funktionen anpassen...
Danke im voraus...
Sascha K.
ich habe meine Rules von OH2.4 nach OH3.2 übernommen. Leider gibt das LOG bei einer Rule an mehreren Stellen eine Fehlermeldung aus, folgend ein Beispiel:
Code: Alles auswählen
rule with UID 'Licht-5' failed: class java.lang.Integer cannot be cast to class java.lang.Enum (java.lang.Integer and java.lang.Enum are in module java.base of loader 'bootstrap') in Licht
Code: Alles auswählen
Loading model 'Licht.rules'
2022-05-05 16:51:01.792 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'Licht.rules' is either empty or cannot be parsed correctly!
2022-05-05 16:51:02.796 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Licht.rules'

Hier 2 Beispiele der fehlerhaften Regeln:
Code: Alles auswählen
rule "EINSCHALTEN durch Lichtautomatik Wochentag Modus Sonnenuntergang"
when
Channel "astro:sun:Astro_Sonnendaten:set#event" triggered START
then
if ((EG_WZ_Steckdose_Fernseher_Lampe_Auswahl_Lichtautomatik_Wochentag_Ein.state == 3) && (now.getDayOfWeek <= 5))
{
logInfo("Wohnzimmer", "EG_WZ_Steckdose_Fernseher_Lampe EINSCHALTEN durch Lichtautomatik Wochentag Modus Sonnenuntergang")
EG_WZ_Steckdose_Fernseher_Lampe.sendCommand(ON)
}
Code: Alles auswählen
rule "EINSCHALTEN durch Lichtautomatik Wochentag Modus Sonnenuntergang mit Zufallsszeit"
when
Channel "astro:sun:Astro_Sonnendaten:daylight#event" triggered END
then
if ((EG_WZ_Steckdose_Fernseher_Lampe_Auswahl_Lichtautomatik_Wochentag_Ein.state == 4) && (now.getDayOfWeek <= 5))
{
var Integer zufallszeit1
zufallszeit1 = 1 + (Math::random * 50.0).intValue
createTimer(now.plusMinutes(zufallszeit1))
[|
logInfo("Wohnzimmer", "EG_WZ_Steckdose_Fernseher_Lampe EINSCHALTEN durch Lichtautomatik Wochentag Modus Sonnenuntergang mit Zufallsszeit")
EG_WZ_Steckdose_Fernseher_Lampe.sendCommand(ON)
]
}
Danke im voraus...
Sascha K.