NEWS
Test Adapter Gira-IoT
-
Aktuelle Test Version 0.1.1 Veröffentlichungsdatum 29.09.2022 Github Link https://github.com/klein0r/ioBroker.gira-iot Eventuell kennt von Euch schon jemand das Video zur Adapter-Entwicklung. Da habe ich den Gira IoT-Adapter angefangen, welcher den Gira X1 (oder Gira Homeserver) per Rest API in den ioBroker integrieren soll.
Jetzt hatte ich endlich mal wieder Zeit, das Projekt weiter zu verfolgen. Also gibt es eine erste Version für Tester.
Einrichtung
Erklärt im YouTube-Video unter: https://www.youtube.com/watch?v=IXrYWG8JLN4
- Installiere den Web-Adapter in einer Version >= 5.1.0 (ältere nicht getestet)
- Erstelle eine neue Instanz des Web-Adapters mit der Konfiguration:
- HTTPS aktiviert (möchten die Gira-Komponenten so!)
- Adresse auf das Interface, welches die HTTP-Requests empfangen soll (also nicht 0.0.0.0)
- Installiere den gira iot Adapter
- Konfiguriere die IP-Adresse, den Benutzer und das Passwort des Gira X1 / Gira HS
- Wähle die gerade erstelle web Instanz aus (z.B. web.0)
- Starte die Instanz
Was kann der Adapter?
- Der Adapter holt alle "Funktionen" (so nennt Gira das) aus dem Gerät und legt Objekte an
- Optional können noch Räume und Funktionen (also Gewerke im ioBroker) automatisch angelegt und gefüllt werden
- Wenn ein State geschrieben wird, wird die Änderung per HTTP-Request an das Gira-Gerät publiziert
- Über eine Web-Extension (deswegen der Web-Adapter) werden Änderungen direkt an den ioBroker zurückgemeldet. Also falls etwas über die App oder Logiken verändert wird.
- Sollte die Gira-Konfiguration über den GPA geändert werden, werden alle Datenpunkte im ioBroker automatisch aktualisiert.
Generell gilt: Sollte etwas nicht klappen, bitte die Log-Meldungen beachten!
Ansonsten freue ich mich über Tester. Die Zielgruppe wird ja (leider) relativ klein sein.
FAQ
Was ist der Unterschied zum KNX-Adapter? Der KNX-Adapter arbeitet mit Gruppenadressen. Hier werden die "Funktionen" aus der App/Visu von Gira in den ioBroker geholt. Das hat den Vorteil, dass man alles nur 1x pflegen muss (im Gira Projekt Assistenten). Immerhin hat man dort ja schon seine Gruppenadressen usw. importiert. Am Ende kommt man immer über mehrere Wege ans gleiche Ziel.
Warum dieser Adapter? Weil es eine offizielle Schnittstelle zum Gira-Gerät gibt (Gira nennt das die Gira IoT Api). Warum also keine Integration dafür bieten? Wer diese nutzen möchte, kann dies nun tun. Wer nicht, der braucht hier bitte nicht kommentieren, dass das mit dem KNX-Adapter ja ebenfalls geht. Es ist ein Alternativer Weg. Nicht mehr und nicht weniger.
-
Reserviert für weitere Infos
-
habe ich gerade ausprobiert und alles korrekt nach Deiner Anleitung gemacht.
User und Passwort extra neu gemacht... damit es funktioniert.
Leider bleibt der Adapter rot - er registriert den Client, beendet sich dann aber ohne Grund...
Hier das Log:web.0 2023-02-18 16:41:01.668 warn Terminated (-100): Without reason web.0 2023-02-18 16:39:01.487 info https server listening on port 8082 web.0 2023-02-18 16:39:01.484 info Connect extension "gira-iot/lib/web.js" web.0 2023-02-18 16:39:01.483 info gira-iot.1 server listening on port 8082 web.0 2023-02-18 16:39:01.481 info Secure socket.io server listening on port 8082 web.0 2023-02-18 16:39:01.413 info starting. Version 4.3.0 in /opt/iobroker/node_modules/iobroker.web, node: v16.19.0, js-controller: 4.0.23 web.0 2023-02-18 16:38:57.904 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason web.0 2023-02-18 16:38:57.903 info terminating web.0 2023-02-18 16:38:57.902 info terminated https server on port 8082 web.0 2023-02-18 16:38:57.856 info Got terminate signal TERMINATE_YOURSELF web.0 2023-02-18 16:38:51.865 info https server listening on port 8082 web.0 2023-02-18 16:38:51.864 info Connect extension "gira-iot/lib/web.js" web.0 2023-02-18 16:38:51.863 info gira-iot.1 server listening on port 8082 web.0 2023-02-18 16:38:51.862 info Secure socket.io server listening on port 8082 web.0 2023-02-18 16:38:51.795 info starting. Version 4.3.0 in /opt/iobroker/node_modules/iobroker.web, node: v16.19.0, js-controller: 4.0.23 web.0 2023-02-18 16:38:48.251 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason web.0 2023-02-18 16:38:48.251 info terminating web.0 2023-02-18 16:38:48.250 info terminated https server on port 8082 web.0 2023-02-18 16:38:48.205 info Got terminate signal TERMINATE_YOURSELF web.0 2023-02-18 16:38:13.632 info https server listening on port 8082 web.0 2023-02-18 16:38:13.630 info Connect extension "gira-iot/lib/web.js" web.0 2023-02-18 16:38:13.629 info gira-iot.1 server listening on port 8082 web.0 2023-02-18 16:38:13.627 info Secure socket.io server listening on port 8082 web.0 2023-02-18 16:38:13.519 info starting. Version 4.3.0 in /opt/iobroker/node_modules/iobroker.web, node: v16.19.0, js-controller: 4.0.23
Webadapter - alles korrekt...
Irgendeine Idee, woran es liegen könnte?
Danke Tom -
@tomtom24 Fehler gefunden, geht nicht aus dem Standard, sondern braucht anscheinend neuere Komponenten. Aus dem Beta Rep funktionierts jetzt.
-
@haus-automatisierung Vielen, vielen, vielen Dank für den Adapter. Das Ding ist ein echter Gamechanger für Besitzer von Gira X1 und anderen Devices.
Das Problem mit OpenKNX ist, wenn man einen Datenpunkt in der ETS anlegt, aber kein KO dazu hat, dann wird das nicht importiert. Mit Deinem Adapter kein Ding mehr.
Ich habe einen G1 vorne an der Haustür und wollte damit die Garagentür (Switchbot) und Garagentor öffnen.
Dank Deinem Adapter geht das jetzt super smooth - einfach 2 Schalter angelegt - die dann zu Aliasen gemacht (kann, muss man nicht) und da die Scripte hinterlegt. Das funktioniert jetzt super in beide Richtungen und ich muss auch nur in der GPA das Projekt pflegen und die Scripte im IOB.Also nochmals vielen Dank, spart mir jede Menge Arbeit. Vor allem solche Nummern mit dem Smart Lock von Switchbot wären sonst ein ewiges Gefrickel, weil die jetzt die Authentifizierung für die Api umgestellt hatten.
Wenn Bedarf ist, kann ich gern die Blocklys hier posten...
Aber ich finde der Adapter geht ein wenig unter :):PS: Falls sich der Status nach einem Update des Projektes nicht mehr ändert, einfach den Adapter neu starten. Da hakt es manchmal...
PSPS: Wenn man den Wert dann noch auf einem MDT oder so braucht, dann einfach über die Logik vom X1 in eine GA schreiben und der MDT kann das dann auch. -
@tomtom24 sagte in Test Adapter Gira-IoT:
PS: Falls sich der Status nach einem Update des Projektes nicht mehr ändert, einfach den Adapter neu starten. Da hakt es manchmal...
Mh, normalerweise hat Gira dafür eine Lösung eingebaut. Es gibt eine Art Prüfsumme für das gesamte Projekt. Wenn sich diese ändert, werden alle Objekte neu angelegt und ggf. gelöscht (falls nicht mehr vorhanden). Klappt das nicht?
-
@haus-automatisierung
doch, es wird neu angelegt, aber ich musste 1 oder 2 x neu starten, da die Werte nicht aktualisiert wurden - von X1 in Richtung IOB, andere Richtung war sofort da... -
@haus-automatisierung
Hi,
ich habe den Adapter installiert und wollte ihn mit meinem Gira HomeServer testen. Allerdings bekomme ich immer den Fehler in den Logs:gira-iot.0 2023-04-02 20:42:49.790 error Unable to register client. Device responded with code 401
Die Daten von Username und Passwort sind korrekt. Mit Postman habe ich ebenfalls versucht die API zu erreichen, aber ich bekomme immer wieder den Fehler 401 zurück. Muss hier evtl. am Homeserver noch etwas spezielles eingestellt werden?
Bin mittlerweie etwas ratlos.
Danke
baca -
@baca89 Ich habe keinen Homeserver. Aber auf GitHub hatte jemand ein ähnliches Problem geschildert: https://github.com/klein0r/ioBroker.gira-iot/issues/28
Problem gelöst, man muss den Benutzer vom QC nehmen nicht den HS Benutzer
Was auch immer das heißt.
-
@haus-automatisierung Oh mein Gott. Besten Dank für diesen Hinweis. jetzt funktioniert es auch bei mir.
Der QuadClient (QC) ist eine Form der Visu auf dem Homeserver. Diese hat separate Benutzer als der Homserver selbst. Und hier gibt es eine Option "Für IoT-Dienst Bereitstellen". Diese muss aktiviert sein.
Hier mal ein Screenshot von den Einstellungen im QCConfig für die Homeserver-Besitzer:
Vll magst du das in die README auf Github mit aufnehmen, als Hinweis für die Homeserver?
Danke
baca -
ich bekomme folgende Fehlermeldungen, hast Du eine Idee was ich falsch mache
gira-iot.0 2023-04-27 07:04:13.011 warn Data point "Error-Info" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description gira-iot.0 2023-04-27 07:04:13.011 warn Data point "Connection-Info" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description gira-iot.0 2023-04-27 07:04:13.010 warn Data point "Error" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description gira-iot.0 2023-04-27 07:04:13.009 warn Data point "Installer-Access-State" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description gira-iot.0 2023-04-27 07:04:13.009 warn Data point "User-Access-State" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description gira-iot.0 2023-04-27 07:04:13.008 warn Data point "Access-State" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description gira-iot.0 2023-04-27 07:04:13.008 warn Data point "Connection-State" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description gira-iot.0 2023-04-27 07:04:13.007 warn Data point "Installer-Access" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description gira-iot.0 2023-04-27 07:04:13.007 warn Data point "User-Access" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description gira-iot.0 2023-04-27 07:04:13.006 warn Data point "Enabled" of channel type "de.gira.schema.channels.RA.RemoteAccess" is missing in ioBroker description gira-iot.0 2023-04-27 07:03:01.199 error unable to get current value for "functions.a0j1.Float" / UID "a0ii" - failed with AxiosError: Request failed with status code 500
MOD-EDIT: Code in code-tags gesetzt
-
@mhuber sagte in Test Adapter Gira-IoT:
de.gira.schema.channels.RA.RemoteAccess
Mh, der Typ fehlt wohl in der Dokumentation von Gira und wurde deswegen nicht von mir aufgenommen: https://github.com/klein0r/ioBroker.gira-iot/blob/master/lib/gira-types.js
Kannst Du einen Issue anlegen?
-
@haus-automatisierung wo und wie leg ich ein Issue an? Sorry vielleicht ist die Frage peinlich aber ich weiß leider nicht wo Du meinst? Bei GIRA oder hier? Wenn bei Gira, was soll ich rein schreien?
-
@mhuber Bevor ich das erkläre, habe ich das fix selbst erledigt: https://github.com/klein0r/ioBroker.gira-iot/issues/54
Das ist ja nur für mich eine Info, dass ich das noch hinzufügen muss. Das Problem ist, dass ich nicht weiß wie der Typ aufgebaut ist, da es hier nicht dokumentiert ist: https://partner.gira.de/data3/Gira_IoT_REST_API_v2_DE.pdf
Wenn Du Lust hast, kannst Du das bei Gira ja mal anfragen
-
@haus-automatisierung sagte in Test Adapter Gira-IoT:
@mhuber Bevor ich das erkläre, habe ich das fix selbst erledigt: https://github.com/klein0r/ioBroker.gira-iot/issues/54
Das ist ja nur für mich eine Info, dass ich das noch hinzufügen muss. Das Problem ist, dass ich nicht weiß wie der Typ aufgebaut ist, da es hier nicht dokumentiert ist: https://partner.gira.de/data3/Gira_IoT_REST_API_v2_DE.pdf
Wenn Du Lust hast, kannst Du das bei Gira ja mal anfragen
Ah nun weiß ich fürs nächste Mal wie das geht Dachte eben das ich einen Case/Issue bei Gira wegen der Doku aufmachen soll, denke Du kennst den Gira Support, das ist meist wenns nicht was ganz ganz einfaches ist ein sehr sehr langer mühsamer Weg bei dem kaum was rauskommt, ich fürchte genau hier auch der Fall, aber ich versuche es, sollte was brauchbares raus kommen melde ich mich. Danke!!
-
@mhuber Sonst muss ich auch mal meine Kontakte bei Gira nerven - braucht ja nur jemand aus der Entwicklung ne kurze Rückmeldung geben und ich baue das dann ein
-
@mhuber Ich habe mich jetzt mal im Gira Entwicklerforum registiert. Die technische Hotline konnte mir (Überraschung) nicht helfen. Ansonsten würde mir auch ein Debug-Log von Dir helfen. Da sollte der der Remote-Access Typ enthalten sein. Einfach die Instanz auf Debug Loglevel stellen.
-
@haus-automatisierung sagte in Test Adapter Gira-IoT:
@mhuber Ich habe mich jetzt mal im Gira Entwicklerforum registiert. Die technische Hotline konnte mir (Überraschung) nicht helfen. Ansonsten würde mir auch ein Debug-Log von Dir helfen. Da sollte der der Remote-Access Typ enthalten sein. Einfach die Instanz auf Debug Loglevel stellen.
log ist anbei, ist halt ein bisschen mehr von anderen adaptern auch drinnen, denke aber du findest alles was du brauchst. iobroker.2023-04-30.log
Und dieser Fehler kommt auch immer wieder, ist aber was anders als "RA" oder?2023-04-27 07:03:01.199 error unable to get current value for "functions.a0j1.Float" / UID "a0ii" - failed with AxiosError: Request failed with status code 500
-
@mhuber Schwer zu sagen - was ist denn
a0j1
? EDIT: Das ist einde.gira.schema.functions.NumericFloatStatus
. Schwer zu sagen warum er dafür den Wert nicht holen kann -
@haus-automatisierung sagte in Test Adapter Gira-IoT:
a0j1
Eine Statusanzeige (Ein/Aus) wie ich viele habe, nur bei dem Objekt gehts nicht....komisch