NEWS
[Tipp] Anwesenheit mit unifi-Adapter
-
Hab gerade mal schnell geschaut. Einen ähnlichen Request gibt es gefühlt schon seit 2017.
https://github.com/jens-maus/ioBroker.unifi/issues/2
Bzgl. Github bin ich aber noch jungfräuchlich. Da muss ich mich erstmal einlesen, wie ein Feature Request korrekt eingestellt wird.
@ahfreezer sehr gut. Hab auch den FR geliked und kommentiert.
-
@ahfreezer bin doch schon mit dabei ;)
-
@ahfreezer Bin auch dabei :blush:
-
Ich möchte meine positive Erfahrung mit Anwesenheit und dem unifi-Adapter teilen.
Eine Kombination aus BT-Dongle und Handy anpingen funktioniert bei mir bisher gut, bei meiner Frau sind leider nachts Unterbrechungen, obwohl beides die gleichen Android Handys sind.
Deswegen die folgende zusätzliche Möglichkeit. In orange sieht man die Daten vom Unifi-Adapter und in blau die Kombination aus BT und ping (gegen 23 Uhr umgestellt):

Ich hatte festgestellt, dass solange man im wlan des unifi ist, der Wert des clients _uptime_by_uap stetig steigt (logisch).Das folgende Script schaut nun alle zwei Minuten, ob der Wert von _uptime_by_uap zwei Minuten nicht mehr geändert hat. Wenn er sich nicht ändert wird die Variable false. Vielleicht bringt es bei jemanden auch den gewünschten Effekt.

