Seite 2 von 2
Re: deconz offline bei save
Verfasst: 17. Sep 2022 13:38
von oh73
seit ich openhab auf Ubuntu habe funktioniert das Deconz Gateway mit allen Schaltern Problemlos.
es sei den Ubuntu macht ein Update und verstellt den Port wieder,
aber das weiß ich inzwischen und nach jedem Update muss ich den Port wieder richtig stellen!
aber hier noch mal ein Curl Beispiel wo ich ein Schalter Thing mit geschaltet hatte,
Code: Alles auswählen
curl -X PUT "http://192.168.xxx.xxx:8080/rest/things/deconz%3AmeinSchalter%3A63b1cdaf16%3A00124b001cd5f9dc01/enable" -H "accept: */*" -H "Accept-Language: application/json" -H "Content-Type: */*" -H "Authorization: Bearer eyJraWQiOm51bGwsImFsZyI6IlJTMjU2In0.eyJpc3MiOiJvcGVuaGFiIiwiYXVkIjoib3BlbmhhYiIsImV4cCI6MTY2MDkzMTk5NiwianRpIjoiaUg3ZkRfX2dhc0pmZ3J2MFhLOHgzUSIsImlhdCI6MTY2MDkyODM5NiwibmJmIjoxNjYwOTI4Mjc2LCJzdWIiOiJhZG1pbiIsImNsaWVudF9pZCI6Imh0dHA6Ly8xOTIuMTY4LjE3OC4xOTo4MDgwIiwic2NvcGUiOiJhZG1pbiIsInJvbGUiOlsiYWRtaW5pc3RyYXRvciJdfQ.GFckLWp8EBIro7GIuox2XldnnisUmIW4eb2e7kLSvUoHg4uEXQ8L-6B567uNo3oilgaSkzk1_MtQ-PgEHCzbMhF5VYRE2-sNA6g4uLr7aivy5q5YDNkiVtsVdGhnVcDJ6ez42n2q86KkwHWuEL2fIV6S_AEIPkxtZJ7PfClVZ7H818wufbl9lNH6s7ndrYB6G7GXG42KFqTD3kZJU3xenl_KgEa6d33TXwnJabK20UHr1IS31Vie7Bd_bReztp2wx-1rVPo-5nEXoCz9YARriLYJ1FTva8EAVJTteTW_2G1PAjxNDhV46WD9vGAiQI6yV5CTc9v7_C1NZ7eSdqzBjA'" -d "true"
Re: deconz offline bei save
Verfasst: 17. Sep 2022 13:51
von joebusch
Ich konnte es jetzt tatsächlich selbst lösen, ich hatte nicht alle quotes ' durch doppelte " quotes ersetzt.
So in etwa:
curl -X "PUT" "http://192.168.xxx.xxx:xxxx/rest/things/deconz%3Adeconz%3A00212E078004/enable" -H "accept: */*" -H "Content-Type: text/plain" -H "Authorization: Bearer ApiKey" -d "True"
Re: deconz offline bei save
Verfasst: 12. Nov 2022 15:21
von penguin
Ich habe das gleiche problem, nach einem neustart von openhab3 bekommt das phoscon binding keine Verbindung mehr. Abhilfe scheint hier nur eine Erweiterung des startScripts zu sein:
1. Phoscon/deconz binding deaktivieren:
Code: Alles auswählen
curl -iS -u meinTokenHier: -X PUT -H "accept: */*" -H "Accept-Language: application/json" -H "Content-Type: */*" "http://localhost:8080/rest/things/deconz:deconz:00212E095F52/enable" -d "false"
2. Phoscon/deconz binding wieder aktivieren:
Code: Alles auswählen
curl -iS -u meinTokenHier: -X PUT -H "accept: */*" -H "Accept-Language: application/json" -H "Content-Type: */*" "http://localhost:8080/rest/things/deconz:deconz:00212E095F52/enable" -d "true"
...jetzt ist das Binding wieder online und alle Sensoren werden angezeigt.
Re: deconz offline bei save
Verfasst: 13. Nov 2022 20:08
von oliverbaush
Moin zusammen,
ich hatte sporadisch ähnliche Probleme. Deconz war einfach irgendwann nicht mehr da, dann ging halt nichts mehr. Meine Lösung war das in eine Rule zu packen
Wenn thing deconz = OFFLINE -> einmal über API neu starten
Code: Alles auswählen
configuration: {}
triggers:
- id: "3"
configuration:
thingUID: deconz:deconz:[HierStehtUID]
status: OFFLINE
type: core.ThingStatusUpdateTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
type: application/javascript
script: >
var logger =
Java.type('org.slf4j.LoggerFactory').getLogger('org.openhab.rule.' +
ctx.ruleUID);
var Exec = Java.type("org.openhab.core.model.script.actions.Exec");
var HTTP=Java.type("org.openhab.core.model.script.actions.HTTP");
var headers = [];
headers["Authorization"] = "Bearer oh.REST.[hierStehtToken]";
headers["WWW-Authenticate"] = "Basic";
var returnvalue = HTTP.sendHttpPutRequest("http://127.0.0.1:8080/rest/things/deconz:deconz:[HierStehtUID]/enable", "text/plain", "true" ,headers, 10*1000);
logger.debug("Deconz aktiviert");
type: script.ScriptAction
Re: deconz offline bei save
Verfasst: 14. Nov 2022 08:53
von penguin
Danke für die Regel
Leider scheint sie nur zur Laufzeit, aber nicht beim Start von OH zu funktionieren, wharscheinlich wird der "ThingStatusUpdateTrigger" dann nicht ausgelöst....
Re: deconz offline bei save
Verfasst: 20. Nov 2022 08:50
von oliverbaush
Da hast du recht

