Hallo zusammen.
Hab´s hinbekommen.
Danke schon mal an Udo für das Rule.
Einen Schönheitsfehler gibt es noch im Code.
Die Statusabfrage über den Browser liefert dieses Ergebnis:
ANELNETCONTROLL;192.168.200.20;NET_Power_Control;1621078933;189000;h;6.5;26.7
Treppe;0;0;Pumpe;0;0;Baumhaus;1;0;WasserLED;0;0;Wasserlauf;0;0;Grillplatz;0;0;Baumlichter;0;0;LichtEingang;0;0;
Alle Lichter;1;0;Wasser Lichter;1;0;IO-3;0;0;IO-4;0;0;IO-5;0;0;IO-6;0;0;IO-7;0;0;IO-8;0;0;
Im OpenHAB kommt das so an:
ANELNETCONTROLL;192.168.200.20;NET_Power_Control;1621079101;189168;h;6.5;26.7<br>Treppe;0;0;Pumpe;0;0;Baumhaus;1;0;WasserLED;0;0;Wasserlauf;0;0;Grillplatz;0;0;Baumlichter;0;0;LichtEingang;0;0;<br>Alle Lichter;1;0;Wasser Lichter;1;0;IO-3;0;0;IO-4;0;0;IO-5;0;0;IO-6;0;0;IO-7;0;0;IO-8;0;0;<
Der Code sucht ja nach dem ";" und "Treppe". Da hier vor der "Treppe" noch die Temperaturanzeige und <br> kommt wird der Name "Treppe" nicht gefunden. Gibt es in solch einen Fall Platzhalter die man einbauen kann?
z.B.
case "******Treppe" : Anel1_Treppenlichter.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
Code: Alles auswählen
rule "anel Status zerlegen"
when
Item Anel1_anelStatus changed
then
val myList = Anel1_anelStatus.state.toString.split(";")
var i = 0
while ((i=i+1) < myList.size) { // myList durchlaufen
switch(myList.get(i)) { // i-tes Element von myList
case "Pumpe": Anel1_Pumpe.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "Baumlichter" : Anel1_Baumlichter.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "Baumhaus" : Anel1_Baumhaus.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "Treppe" : Anel1_Treppenlichter.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "LichtEingang" : Anel1_LichtEingang.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "Grillplatz" : Anel1_Grillplatz.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "WasserLED" : Anel1_WasserLED.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "Wasserlauf" : Anel1_Wasserlauf.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
}
}
end
Gruß Wolle