mal wieder ich und das liebe http-Binding

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Jensemann_P
Beiträge: 149
Registriert: 26. Jul 2021 20:14

mal wieder ich und das liebe http-Binding

Beitrag von Jensemann_P »

Hallo an alle,

ich möchte ein paar Delock 11826 schalten. Für das einfache An/Aus jetzt extra noch MQTT aufzusetzen ist mir für den Zweck zu viel, sonst kein MQTT in Sicht. Man kann die Teile ja auch direkt über http-Requests schalten. Mit Streamdeck/Companion hab ich da für MEdienzeugs auch schön öfter mit denen was gemacht.

Folgendes funktioniert aus dem Browser raus:

Code: Alles auswählen

http://192.168.178.26/cm?cmnd=Power%20On
http://192.168.178.26/cm?cmnd=Power%20Off
Ich bekomme auch eine Rückmeldung

Code: Alles auswählen

{"POWER":"OFF"}
Folgendes läuft leider nicht:

Code: Alles auswählen

UID: http:url:f715635629
label: EntfeuchterLagerraum
thingTypeUID: http:url
configuration:
  authMode: BASIC
  ignoreSSLErrors: false
  baseURL: http://192.168.178.26/cm?cmnd=Power%%20
  delay: 0
  stateMethod: GET
  refresh: 30
  commandMethod: GET
  timeout: 3000
  bufferSize: 2048
location: Lagerraum
channels:
  - id: PowerSwitch
    channelTypeUID: http:switch
    label: Power Switch
    description: ""
    configuration:
      onValue: On
      offValue: Off
Es wird wohl was mit dem Leerzeichen zu tun haben.
Momentan habe ich ja doppelt escaped (%%20). Nur %20 oder in Anführungsstrichen mit Leerzeichen, mit oder ohne encoding: true usw. Nichts hat was gebracht. Ich bin in einem Thread im englischen Forum darauf gestoßen, dass wohl vom Binding immer encodiert wird und man es ohne versuchen solle. Aber wie dann das Leerzeichen am Ende des Strings da abbilden? Wie gesagt, einfach in "" mit Leerzeichen am Ende bei der Base URL hat es auch nicht geklappt.

mad-mike
Beiträge: 402
Registriert: 6. Jan 2021 18:05
Answers: 2

Re: mal wieder ich und das liebe http-Binding

Beitrag von mad-mike »

Moin

Ich bin auch schon mal über solche Probleme gestolpert...


Hier mal der Beitrag dazu:

viewtopic.php?p=39742#p39742

Dort wird das relay board mit der IP eingesetzt und Die jeweiligen Channel bekommen dann den On - OFF befehl


Ich kopiere dir mal den Ersten kanal raus:

Code: Alles auswählen

UID: http:url:0de4fe720f
label: HTTP URL Thing
thingTypeUID: http:url
configuration:
  authMode: BASIC
  ignoreSSLErrors: true
  baseURL: http://192.168.178.199:80/
  delay: 0
  stateMethod: GET
  refresh: 30
  commandMethod: GET
  timeout: 3000
  bufferSize: 2048
channels:
  - id: km1
    channelTypeUID: http:switch
    label: km1
    description: ""
    configuration:
      mode: WRITEONLY
      onValue: FF0101
      offValue: FF0100
      commandExtension: "%2$s"
Hoffe das hilft beim Fehler eingrenzen...
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

Jensemann_P
Beiträge: 149
Registriert: 26. Jul 2021 20:14

Re: mal wieder ich und das liebe http-Binding

Beitrag von Jensemann_P »

Vielen Dank dir, hier lauffähiger Code für einen Delock 11826:

Code: Alles auswählen

UID: http:url:f715635629
label: EntfeuchterLagerraum
thingTypeUID: http:url
configuration:
  authMode: BASIC
  ignoreSSLErrors: false
  baseURL: http://192.168.178.26/
  delay: 0
  stateMethod: GET
  refresh: 30
  commandMethod: GET
  timeout: 3000
  bufferSize: 2048
location: Lagerraum
channels:
  - id: PowerSwitch
    channelTypeUID: http:switch
    label: Power Switch
    description: ""
    configuration:
      onValue: On
      mode: WRITEONLY
      offValue: Off
      commandExtension: cm?cmnd=Power %2$s

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

Re: mal wieder ich und das liebe http-Binding

Beitrag von udo1toni »

Also, ganz ehrlich, selbst wenn Du nur ein Gerät mit mqtt nutzt, mosquitto ist mit einem Befehl installiert, anschließend ist das mqtt Addon mit zwei Klicks installiert.
Ich habe mehrere kleine Python Scripte auf verschiedenen Rechnern für verschiedene Aufgaben, die ich ebenfalls mit mqtt steuere, das ist so viel stabiler als http :)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Jensemann_P
Beiträge: 149
Registriert: 26. Jul 2021 20:14

Re: mal wieder ich und das liebe http-Binding

Beitrag von Jensemann_P »

udo1toni hat geschrieben: 13. Aug 2022 22:27 Also, ganz ehrlich, selbst wenn Du nur ein Gerät mit mqtt nutzt, mosquitto ist mit einem Befehl installiert, anschließend ist das mqtt Addon mit zwei Klicks installiert.
Ich habe mehrere kleine Python Scripte auf verschiedenen Rechnern für verschiedene Aufgaben, die ich ebenfalls mit mqtt steuere, das ist so viel stabiler als http :)
Muss ich mir in nem ruhigen Moment nochmal anschauen. Hatte es zwischendurch mal probiert und keinen Erfolg (war aber wohl auch zu sehr schnellschuss um zu verstehen was da der broker macht und wie das zusammen hängt).

Falls mal jemand hierüber stolpert: Hier für das Teil Code mit Stateauswertung (Stand Tasmota 7.2):

Code: Alles auswählen

UID: http:url:ba2f05a8b0
label: Entfeuchter Bügelzimmer
thingTypeUID: http:url
configuration:
  authMode: BASIC
  ignoreSSLErrors: false
  baseURL: http://192.168.178.25/
  delay: 0
  stateMethod: GET
  refresh: 3
  commandMethod: GET
  timeout: 3000
  bufferSize: 2048
location: Bügelzimmer
channels:
  - id: PowerSwitch
    channelTypeUID: http:switch
    label: Power Switch
    description: null
    configuration:
      mode: READWRITE
      onValue: ON
      offValue: OFF
      stateExtension: cm?cmnd=state
      commandExtension: cm?cmnd=Power %2$s
      stateTransformation: JSONPATH:$.POWER

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

Re: mal wieder ich und das liebe http-Binding

Beitrag von udo1toni »

Du könntest vermutlich auch

Code: Alles auswählen

stateExtension: cm?cmnd=POWER

schreiben und die stateTransformation weg lassen. Power ohne Wert liefert den aktuellen Status so, wie wenn man einen ON- oder OFF Befehl absetzt.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten