Neues Modul - 74_Unifi - Für den Ubiquiti Networks (UBNT) - Unifi Controller

Begonnen von rapster, 23 August 2015, 02:12:04

Vorheriges Thema - Nächstes Thema

FHA

Hallo Zusammen,

evtl kann mir jemand von euch helfen:
Habe folgendes Problem seit gestern (Umstellung auf configDB und DBlog. habe ich folgenden Fehler bei den definierten UnifiClients:
configfile: 0\
0\
\
Autosave deactivated


Wird mir auf der FHEM Oberfläche angezeigt.

2019.11.27 02:30:40 5: Cmd: >define Handy UnifiClient Phone-Name<
2019.11.27 02:30:40 5: Loading ./FHEM/74_UnifiClient.pm
2019.11.27 02:30:40 3: UnifiClient_Define - executed. 0
2019.11.27 02:30:40 5: UnifiClient_Define - Adress: Phone-Name
2019.11.27 02:30:40 5: Handy (UnifiClient_DailyReset) - executed.
2019.11.27 02:30:40 5: fhem.cfg line 1653 returned >0<
2019.11.27 02:30:40 5: Cmd: >setuuid ChrisHandy 5dd99bf9-f12f-63b5-d3b0-f034561753e8fcdc<
2019.11.27 02:30:40 5: Cmd: >attr Handy DbLogExclude .*<
2019.11.27 02:30:40 5: Cmd: >attr Handy devStateIcon connected:it_wifi@#00ffa2 disconnected:it_wifi@#9e0000<
2019.11.27 02:30:40 5: Cmd: >attr Handy event-on-change-reading .*<
2019.11.27 02:30:40 5: Cmd: >attr Handy group Netzwerk Clients<
2019.11.27 02:30:40 5: Cmd: >attr Handy icon it_smartphone<
2019.11.27 02:30:40 5: Cmd: >attr Handy room Haus<


Dies ein Auszug aus der Log mit verbose 5

Und jetzt die paar Zeilen aus der FHEM.cfg

attr FileLog_U16PoeSwitch room System->Log
define Handy UnifiClient Phone-Name
setuuid Handy 5dd99bf9-f12f-63b5-d3b0-f034561753e8fcdc
attr Handy DbLogExclude .*
attr Handy devStateIcon connected:it_wifi@#00ffa2 disconnected:it_wifi@#9e0000
attr Handy event-on-change-reading .*
attr Handy group Netzwerk Clients
attr Handy icon it_smartphone
attr Handy room Haus


Habt ihr eine Idee dazu?

LG Christian

Wuehler

Moin,

Habe leider keine Ahnung von configDB und DBLog. Ich denke es wäre das Beste du machst einen neuen Thread im Bereich configDB auf (siehe Maintainer.txt). Dann gerne pm mit dem Thread an mich, damit ich die Hinweise des Maintainers mitbekomme.

VG,
Diek

Gunther

Ich habe mit dem Unifi-Modul Performance-Probleme. FHEM lässt sich nicht mehr bedienen. (Freeze?)
Hatte erst 2 neue DOIFs im Fokus. Die waren es nicht.
Habe nun Unifi-Controller auf disable 1 gesetzt und die beiden 48 POE-Switches rausgeworfen.

Jetzt fluppt es wieder.

Ist das ein bekanntes Problem? Falls ja, gibt es Möglichkeiten das Modul trotzdem zu nutzen? Würde gerne die IPhones abfragen und Presence damit aufbauen.

EDIT: Intel-Nuc Proxmox-Container mit i5 und 4 zugeordneten Kernen:
ohne Unifi: 2,4% Prozessorauslastung
mit Unifi: 25% Prozessorauslastung
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Wuehler

Moin Gunther,

wie hast du das Unifi-Modul definiert? Konkreter: Wie groß ist das Update-Interval.
Bei großen Unifi-Installationen oder nicht performanten Systemen (vor allem wenn FHEM und Unifi auf dem selben Rechner laufen) kann es passieren, dass ein neues Update (Abfrage aller Informationen)  noch nicht beendet ist, wenn das nächste startet. Das schaukelt sich unter Umständen bis zu einem freeze hoch.

VG,
Dirk

Gunther

Kurz vom Handy:
Nutze CloudKey2 getrennt von einem Nuc I5
Habe Standard-Definition genommen
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Wuehler

Standard bedeutet 30 Sekunden-Intervall. Bei 2 x 48 Port-Switches hat du anscheinend einiges im Netz und es dauert evtl. insgesamt mehr als 30 Sekunden. Kannst du mit einem verbose=5 herausbekommen. 

Tratonis

Moin Wuehler,

bin leider erst jetzt dazu gekommen das zu testen.
edit: jetzt der richtige Logauszug ;)

