Seite 1 von 1

thing

Verfasst: 30. Dez 2021 19:00
von Thommy2012
Hallo Zusammen

ist es eigentlich möglich ein Thing zu pausieren via Rule?


Gruß Thommy

Re: thing

Verfasst: 30. Dez 2021 19:39
von openHAB-Rookie
Man kann in der UI ein Thing pausieren / anhalten.

Inwieweit man das via Rule durchreichen kann (Zweck?)

Bild

Re: thing

Verfasst: 30. Dez 2021 19:45
von int5749
Hola,
den Sinn sehe ich auch nicht aber es gab da eine Frage/Lösung im englischen Forum.
Es geht scheinbar über die Rest-API

GiDF

Google-ist-Dein-Freund :mrgreen:

Re: thing

Verfasst: 30. Dez 2021 19:54
von Thommy2012
ich habe eine blöde IP camera die hängt sich gerne mal weg. Ich möchte den Thing alle zeit x mal stoppen und wieder starten.

deshalb die rage ob es via rule geht.
Werde es mal testen

Re: thing

Verfasst: 30. Dez 2021 20:26
von openHAB-Rookie
Zumindest kannst Du damit erst einmal testen, ob Du mit dem Ansatz "Thing stoppen und starten" überhaupt auf einem Weg bist, der das Problem umgehen kann.

Re: thing

Verfasst: 30. Dez 2021 20:30
von Thommy2012
Also per händischen stoppen und starten geht alles wieder. Nun möchte ich dieses via rule erledigen lassen

Re: thing

Verfasst: 30. Dez 2021 20:44
von Thommy2012
nicht geschafft das wäre das Beispiel
für an

Code: Alles auswählen

sendHttpPutRequest("http://<ip>:8080/rest/things/<thinguid>/enable", "application/json", 'enabled')
für aus

Code: Alles auswählen

sendHttpPutRequest("http://<ip>:8080/rest/things/<thinguid>/enable", "application/json", 'false')

Re: thing

Verfasst: 31. Dez 2021 09:53
von int5749
Moin

Das Sample war (wenn ich dies überfliege) wohl für OH 2.x und müsste von Dir natürlich noch auf 3.x angepasst werden.
Funktioniert denn der Aufruf über den Explorer?? Und das http Binding läuft bei Dir schon korrekt??

Re: thing

Verfasst: 31. Dez 2021 16:06
von Thommy2012
Über das APi geht es über den Browser nicht.

Vielleicht bin ich auch zu blöd dazu. Hier ist die ausgabe des Api explorer

Http binding ist instaliert

Code: Alles auswählen

curl -X 'PUT' \
  'http://192.168.192.221:8080/rest/things/ipcamera%3Aonvif%3A001/enable' \
  -H 'accept: */*' \
  -H 'Content-Type: text/plain' \
  -H 'Authorization: Bearer eyJraWQiOm51bGwsImFsZyI6IlJTMjU2In0.eyJpc3MiOiJvcGVuaGFiIiwiYXVkIjoib3BlbmhhYiIsImV4cCI6MTY0MDk2NTE5MywianRpIjoidmFfeGlSMWJ6T1NEY2RzVFlDUlE5dyIsImlhdCI6MTY0MDk2MTU5MywibmJmIjoxNjQwOTYxNDczLCJzdWIiOiJUaG9tbXkiLCJjbGllbnRfaWQiOiJodHRwOi8vMTkyLjE2OC4xOTIuMjIxOjgwODAiLCJzY29wZSI6ImFkbWluIiwicm9sZSI6WyJhZG1pbmlzdHJhdG9yIl19.idbleEbqSa7KgkI1MVwrMEfjPz1YixSV70nM2aGGJ-uIEzIXKZs_2QyOSU2gVmTCfRmE8GZn-1q25yJxzoTwEl2J3KuSPFQ9B6ACAo_48sRFZdNATCr4_aeo4MuOXYgI-x9nO75PiiLGZISh7Jr80_E2rJY3SGotLRzqhI9WT9DmSsOa2T3SqlMkoiqF_w7HjZOaCNhh6I5froGEYxEU1sPqVhI9v-GmvEGFWY8iBS8d_OnG6qa9b4huFhdIxPl59zyGHxY0z5Iu9M0jJDyE1_341JeWciZrvCXzrBIvydYCtExmeC8zbYZz52iy5qPcA25-lvTv7-aFWGl1IJ93_Q' \
  -d 'string'
und hier meine rule

Code: Alles auswählen

rule "teste"
when
Item Kamera123 received command ON
then 

executeCommandLine(" curl 'http://192.168.192.221:8080/rest/things/ipcamera%3Aonvif%3A001/enable' -H 'Authorization: Bearer  eyJraWQiOm51bGwsImFsZyI6IlJTMjU2In0.eyJpc3MiOiJvcGVuaGFiIiwiYXVkIjoib3BlbmhhYiIsImV4cCI6MTY0MDk2NTE5MywianRpIjoidmFfeGlSMWJ6T1NEY2RzVFlDUlE5dyIsImlhdCI6MTY0MDk2MTU5MywibmJmIjoxNjQwOTYxNDczLCJzdWIiOiJUaG9tbXkiLCJjbGllbnRfaWQiOiJodHRwOi8vMTkyLjE2OC4xOTIuMjIxOjgwODAiLCJzY29wZSI6ImFkbWluIiwicm9sZSI6WyJhZG1pbmlzdHJhdG9yIl19.idbleEbqSa7KgkI1MVwrMEfjPz1YixSV70nM2aGGJ-uIEzIXKZs_2QyOSU2gVmTCfRmE8GZn-1q25yJxzoTwEl2J3KuSPFQ9B6ACAo_48sRFZdNATCr4_aeo4MuOXYgI-x9nO75PiiLGZISh7Jr80_E2rJY3SGotLRzqhI9WT9DmSsOa2T3SqlMkoiqF_w7HjZOaCNhh6I5froGEYxEU1sPqVhI9v-GmvEGFWY8iBS8d_OnG6qa9b4huFhdIxPl59zyGHxY0z5Iu9M0jJDyE1_341JeWciZrvCXzrBIvydYCtExmeC8zbYZz52iy5qPcA25-lvTv7-aFWGl1IJ93_Q" )
	
		
end
und so auch getestet

Code: Alles auswählen

rule "teste"
when
Item Kamera123 received command ON
then 
sendHttpPutRequest("http://192.168.192.221:8080/rest/things/ipcamera:onvif:001/enable", "application/json", 'false')

		
end

so heisst die Kamera

Thing ipcamera:onvif:001 "Kameratuer"