Seite 1 von 1

Per Schalter URL aufrufen

Verfasst: 12. Jan 2025 12:34
von toto1975
Hallo in die Runde,

ich möchte per Schalter ein URL aufrufen z.B.

Schalter geändert von OFF auf On dann http://localhost:8090/command/switchDet ... =2&on=true
Schalter geändert von ON auf OFF dann http://localhost:8090/command/switchDet ... 2&on=false

Wie setze ich das am besten um? Es ist bestimmt total einfach nur ich denke zu kompliziert...

Danke schon jetzt für eure Hilfe

Viele Grüße
Torsten

Re: Per Schalter URL aufrufen

Verfasst: 12. Jan 2025 16:05
von nw378
Da könntest Du z.B, mit executeCommandLine arbeiten:

Code: Alles auswählen

executeCommandLine("curl","http://localhost:8090/command/switchDet ... =2&on=true")
oder mit dem Exec-Binding. Dann ein Thing anlegen:

Code: Alles auswählen

Thing exec:command:Schalter_ON [command="curl http://localhost:8090/command/switchDet ... =2&on=true"]
und einen entsprechenden Schalter

Code: Alles auswählen

Switch Schalter_an       {channel="exec:command:Schalter_ON", autoupdate="false"}
und diesen dann mit

Code: Alles auswählen

Schalter_an.sendCommand(ON)
befeuern.

Hierfür muss der Befehl "curl http.....=true" in der o.g. exakten Schreibweise noch in die Datei misc/exec.whitelist aufgenommen werden.

Re: Per Schalter URL aufrufen

Verfasst: 12. Jan 2025 16:57
von mad-mike
Moin,

Ich würde als Laie das HTTP Binding mit verknüpfen.

Code: Alles auswählen

UID: http:url:0de4fe720f
label: HTTP URL Thing
thingTypeUID: http:url
configuration:
  authMode: BASIC
  ignoreSSLErrors: true
  baseURL: http://localhost:8090/command/switchDetector?oid=alle&ot=2&on=
  delay: 0
  stateMethod: GET
  refresh: 30
  commandMethod: GET
  timeout: 3000
  bufferSize: 2048
channels:
  - id: km1
    channelTypeUID: http:switch
    label: Switch
    description: ""
    configuration:
      onValue: true
      offValue: false
      commandExtension: "%2$s"

Dann Item als Schalter erstellen und verknüpfen.


:idea:

Re: Per Schalter URL aufrufen

Verfasst: 12. Jan 2025 20:09
von toto1975
Hallo,

vielen Dank für die schnellen Antworten. Ich habe mich für
executeCommandLine("curl","http://localhost:8090/command/switchDet ... =2&on=true")
entschieden und es funktioniert wie gewünscht.

Vielen lieben Dank

Gruß
Torsten