2019.12.04 16:16:18 5: UnifiController (UnifiSwitch_Parse) - return: KellerSW
2019.12.04 16:16:18 5: UnifiController (Unifi_GetClientInsights_Send) - executed.
2019.12.04 16:16:18 5: UnifiController (Unifi_GetClientInsights_Receive) - executed.
2019.12.04 16:16:18 5: UnifiController (Unifi_GetClientInsights_Receive) - state:'ok'
2019.12.04 16:16:18 5: UnifiController (Unifi_ProcessUpdate) - executed after 0.2084 seconds.
2019.12.04 16:16:18 5: UnifiController (Unifi_ProcessUpdate) - 1. updateTime:
2019.12.04 16:16:18 5: UnifiController (Unifi_ProcessUpdate) - 2. updateTime: 1575472578.21298
2019.12.04 16:16:18 5: UnifiController (Unifi_SetHealthReadings) - executed.
2019.12.04 16:16:18 5: UnifiController (Unifi_SetClientReadings) - executed.
2019.12.04 16:16:18 5: UnifiController (Unifi_SetClientReadings) - 3. updateTime: 1575472578.21298
2019.12.04 16:16:18 5: UnifiController (Unifi_SetClientReadings) - 4. updateTime: 1575472578.21298
2019.12.04 16:16:18 5: UnifiController (Unifi_SetClientReadings) - 5. updateTime: 1575472578.21298
2019.12.04 16:16:18 5: UnifiController (Unifi_SetClientReadings) - Dispatch: OEQ0329341
2019.12.04 16:16:18 5: UnifiController: dispatch UnifiClient_OEQ0329341{"tx_bytes":426294,"_id":"5c1cd4e643a0dc0981c506e0","user_id":"5c1cd4e643a0dc0981c506e0","mac":"00:1a:22:0a:e0:63","_f_usergroup_name":"Default","uptime":9793329,"bytes-r":0,"wired-tx_packets":8471915,"wired-tx_bytes":1191463625,"network_id":"5b198d76bbdd7b0fd453e601","hostname":"OEQ0329341","accesspoint":"KellerSW","sw_depth":1,"tx_retries":0,"_uptime_by_ugw":3218204,"is_wired":true,"fhem_state":"connected","satisfaction":90,"wired-rx_bytes-r":135,"_last_seen_by_usw":1575472549,"wired-rx_bytes":201714660,"is_guest":false,"_f_last_seen_duration":"0d 0h 0m 7s","_is_guest_by_usw":false,"gw_mac":"fc:ec:da:44:80:b6","tx_packets":9907,"_uptime_by_usw":3458440,"site_id":"5b198d74bbdd7b0fd453e5f7","_f_first_seen":"2018-12-21 12:56:22","_f_last_seen":"2019-12-04 16:16:11","_f_last_seen_by_ugw":"2019-12-04 16:16:11","blocked":false,"ip":"192.168.7.131","assoc_time":1565679242,"rx_packets":63941,"_f_last_seen_by_usw":"2019-12-04 16:15:49","network":"LAN","_last_seen_by_ugw":1575472571,"_f_uptime":"113d 8h 22m 9s","noted":false,"latest_assoc_time":1572254367,"_is_guest_by_ugw":false,"wifi_tx_attempts":0,"rx_bytes-r":0,"sw_mac":"fc:ec:da:4d:f9:91","fhem_clientName":"OEQ0329341","tx_bytes-r":0,"wired-rx_packets":3123482,"oui":"Eq-3Entw","_f_latest_assoc_time":"2019-10-28 10:19:27","last_seen":1575472571,"use_fixedip":true,"_f_essid":"UNDEFINED","first_seen":1545393382,"qos_policy_applied":true,"wired-tx_bytes-r":886,"fixed_ip":"192.168.7.131","_f_uptime_by_usw":"40d 0h 40m 40s","_f_uptime_by_ugw":"37d 5h 56m 44s","sw_port":11,"_f_assoc_time":"224d 6h 54m 2s","rx_bytes":2950874}
2019.12.04 16:16:18 5: UnifiController (UnifiClient_Parse) - executed. UnifiClient: Adress: OEQ0329341
2019.12.04 16:16:18 5: UnifiController (UnifiClient_Parse) - executed. UnifiClient: message_json: {"tx_bytes":426294,"_id":"5c1cd4e643a0dc0981c506e0","user_id":"5c1cd4e643a0dc0981c506e0","mac":"00:1a:22:0a:e0:63","_f_usergroup_name":"Default","uptime":9793329,"bytes-r":0,"wired-tx_packets":8471915,"wired-tx_bytes":1191463625,"network_id":"5b198d76bbdd7b0fd453e601","hostname":"OEQ0329341","accesspoint":"KellerSW","sw_depth":1,"tx_retries":0,"_uptime_by_ugw":3218204,"is_wired":true,"fhem_state":"connected","satisfaction":90,"wired-rx_bytes-r":135,"_last_seen_by_usw":1575472549,"wired-rx_bytes":201714660,"is_guest":false,"_f_last_seen_duration":"0d 0h 0m 7s","_is_guest_by_usw":false,"gw_mac":"fc:ec:da:44:80:b6","tx_packets":9907,"_uptime_by_usw":3458440,"site_id":"5b198d74bbdd7b0fd453e5f7","_f_first_seen":"2018-12-21 12:56:22","_f_last_seen":"2019-12-04 16:16:11","_f_last_seen_by_ugw":"2019-12-04 16:16:11","blocked":false,"ip":"192.168.7.131","assoc_time":1565679242,"rx_packets":63941,"_f_last_seen_by_usw":"2019-12-04 16:15:49","network":"LAN","_last_seen_by_ugw":1575472571,"_f_uptime":"113d 8h 22m 9s","noted":false,"latest_assoc_time":1572254367,"_is_guest_by_ugw":false,"wifi_tx_attempts":0,"rx_bytes-r":0,"sw_mac":"fc:ec:da:4d:f9:91","fhem_clientName":"OEQ0329341","tx_bytes-r":0,"wired-rx_packets":3123482,"oui":"Eq-3Entw","_f_latest_assoc_time":"2019-10-28 10:19:27","last_seen":1575472571,"use_fixedip":true,"_f_essid":"UNDEFINED","first_seen":1545393382,"qos_policy_applied":true,"wired-tx_bytes-r":886,"fixed_ip":"192.168.7.131","_f_uptime_by_usw":"40d 0h 40m 40s","_f_uptime_by_ugw":"37d 5h 56m 44s","sw_port":11,"_f_assoc_time":"224d 6h 54m 2s","rx_bytes":2950874}
2019.12.04 16:16:18 5: UnifiController (Unifi_SetClientReadings) - 6. updateTime:
2019.12.04 16:16:18 5: UnifiController (Unifi_SetClientReadings) - 4. updateTime:
2019.12.04 16:16:18 5: UnifiController (Unifi_SetClientReadings) - Client 'Galaxy-Note10' previously connected is now disconnected.
2019.12.04 16:16:18 5: UnifiController (Unifi_SetClientReadings) - 5. updateTime:
2019.12.04 16:16:18 5: UnifiController (Unifi_SetClientReadings) - Dispatch: Galaxy-Note10
2019.12.04 16:16:18 5: UnifiController: dispatch UnifiClient_Galaxy-Note10{"rx_bytes":0,"_f_assoc_time":"337d 13h 33m 10s","dev_id_override":392,"_f_uptime_by_ugw":"0d 0h 0m 11s","last_seen":1575466459,"fingerprint_override":true,"_f_essid":"UNDEFINED","first_seen":1567093878,"qos_policy_applied":true,"rx_bytes-r":0,"wifi_tx_attempts":0,"_is_guest_by_ugw":false,"_f_latest_assoc_time":"2019-12-04 14:34:08","oui":"SamsungE","tx_bytes-r":0,"fhem_clientName":"Galaxy-Note10","network":"LAN","rx_packets":0,"assoc_time":1575466390,"latest_assoc_time":1575466448,"noted":false,"_f_uptime":"0d 0h 1m 9s","_last_seen_by_ugw":1575466459,"tx_packets":0,"gw_mac":"fc:ec:da:44:80:b6","_f_last_seen_by_ugw":"2019-12-04 14:34:19","ip":"192.168.7.158","_f_last_seen":"2019-12-04 14:34:19","blocked":false,"_f_first_seen":"2019-08-29 17:51:18","site_id":"5b198d74bbdd7b0fd453e5f7","fhem_state":"disconnected","_uptime_by_ugw":11,"is_wired":true,"_f_last_seen_duration":"0d 1h 41m 59s","is_guest":false,"network_id":"5b198d76bbdd7b0fd453e601","tx_retries":0,"usergroup_id":"5b198d76bbdd7b0fd453e602","hostname":"Galaxy-Note10","accesspoint":"unknown","user_id":"5d67f4764fa78c08fb92f827","mac":"a8:db:03:fd:fd:6f","_id":"5d67f4764fa78c08fb92f827","tx_bytes":0,"bytes-r":0,"_f_usergroup_name":"Default","uptime":69}
2019.12.04 16:16:18 5: UnifiController (UnifiClient_Parse) - executed. UnifiClient: Adress: Galaxy-Note10
2019.12.04 16:16:18 5: UnifiController (UnifiClient_Parse) - executed. UnifiClient: message_json: {"rx_bytes":0,"_f_assoc_time":"337d 13h 33m 10s","dev_id_override":392,"_f_uptime_by_ugw":"0d 0h 0m 11s","last_seen":1575466459,"fingerprint_override":true,"_f_essid":"UNDEFINED","first_seen":1567093878,"qos_policy_applied":true,"rx_bytes-r":0,"wifi_tx_attempts":0,"_is_guest_by_ugw":false,"_f_latest_assoc_time":"2019-12-04 14:34:08","oui":"SamsungE","tx_bytes-r":0,"fhem_clientName":"Galaxy-Note10","network":"LAN","rx_packets":0,"assoc_time":1575466390,"latest_assoc_time":1575466448,"noted":false,"_f_uptime":"0d 0h 1m 9s","_last_seen_by_ugw":1575466459,"tx_packets":0,"gw_mac":"fc:ec:da:44:80:b6","_f_last_seen_by_ugw":"2019-12-04 14:34:19","ip":"192.168.7.158","_f_last_seen":"2019-12-04 14:34:19","blocked":false,"_f_first_seen":"2019-08-29 17:51:18","site_id":"5b198d74bbdd7b0fd453e5f7","fhem_state":"disconnected","_uptime_by_ugw":11,"is_wired":true,"_f_last_seen_duration":"0d 1h 41m 59s","is_guest":false,"network_id":"5b198d76bbdd7b0fd453e601","tx_retries":0,"usergroup_id":"5b198d76bbdd7b0fd453e602","hostname":"Galaxy-Note10","accesspoint":"unknown","user_id":"5d67f4764fa78c08fb92f827","mac":"a8:db:03:fd:fd:6f","_id":"5d67f4764fa78c08fb92f827","tx_bytes":0,"bytes-r":0,"_f_usergroup_name":"Default","uptime":69}
2019.12.04 16:16:18 5: UnifiController (UnifiClient_Parse) - return: Thorsten_Telefon_UC
2019.12.04 16:16:18 5: UnifiController (Unifi_SetClientReadings) - 6. updateTime:
2019.12.04 16:16:18 5: UnifiController (Unifi_SetClientReadings) - 4. updateTime:
2019.12.04 16:16:18 5: UnifiController (Unifi_SetClientReadings) - 5. updateTime:


Ich hoffe der Auszug reicht.
VG
Thorsten

Wuehler

Hallo Thorsten,

dein erster Logauszug hatte auch LogInfos aus dem UnifiClient (5a/b. updateTime), die fehlen mir jetzt. Wenn ich mch richtig erinnere, war die updateTime datin auch leer. D.h. es passiert irgendwo im Dispatch() in der fhem.pl, dass das ReadingsBulkupdate beendet wird. Ich habe da reingeschaut, finde aber nicht, wo das passiert. Vermutlich müssen wir da Rudi mit einbinden.

VG,
Dirk

Gunther

Zitat von: Wuehler am 28 November 2019, 19:04:17
Standard bedeutet 30 Sekunden-Intervall. Bei 2 x 48 Port-Switches hat du anscheinend einiges im Netz und es dauert evtl. insgesamt mehr als 30 Sekunden. Kannst du mit einem verbose=5 herausbekommen.

Hi Dirk,

danke für Deinen Tipp.
Ich hatte jetzt trotz 180 Sekunden Intervall wieder ein stehendes FHEM. Der WAF leidet ein wenig... :-|

Daher habe ich nun mal verbose 5 gesetzt.

Anbei der letzte Auszug aus dem Gesamtlog. Irgendwie sollten die unten stehenden Zeiten ja kein Problem darstellen, oder?

