NEWS
[Major Update] UniFi Adapter v0.4.x
-
@braindead: Danke fürs Weiterentwickeln. Bin vor einigen Monaten auf das Skript von @liv-in-sky umgestiegen da der Adapter nicht mehr gepflegt wurde.
Wichtigster Punkt war mir die Anwesenheitsüberwachung. Daneben find ich es interessant das Gäste Wlan und Voucher damit über iQontrol zu verwalten.
Vielleicht kannst du ja mit liv-in-sky eure Kräfte bündeln und einen gemeinsamen Super Adapter entwickeln.
-
@liv-in-sky, @darkiop und @BBTown
Könnt Ihr mir bitte explizit nochmal folgende Punkte bestätigen, damit ich die Issues auf GitHub schließen und die Version veröffentlichen kann?- In der Log-Stufe "Info" gibt es nur einen Eintrag im Log, wenn die Abfrage der API fertig ist. Alles andere taucht nur in der Log-Stufe "debug" im Log auf.
- Objekte und States haben keine Sonderzeichen und Leerzeichen im Namen.
- Der Adapter läuft bei Euch mit einer js-controller Version >= 2.0.
- Die Abfrage der Netzwerke funktioniert und Daten tauchen (nach kurzer Zeit) im ioBroker auf.
Wenn die Tests abgeschlossen sind, dann schiebe ich v0.4.0 ins latest Respository. Sofern keine Bugs gemeldet werden, geht die Version etwa eine Woche später dann ins stable Repository. Parallel beginnen die Arbeiten an v0.5.x.
-
@braindead sagte in [Major Update] UniFi Adapter v0.4.x:
In der Log-Stufe "Info" gibt es nur einen Eintrag im Log, wenn die Abfrage der API fertig ist. Alles andere taucht nur in der Log-Stufe "debug" im Log auf.
Objekte und States haben keine Sonderzeichen und Leerzeichen im Namen.
Der Adapter läuft bei Euch mit einer js-controller Version >= 2.0.
js-controller ist auf 2.2.9
Die Abfrage der Netzwerke funktioniert und Daten tauchen (nach kurzer Zeit) im ioBroker auf.
ja, dauerte ca. 5min
-
@darkiop Danke!
-
@braindead sagte in [Major Update] UniFi Adapter v0.4.x:
In der Log-Stufe "Info" gibt es nur einen Eintrag im Log, wenn die Abfrage der API fertig ist. Alles andere taucht nur in der Log-Stufe "debug" im Log auf.
Ja, lediglich
unifi.0 2020-04-15 11:16:23.305 info (5453) Update done
Objekte und States haben keine Sonderzeichen und Leerzeichen im Namen.
Sorry, bei rund 9000 Datenpunkten ist das nicht mit absoluter Sicherheit zu sagen
Der Adapter läuft bei Euch mit einer js-controller Version >= 2.0.
ja, aktuell mit der Beta v3.0.9
Die Abfrage der Netzwerke funktioniert und Daten tauchen (nach kurzer Zeit) im ioBroker auf.
Ja, bei mir werden alle Netzwerkinformationen (5 Netzwerke) nach einiger Zeit gefüllt.
-
@braindead sagte in [Major Update] UniFi Adapter v0.4.x:
In der Log-Stufe "Info" gibt es nur einen Eintrag im Log, wenn die Abfrage der API fertig ist. Alles andere taucht nur in der Log-Stufe "debug" im Log auf.
Ich gehe davon aus, dass diese "INFO" Meldungen gewollt sind und nichts mit dem "normalen Betrieb" zu tun hat?
unifi.0 2020-04-15 11:18:52.681 info (5453) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason unifi.0 2020-04-15 11:18:52.680 info (5453) terminating unifi.0 2020-04-15 11:18:52.680 info (5453) cleaned everything up... unifi.0 2020-04-15 11:18:52.679 info (5453) Got terminate signal TERMINATE_YOURSELF
-
Hi, Ich hab heute auch die 0.4.0 installiert. allerdings bekomme ich ihn nicht zum laufen. Es kommen nur Fehlermeldungen und er wird nicht grün. Es werden Datenpunkte angelegt, die IP ist auch Richitg weil der "Site-Name" richitg übertragen wird. Hier die Fehlermeldungen:
2020-04-15 18:02:18.356 - info: host.iobroker "system.adapter.unifi.0" enabled 2020-04-15 18:02:18.381 - info: host.iobroker instance system.adapter.unifi.0 started with pid 10462 2020-04-15 18:02:20.418 - info: unifi.0 (10462) starting. Version 0.4.0 in /opt/iobroker/node_modules/iobroker.unifi, node: v10.17.0 2020-04-15 18:02:20.445 - info: unifi.0 (10462) Unifi adapter is ready 2020-04-15 18:02:21.855 - error: unifi.0 (10462) uncaught exception: Cannot read property 'subsystem' of null 2020-04-15 18:02:21.856 - error: unifi.0 (10462) TypeError: Cannot read property 'subsystem' of null at Unifi. (/opt/iobroker/node_modules/iobroker.unifi/main.js:203:92) at traverse (/opt/iobroker/node_modules/iobroker.unifi/main.js:479:45) at traverseObject (/opt/iobroker/node_modules/iobroker.unifi/main.js:525:21) at traverse (/opt/iobroker/node_modules/iobroker.unifi/main.js:478:17) at Unifi. (/opt/iobroker/node_modules/iobroker.unifi/main.js:200:33) at traverseObject (/opt/iobroker/node_modules/iobroker.unifi/main.js:519:38) at traverse (/opt/iobroker/node_modules/iobroker.unifi/main.js:478:17) at Unifi. (/opt/iobroker/node_modules/iobroker.unifi/main.js:500:21) at Array.every () at traverseArray (/opt/iobroker/node_modules/iobroker.unifi/main.js:498:17) 2020-04-15 18:02:21.858 - info: unifi.0 (10462) cleaned everything up... 2020-04-15 18:02:21.912 - info: unifi.0 (10462) terminating 2020-04-15 18:02:21.913 - info: unifi.0 (10462) Terminated (NO_ERROR): Without reason 2020-04-15 18:02:22.438 - error: host.iobroker Caught by controller[0]: TypeError: Cannot read property 'subsystem' of null 2020-04-15 18:02:22.439 - error: host.iobroker Caught by controller[0]: at Unifi. (/opt/iobroker/node_modules/iobroker.unifi/main.js:203:92) 2020-04-15 18:02:22.439 - error: host.iobroker Caught by controller[0]: at traverse (/opt/iobroker/node_modules/iobroker.unifi/main.js:479:45) 2020-04-15 18:02:22.439 - error: host.iobroker Caught by controller[0]: at traverseObject (/opt/iobroker/node_modules/iobroker.unifi/main.js:525:21) 2020-04-15 18:02:22.439 - error: host.iobroker Caught by controller[0]: at traverse (/opt/iobroker/node_modules/iobroker.unifi/main.js:478:17) 2020-04-15 18:02:22.439 - error: host.iobroker Caught by controller[0]: at Unifi. (/opt/iobroker/node_modules/iobroker.unifi/main.js:200:33) 2020-04-15 18:02:22.439 - error: host.iobroker Caught by controller[0]: at traverseObject (/opt/iobroker/node_modules/iobroker.unifi/main.js:519:38) 2020-04-15 18:02:22.440 - error: host.iobroker Caught by controller[0]: at traverse (/opt/iobroker/node_modules/iobroker.unifi/main.js:478:17) 2020-04-15 18:02:22.440 - error: host.iobroker Caught by controller[0]: at Unifi. (/opt/iobroker/node_modules/iobroker.unifi/main.js:500:21) 2020-04-15 18:02:22.440 - error: host.iobroker Caught by controller[0]: at Array.every () 2020-04-15 18:02:22.440 - error: host.iobroker Caught by controller[0]: at traverseArray (/opt/iobroker/node_modules/iobroker.unifi/main.js:498:17) 2020-04-15 18:02:22.440 - info: host.iobroker instance system.adapter.unifi.0 terminated with code 0 (NO_ERROR)
Der Multi-Host ist eine Synology DS415+ wo ioBroker im Docker läuft und als Slave ein RaspberryPi 3 b.
Auf beiden Systemen die selben Fehlermeldungen.Kann es evtl. damit zusammenhängen das ich einen Originalen CloudKey Gen. 1 im Einsatz habe?
-
@braindead Bei mir wurden ohne Fehlermeldung ca. 14000 states angelegt. Scheint alles korrekt zu laufen.
JS Controler 3.0.9 und NodeJS 12.16.2 -
@Sören Danke für den Hinweis. Ich mache dafür einen Issure auf GitHub auf und gucke mir das dann mal an.
-
@braindead Auch bei mir keine Fehlermeldungen mit knapp 3000 states. JS controller 3.0.11, Node.js 12.16.2
-
@braindead Danke, dass du dich dem Adapter annimmst. Wäre klasse, wenn der Adapter künftig auch die Dream Machine Pro unterstützen würde!
-
Gestern wurde kurzfristig v0.4.1 im latest Repository freigegeben, obwohl es noch einen offenen Issue (Cannot read property 'subsystem' of null) gibt. Sobald das Issue gelöst ist, schiebe ich v0.4.x ins stable Repository. Danach beginnen die Arbeiten an neuen Features. Ich halte Euch auf dem Laufenden.
-
@braindead top, sag bescheid wann etwas zu testen ist.
-
Wäre es evtl. sinnvoll, eine Anwesenheitskontrolle einzelner Devices direkt in den Adapter zu implementieren?
Die aktuelle Software von Unifi erkennt ein entferntes Gerät aktuell quasi sofort und ein wiederkehrendes nach ca. 30 Sekunden. Diese Werte habe ich bisher mit keinem Skript erreicht. Vielleicht ist da ja was möglich!?
-
@MikeEcho said in [Major Update] UniFi Adapter v0.4.x:
Wäre es evtl. sinnvoll, eine Anwesenheitskontrolle einzelner Devices direkt in den Adapter zu implementieren?
Ausgerechnet das wichtigste Feature habe ich im ersten Post nicht erwähnt: Ja, es soll die Möglichkeit geben im Adapter zu konfigurieren, welche Devices für eine Anwesenheitskontrolle überwacht werden sollen.
Die aktuelle Software von Unifi erkennt ein entferntes Gerät aktuell quasi sofort und ein wiederkehrendes nach ca. 30 Sekunden. Diese Werte habe ich bisher mit keinem Skript erreicht. Vielleicht ist da ja was möglich!?
Meinst Du mit "diese Werte habe ich bisher mit keinen Skript erreicht", dass mehr oder weniger sofort im ioBroker die Info ankommt, ob ein Device anwesend ist? Sowohl der Adapter, als auch die mir bekannten Skripte werden nicht vom Controller über Änderungen informiert, sondern fragen in regelmäßigen Abständen nach Daten. Einen Zeitversatz, abhängig vom Abfrageintervall, wird es also immer geben.
-
@braindead said in [Major Update] UniFi Adapter v0.4.x:
@MikeEcho said in [Major Update] UniFi Adapter v0.4.x:
Wäre es evtl. sinnvoll, eine Anwesenheitskontrolle einzelner Devices direkt in den Adapter zu implementieren?
Ausgerechnet das wichtigste Feature habe ich im ersten Post nicht erwähnt: Ja, es soll die Möglichkeit geben im Adapter zu konfigurieren, welche Devices für eine Anwesenheitskontrolle überwacht werden sollen.
TOP!
Meinst Du mit "diese Werte habe ich bisher mit keinen Skript erreicht", dass mehr oder weniger sofort im ioBroker die Info ankommt, ob ein Device anwesend ist? Sowohl der Adapter, als auch die mir bekannten Skripte werden nicht vom Controller über Änderungen informiert, sondern fragen in regelmäßigen Abständen nach Daten. Einen Zeitversatz, abhängig vom Abfrageintervall, wird es also immer geben.
Ich habe keine Ahnung, wie man einen Adapter programmiert meine Programmierkenntnisse sind sowieso mehr als überschaubar. Deswegen will ich keine schlauen Ratschläge geben. Mir ist nur aufgefallen, wenn ich das WebInterface geöffnet habe und das WLAN am Smartphone ausschalte, dass mir die Software das spätestens nach 5 Sekunden anzeigt. Schalte ich das WLAN wieder zu, dauert es ca. 20-30 Sekunden, und das Gerät wird wieder angezeigt.
Ich habe bisher versucht "ein Blockly" mit den vorhandenen DP des Adapters zu realisieren, da aber der DP unifi.0.default.clients.:::::._last_seen_by_uap nur ca. alle 70 Sekunden aktualisiert, ist das eben sehr schlecht zeitnah möglich. Zumal sich der Wert gar nicht mehr aktualisiert, wenn das Gerät nicht verfügbar ist. Eine Ping-Lösung halte ich für inperformant da ich mehr als einen IP-Adressbereich habe, in den sich das Smartphone einbuchen kann. -
@Sören ich bekomme die gleiche Exception und dadurch den Adapter nicht auf grün.
Auch ich habe 2 Sites angelegt, aber den Controller auf einem ubuntu Container in Proxmox laufen.
Der gleiche Fehler war auch schon bei der letzten Stable - Version. -
Ja es sind leider viele das Problem haben, auch schon mit der Letzten Version. Da sich aber so lange nicht um den Adapter gekümmert wurde haben diejenigen wahrscheinlich noch nicht und es ist zu bezweifeln ob sie es überhaupt so schnell mitbekommen werden, gesehen das sich wieder aktiv jemand um den Adapter kümmert. Hoffen wir mal das das Problem möglich schnell gelöst werden kann.
-
@Sören Ich habe gestern das Problem gefixt und den Issue auf GitHub kommentiert (https://github.com/iobroker-community-adapters/ioBroker.unifi/issues/31) mit der Bitte den Adapter einmal direkt von GitHub zu aktualisieren und zu testen. Draygv2 hat bereits bestätigt, dass das Problem zumindest bei Ihm behoben ist. Kannst Du das bitte auch mal testen?
@stfreud Wenn Du genau die selbe Meldung im Log findest (TypeError: Cannot read property 'subsystem' of null), wie @Sören sie hier gepostet hat, dann hat das nichts mit der Anzahl der Sites zu tun, sondern damit, dass mindestens eines der UniFi Geräte keinen Aliasnamen hat (und null zurückgibt) und die Rückgabe der UniFi API nicht sauber verarbeitet wird. Auch Dich möchte ich bitten den Adapter einmal von GitHub zu aktualisieren und zu testen. Falls das Problem weiterhin besteht, hilft es mir sehr, wenn Du einen Issue auf GitHub aufmachen könntest, der die entsprechenden Zeilen des Logs enthält.
Hier nochmal der Link zum Repository: https://github.com/iobroker-community-adapters/ioBroker.unifi
-
Nachdem jetzt alle relevanten Issue für v0.4.x abgearbeitet sind, werde ich heute noch v0.4.2 im latest Repository veröffentlichen. Sofern keine weiteren Probleme auftauchen, wird das dann auch die nächste stable Version werden. Danke an alle, die sich am Testen beteiligt haben. Ohne Euch ist die Entwicklung hier nicht möglich, weil ich a) nicht alle UniFi Geräte im Einsatz habe und b) viele Probleme nur in ganz bestimmten Konstellationen auftauchen.
Gestern habe ich bereits mit der Arbeit an v0.5.x begonnen. Im ersten Schritt wird die Anzahl der Objekte, die vom Adapter angelegt werden, drastisch reduziert. Ich werde eine Vorauswahl treffen und beim Testen wird sich zeigen, ob diese Auswahl reicht oder um das eine oder andere Objekt erweitert werden muss. Alles weitere werde ich zu gegebener Zeit in einem neuen Thread beschreiben.