Mein erster Versuch war per Cronjob das abzufangen (Status per API abfragen, wenn nicht "ONLINE" -> disable und enable Deconz, sende Status an Telegram Bot). Das hatte ich aber angepasst, um es a) in der OH Oberfläche zu verwalten und b) auf der OH Hardware laufen zu lassen.
Beide Ansätze zu vereinen macht Sinn
Re: deconz offline bei save
Verfasst: 22. Nov 2022 10:37
von penguin
Ich hab es über einen Schalter auf der UI und der passenden Regel gelöst. das Ding muß zwngend deaktiviert werden, sonst geht es nicht. Wenn die Felder "undefined" anzeigen, einfach mal den Schalter drücken, quick & dirty hack
Code: Alles auswählen
configuration: {}
triggers:
- id: "3"
configuration:
itemName: Restart_deCONZ
state: ON
previousState: OFF
type: core.ItemStateChangeTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
type: application/javascript
script: >
var logger =
Java.type('org.slf4j.LoggerFactory').getLogger('org.openhab.rule.' +
ctx.ruleUID);
var Exec = Java.type("org.openhab.core.model.script.actions.Exec");
var HTTP=Java.type("org.openhab.core.model.script.actions.HTTP");
var headers = [];
headers["Authorization"] = "Bearer <hier der Token>";
headers["WWW-Authenticate"] = "Basic";
var returnvalue = HTTP.sendHttpPutRequest("http://127.0.0.1:8080/rest/things/deconz:deconz:00212E095F52/enable", "text/plain", "false" ,headers, 10*1000); var returnvalue = HTTP.sendHttpPutRequest("http://127.0.0.1:8080/rest/things/deconz:deconz:00212E095F52/enable", "text/plain", "false" ,headers, 10*1000); logger.info("Deconz deaktiviert");
var returnvalue1 = HTTP.sendHttpPutRequest("http://127.0.0.1:8080/rest/things/deconz:deconz:00212E095F52/enable", "text/plain", "false" ,headers, 10*1000); var returnvalue = HTTP.sendHttpPutRequest("http://127.0.0.1:8080/rest/things/deconz:deconz:00212E095F52/enable", "text/plain", "true" ,headers, 10*1000); logger.info("Deconz aktiviert");
type: script.ScriptAction
- inputs: {}
id: "1"
configuration:
command: OFF
itemName: Restart_deCONZ
type: core.ItemCommandAction
Re: deconz offline bei save
Verfasst: 22. Nov 2022 13:50
von udo1toni
Man kann das schon über eine Rule lösen, nur für den Systemstart muss man halt noch eine zweite Rule einbauen, die nach einer festgelegten Zeit (das System sollte zumindest die Chance bekommen, von selbst auf die Füße zu kommen) einmal die Aktion deaktivieren/aktivieren ausführt, falls das Gerät uninitialized ist.
Das in nur einer Rule abzufeiern geht sicher auch, aber der Aufwand dürfte höher sein. Keep it simple...
Re: deconz offline bei save
Verfasst: 22. Mär 2025 07:41
von EMaster
Ich habe mir die beiden Rules an meine Bedürfnisse angepasst und das manuelle Starten funktioniert super.
Wie bekomme ich es denn hin, dass der Status des Things überwacht wird und die Rule dann ausgelöst wird?
Ich war der Meinung, dass die Rule das abfragt, aber das scheint nicht so zu sein!?
Re: deconz offline bei save
Verfasst: 22. Mär 2025 11:42
von udo1toni
Wenn die Rule mit den Triggern von oben angelegt ist, wird sie automatisch gestartet, wenn das überwachte Thing den Status auf Offline wechselt bzw. ein Update des Status erfolgt (keine Ahnung wie oft der Status erneut gemeldet wird, wenn er sich nicht ändert)
Code: Alles auswählen
triggers:
- id: "3"
configuration:
thingUID: deconz:deconz:[HierStehtUID]
status: OFFLINE
type: core.ThingStatusUpdateTrigger