Hier nur die Zeit-Logs. Kann auch alles posten, aber das wird seeeeeeeeeeehr lang...


2019.12.09 13:48:29 5: unifi_controller (Unifi_ProcessUpdate) - executed after 0.9262 seconds.
2019.12.09 13:48:31 5: unifi_controller (Unifi_ProcessUpdate) - finished after 3.3070 seconds.


Wie kann ich weiter vorgehen? Kann ich irgendwwie alles ausklammern außer die beiden IPhones, die ich für die Anwesenheitserkennung nutzen möchte?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Wuehler

Moin,

das Unifi-Update dauert nur etwas mehr als drei Sekunden, scheint also nicht das Problem zu sein. Zumal die Abfragen ggü. dem Unifi-Controller NonBlocking sind, die fhem.pl also immer mal wieder Zeit bekommt.

Irgendwie vermute ich das eigentliche Problem woanders. Bei mir war es mal ein unterversorgter USB-Verbraucher.
Hast du zufällig auch ein Log zum Zeitpunkt des Freezes?

VG,
Dirk

Gunther

ne, habe ich leider nicht. Kann im Gesamtlog den Freeze auch nicht genau eingrenzen.
Habe gerade noch in 2 Bereichen (Sonos und komische Fehlermeldungen nachgefragt):
https://forum.fhem.de/index.php/topic,106157.msg1000431.html#msg1000431
https://forum.fhem.de/index.php/topic,84372.msg1000435.html#msg1000435
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Gisbert

