Frage zum POST-Befehl http-Bindig + item + Enigma:WebInterface

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
wesseli
Beiträge: 7
Registriert: 25. Sep 2019 18:40
Answers: 0

Frage zum POST-Befehl http-Bindig + item + Enigma:WebInterface

Beitrag von wesseli »

Hallo,

mit dem nachfolgenden WebInterface Befehl in der Item-Definition

Code: Alles auswählen

Switch  VU_rtlnitro "RTL Nitro" <switch-toggle> (gVUBox) ["Switchable"] { http=">[ON:POST:http://192.168.2.XX:80/web/zap?sRef=1:0:19:2EAF:411:1:C00000:0:0:0:]" }
versuche ich einen Sender auf einer Enigma-Box (VU-Box) über die Servicereferenz zu schalten, leider ohne Erfolg.

Hintergrund: Über einen Befehl mit der Servicereferenz kann man das Schalten über Kanalnummern umgehen, da sich nur einstellige Kanalnummern (also 1 - 9) über einen WebInterface-Befehl
schalten lassen. Eine mehrzeilige Rule für jeden einzelnen Sender (Kanal) wollte ich umgehen.

Deshalb die o.g. Umsetzung über die Servicereferenz. Leider weiß ich nicht weiter. Im Log-File von Openhab2 werden keine Fehler ausgewiesen. Http-Binding ist installiert.

Wenn ich die nachfolgende Befehle

Code: Alles auswählen

http://192.168.2.XX:80/web/zap?sRef=1:0:19:2EAF:411:1:C00000:0:0:0:
im Safari oder

Code: Alles auswählen

wget -q -O - "http://192.168.2.XX:80/web/zap?sRef=1:0:19:EF78:3F9:1:C00000:0:0:0:"
im Terminal eingebe, schaltet die Box sofort auf den Sender.

Leider führt auch der nachfolgend angepasste POST-Befehl

Code: Alles auswählen

Switch  VU_rtlnitro "RTL Nitro" <switch-toggle> (gVUBox) ["Switchable"] {http=">[ON:POST:http://192.168.2.XX:80/web/zap?sRef=1%3A0%3A19%3A2EAF%3A411%3A1%3AC00000%3A0%3A0%3A0%3A]"}
nicht zum Erfolg.

Über Hilfe oder Unterstützung, wie man das Problem eingrenzen könnte, wäre ich sehr dankbar.

wesseli

thumm
Beiträge: 2
Registriert: 19. Aug 2019 15:21
Answers: 0

Re: Frage zum POST-Befehl http-Bindig + item + Enigma:WebInterface

Beitrag von thumm »

Hallo,

die verwendete Notation in der Item-Definition führt ein HTTP-POST durch (siehe https://wiki.selfhtml.org/wiki/HTTP/Anfragemethoden). Hingegen wird mit wget ein GET durchgeführt. Ich kenne die genaue Syntax des HTTP-Bindings nicht, aber logisch wäre für mich

Code: Alles auswählen

Switch  VU_rtlnitro "RTL Nitro" <switch-toggle> (gVUBox) ["Switchable"] { http=">[ON:GET:http://192.168.2.XX:80/web/zap?sRef=1:0:19:2EAF:411:1:C00000:0:0:0:]" }

wesseli
Beiträge: 7
Registriert: 25. Sep 2019 18:40
Answers: 0

Re: Frage zum POST-Befehl http-Bindig + item + Enigma:WebInterface

Beitrag von wesseli »

Hallo,

Danke für die Idee. Aber schau mal hier:

https://www.openhab.org/addons/bindings/http1/

Dort steht:
The :<postcontent> section is optional, new in version 1.9.0, and only applies when <httpmethod> is POST.
So wie ich das verstanden habe, ist POST für die http-Methode einzusetzen. Daran hatte ich mich orientiert. Ich probiere es aber mal mit dem Befehl GET.

wesseli

eiGelbGeek
Beiträge: 226
Registriert: 11. Aug 2019 06:39
Answers: 4

Re: Frage zum POST-Befehl http-Bindig + item + Enigma:WebInterface

Beitrag von eiGelbGeek »

Ich mache es wie folgt :mrgreen:

Item

Code: Alles auswählen

Number TV_WZ_Programm "TV WZ Programm"
Rule

Code: Alles auswählen

rule "TV Programm umschalten"
when
    Item TV_WZ_Programm changed
then
    if (TV_Status_Wohnzimmer.state == ON){
      switch (TV_WZ_Programm.state){
          case 1: {
            sendHttpGetRequest("http://10.10.80.110/web/zap?sRef=1:0:19:283D:3FB:1:C00000:0:0:0:")
            TV_WZ_Programm.postUpdate(0)
          }
          case 2: {
            sendHttpGetRequest("http://10.10.80.110/web/zap?sRef=1:0:19:2B66:3F3:1:C00000:0:0:0:")
            TV_WZ_Programm.postUpdate(0)
          }
          case 3: {
            sendHttpGetRequest("http://10.10.80.110/web/zap?sRef=1:0:19:6EAA:4B1:1:C00000:0:0:0:")
            TV_WZ_Programm.postUpdate(0)
          }
      }
    }
end
Sitemap

Code: Alles auswählen

Frame label="Sender Auswahl"{
  Selection item=TV_WZ_Programm label="FreeTV [%s]" icon="tvprogramm" mappings=[
  0="Sender auswählen",
  1="ARD HD",
  2="ZDF HD",
  3="WDR HD"]
}
Sind natürlich mehr Sender , habe es nur zu Demo Zwecken eingekürzt ;-)

wesseli
Beiträge: 7
Registriert: 25. Sep 2019 18:40
Answers: 0

Re: Frage zum POST-Befehl http-Bindig + item + Enigma:WebInterface

Beitrag von wesseli »

@eiGelbGeek

Super Idee. Nur weiß ich im Moment nicht, wie ich diese mit den für die Sprachsteuerung zur Verfügung stehenden TAGS nutzen kann.

Denn es gibt nur diese TAGs

["TargetTemperature"]
Funktion: Number

["Lighting"]
Funktion: Rollershutter, Switch, Dimmer

["Switchable"]
Funktion: Switch

wesseli

Antworten