Seite 4 von 4

Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden

Verfasst: 13. Mai 2021 18:37
von Wolle39
Hallo udo1toni.

Ich habe schnell mal Bilder gemacht, wie es momentan ausschaut.
Bekomme nach wie vor keine Statusmeldung zurück.

https://photos.app.goo.gl/9S965vHHavSqUhTD9

Weiß hier einfach nicht weiter.
Was mache ich falsch oder was habe ich noch nicht gemacht!?

Danke.

Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden

Verfasst: 15. Mai 2021 12:42
von Wolle39
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

Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden

Verfasst: 16. Mai 2021 20:45
von udo1toni
Schreib doch einfach das <br> mit dazu. Es geht ja nur darum, den String zu erkennen.

Ah. Ich sehe gerage, da steht tatsächlich in der Antwort kein Semikolon. Doof.
auf die Schnelle wäre es vermutlich das einfachste, im String vorher das <br> durch ein Semikolon zu ersetzen. Das sähe dann so aus:

Code: Alles auswählen

rule "anel Status zerlegen"
when
    Item Anel1_anelStatus changed
then
    val myList = Anel1_anelStatus.state.toString.replace('<br>',';').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

Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden

Verfasst: 18. Mai 2021 17:28
von Wolle39
Hallo Udo.

Du bist Hammer.

Reinkopiert - funktioniert.

Mittlerweile verstehe ich immer mehr die gesamten Zusammenhänge, dank deiner/eurer Unterstützung.

Gruß WOlfi