Nein, weil du das http1 Binding nutzt. Things und Channels gibt es nur beim HTTP2 Binding.
Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden
- sihui
- Beiträge: 1827
- Registriert: 11. Apr 2018 19:03
Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.
-
- Beiträge: 66
- Registriert: 28. Apr 2021 19:46
Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden
Zuletzt geändert von Wolle39 am 30. Apr 2021 15:43, insgesamt 2-mal geändert.
Gruß Wolle
--------------------------------------------------------
Windows 11 und openHAB 4 im Einsatz
--------------------------------------------------------
Windows 11 und openHAB 4 im Einsatz
-
- Beiträge: 66
- Registriert: 28. Apr 2021 19:46
Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden
Bin auf den Code gekommen
Switch Kanal1 { http=">[ON:GET:http://192.168.200.49?Sw_on=1] >[OFF:GET:http://192.168.200.49?Sw_off=1]"}
Coole Sache wenn es funktioniert.
Top.
Danke
Switch Kanal1 { http=">[ON:GET:http://192.168.200.49?Sw_on=1] >[OFF:GET:http://192.168.200.49?Sw_off=1]"}
Coole Sache wenn es funktioniert.
Top.
Danke
Gruß Wolle
--------------------------------------------------------
Windows 11 und openHAB 4 im Einsatz
--------------------------------------------------------
Windows 11 und openHAB 4 im Einsatz
- sihui
- Beiträge: 1827
- Registriert: 11. Apr 2018 19:03
Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden
POST wäre dem GET vorzuziehen, aber wenn es so funktioniert ist ja alles gut.
https://www.ionos.de/digitalguide/websi ... t-vs-post/
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.
-
- Beiträge: 66
- Registriert: 28. Apr 2021 19:46
Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden
Hallo Sihui,
wollte noch Danke für deine Hilfestellung sagen.
Kann jetzt alle Kanäle über HTTP-Binding schalten.
Was noch schön wäre, ist den aktuellen Status der Kanäle auszulesen. Glaube aber nicht das hier Erfolg haben werde, da ich nur diesen Status rausbekomme.
anel1 ;192.168.200.49;NET - Power Control;1619966219;72766;h;7.0;26.4
8.Treppenlichter;0;0;7.Pumpe;0;0;5.Baumhaus;0;0;4.Wasser LED;0;0;5.Wasserlauf;0;0;6.Grillplatz;0;0;7.Baumlichter;0;0;3.Licht EIngang;0;0;
1.Alle Lichter;1;0;2.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;
Oder kann man anhand der ; Zeichen quasi die Stelle berechnen für Number?
Gruß Wolle
wollte noch Danke für deine Hilfestellung sagen.
Kann jetzt alle Kanäle über HTTP-Binding schalten.
Was noch schön wäre, ist den aktuellen Status der Kanäle auszulesen. Glaube aber nicht das hier Erfolg haben werde, da ich nur diesen Status rausbekomme.
anel1 ;192.168.200.49;NET - Power Control;1619966219;72766;h;7.0;26.4
8.Treppenlichter;0;0;7.Pumpe;0;0;5.Baumhaus;0;0;4.Wasser LED;0;0;5.Wasserlauf;0;0;6.Grillplatz;0;0;7.Baumlichter;0;0;3.Licht EIngang;0;0;
1.Alle Lichter;1;0;2.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;
Oder kann man anhand der ; Zeichen quasi die Stelle berechnen für Number?
Gruß Wolle
Gruß Wolle
--------------------------------------------------------
Windows 11 und openHAB 4 im Einsatz
--------------------------------------------------------
Windows 11 und openHAB 4 im Einsatz
- sihui
- Beiträge: 1827
- Registriert: 11. Apr 2018 19:03
Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden
Das wird wahrscheinlich mit einer der Transformationsarten gehen, ich kann dir aber nicht sagen mit welcher:
https://www.openhab.org/docs/configurat ... formations
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.
- udo1toni
- Beiträge: 13948
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden
Wenn ich es richtig verfolgt habe, bist Du mit OH 2.x unterwegs. Vermutlich ist es dann das einfachste, den Gesamtstatus mit einer Rule auf die einzelnen Items umzulegen. Du bekommst den Gesamtstatus wie im Posting in ein String Item. Dann schreibst Du eine Rule, die das String Item analysiert. Die Rule triggert auf Item anelStatus received update (oder wahlweise Item anelStatus changed)
Jetzt hast Du zwei Möglichkeiten, entweder Du zerlegst den String mit REGEX, oder Du zerlegst den String mit split().
Vorteil REGEX: Du erhältst exakt die Daten zurück, welche Du haben willst. Nachteil: Du musst für jeden Kanal ein eigenes REGEX anwenden.
Vorteil split(); Du musst nur einmal zerlegen. Dafür musst Du aber zählen.
Beispiel:
Da ich nicht weiß, wie Deine Items heißen, habe ich einfach mal Items mit den generischen Namen Relais01 bis Relais16 genommen.
Die Rule durchläuft die Liste der Elemente, die im String durch Semikola voneinander getrennt sind. Falls der Inhalt dem Text entspricht, nimmt es das darauffolgende Element (i+1) und wertet es aus. bei 1 setzt es das passende Item auf ON, sonst auf OFF.
Die Rule ließe sich wesentlich eleganter gestalten, wenn die Namen in der Statusantwort generische wären (also z.B. Relais01 bis Relais16...), dann müsste man lediglich auf den identischen Teil des Namens triggern (if(myList.get(i).toString.startsWith("Relais"))), anschließend die Zahl abtrennen (relNumber = myList.get(i).toString.substring(6,2)) und das passende Item setzen (postUdate("Relais"+relNumber,if(myList.get(i+1) == "1") ON else OFF)).
Das wären dann nur drei Zeilen statt 18 (von denen etwa 90% redundant sind).
Jetzt hast Du zwei Möglichkeiten, entweder Du zerlegst den String mit REGEX, oder Du zerlegst den String mit split().
Vorteil REGEX: Du erhältst exakt die Daten zurück, welche Du haben willst. Nachteil: Du musst für jeden Kanal ein eigenes REGEX anwenden.
Vorteil split(); Du musst nur einmal zerlegen. Dafür musst Du aber zählen.
Beispiel:
Code: Alles auswählen
rule "anel Status zerlegen"
when
Item anelStatus changed
then
val myList = 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 "8.Treppenlichter": Relais01.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "7.Pumpe" : Relais02.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "5.Baumhaus" : Relais03.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "4.Wasser LED" : Relais04.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "5.Wasserlauf" : Relais05.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "6.Grillplatz" : Relais06.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "7.Baumlichter" : Relais07.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "3.Licht EIngang" : Relais08.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "1.Alle Lichter" : Relais09.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "2.Wasser Lichter": Relais10.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "IO.3" : Relais11.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "IO.4" : Relais12.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "IO.5" : Relais13.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "IO.6" : Relais14.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "IO.7" : Relais15.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
case "IO.8" : Relais16.postUpdate(if(myList.get(i+1) == "1") ON else OFF)
}
}
end
Die Rule durchläuft die Liste der Elemente, die im String durch Semikola voneinander getrennt sind. Falls der Inhalt dem Text entspricht, nimmt es das darauffolgende Element (i+1) und wertet es aus. bei 1 setzt es das passende Item auf ON, sonst auf OFF.
Die Rule ließe sich wesentlich eleganter gestalten, wenn die Namen in der Statusantwort generische wären (also z.B. Relais01 bis Relais16...), dann müsste man lediglich auf den identischen Teil des Namens triggern (if(myList.get(i).toString.startsWith("Relais"))), anschließend die Zahl abtrennen (relNumber = myList.get(i).toString.substring(6,2)) und das passende Item setzen (postUdate("Relais"+relNumber,if(myList.get(i+1) == "1") ON else OFF)).
Das wären dann nur drei Zeilen statt 18 (von denen etwa 90% redundant sind).
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 66
- Registriert: 28. Apr 2021 19:46
Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden
Hallo udo1toni,
vielen Dank für deine Antwort und Zeit.
Ich habe das Ganze zuvor mit OpenHAB 2.5 erfolgreich schalten können.
Also nur Schalten der Kanäle über ein angelegtes Items, das ich dann im HabPanel eingebunden habe.
Darauf hin habe ich OpenHAB 3 installiert und das HTTP Binding installiert.
Jetzt funktioniert das aber mit dem oben genannten Items nicht mehr.
Komm auch nicht wirklich weiter.
Habe ein HTTP URL Thing und Channel angelegt und z.B Treppenlichter verlinkt. Leider bekomme ich nichts zu schalten.
Weiß hier nicht mehr weiter.
Vielleicht kann mir da einer gezielt unter die Arme greifen?
Danke an alle.
Gruß Wolle
vielen Dank für deine Antwort und Zeit.
Ich habe das Ganze zuvor mit OpenHAB 2.5 erfolgreich schalten können.
Also nur Schalten der Kanäle über ein angelegtes Items, das ich dann im HabPanel eingebunden habe.
Code: Alles auswählen
Switch Treppenlichter { http=">[ON:POST:http://192.168.200.49?Sw_on=1,userpassword] >[OFF:POST:http://192.168.200.49?Sw_off=1,userpassword]"}
Switch Pumpe { http=">[ON:POST:http://192.168.200.49?Sw_on=2,userpassword] >[OFF:POST:http://192.168.200.49?Sw_off=2,userpassword]"}
Switch Baumhaus { http=">[ON:POST:http://192.168.200.49?Sw_on=3,userpassword] >[OFF:POST:http://192.168.200.49?Sw_off=3,userpassword]"}
Switch Brunnen_LED { http=">[ON:POST:http://192.168.200.49?Sw_on=4,userpassword] >[OFF:POST:http://192.168.200.49?Sw_off=4,userpassword]"}
Switch Wasserlauf { http=">[ON:POST:http://192.168.200.49?Sw_on=5,userpassword] >[OFF:POST:http://192.168.200.49?Sw_off=5,userpassword]"}
Switch Grillplatz { http=">[ON:POST:http://192.168.200.49?Sw_on=6,userpassword] >[OFF:POST:http://192.168.200.49?Sw_off=6,userpassword]"}
Switch Baumlichter { http=">[ON:POST:http://192.168.200.49?Sw_on=7,userpassword] >[OFF:POST:http://192.168.200.49?Sw_off=7,userpassword]"}
Switch Licht_Eingang { http=">[ON:POST:http://192.168.200.49?Sw_on=8,userpassword] >[OFF:POST:http://192.168.200.49?Sw_off=8,userpassword]"}
Jetzt funktioniert das aber mit dem oben genannten Items nicht mehr.
Komm auch nicht wirklich weiter.
Habe ein HTTP URL Thing und Channel angelegt und z.B Treppenlichter verlinkt. Leider bekomme ich nichts zu schalten.
Weiß hier nicht mehr weiter.
Vielleicht kann mir da einer gezielt unter die Arme greifen?
Danke an alle.
Gruß Wolle
Gruß Wolle
--------------------------------------------------------
Windows 11 und openHAB 4 im Einsatz
--------------------------------------------------------
Windows 11 und openHAB 4 im Einsatz
- udo1toni
- Beiträge: 13948
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden
Eventuell hast Du ein paar Dinge nicht korrekt eingetragen
Grundsätzlich sollte es ausreichen, ein Thing anzulegen, mit der Base URL http://192.168.200.49.
Unter den erweiterten Einstellungen stellst Du ein, dass für Kommandos POST verwendet wird.
Dann Legst Du 8 Switch Channel an und trägst dort als command URL Extension ?%2s, sowie als On Value Sw_on=1 und als Off Value Sw_off=1 ein (für die Kanäle 2-8 natürlich mit der jeweils anderen Ziffer)
Grundsätzlich sollte es ausreichen, ein Thing anzulegen, mit der Base URL http://192.168.200.49.
Unter den erweiterten Einstellungen stellst Du ein, dass für Kommandos POST verwendet wird.
Dann Legst Du 8 Switch Channel an und trägst dort als command URL Extension ?%2s, sowie als On Value Sw_on=1 und als Off Value Sw_off=1 ein (für die Kanäle 2-8 natürlich mit der jeweils anderen Ziffer)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 66
- Registriert: 28. Apr 2021 19:46
Re: Openhab 2.5 und Anel NET-PwrCtrl HUT einbinden
Hallo udo1toni,
Danke für deine Antwort. Das habe ich dann gleich getestet.
Funktioniert leider nicht. Egal was ich auch sonst probiere.
HTTP Thing angelegt und dort die Base URL sowie POST, dann einen Kanal angelegt, im Cxxommand URL Extension ?%2s und bei on Value Sw_on=1 und off Value Sw_off=1 stehen. Hab hier auch schon Sw_on=1,userpassword getestet jedoch kein Erfolg.
Nach Kanal anlegen habe ich diesen mit Add Equipment to Model hinzugefügt und immer getestet.
Was kann das sein? Warum funktioniert es nicht.
Gruß Wolle
Danke für deine Antwort. Das habe ich dann gleich getestet.
Funktioniert leider nicht. Egal was ich auch sonst probiere.
HTTP Thing angelegt und dort die Base URL sowie POST, dann einen Kanal angelegt, im Cxxommand URL Extension ?%2s und bei on Value Sw_on=1 und off Value Sw_off=1 stehen. Hab hier auch schon Sw_on=1,userpassword getestet jedoch kein Erfolg.
Nach Kanal anlegen habe ich diesen mit Add Equipment to Model hinzugefügt und immer getestet.
Was kann das sein? Warum funktioniert es nicht.
Gruß Wolle
Gruß Wolle
--------------------------------------------------------
Windows 11 und openHAB 4 im Einsatz
--------------------------------------------------------
Windows 11 und openHAB 4 im Einsatz