Seite 1 von 1

Array mit einer Schleife durchlaufen lassen

Verfasst: 15. Mär 2019 14:28
von fkempter
Ich fülle ein Array mit einer Rule

Code: Alles auswählen

import java.util.Map
val Map<String, Integer> alarmTxt = newHashMap

rule "Check Alarmtext"
when
    Item Alarmmelder changed
then
    var String tmp_State = si02Alarmmelder.state.toString
    alarmTxt.put(tmp_State, Integer::parseInt(tmp_State.substring(0,1)))
end
Nun möchte ich mit einer Schleife die Werte auslesen.
Ähnlich so, aber es funktioniert leider nicht.

Code: Alles auswählen

    alarmTxt.forEach[m| {
    	    if (alarmTxt.get(tmp_State) != NULL)
    	    		 logInfo(" rule Alarmtext: ", "Read > " + alarmTxt.get(tmp_State))
    }]

Re: Array mit einer Schleife durchlaufen lassen

Verfasst: 16. Mär 2019 00:10
von udo1toni
Wenn Du eine Map mit zwei Feldern definierst, müsstest Du beim Lesen ebenfalls zwei Felder auslesen. Außerdem müsstest Du einen Zeiger verwenden, um für get() anzugeben, welche Zeile des Arrays Dich interessiert.

Vieleicht hilft Dir dies hier weiter? https://community.openhab.org/t/solved- ... -help/3169