NEWS
LAN-Clients als Objekte vom Unifi Adapter
-
Hallo Zusammen,
ich habe eine Frage zur Umsetzung. Ich habe einen 24-Port Switch und einen 8-60W Switch von Unifi. An diese sind bei mir alle LAN-Dosen aus den Wohnräumen/Garage angeschlossen. Ich würde mir gerne eine VIS erzeugen, die an den jeweiligen Port des Switches den Client schreibt. Bekomme ich auch irgendwie hin (ich würde mir entsprechend mittels Skript unter 0_userdata Einträge zu den Ports erzeugen.
Nun nutze ich den Unifi-Adapter und unter clients im Objekt-Baum tauchen alle Clients mit einer MAC-Adresse auf. In der Unterstruktur bei jedem Client finde ich dann z.b. den Port, die IP-Adresse, die MAC-Adresse vom Switch usw.
So sieht die Struktur aus:
und so die Unterstruktur:
Fragen:
Wenn ich die MAC-Adresse des Clients kenne, kann ich im Unterordner entsprechend schauen, an welcher MAC-Adresse des Switches er hängt und kann dann über den Port entsprechend mir die Daten abgreifen und unter 0_userdaten schreiben.
Wenn ich aber die MAC-Adresse eines Clients NICHT kenne, sondern "nur" ein neues Gerät z.B. zeitweise an eine LAN-Dose anschließe, was mache ich dann?
Kann ich irgendwie die Client-MAC-Adressen abgreifen?
Wie bekomme ich denn heraus, dass es quasi neue MAC Adressen in meinem System gibt?Danke
Marcus -
am einfachsten du nimmst den client vom lan und wenn du ihn wieder ansteckst , kannst du im unifi controller nachsehen, was sich als letztes eingelogt hat - dann siehst du namen und mac - so mache ich es mmer mit neuen wlan geräten - sollte auch mit lan funktionieren
oder ein script :
https://forum.iobroker.net/topic/30057/ip-devices-im-netzwerk-html-tabelle-vis-iqontrol -
@liv-in-sky
ja, dein Skript hab ich mir angeschaut, das ist aber nicht das, was ich gerne hätte.
Und nein, ich will nicht immer was anstecken, schauen und neu eingeben. Hatte gehofft, dass er sobald sich einer neuer client per MAC Adresse anmeldet, die Daten dort ausliest und quasi regelmässig alle clients überprüft.das sind meine "Ziel" Objekte unter 0_userdata.0. ..., da hätte ich dann gerne die Daten drin:
z.B. bei Client ab.12.cd.34.ef.56 gibt es in der Unterstruktur die Einträge "is online" und "is wired". Wenn ja, dann nimm die MAC vom Switch (Annahme für dieses Beispiel, es ist der 24Port Switch) und den Port vom Switch und schreibe dann unter 0_userdata die Daten von dem Client rein.
Mein Problem ist halt, dass ich nicht immer weiß, welche Clients welche MAC Adresse haben.
-
das brauchst du doch ein script dazu ? wo ist das ?
-
@liv-in-sky
ja, ich brauch nen neues Skript - ich habe ja noch keines und hatte gehofft, hier Hilfe zu bekommen
ich hatte dein Skript mir angeschaut und nur teilweise verstanden. Ich hatte am Anfang gesehen, dass du Zuweisungen über deine IP-Adressen machst, das wollt ich ja quasi nicht... -
@mguenther sagte in LAN-Clients als Objekte vom Unifi Adapter:
dass du Zuweisungen über deine IP-Adressen machst,
das ist optional um anderslautende "Host"-Namen zu vergebben
-
sowas ?
https://github.com/liv-in-sky/iobroker-unificlients-table-vis
dort kann man sortieren nach device
-
@liv-in-sky sagte in LAN-Clients als Objekte vom Unifi Adapter:
@liv-in-sky sagte in LAN-Clients als Objekte vom Unifi Adapter:sowas ?
https://github.com/liv-in-sky/iobroker-unificlients-table-vis
dort kann man sortieren nach device
ich will eigentlich in meiner VIS gar nichts eingeben, sondern nur die aktuelle Situation grafisch abbilden. Die grafische Abbildung/Umsetzung bekomme ich auch hin.
Ich bräuchte ein Skript, was die Objekte unter den Unifi-clients durchsucht und wenn bei einem Client "is online = true" und "is wired = true" existiert, und welches dann von dem Client die entsprechenden Daten in mein 0_userdata Bereich schreibt.
Später wäre noch in einem 2. Schritt interessant "is online = true" und "is wired = false" interessant, um die Daten in einen anderen 0_userdata Bereich zu schreiben (für die WLAN Clients).Das, was du hast, ist schon viel zu viel...
-
hier ein blockly, welches dir ein beispiel für eine schleife durch das unifi-verzeichnis macht - gibt im log den namen,die ip-adresse und die mac adresse aus