Seite 1 von 1
Things enable / disable
Verfasst: 24. Mai 2023 22:03
von Baumtasche
Hallo zusammen,
ich würde gerne Things per rule enable bzw. disablen. Habe dazu auch schon einige Einträge gelesen und erfahren, das es mit Rest Api wohl geht. Aber bitte entschuldigt die blöde Frage, wie aktiviere ich Rest APi?
Wenn ich folgende Zeile aktiviere laufe ich immer auf einen Fehler. Muss ich dazu ein Binding installieren?
Code: Alles auswählen
sendHttpPutRequest("http://192.168.0.12:8080/rest/things/worxlandroid:mower:123456789/enable", "text/plain", 'true')
Re: Things enable / disable
Verfasst: 24. Mai 2023 22:19
von PeterA
Hi.
Ich habe das so für meinen AVR gelöst:
Code: Alles auswählen
rule "Denon Thing Reset"
when
Item Reset_DenonThing received command
then
switch(receivedCommand) {
case ON : sendHttpPutRequest("http://192.168.2.106:8080/rest/things/denonmarantz:avr:0005cd3a0e8e/enable", "application/json", 'enabled') //Disable Thing
case OFF : sendHttpPutRequest("http://192.168.2.106:8080/rest/things/denonmarantz:avr:0005cd3a0e8e/enable", "application/json", 'true') //Enable Thing
}
end
Hinweis: Läuft unter OH 2.4
Re: Things enable / disable
Verfasst: 25. Mai 2023 09:02
von udo1toni
Unter OH3 musst Du gewöhnlich einen API Token mit übergeben. Die REST API ist über die Entwickler-Seite in der Main UI abrufbar. Die REST API ist integraler Bestandteil von openHAB, sie ist immer aktiv.
Re: Things enable / disable
Verfasst: 26. Mai 2023 15:12
von Baumtasche
Erstmal vielen Dank für eure Antworten, aber irgendwie bekomme ich es nicht hin.
Ich erhalte folgende Fehlermeldung
Script execution of rule with UID '229f310b83' failed: ReferenceError: "sendHttpPutRequest" is not defined in <eval> at line number 1
Re: Things enable / disable
Verfasst: 26. Mai 2023 16:41
von udo1toni
Zeig bitte mal Deine Rule. Bitte den Code einfügen, keinen Screenshot.

Re: Things enable / disable
Verfasst: 27. Mai 2023 00:18
von Baumtasche
Ich habe es mal ganz einfach gehalten.
Ich habe folgende Zeile in ein javascript eingefügt und wollte diese mit "Run" starten. Dann bekommt die besagte Fehlermeldung. Ich habe es auch in einer DSl - Rule probiert, das gleiche:-( . Ich nutze Openhab 3.4
Code: Alles auswählen
sendHttpPutRequest("http://192.168.0.12:8080/rest/things/worxlandroid:mower:ea9f93c63c:20193121984030256858A7/enable", "application/json", 'enabled');
Re: Things enable / disable
Verfasst: 27. Mai 2023 13:58
von udo1toni
Das geht so nicht. Du musst schon die gesamte Rule zeigen, nicht eine einzelne Zeile.
Re: Things enable / disable
Verfasst: 28. Mai 2023 13:32
von Baumtasche
Hi,
HIntergrund ist, das sich die Bridge vom Rasenmäher manchmal aufhängt. Wenn ich den Thing disable und dann wieder enable geht es wieder. Mein Plan ist nun einmal am Tag den Thing zu disable und dann wieder zu enablen. Ich hoffe das hilft so weiter.
Vielen Dank
Code: Alles auswählen
configuration: {}
triggers:
- id: "2"
configuration:
time: 13:00
type: timer.TimeOfDayTrigger
conditions: []
actions:
- inputs: {}
id: "1"
configuration:
type: application/javascript
script: sendHttpPutRequest("http://192.168.0.12:8080/rest/things/worxlandroid:mower:ea9f93c63c:201930198403025558A7/enable",
"application/json", 'enabled');
type: script.ScriptAction
Re: Things enable / disable
Verfasst: 29. Mai 2023 15:33
von Baumtasche
Hallo zusammen,
ich habe eine Lösung gefunden, falls jemand das auch mal braucht. Als erstes muss man ECMAScript-2021 nachinstallieren
Dann kann man mit
Code: Alles auswählen
var thingMgr = osgi.getService('org.openhab.core.thing.ThingManager');
var ThingUID = Java.type('org.openhab.core.thing.ThingUID');
thingMgr.setEnabled(new ThingUID('thing:uid:string'), false);
ein Thing disable.
Das ganze habe ich hier gefunden
https://community.openhab.org/t/solved- ... /133624/10