Hallo zusammen,

ich habe ein Reading für jedes Gerät, welches im UniFi-Controller angemeldet ist, welches die Unix-Zeit angibt, wann es zuletzt "gesehen" wurde.
Die Readings lauten Geraetxyz_last_seen, das Reading hat dann z.B. den Wert 1579435394, es dürfte sich also um die Unix-Zeit handeln.
Man könnte jetzt bei allen Readings die Unix-Zeit in eine lesbare Zeit umwandeln, dann müsste man es aber auch ständig bei neuen Geräten machen.

Gibt es eine Möglichkeit alle Readings Geraetxyz_last_seen im Format YYYY-MM-DD hh:mm auszugeben, ohne das für jedes einzelne Reading quasi händisch zu erledigen?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Gisbert

Hallo zusammen,

Hilfe durch Selbsthilfe.
Es gibt das Reading _f_last_seen, welches eine lesbare Zeit ausgibt.
Damit dürfte meine Frage beantwortet sein.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Wuehler

Korrekt. Aber um das Reading zu bekommen musst du das pber das Attribut customClientReadings konfigurieren (siehe commandref). Das last_seen im Unixformat ist noch aus den ersten Modulversionen und so drin geblieben, damit es Abeärtskompatibel ist und nicht bestehende FHEM-Installationen stört. Über customClientReadings kannst du die normalerweise genau das anzeigen lassen was dir hilft. Bei Besarf kannst du auch ein Device UnifiClient anlegen.

VG,
Dirk

Maui

Moin Dirk,

ich bastele grad (mal wieder) am Entfernen von Readings von disconnected Devices.
Wenn ich sie per deletereading entferne, kommen die Readings im nächsten Update wieder rein.
Hast du da etwas angepasst?

Gruß
Maui