Absinthe hat geschrieben: ↑30. Apr 2022 16:24
.. die Prüfung im IF liefert anscheinend immer ein false zurück, womit immer der Codeteil im ELSE ausgeführt wird.
Die Frage ist nun warum?!
Also andere mögen mit den wenigen Info's arbeiten können, mir fehlt noch die Konfiguration des Items.
Trortdem habe ich mir gerade mal den Spaß gemacht und dies mit meinem ShellyHT getestet, da ich z.B. einen Feuchtigkeitswert meines Gardena Sensors in einer Rule vergleiche und dies problemlos läuft. Da der Versand der Info per Mail erst einmal nur zusätzliche Komplexität und Fehlerquellen birgt, habe ich erst einmal nur ein Logging erstellt um zu sehen, ob der Vergleich klappt.
Da ich noch alles über DSL Rule definiere, hier meine Konfig.
Item
Code: Alles auswählen
Number:Dimensionless ShellyHTBedroomHumidity "Luftfeuchtigkeit [%d %unit%]" <humidity> (Shelly_Humidity_Chart) ["Measurement", "Humidity"] {channel="shelly:shellyht:084711:sensors#humidity"}
Rule Vergleich auf kleiner als
Code: Alles auswählen
rule Schalter_Test
when
Item Testschalter changed
then
if (Testschalter.state == ON) {
if ((ShellyHTBedroomHumidity.state as Number).intValue < 40) {
logInfo("Test", "Kleiner Feuchtigkeit: {}", (ShellyHTBedroomHumidity.state as Number).intValue)
logInfo("Test", "Kleiner Feuchtigkeit: {}", ShellyHTBedroomHumidity.state)
} else {
logInfo("Test", "Groesser Feuchtigkeit: {}", (ShellyHTBedroomHumidity.state as Number).intValue)
}
}
end
Ergebnis
11:54:32.478 [INFO ] [org.openhab.core.model.script.Test ] - Groesser Feuchtigkeit: 43
Rule Vergleich auf größer als
Code: Alles auswählen
rule Schalter_Test
when
Item Testschalter changed
then
if (Testschalter.state == ON) {
if ((ShellyHTBedroomHumidity.state as Number).intValue > 40) {
logInfo("Test", "Kleiner Feuchtigkeit: {}", (ShellyHTBedroomHumidity.state as Number).intValue)
logInfo("Test", "Kleiner Feuchtigkeit: {}", ShellyHTBedroomHumidity.state)
} else {
logInfo("Test", "Groesser Feuchtigkeit: {}", (ShellyHTBedroomHumidity.state as Number).intValue)
}
}
end
Ergebnis
11:55:29.763 [INFO ] [org.openhab.core.model.script.Test ] - Kleiner Feuchtigkeit: 43
11:55:29.763 [INFO ] [org.openhab.core.model.script.Test ] - Kleiner Feuchtigkeit: 43 %
Ja, ich hätte noch den Text anpassen können, es ging aber um den Vergleich
Evtl. hilft dies ja weiter, dem Rätsel auf die Spur zu kommen. Evtl. mal als DSL Rule anlegen und dann den yaml code kopieren?
Viele Grüße
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3