Leider habe ich überhaupt kein Idee wie ich Daten in ein Array sammeln kann.
Ziel
Anzeige (ESP8266 4x20Display mit MQTT) wo ein Alarm aufgetreten ist.
Sind es mehr dann werde ich diese langsam durchlaufen lassen.
Nun:
Über das item "Alarmmeldung" bekomme ich von verschiedenden Rules ein String mit dem Format
Alarmlevel ; gesendet von Item xx
zb:
1;Haustür
1;Garagentür
2;Bad-Fenster
1;Wasserausritt
..
bei Alarmlevel 0 ist der Alarm aufgehoben
Wie kann ich die Werte in ein Array sammeln
und dann die ersten 4 Werte (Alarmlevel > 0) an item "DisplayLine_1" "DisplayLine_2" "DisplayLine_3" "DisplayLine_4" senden(mqtt)?
Schöne Grüsse Franz
Daten in ein Array sammeln
-
- Beiträge: 46
- Registriert: 6. Jan 2018 13:59
Re: Daten in ein Array sammeln
EIne Idee habe ich und zwar so:
Nur weiß ich nicht wie ich das in eine Schleife bringe in dem ich die Werte dan auslessen könnte?
Ähnlich so aber es funktioniert nicht.
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
logInfo(" rule Alarmtext: ", "Neu > " + tmp_State)
alarmTxt.put(tmp_State, Integer::parseInt(tmp_State.substring(0,1)))
end
Ähnlich so aber es funktioniert nicht.
Code: Alles auswählen
alarmTxt.forEach[m| {
logInfo(" rule Alarmtext: ", "Read > " + alarmTxt.get(tmp_State))
}]