Seite 1 von 1

HTTP Binding einrichten

Verfasst: 7. Mai 2021 17:51
von ErrPunktErr
Ich scheine gerade einen Knoten im Hirn zu haben den ich nicht gelöst bekomme.

Ich habe ein Tablet mit dem Fully Kiosk Browser startbereit gemacht und kann z.B. über die REST API den Screen ein und aus schalten.

Code: Alles auswählen

http://192.168.178.60:2323/?cmd=screenOn&password=*********&type=json
Jetzt habe ich vor das HTTP Binding zu nutzen um einen Bewegungsmelder daran zu koppeln aber ich scheitere beim Einrichten bzw. beim anlegen der Kanäle. Am liebsten hätte ich einfach nur einen Schalter der bei ON das Command für screenOn, und bei OFF eben screenOff sendet. Kann mir hier jemand auf die Sprünge helfen wie ich Item und Channels dafür einrichten muss und bestenfalls noch das Item anlege?

Re: HTTP Binding einrichten

Verfasst: 7. Mai 2021 21:44
von udo1toni
Mutmaßlich sollte das Thing so aussehen:

Code: Alles auswählen

UID: http:url:tablet
label: Tablet
thingTypeUID: http:url
configuration:
  authMode: BASIC
  ignoreSSLErrors: false
  baseURL: http://192.168.178.60:2323/
  delay: 0
  stateMethod: GET
  refresh: 30
  commandMethod: GET
  timeout: 3000
  bufferSize: 2048
channels:
  - id: screen
    channelTypeUID: http:switch
    label: Screen
    description: ""
    configuration:
      onValue: screenOn
      offValue: screenOff
      commandExtension: ?cmd=%2$s&password=*********&type=json

Re: HTTP Binding einrichten

Verfasst: 7. Mai 2021 21:50
von ErrPunktErr
Im Grunde ja. Das ist mein aktueller Stand:

(MainUI Code)

Code: Alles auswählen

UID: http:url:fullyKioskBrowser
label: Fully Kiosk Browser
thingTypeUID: http:url
configuration:
  authMode: BASIC
  ignoreSSLErrors: true
  baseURL: http://192.168.178.60:2323/?type=json&password=PASSWORD&cmd=
  refresh: 60
  commandMethod: POST
  timeout: 3000
  bufferSize: 2048
channels:
  - id: screenSwitch
    channelTypeUID: http:switch
    label: Screen Switch
    description: ""
    configuration:
      mode: WRITEONLY
      onValue: screenOn
      offValue: screenOff
      commandExtension: "%2$s"
Bis auf dass ich den kompletten Pfad in die baseURL gepacjt habe und nur um den Platzhalter erweitere, ist das doch die selbe Vorgehensweise, oder?

Re: HTTP Binding einrichten

Verfasst: 7. Mai 2021 22:00
von ErrPunktErr
OK, ich musste bei deinem Code noch den Platzhalter korrigieren (%2$s statt %2S, wahrscheinlich nur ein Tippfehler) aber jetzt funktioniert es. Ich verstehe noch nicht ganz warum, aber das kann mir am Ende ja auch egal sein. :D

Vielen Dank.

Re: HTTP Binding einrichten

Verfasst: 7. Mai 2021 22:43
von udo1toni
ErrPunktErr hat geschrieben: 7. Mai 2021 22:00 OK, ich musste bei deinem Code noch den Platzhalter korrigieren (%2$s statt %2S, wahrscheinlich nur ein Tippfehler) aber jetzt funktioniert es. Ich verstehe noch nicht ganz warum, aber das kann mir am Ende ja auch egal sein. :D
Genau. Eigene Tippfehler sind so viel schwerer zu erkennen als die anderer... :)