SEPIA-Framework / sepia-docs

Documentation and Wiki for SEPIA. Please post your questions and bug-reports here in the issues section! Thank you :-)
https://sepia-framework.github.io/
237 stars 16 forks source link

iOBroker in Verbindung mit Simple RESTful API und Zigbee #61

Closed Kackpappe closed 4 years ago

Kackpappe commented 4 years ago

Hallo zusammen,

vorab ein großes Kompliment an alle Mitwirkenden. Bin erst seit gestern auf diese Software gestoßen und merke schon, dass hier ziemlich viel (gute) Arbeit steckt 👍 Nun habe ich ein iOBroker laufen und seit gestern eben die SEPIA-Software (beides Docker-Container auf einer DS918+). Mein Problem besteht in der Verbindung zwischen iOBroker und SEPIA. Gemäß Anleitung habe ich die RESTful-API im iOBroker gestartet (Port 8089) und in SEPIA hinterlegt. Im Bereich Smart Home Hub kann ich (system Internal(SEPIA)) diese Adresse hinterlegen (in den Core Settings ebenfalls hinterlegt) und ein grüner Kreis zeigt zumindest an, dass noch nichts explodiert ist.

1_smarthome_hub Einstellungen in den Core-Settings. Hier ist die Simple RESTful API vom iOBroker eingetragen.

2_hub_info Hier ein Versuch die Verbindung herzustellen und ein Device anzulegen

3_Interface Das Interface "iOBroker" verweist ebenfalls auf die RESTful-API des iOBrokers

4_error Wenn ich den Test auführe (sprich Licht an- bzw. ausschalten) erscheint folgende Meldung (btw: Wo finde ich das Server-Log wenn ich einen Docker betreibe ?)

5_iobroker_flex Auflistung des Objekts im iOBroker. Als Device-ID habe ich hier, parallel zum Tutorial, den Namen des Objekts genommen. Auc die interne ID über zigbee.0.7cb03eaa0a0091f9.state hat Testweise nicht funktioniert.

Habe ich evtl. etwas verpasst, falsch eingestellt oderwird evlt. der Zigbee-Adapter zur Zeit noch nicht unterstützt? Bevor nun weitere Stunden und Tage den Bach runtergehen, dachte ich mir, frag ich einfach mal nach :)

Beste Grüße

sepia-assistant commented 4 years ago

Hallo und willkommen :-)

Einstellungen in den Core-Settings. Hier ist die Simple RESTful API vom iOBroker eingetragen.

Für iOBroker muss hier der interne HUB hinterlegt werden. Das steht am Anfang der Sektion Tutorial: SEPIA Internal Multi-HUB. Vielleicht sollte ich da besser noch mal drauf hinweisen in der Sub-Sektion zum iOBroker. Du kannst dazu einfach den Knopf Write HUB Info benutzen wenn du die "Internal (SEPIA)" Option ausgewählt hast (wie in deinem Screenshot schon zu sehen), das setzt auch den richtigen Wert in den "Core Settings". Hattest du für den Screenshot die Einstellung per Hand ausgewählt? Das sollte dann nicht mehr nötig sein.

Wo finde ich das Server-Log wenn ich einen Docker betreibe ?

In deinem shared-folder wo der Docker Container die SEPIA Daten speichert. Dort dann im Unterordner /sepia-assist-server/log.out.

Der Rest sieht soweit gut aus. Ich würde vorschlagen erstmal die Settings anzupassen und dann sehen wir weiter :-)

Grüße, Florian

Kackpappe commented 4 years ago

