NEWS
Test Adapter Gira-IoT
-
@jo-0 Ohne ein Debug-Log könnte man (wie immer) nur raten…
-
@haus-automatisierung Ich häng mal ein Log an, aber weiß noch nicht genau wo ich das Problem ansetzen soll.
Nochmal der Zustand:
Beim Start werden alle Daten vom X1 -> IOBroker gesendet, danach aber keine Änderungen mehr. Anders herum funktioniert alles: IOBroker -> X1.
Mein recht stupider Workaround ist im Moment den Gira IOT Adapter alle 10 Minuten neu zu starten, da ich die Temperatur der Räume loggen will (und beim Neustart wird ja der aktuelle Wert übertragen).Wenn man allerdings immer Änderungen im eigenstellten Intervall bekäme, wäre das schon super, dann könnte man auch über Buttons im X1 Aktionen im IOBroker auslösen. Funktioniert das den bei dir?
2023-09-29 21:40:00.020 - info: gira-iot.0 (151030) Scheduled restart. 2023-09-29 21:40:00.028 - info: gira-iot.0 (151030) terminating 2023-09-29 21:40:00.029 - info: gira-iot.0 (151030) Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason 2023-09-29 21:40:00.526 - info: gira-iot.0 (151030) terminating 2023-09-29 21:40:00.582 - info: host.517867d7824c instance system.adapter.gira-iot.0 scheduled normal terminated and will be restarted on schedule. 2023-09-29 21:40:00.587 - info: host.517867d7824c Restart adapter system.adapter.gira-iot.0 because enabled 2023-09-29 21:40:01.654 - info: host.517867d7824c instance system.adapter.gira-iot.0 started with pid 151536 2023-09-29 21:40:03.336 - info: gira-iot.0 (151536) starting. Version 0.3.0 (non-npm: klein0r/ioBroker.gira-iot#87110817e59f2c5be0ae986a690f8a7382d930f9) in /opt/iobroker/node_modules/iobroker.gira-iot, node: v20.6.1, js-controller: 5.0.12 2023-09-29 21:40:03.463 - info: gira-iot.0 (151536) Configured server: "192.168.178.101:443" - Connecting with user: "iobrokeradmin" 2023-09-29 21:40:03.817 - info: gira-iot.0 (151536) Registered callback urls to https://172.17.0.2:8082/gira-iot.0/service and https://172.17.0.2:8082/gira-iot.0/value (web extension) 2023-09-29 21:40:08.298 - error: gira-iot.0 (151536) unable to get current value for "functions.a009.Status" / UID "a05p" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:08.966 - error: gira-iot.0 (151536) unable to get current value for "functions.a00b.OnOff" / UID "a05r" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:11.846 - error: gira-iot.0 (151536) unable to get current value for "functions.a016.Red" / UID "a04t" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:12.408 - error: gira-iot.0 (151536) unable to get current value for "functions.a016.Green" / UID "a04u" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:12.974 - error: gira-iot.0 (151536) unable to get current value for "functions.a016.Blue" / UID "a04v" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:13.546 - error: gira-iot.0 (151536) unable to get current value for "functions.a016.White" / UID "a04w" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:17.119 - error: gira-iot.0 (151536) unable to get current value for "functions.a01a.OnOff" / UID "a01b" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:17.370 - error: gira-iot.0 (151536) unable to get current value for "functions.a01d.OnOff" / UID "a01e" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:23.384 - error: gira-iot.0 (151536) unable to get current value for "functions.a0g6.OnOff" / UID "a0g7" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:28.842 - error: gira-iot.0 (151536) unable to get current value for "functions.a0dz.OnOff" / UID "a0e0" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:36.245 - error: gira-iot.0 (151536) unable to get current value for "functions.a0cq.OnOff" / UID "a0e8" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:36.931 - error: gira-iot.0 (151536) unable to get current value for "functions.a0cu.OnOff" / UID "a0cv" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:43.323 - error: gira-iot.0 (151536) unable to get current value for "functions.a0hh.String" / UID "a0hi" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:43.882 - error: gira-iot.0 (151536) unable to get current value for "functions.a0hj.String" / UID "a0hk" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:49.050 - error: gira-iot.0 (151536) unable to get current value for "functions.a0gz.OnOff" / UID "a0gu" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:49.690 - error: gira-iot.0 (151536) unable to get current value for "functions.a0gy.OnOff" / UID "a0gs" - failed with AxiosError: Request failed with status code 500 2023-09-29 21:40:50.807 - info: gira-iot.0 (151536) Updated (or created) 155 functions with 284 states
-
@jo-0 sagte in Test Adapter Gira-IoT:
node: v20.6.1
Empfohlen ist 18 ,
weiß natürlich nicht ob schon der Adapter für 20 freigegeben ist .Aktuell 20 ist :
.
host.517867d7824c
Ist ioBroker im Docker ?
-
@glasfaser Ja IOBroker läuft im Docker.
Mich würde immer noch brennend interessieren: Haben alle das Problem, oder ist es nur bei mir, pekus und CZ71 so?
-
-
@glasfaser sagte in Test Adapter Gira-IoT:
weiß natürlich nicht ob schon der Adapter für 20 freigegeben ist .
Nie getestet, wüsste aber nicht was dagegen sprechen sollte.
-
Bei mir läuft der IOBroker im Docker Container (Netzwerk im Bridge-Mode). D.h. der IP-Address-Range im Container (172.17.0.0/16) ist ein anderer als der des externen/physischen Netzes also des Docker-Servers und GIRA-Servers (192.168.1.0/16). Damit ist dann auch die an den GIRA X1/Homeserver übermittelte URL falsch, da sie aus der web.0 IP-Adresse gebildet wird. Kann man die URL ändern/übersteuern?
-
@yippie Aktuell nicht vorgesehen. Wäre ja auch eher ein Thema für den Web Adapter
-
@Yippie : das ist grundsätzlich ein Problem mit Docker Containern. Ich würde dir hier eher empfehlen anstatt dem Bridge-Docker-Netzwerk ein macvlan zu benutzen. Da würde dann der iobroker-Container eine eigenständige IP-Adresse im LAN bekommen. Sprich auf der Netzwerkschnittstelle des Docker-Host würden dann entsprechend zwei IP-Adressen liegen.
Das Problem wirst du sonst auch mit anderen Adaptern noch bekommen.
-
@haus-automatisierung Hallo! Das der Web-Adapter an den internen Docker-Adapter mit anderer IP-Adresse gebunden wird, ist ja nicht das Problem. Die URL aus dieser Information zu generieren ist bei einem Docker mit Bridged-Network ein Problem. Wenn man das URL Feld editieren könnte und die externe IP-Adresse überschreiben könnte wäre das Problem gelöst.
-
@yippie sagte in Test Adapter Gira-IoT:
Die URL aus dieser Information zu generieren ist bei einem Docker mit Bridged-Network ein Problem.
Richtig, ich nutze einfach die Settings aus dem Web-Adapter, damit man sich dort nicht vertippen kann o.ä. Kann man sich drüber streiten ob das nun Aufgabe vom Web-Adapter ist oder ob man eine Option im Gira-IoT-Adapter einbauen sollte. Ich wollte es für die Anwender so einfach wie möglich halten.
Muss ich mal überlegen ob ich es erlauben soll die Url manuell zu überschreiben. Mit einer Checkbox und einem Hinweis wäre das ja hoffentlich noch verständlich.
-
@haus-automatisierung Ich denke es wäre nicht nicht verkehrt. Es gibt ja auch durchaus Systeme mit mehreren Netzwerkadaptern und damit unterschiedlichen IP-Address-Ranges. Müssen auch nicht alle im Docker „sichtbar“ sein. Man könnte beim Web-Adapter das Bind auf 0.0.0.0 also „alle Network Interfaces“ erlauben und mit URL übersteuern über welche IP-Adresse der IOBroker bzw. Web-Adapter vom X1/Homeserver aus erreichbar ist.
-
@yippie sagte in Test Adapter Gira-IoT:
Man könnte beim Web-Adapter das Bind auf 0.0.0.0 also „alle Network Interfaces“ erlauben und mit URL übersteuern über welche IP-Adresse der IOBroker bzw. Web-Adapter vom X1/Homeserver aus erreichbar ist.
Teste mal Version 0.4.0
-
@haus-automatisierung Wow, das nenne ich schnell. Ich bin leider nicht ganz so schnell, komme wohl erst am Wochenende dazu, bin ein paar Tage unterwegs. Danke dir!
-
@haus-automatisierung Klasse Arbeit!!!
Genau das war mein Problem. Als Callback Url wurde die Container IP und nicht die des Raspberry's übermittelt. Jetzt funktioniert es wie es soll.Vielen Dank für die schnelle Reaktion.
-
@yippie Ich konnte doch nicht warten, ich habe mal meine VPN-Verbindung nach Hause genutzt. Super, also jetzt ist der X1/Homeserver bei einem Docker-Container mit Bridge-Network in der Lage sich zu verbinden. Danke dir!
-
@haus-automatisierung
Vielen Dank für den tollen Adapter, er funktioniert prima und zuverlässig, leider habe ich ebenfalls das Problem, dass die Temperatur- und Helligkeitswerte nicht aktualisiert werden.Im Debug-Log ist zu erkennen, dass die neuen Werte empfangen werden, aber auf der Oberfläche von IoBroker werden die Objekte nicht aktualisiert.
Die Übertragung der Aktor-Zustände wie z.B. Schaltzustand funktioniert jedoch.
Nach einem Neustart des Adapters werden alle Werte einmal korrekt eingetragen.Hier noch Verbesserungsvorschläge von meiner Seite:
-
Die Auflistung der Objekte in den Ordnern wie Gira diese nennt ist schwer zu lesen. Zudem werden beim Schreiben der Werte in die Influx-Db nicht der Name des Objekts verwendet, sondern bei Temperaturen steht z.B. 'gira-iot.0.functions.a01s.Float'. Es wäre schöner eine Auflistung nach Funktion oder Raum zu bekommen und dann den Namen des Objekts direkt darzustellen. Es ist auch unübersichtlich in der Objektübersicht, wenn für jeden Wert ein kryptischer Ordner aufgeklappt werden muss. Inwiefern das ganze in IoBroker umsetzbar ist, kann ich hier nicht beurteilen.
Beispielauflistung:
Esszimmer
|--- Temperatur
|--- Licht Tisch
|--- Rollladen
|--- Fenster Status
Wohnzimmer
|--- Temperatur
|--- Licht Tisch
|--- Rollladen
|--- Fenster Status -
Wenn ein Wert im Gira X1 nicht richtig initialisiert ist, wird im Adapter ein Error geworfen. Hier wäre eine Warnung schöner, da nicht immer alle Werte einen Anfangszustand haben (z.B. Position Rollladen nach einem Neustart des X1). Mit diesen Art von Fehlern ist im laufenden Betrieb zu rechnen.
Vielen Dank noch einmal und weiter so!
-
-
@smarterhome sagte in Test Adapter Gira-IoT:
Die Auflistung der Objekte in den Ordnern wie Gira diese nennt ist schwer zu lesen.
Deswegen kann man sich ja die Räume und und Aufzählungen anlegen lassen - dann hat man die in der Objektansicht mit in der Übersicht und kann das etwas besser zuordnen. Ich wollte halt einen Schlüssel, welcher sich nicht mehr ändert (wenn man z.B. die Funktion verschiebt).
@smarterhome sagte in Test Adapter Gira-IoT:
Zudem werden beim Schreiben der Werte in die Influx-Db nicht der Name des Objekts verwendet, sondern bei Temperaturen steht z.B. 'gira-iot.0.functions.a01s.Float'.
Da könntest Du ja einfach einen Alias vergeben in den InfluxDB-Einstellungen des Datenpunktes.
@smarterhome sagte in Test Adapter Gira-IoT:
dass die Temperatur- und Helligkeitswerte nicht aktualisiert werden.
Seltsam - von welchem Typ sind die denn? Hast Du dafür ein Beispiel? Am Ende kann ich nur nehmen, was der X1 mir zurück liefert. Wenn diese Daten einfach nicht gesendet werden, kann ich da leider nichts machen. Das müsste bei Gira adressiert werden.
-
@haus-automatisierung
Das mit den eindeutigen Werten kann ich natürlich nachvollziehen, der Name Float ist jedoch etwas irritierend.
Das mit dem Alias ist mir bekannt, bei vielen Werten jedoch mit erheblichem Aufwand verbunden.Die Temperaturwerte sind bei mir als 'Statusanzeige Dezimal' angelegt
Hier ist ein Auszug aus dem Log, da werden die Änderungen in IoBroker durchaus empfangen:
Jedoch wird der Wert des Objekts nicht aktualisiert. Vermutlich hängt es mit dem Wertetyp 'Dezimal' zusammen.
Gibt es einen anderen Weg Temperaturwerte im X1 darzustellen?Vielen Dank im Voraus
-
@smarterhome sagte in Test Adapter Gira-IoT:
Jedoch wird der Wert des Objekts nicht aktualisiert. Vermutlich hängt es mit dem Wertetyp 'Dezimal' zusammen.
Sieht doch erstmal gut aus.
Die Werte werden mit
setStateChangedAsync
geschrieben. Das heißt, dass der Wert sich ändern muss damit eine Aktualisierung stattfindet. Da der Wert sich bei Dir geändert hat, sollte infunctions.a063.Current
auch22.62
drin stehen. Klappt das nicht?