NEWS
[Major Update] UniFi Adapter v0.5.0
-
@braindead vor dem 0.5 Update hatte ich den Speedtest ja auch in den DPs hier laufen momentan Security Gateway 3P, 8er Poe Switch und 6 Unifi AP-AC Pro
-
Mit dem aktuellen Update der UDM auf Firmware 1.7. hat sich die API geändert. Der Controller der UDM ist mit diesem Update nicht mehr unter Port 8443 erreichbar. Der API Endpunkt ist nun nicht mehr
https://unifi-udm:8443/api/s/default/stat/...
sondern
https://unifi-udm/proxy/network/api/s/default/stat/...
Durch dieses Firmware Update ist der Adapter in Verbindung mit der UDM aktuell nicht einsetzbar. Hinzu kommt, dass der Unifi-Controller auf dem Cloudkey jedoch nach wie vor mit den alten Pfaden erreichbar ist. Somit müsste man in der Konfiguration des Adapters irgendeine Konfigurationsmöglichkeit schaffen, um auszuwählen, ob es sich um eine UDM handelt oder um einen "klassischen" Controller.
Viele Grüße
Tom
-
@Tom-0 Der Adapter nutzt zur Kommunikation mit dem Controller node-unifi. Die Unterstützung für UniFiOS/UDM wurde dort gerade erst offiziell implementiert.
Ich habe gerade v0.5.1-beta.2 des Adapters auf GitHub veröffentlicht. Es wäre toll, wenn Du die Version einmal testen und mir Feedback geben könntest, ob der Adapter problemlos mit UniFiOS/UDM arbeitet.
https://github.com/iobroker-community-adapters/ioBroker.unifi
-
@braindead Ist der Rest auch schon Testfähig?
-
@Chaot Natürlich.
-
@braindead Na dann ..... Ich bin schon 24 Stunden ohne Fehlermeldung
Edit:
Sieh an:host.ioBroker 2020-05-20 19:26:18.262 info Restart adapter system.adapter.unifi.0 because enabled host.ioBroker 2020-05-20 19:26:18.262 info instance system.adapter.unifi.0 terminated with code 0 (NO_ERROR) host.ioBroker 2020-05-20 19:26:18.262 error Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.unifi/main.js:347:21 host.ioBroker 2020-05-20 19:26:18.261 error Caught by controller[0]: at Unifi.processClients (/opt/iobroker/node_modules/iobroker.unifi/main.js:376:13) host.ioBroker 2020-05-20 19:26:18.261 error Caught by controller[0]: at Unifi.applyJsonLogic (/opt/iobroker/node_modules/iobroker.unifi/main.js:881:33) host.ioBroker 2020-05-20 19:26:18.261 error Caught by controller[0]: at processTicksAndRejections (internal/process/task_queues.js:97:5) host.ioBroker 2020-05-20 19:26:18.261 error Caught by controller[0]: at Unifi.applyJsonLogic (/opt/iobroker/node_modules/iobroker.unifi/main.js:820:36) host.ioBroker 2020-05-20 19:26:18.261 error Caught by controller[0]: at Unifi.extendObjectAsync (/opt/iobroker/node_modules/iobroker.js-controller/lib/tools.js:1584:16) host.ioBroker 2020-05-20 19:26:18.261 error Caught by controller[0]: at new Promise (<anonymous>) host.ioBroker 2020-05-20 19:26:18.260 error Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.js-controller/lib/tools.js:1585:16 host.ioBroker 2020-05-20 19:26:18.260 error Caught by controller[0]: at Unifi.extendObject (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2015:17) host.ioBroker 2020-05-20 19:26:18.260 error Caught by controller[0]: at validateId (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:518:23) host.ioBroker 2020-05-20 19:26:18.260 error Caught by controller[0]: Error: The "default.clients." is invalid. Ids are not allowed to end in "." host.ioBroker 2020-05-20 19:26:18.259 error Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejecte unifi.0 2020-05-20 19:26:17.716 error at /opt/iobroker/node_modules/iobroker.unifi/main.js:347:21 unifi.0 2020-05-20 19:26:17.716 error at Unifi.processClients (/opt/iobroker/node_modules/iobroker.unifi/main.js:376:13) unifi.0 2020-05-20 19:26:17.716 error at Unifi.applyJsonLogic (/opt/iobroker/node_modules/iobroker.unifi/main.js:881:33) unifi.0 2020-05-20 19:26:17.716 error at processTicksAndRejections (internal/process/task_queues.js:97:5) unifi.0 2020-05-20 19:26:17.716 error at Unifi.applyJsonLogic (/opt/iobroker/node_modules/iobroker.unifi/main.js:820:36) unifi.0 2020-05-20 19:26:17.716 error at Unifi.extendObjectAsync (/opt/iobroker/node_modules/iobroker.js-controller/lib/tools.js:1584:16) unifi.0 2020-05-20 19:26:17.716 error at new Promise (<anonymous>) unifi.0 2020-05-20 19:26:17.716 error at /opt/iobroker/node_modules/iobroker.js-controller/lib/tools.js:1585:16 unifi.0 2020-05-20 19:26:17.716 error at Unifi.extendObject (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2015:17) unifi.0 2020-05-20 19:26:17.716 error at validateId (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:518:23) unifi.0 2020-05-20 19:26:17.716 error (2418) Error: The "default.clients." is invalid. Ids are not allowed to end in "." unifi.0 2020-05-20 19:26:17.703 error (2418) unhandled promise rejection: The "default.clients." is invalid. Ids are not allowed to end in "." Unhandled 2020-05-20 19:26:17.701 error promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). host.ioBroker 2020-05-20 19:26:14.400 info instance system.adapter.unifi.0 started with pid 2418
Edit2:
Zurück auf 5.0 Fehler weg. -
@Chaot Ich guck mir das später mal an. Jetzt geht's erstmal mit der Holden ins Autokino.
-
@braindead
Ich habe jetzt mal die 0.5.1-beta.2 drauf. Der Punktis_online
funktioniert bei mir auf 30 Sekunden Intervall hervorragend.
Ich habe mal bis auf mein Handy alles geblacklistet (war ne schöne klickerei )
Wenn nur ein Gerät da ist, dann schmiert der Adapter erstmal ab. Mit zwei Geräten passiert das bei mir nicht. Wenn ich dann mit nur einem Gerät neu starte, dann bleibt der Adapter ohne Fehler. Ich werde den Adapter mal ne Weile laufen lassen und mir mal Telegram Nachrichten schicken lassen, mal sehen ob die Handys brav online bleiben (auch im Ruhemodes)
Vielen Dank für Deine Arbeit.EDIT: bei
is_online
wird der Wert ganz kurz von null auf true/false geändert ? Das Gerät ist aber dauerhaft online.20.5.2020, 21:05:17.350 [info ]: javascript.0 (2548) Stop script script.js.13_Anwesenheit.Test_Unifi_Anwesenheit 20.5.2020, 21:05:17.474 [info ]: javascript.0 (2548) Start javascript script.js.13_Anwesenheit.Test_Unifi_Anwesenheit 20.5.2020, 21:05:17.488 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: registered 1 subscription and 0 schedules 20.5.2020, 21:05:26.968 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 30 Sekunden Intervall: null 20.5.2020, 21:05:26.991 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 30 Sekunden Intervall: false 20.5.2020, 21:05:56.924 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 30 Sekunden Intervall: null 20.5.2020, 21:05:56.986 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 30 Sekunden Intervall: true 20.5.2020, 21:06:27.013 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 30 Sekunden Intervall: null 20.5.2020, 21:06:27.036 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 30 Sekunden Intervall: false 20.5.2020, 21:06:56.868 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 30 Sekunden Intervall: null 20.5.2020, 21:06:56.893 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 30 Sekunden Intervall: true 20.5.2020, 21:07:26.803 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 30 Sekunden Intervall: null 20.5.2020, 21:07:26.824 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 30 Sekunden Intervall: false
60 Sekunden Update
20.5.2020, 21:14:13.077 [info ]: javascript.0 (2548) Stop script script.js.13_Anwesenheit.Test_Unifi_Anwesenheit 20.5.2020, 21:14:13.201 [info ]: javascript.0 (2548) Start javascript script.js.13_Anwesenheit.Test_Unifi_Anwesenheit 20.5.2020, 21:14:13.214 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: registered 1 subscription and 0 schedules 20.5.2020, 21:15:04.892 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 60 Sekunden Intervall: null 20.5.2020, 21:15:04.978 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 60 Sekunden Intervall: true 20.5.2020, 21:16:04.922 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 60 Sekunden Intervall: null 20.5.2020, 21:16:04.953 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 60 Sekunden Intervall: true 20.5.2020, 21:17:05.025 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 60 Sekunden Intervall: null 20.5.2020, 21:17:05.099 [info ]: javascript.0 (2548) script.js.13_Anwesenheit.Test_Unifi_Anwesenheit: 60 Sekunden Intervall: true
-
@dslraser said in [Major Update] UniFi Adapter v0.5.0:
@braindead
Ich habe jetzt mal die 0.5.1-beta.2 drauf. Der Punktis_online
funktioniert bei mir auf 30 Sekunden Intervall hervorragend.30 Sekunden? Welche Scheingenauigkeit möchtest Du damit erreichen?
Wenn nur ein Gerät da ist, dann schmiert der Adapter erstmal ab. Mit zwei Geräten passiert das bei mir nicht.
Das habe ich ehrlich gesagt bisher nicht getestet, aber ich könnte mir vorstellen, dass das evtl. mit dem 30 Sekunden Intervall zu tun hat. Technisch logst Du Dich damit jedesmal ein, fragst ein paar Daten ab und meldest Dich wieder ab. Ich werde das mal bei mir testen.
EDIT: bei
is_online
wird der Wert ganz kurz von null auf true/false geändert ? Das Gerät ist aber dauerhaft online.Gut beobachtet. Hintergrund ist, dass auch ein Client, der offline ist, erstmal in der Liste der Clients vorhanden ist. Ich guck mal, ob ich hier noch etwas verbessern kann.
-
@braindead sagte in [Major Update] UniFi Adapter v0.5.0:
30 Sekunden? Welche Scheingenauigkeit möchtest Du damit erreichen?
Das war nur zum testen. Und was meinst Du mit Scheingenauigkeit ? Standard ist 60 Sekunden eingestellt, da logge ich mich auch jedes Mal ein und aus. Ich bin ja nur am probieren welcher Wert für eine An/Abwesenheitserkennung Sinn macht.
-
@dslraser Einige User erhoffen sich, dass sie sofort merken, ob ein Client on-/offline ist. Ich dachte Du wärst einer davon. Sorry.
Ich habe Deinen Test gerade bei mir nachgestellt: 30 Sekunden sind kein Problem. Nur ein Client funktioniert solange, wie dieser Client online ist. Geht dieser Client offline, bekomme ich die selbe Fehlermeldung wie Du. Das sollte sich leicht fixen lassen.
-
@dslraser Ich habe gerade v0.5.1-beta.3 auf GitHub veröffentlicht. Der Fehler sollte gefixt sein. Kannst Du das mal bei Dir probieren?
-
@braindead sagte in [Major Update] UniFi Adapter v0.5.0:
@dslraser Ich habe gerade v0.5.1-beta.3 auf GitHub veröffentlicht. Der Fehler sollte gefixt sein. Kannst Du das mal bei Dir probieren?
Mache ich, aber nicht mehr jetzt.
-
@braindead Beta3 scheint bei mir jetzt zu klappen.
Keine Fehlermeldung bisher. Mal Abwarten bis morgen. -
@braindead sagte in [Major Update] UniFi Adapter v0.5.0:
@dslraser Einige User erhoffen sich, dass sie sofort merken, ob ein Client on-/offline ist. Ich dachte Du wärst einer davon. Sorry.
Ich habe Deinen Test gerade bei mir nachgestellt: 30 Sekunden sind kein Problem. Nur ein Client funktioniert solange, wie dieser Client online ist. Geht dieser Client offline, bekomme ich die selbe Fehlermeldung wie Du. Das sollte sich leicht fixen lassen.
Der Fehler ist nun weg, jedenfalls kann ich ihn nicht mehr nachstellen.
Danke auf jeden Fall.
-
-
@braindead Beta5 ist installiert. Bisher wieder ohne Fehlermeldungen. Es scheint auch alles zu funktionieren wie gewohnt.
-
hab das nun mal mit dem
unifi.0.default.clients.XYZ.is_online
getestet, habe mir Telegram über den Schraubenschlüssel aktiviert.
Problem jedochZeitstempel
undletzte Änderung
, somit kommt bei jedem Abfrageintervall eine Nachricht, da sichletzte Änderung
fortlaufend mit aktualisiert,
selbiges betrifft auchis_wired
in der History sieht.is_online
so aus, funktioniert mit beta 5
-
ich mache es so und es funktioniert. (für is_online habe ich keinen vernünftigen Trigger hinbekommen, da letzter Wert und vorletzer Wert auch nicht funktioniert, auf Grund null/false oder null/true und der von Dir beschriebenen Aktualisierung)
-
@crunchip Ich bin mir nicht ganz sicher, ob ich Deinen Text richtig verstehe, deshalb habe ich das bei mir mit v0.5.1-beta.5 nachgestellt und
is_online
undis_wired
von meinem Handy werden geloggt und Änderungen werden mir per Telegram geschickt.Ich habe für die beiden DPs genau eine Telegram Nachricht bekommen, als das Handy offline gegangen ist. Genauso gab es jeweils nur einen Eintrag in der Historie. Selbiges ist passiert, als ich 30 Minuten später wieder online gegangen bin. Bei mir funktioniert die Aktualisierung der DPs also genau wie es sein soll.
Die Tatsache, dass
is_wired
sich ändert, wenn der Client offline geht, ist ein Bug des UniFi Controllers. Ich habe versucht das abzufangen, es ist mir bisher aber nicht gelungen.@dslraser In v0.5.1-beta.5 gibt es die null/false bzw. null/true Problematik nicht mehr. Kannst Du das bitte einmal testen und bestätigen?