@lobomau Ich grabe den alten Thread mal wieder aus - ich bin offenbar echt zu doof...bei mir wird einfach kein Wert geschrieben.
createState("Variablen.HASE_UAP", function () { }); schedule("*/2 * * * *", function () { if (getState("unifi.0.default.clients.fc:2a:9c:77:de:d6._uptime_by_uap").lc - ((new Date().getTime()) - 120000) < 0 == true) { setState("javascript.0.Variablen.HASE_UAP"/*Variablen.HASE_UAP*/, false); } else { setState("javascript.0.Variablen.HASE_UAP"/*Variablen.HASE_UAP*/, true); } }); -
@lobomau Ich grabe den alten Thread mal wieder aus - ich bin offenbar echt zu doof...bei mir wird einfach kein Wert geschrieben.
createState("Variablen.HASE_UAP", function () { }); schedule("*/2 * * * *", function () { if (getState("unifi.0.default.clients.fc:2a:9c:77:de:d6._uptime_by_uap").lc - ((new Date().getTime()) - 120000) < 0 == true) { setState("javascript.0.Variablen.HASE_UAP"/*Variablen.HASE_UAP*/, false); } else { setState("javascript.0.Variablen.HASE_UAP"/*Variablen.HASE_UAP*/, true); } }); -
@mrzee eigentlich gibt es nicht viele Möglichkeiten.
Unifi-Adapter läuft und Objekt im Unifi-Adapter "unifi.0.default.clients.fc:....." ändert sich korrekt?
Update vom Adapter ist auf default 60 Sekunden? -
Ich habe auch Unifi APs und einen Unifi Controller am laufen. Jetzt würde ich gerne nur mit einer Anzeige im VIS darstellen ob eine Person anwesend ist. Der Unifi Adapter läuft auch schon.
Jetzt habe ich noch nie mit diesen Skript gearbeitet. Hat vielleicht einer von euch einen Link oder kann mit 2-3 Sätzen erklären wie ich ein solches Skript mit einem Widget verknüpfe?
-
2 Stunden sitze ich jetzt schon dran. Ich bin wohl einfach zu blöd dafür. Zum einen sehr ärgerlich, dass ich nicht einfach den Javascript Code einfügen kann und dieser in Blockly umgewewandelt wird.
Dieses Mega verschachtelte Konstrukt von Iobomau bekomme ich einfach nicht nachgebaut.
Ja ich habe ein Minus unter Mathematik an zweiter Stelle. Aber dies will etwas VOR und NACH dem Minus. In dem Blockly Skript von Iobomau ist aber z.B. nur etwas danach. Dann steht oben etwas von Zustand Erzeugen "Variable SIE_UAP". Ist das einfach ein Name den er sich selber ausgesucht hat. Ansonsten wo finde ich die Variable.
Blockly ist für mich wie Microsoft Word. Du hast ein fast fertiges Dokument, willst nur noch eine kleine Änderung durchführen und Peng ist die ganze Formatierung hinüber. Zum Glück gibt es bei Word eine Zurück Funktion. Ich war bei Blockly schon sehr weit. Ziehe das Skript, komme aus versehen über den Mülleimer und schon sind 30min Arbeit dahin ..........
-
2 Stunden sitze ich jetzt schon dran. Ich bin wohl einfach zu blöd dafür. Zum einen sehr ärgerlich, dass ich nicht einfach den Javascript Code einfügen kann und dieser in Blockly umgewewandelt wird.
Dieses Mega verschachtelte Konstrukt von Iobomau bekomme ich einfach nicht nachgebaut.
Ja ich habe ein Minus unter Mathematik an zweiter Stelle. Aber dies will etwas VOR und NACH dem Minus. In dem Blockly Skript von Iobomau ist aber z.B. nur etwas danach. Dann steht oben etwas von Zustand Erzeugen "Variable SIE_UAP". Ist das einfach ein Name den er sich selber ausgesucht hat. Ansonsten wo finde ich die Variable.
Blockly ist für mich wie Microsoft Word. Du hast ein fast fertiges Dokument, willst nur noch eine kleine Änderung durchführen und Peng ist die ganze Formatierung hinüber. Zum Glück gibt es bei Word eine Zurück Funktion. Ich war bei Blockly schon sehr weit. Ziehe das Skript, komme aus versehen über den Mülleimer und schon sind 30min Arbeit dahin ..........
@Hagiman2000 Moin, man kann nicht aus einem javascript ein Blockly erstellen, nur umgekehrt. Ich empfehle hier das Script von pix zu nehmen.
Du musst nur die wificlients anpassen, fertig.
https://forum.iobroker.net/topic/8099/tipp-anwesenheit-mit-unifi-adapter/5 -
Guten Tag,
ich bin ein Absolutes Greenhorn was Scripts und Homematic angeht. Ich hab ioBroker zum laufen bekommen, hab auch die Instanzen hm-rega.0, hm-rpc.0 und unifi.0 zum laufen bekommen. Und möchte nun die die Anwesenheit realisieren.
Ich hab eine CCU3 am laufen mit der aktuellen Firmware.
Das Script wird ausführt so wie es von @pix zur verfügung gestellt wurde, Danke dafür :) Hab dort den User für mein iPhone angepasst mit der MAC-Adresse usw.
Aber jetzt steh ich irgendwie total auf dem schlauch was ich nun machen muss bzw wie ich nun die Anwesenheit geändert bekommen. Den Datenpunkt den das script erzeugt hab ich auch gefunden. aber wie bekomme ich den nun in die Homematic? Wie gesagt, bin absoluter Neuling :( und wäre super wenn mit jemand Helfen könnte :)
Danke schon im Vorraus :)
-
Habe es mit dem Skript hin bekommen, schießt aber meinen Raspberry Pi 3b sofort ab. Von daher für RP User wohl nicht nutzbar.
-
Bin jetzt auf einem Intel Nuc i5 (in VM Umgebung). Die Performance des Adapter ist nun besser, lastet die CPU aber trotzdem noch beachtlich aus ( bis zu 30%) wenn die Daten aktualisiert werden.
Dem Entwickler, der den Adapter anpassen könnte, so dass man konfigurieren kann, welche Informationen man im ioB braucht, würde ich glatt einen Kasten Bier seiner Wahl spendieren :-)
-
Bin jetzt auf einem Intel Nuc i5 (in VM Umgebung). Die Performance des Adapter ist nun besser, lastet die CPU aber trotzdem noch beachtlich aus ( bis zu 30%) wenn die Daten aktualisiert werden.
Dem Entwickler, der den Adapter anpassen könnte, so dass man konfigurieren kann, welche Informationen man im ioB braucht, würde ich glatt einen Kasten Bier seiner Wahl spendieren :-)
@ahfreezer sonst hast du welche auslastung? Und du siehst jede Minute (?) eine Steigerung auf 30% durch den unifi Adapter? Bei mir läuft eine schwächere CPU und iobroker auch auf VM (Proxmox).
Bei mir bin ich im Mittel bei 21% CPU und Spitze bei 30%, aber spitze nicht regelmäßig und nicht zu zuordnen. Immerhin ca. 40 Adapter und 3000 MB RAM Nutzung. -
@ahfreezer sonst hast du welche auslastung? Und du siehst jede Minute (?) eine Steigerung auf 30% durch den unifi Adapter? Bei mir läuft eine schwächere CPU und iobroker auch auf VM (Proxmox).
Bei mir bin ich im Mittel bei 21% CPU und Spitze bei 30%, aber spitze nicht regelmäßig und nicht zu zuordnen. Immerhin ca. 40 Adapter und 3000 MB RAM Nutzung.@lobomau
Korrekt. Immer dann, wenn der Unifi Adapter nach 60 Sekunden die Arbeit aufnimmt geht die Last auf >30%.
Wie oben geschrieben liegt die Vermutung der hohen Auslastung bei mir daran, dass ich neben USG, Cloudkey noch 2 APs und 2 Switche laufen habe. Da kommen eine Menge Datenpunkte zusammen die aktuallisiert werden möchten....Ist der Adapter fertig liegt die Auslastung der CPUs bei 0,6%
-
@lobomau
Korrekt. Immer dann, wenn der Unifi Adapter nach 60 Sekunden die Arbeit aufnimmt geht die Last auf >30%.
Wie oben geschrieben liegt die Vermutung der hohen Auslastung bei mir daran, dass ich neben USG, Cloudkey noch 2 APs und 2 Switche laufen habe. Da kommen eine Menge Datenpunkte zusammen die aktuallisiert werden möchten....Ist der Adapter fertig liegt die Auslastung der CPUs bei 0,6%
@ahfreezer achja, du warst das. Da wäre es in der Tat möglich, dass eines dieser Geräte dafür verantwortlich ist. USG und Cloudkey habe ich nicht. Nur zwei AP und ein switch.
-
Hab es herausgefunden...
Hallo zusammen
Ich versuche das mit dem Blockly nachzubauen, doch irgendwie stehe ich auf dem Schlauch...
Hier mein Blockly, aber ich bekomme dieses nicht so dargestellt:

