
Wie Number aus Shellscript für Color-Abfragen verwenden
-
- Beiträge: 121
- Registriert: 7. Jan 2020 19:36
Re: Wie Number aus Shellscript für Color-Abfragen verwenden
herzlichen dank für die sehr ausführliche erläuterung udo1toni, jetzt hab ich das verstanden 

-
- Beiträge: 15
- Registriert: 14. Feb 2020 23:12
Re: Wie Number aus Shellscript für Color-Abfragen verwenden
Danke fuer das gute Beispiel.
rule "temperatur"
when
Item TempKuehlschrank changed
then
logInfo ("Rule temperatur", "nTempKuehlschrank {}", nTempKuehlschrank.state)
logInfo ("Rule temperatur", "TempKuehlschrank {}", TempKuehlschrank.state)
nTempKuehlschrank.postUpdate(Float::parseFloat(TempKuehlschrank.state))
end
Soweit so gut, wenn ich es aber so einbaue, dann bekomme ich folgende Fehlermeldung
2020-02-28 14:45:16.347 [INFO ] [arthome.model.script.Rule temperatur] - nTempKuehlschrank NULL
2020-02-28 14:45:16.364 [INFO ] [arthome.model.script.Rule temperatur] - TempKuehlschrank 19.562
2020-02-28 14:45:16.371 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'temperatur': An error occurred during the script execution: Could not invoke method: java.lang.Float.parseFloat(java.lang.String) on instance: null
Warum ist das Item null? muss man das vorher initialisieren?
rule "temperatur"
when
Item TempKuehlschrank changed
then
logInfo ("Rule temperatur", "nTempKuehlschrank {}", nTempKuehlschrank.state)
logInfo ("Rule temperatur", "TempKuehlschrank {}", TempKuehlschrank.state)
nTempKuehlschrank.postUpdate(Float::parseFloat(TempKuehlschrank.state))
end
Soweit so gut, wenn ich es aber so einbaue, dann bekomme ich folgende Fehlermeldung

2020-02-28 14:45:16.347 [INFO ] [arthome.model.script.Rule temperatur] - nTempKuehlschrank NULL
2020-02-28 14:45:16.364 [INFO ] [arthome.model.script.Rule temperatur] - TempKuehlschrank 19.562
2020-02-28 14:45:16.371 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'temperatur': An error occurred during the script execution: Could not invoke method: java.lang.Float.parseFloat(java.lang.String) on instance: null
Warum ist das Item null? muss man das vorher initialisieren?
- udo1toni
- Beiträge: 15240
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Wie Number aus Shellscript für Color-Abfragen verwenden
Dass nTempKuehlschrank den Status NULL hält, ist normal, solange kein Status hineingeschrieben wurde.
Nicht so schön ist, dass die Zuweisung nicht funktioniert. Probiere bitte mal folgendes:
parseFloat erwartet einen String. Hier greift die automatische Konvertierung leider nicht.
Nicht so schön ist, dass die Zuweisung nicht funktioniert. Probiere bitte mal folgendes:
Code: Alles auswählen
rule "temperatur"
when
Item TempKuehlschrank changed
then
logInfo ("Rule temperatur", "nTempKuehlschrank {}", nTempKuehlschrank.state)
logInfo ("Rule temperatur", "TempKuehlschrank {}", TempKuehlschrank.state)
nTempKuehlschrank.postUpdate(Float::parseFloat(TempKuehlschrank.state.toString))
end
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 15
- Registriert: 14. Feb 2020 23:12
Re: Wie Number aus Shellscript für Color-Abfragen verwenden
Super. Genauso hat es funktioniert. Gewußt wie. Wieder ein Stück schlauer.
Vielen Dank
Vielen Dank
