OH3 Bosch Binding oder Curl Befehl?
Verfasst: 7. Mär 2021 15:25
Hallo,
bisher habe ich mein SmartHome mit einem eigenen PHP-Programm gemacht.
Letzte Woche hat mir jemand openHab dafür empfohlen, wäre ganz einfach und gut!
Also hab ich das mal auf Windows installiert, wenn es gut läuft später villeicht mal auf dem Raspberry.
Aber ganz so einfach ist es dann docht nicht!
Habe jetzt nach einer Woche die ersten Erfolge, die ersten Schalter funktionieren, wenn auch zum Teil mit Umwege.
Und da fangen die Fragen an,
die 1. wäre das Http Binding, hab schon einiges gelesen und ab und zu gibt es Hinweise das das in openHab 3 nicht richtig funktioniert!
ich habe noch viele Funkschalter die ich im Moment mit meinem Mediola AIO Gataway V4 Plus schalte, da gibt es kein MQTT oder ähnliches und bräuchte dazu das http Binding.
hab dafür jetzt Rules erstelt und mit sendHttpGetRequest("http://.... schalten meine Schalter.
mit Thing erstellen geht es einfach nicht, alles was ich in die Zeile Value On oder OFF schreibe wird nicht angenommen!
aber erst mal egal,
2. Frage
für mein Bosch Schalter hab ich auf Github ein Bosch Binding gefunden und die .jar Datei in das Addon Verzeichnis kopiert.
leider wird das aber nicht erkannt und installiert, warum auch immer ?
dann hab ich versucht meinen Bosch schalter mit einem Curl Befehl zu schalten, wie ich das auch mit meinem PHP-Programm mache.
aber leider auch ohne Erfolg, bin mir aber nicht sicher ob ich da alle richtig mache?
hab den in eine Rule mit
executeCommandLine('curl --cert c:/opeHab/conf/rules/client-cert.pem --key c:/opeHab/conf/rules/client-key.pem --insecure -X PUT \"https://192.168.178.34:8444/smarthome/d ... itch/state\" -H "accept: */*\" -H \"api-version: 1.0\" -H \"Content-Type: application/json\" -d \"{\"@type\":\"powerSwitchState\",\"switchState\":\"OFF\"}\" ' )
aufgerufen.
ist das richtig ?
wenn ja, liegt dar Fehler an den vielen Anführungszeichen? oder liegt es wieder am http Binding?
da wär ich für eventuelle Tipp´s dankbar.
ach ja, was ich schon hinbekommen habe, aus meinem Homematic Heizkörper Ventilen über dem Mediola Gateway die Temperatur auslesen.
auch nicht ganz einfach, da ein Json String geliefert wird, aber am Anfang stehen einige andere Zeichen!
meine Code dazu, nicht schön aber funktioniert!
ergebnis =sendHttpGetRequest("http://192.168.178.23/command?XC_FNC=GetStates")
lang = ergebnis.length - 1
ergebnis1 = ergebnis.substring(9,lang) // txtv.length
Position = ergebnis1.toString.split("4CDDEB01").get(0)
ergebnis = ergebnis1.toString.split("4CDDEB01").get(1)
Temp_soll_hex = ergebnis.substring(15,19)
Temp_soll_dec = Integer::parseInt(Temp_soll_hex, 16)/10
Temp_ist_hex = ergebnis.substring(20,24)
Temp_ist_dec = Integer::parseInt(Temp_ist_hex, 16)/10
Status_HM_2.postUpdate("Soll Temp = "+Temp_soll_dec+"°C : Ist Temp = "+Temp_ist_dec+"°C")
bisher habe ich mein SmartHome mit einem eigenen PHP-Programm gemacht.
Letzte Woche hat mir jemand openHab dafür empfohlen, wäre ganz einfach und gut!
Also hab ich das mal auf Windows installiert, wenn es gut läuft später villeicht mal auf dem Raspberry.
Aber ganz so einfach ist es dann docht nicht!
Habe jetzt nach einer Woche die ersten Erfolge, die ersten Schalter funktionieren, wenn auch zum Teil mit Umwege.
Und da fangen die Fragen an,
die 1. wäre das Http Binding, hab schon einiges gelesen und ab und zu gibt es Hinweise das das in openHab 3 nicht richtig funktioniert!
ich habe noch viele Funkschalter die ich im Moment mit meinem Mediola AIO Gataway V4 Plus schalte, da gibt es kein MQTT oder ähnliches und bräuchte dazu das http Binding.
hab dafür jetzt Rules erstelt und mit sendHttpGetRequest("http://.... schalten meine Schalter.
mit Thing erstellen geht es einfach nicht, alles was ich in die Zeile Value On oder OFF schreibe wird nicht angenommen!
aber erst mal egal,
2. Frage
für mein Bosch Schalter hab ich auf Github ein Bosch Binding gefunden und die .jar Datei in das Addon Verzeichnis kopiert.
leider wird das aber nicht erkannt und installiert, warum auch immer ?
dann hab ich versucht meinen Bosch schalter mit einem Curl Befehl zu schalten, wie ich das auch mit meinem PHP-Programm mache.
aber leider auch ohne Erfolg, bin mir aber nicht sicher ob ich da alle richtig mache?
hab den in eine Rule mit
executeCommandLine('curl --cert c:/opeHab/conf/rules/client-cert.pem --key c:/opeHab/conf/rules/client-key.pem --insecure -X PUT \"https://192.168.178.34:8444/smarthome/d ... itch/state\" -H "accept: */*\" -H \"api-version: 1.0\" -H \"Content-Type: application/json\" -d \"{\"@type\":\"powerSwitchState\",\"switchState\":\"OFF\"}\" ' )
aufgerufen.
ist das richtig ?
wenn ja, liegt dar Fehler an den vielen Anführungszeichen? oder liegt es wieder am http Binding?
da wär ich für eventuelle Tipp´s dankbar.
ach ja, was ich schon hinbekommen habe, aus meinem Homematic Heizkörper Ventilen über dem Mediola Gateway die Temperatur auslesen.
auch nicht ganz einfach, da ein Json String geliefert wird, aber am Anfang stehen einige andere Zeichen!
meine Code dazu, nicht schön aber funktioniert!
ergebnis =sendHttpGetRequest("http://192.168.178.23/command?XC_FNC=GetStates")
lang = ergebnis.length - 1
ergebnis1 = ergebnis.substring(9,lang) // txtv.length
Position = ergebnis1.toString.split("4CDDEB01").get(0)
ergebnis = ergebnis1.toString.split("4CDDEB01").get(1)
Temp_soll_hex = ergebnis.substring(15,19)
Temp_soll_dec = Integer::parseInt(Temp_soll_hex, 16)/10
Temp_ist_hex = ergebnis.substring(20,24)
Temp_ist_dec = Integer::parseInt(Temp_ist_hex, 16)/10
Status_HM_2.postUpdate("Soll Temp = "+Temp_soll_dec+"°C : Ist Temp = "+Temp_ist_dec+"°C")