Array mit einer Schleife durchlaufen lassen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
fkempter
Beiträge: 46
Registriert: 6. Jan 2018 13:59
Answers: 0

Array mit einer Schleife durchlaufen lassen

Beitrag 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))
    }]

Benutzeravatar
udo1toni
Beiträge: 15264
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Array mit einer Schleife durchlaufen lassen

Beitrag 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
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Antworten