Vielen Dank für deine Antwort. Die "internal"-Einstellung habe ich so übernommen und das Log gibt wohl einen Hinweis auf den nächsten Fehler: 2020-07-30 17:41:23 ERROR - Smart Home HUB Interface - loadDeviceData - Failed to get device data: iOBroker LIGHTIFY Indoor Flex RGBW Küche Switch state 2020-07-30 17:41:40 ERROR - IoBrokerConnector interface error in 'setDeviceState': {"set":"http:\/\/192.168.178.80:8089\/set\/stateID?value=1&prettyPrint","setValueFromBody":"http:\/\/192.168.178.80:8089\/setValueFromBody?stateID1","objects":"http:\/\/192.168.178.80:8089\/objects?pattern=system.adapter.admin.0*&prettyPrint","query":"http:\/\/192.168.178.80:8089\/query\/stateID1,stateID2\/?dateFrom=2019-06-06T12:00:00.000Z&dateTo=2019-06-06T12:00:00.000Z&noHistory=false&prettyPrint","toggle":"http:\/\/192.168.178.80:8089\/toggle\/stateID&prettyPrint","error":"command unknown","states":"http:\/\/192.168.178.80:8089\/states?pattern=system.adapter.admin.0*&prettyPrint","search":"http:\/\/192.168.178.80:8089\/search?pattern=system.adapter.admin.0*&prettyPrint","getBulk":"http:\/\/192.168.178.80:8089\/getBulk\/stateID1,stateID2\/?prettyPrint","get":"http:\/\/192.168.178.80:8089\/get\/stateID\/?prettyPrint","setBulk":"http:\/\/192.168.178.80:8089\/setBulk?stateID1=0.7&stateID2=0&prettyPrint","getPlainValue":"http:\/\/192.168.178.80:8089\/getPlainValue\/stateID","HTTP_REST_SUCCESS":true} Ich nehme an, dass die Verbindung per REST-API soweit klappt, aber das Device nicht gefunden werden kann. Gleiche Meldung, wenn ich die direkte Adresse des Zigbee-Adapter eingebe:

2020-07-30 17:38:13 ERROR - Smart Home HUB Interface - loadDeviceData - Failed to get device data: iOBroker zigbee.0.7cb03eaa0a0091f9.state

Müssen noch weitere Einstellung vorgenommen werden ? Im Log sehe ich nur häufig Zugriff auf "system.adapter.admin.0". Die Devices liegen unter "syste.adater.zigbee.0.*"

EDIT: Gerade per Hand im Browser getestet. Mit der URL http://192.168.178.80:8089/set/zigbee.0.7cb03eaa0a0091f9.state?value=false kann ich das Licht ausschalten.

EDIT2: Im Interface-Editor habe ich noch folgende Einstellung vorgenommen: 6_interface_neu

An der IP-Adresse habe ich das letzte / entfernt. Im anschließenden Test kam folgende Nachricht: 7_state_true

Soweit so gut. Leider ist es im iOBroker nicht angekommen ;(

Letzter Edit: Nachdem ich die ID nochmal angepasst habe (auf zigbee.0.7cb03eaa0a0091f9.state) funktioniert es nun! :)

sepia-assistant commented 4 years ago

Freut mich, dass es geklappt hat :-)

An der IP-Adresse habe ich das letzte / entfernt.

War das tatsächlich relevant? :see_no_evil: ... das lässt sich natürlich verbessern dann ^^.

Letzter Edit: Nachdem ich die ID nochmal angepasst habe (auf zigbee.0.7cb03eaa0a0091f9.state) funktioniert es nun! :)

Kommt man über das ioBroker Fenster an diese korrekte ID? Im ioBroker Forum kam mal der Kommentar, dass es besser wäre einen Rechtsklick (in diesem Fall) auf 'state' zu machen und die ID so zu kopieren statt den Text im Feld dahinter zu nehmen, weil dieser wohl vom User editiert werden kann und deshalb nicht unbedingt die richtige ID ist.

Kackpappe commented 4 years ago

Ja, der iOBroker liefert eine Möglichkeit die korrekte Adresse gleich zu kopieren: image Der kleine Button am Ende des Feldes kopiert die ID, welche direkt in SEPIA übernommen werden kann.

Hier und da habe ich etwas probiert, daher hab ich die ID in SEPIA geändert.

sepia-assistant commented 4 years ago

Der kleine Button am Ende des Feldes kopiert die ID, welche direkt in SEPIA übernommen werden kann.

Sehr gut, danke! :+1: , ich werde das mal zeitnah anpassen in der Dokumentation.