schedule("*/2 * * * *", function () { if (getState("unifi.0.default.clients.48:4b:aa:98:89:d0._uptime_by_uap").val - ((new Date().getTime()) - 120000) < 0) { setState("hm-rega.0.48797"/*Anwesenheit*/, false); } else { setState("hm-rega.0.48797"/*Anwesenheit*/, true); } });Kann mir bitte jemand helfen?
-
Hallo,
habe meine Anwesenheit mit folgendem Blockly gelöst, allerdings nicht über unifi-Adapter. Aber vielleicht hilf es ja.

Allerdings lese ich die eingeloggten Telefone über die Fritzbox aus.

Variable habe ich unter admin angelegt.

Gruß
Egbert -
Guten Morgen,
ich habe einen ähnlichen Ansatz mit dem Wert "Last seen by UAP" über die Listenfunktionen realisiert und setze/plausibilisiere damit eine entsprechende Systemvariable in Homematic (die ansonsten von den Handys aus über Automagic gesteuert wird):

Der Server auf dem iobroker läuft ist recht potent ;-), ich merke von den Scripts - es werden u. a. zwei Handys mit dem hier gezeigten Script beobachtet - keine Änderung an den Ressourcen.
Schöne Ostern,
Marko -
Guten Morgen,
ich habe einen ähnlichen Ansatz mit dem Wert "Last seen by UAP" über die Listenfunktionen realisiert und setze/plausibilisiere damit eine entsprechende Systemvariable in Homematic (die ansonsten von den Handys aus über Automagic gesteuert wird):

Der Server auf dem iobroker läuft ist recht potent ;-), ich merke von den Scripts - es werden u. a. zwei Handys mit dem hier gezeigten Script beobachtet - keine Änderung an den Ressourcen.
Schöne Ostern,
Marko@oek Hi, dein Blockly sieht umfangreich aber gut aus :-) Könntest du davon einen Export machen? Das wäre total klasse.
Und wie ist deine Erfahrung in Bezug auf die Zuverlässigkeit?
Ich überlege selber ob ich die Anwesenheit über Tasker oder Automagic (Anhand des verbundenen WLANs und dann der Ansteuerung einer Homematic Variable) realisiere oder über meinen Ubiquiti.Danke und viele Grüße an alle unif-begeisterten hier :-)