Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden

Moderatoren: seppy, udo1toni

Wolle39
Beiträge: 66
Registriert: 28. Apr 2021 19:46

Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden

Beitrag 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.
Gruß Wolle
--------------------------------------------------------
Windows 11 und openHAB 4 im Einsatz

Wolle39
Beiträge: 66
Registriert: 28. Apr 2021 19:46

Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden

Beitrag 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
Gruß Wolle
--------------------------------------------------------
Windows 11 und openHAB 4 im Einsatz

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

Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden

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

Wolle39
Beiträge: 66
Registriert: 28. Apr 2021 19:46

Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden

Beitrag 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
Gruß Wolle
--------------------------------------------------------
Windows 11 und openHAB 4 im Einsatz

Antworten