Modul: 74_UnifiSwitch - Auslesen und Steuern von UnifiSwitches (USW)

Begonnen von Wuehler, 12 Mai 2018, 00:37:44

Vorheriges Thema - Nächstes Thema

rubinho

Zitat von: Wuehler am 01 November 2020, 12:32:53
Moin,

im Anhang eine Version mit neuem setter "portProfile". Da kannst du eine ID mitgeben. Das Ganze habe ich nicht ausprobiert, da es schon ewig her ist, dass ich mich im UnifiController damit beschäftigt habe und ich gerade die Familie nicht mit Experimenten stören möchte. Also probier mal und berichte. Wenn alles funktioniert schau bitte auch mal auf die Doku und mach einen besseren Formulierungsvorschlag, damit auch Dritte verstehen was geht. Wenn man zu viel schreiben müsste kann ich das auch in einen WIKI-Artikel ablegen.

VG,
Dirk

Servus,

irgendwie ist das Thema bei mir untergegangen und muss es wieder aufwärmen.

Ich hatte heute mich mal wieder damit beschäftigt ein Portprofil über Fhem zu ändern, allerdings ist mir das nicht gelungen.
Mit dem Setpoint "Portprofile" sollte das ja funktionieren, allerdings gehts bei mir nicht, oder ich stelle mich mal wieder saublöd an.

In der Hilfestellung fehlt mir auch der Hinweis für die Profil ID. Ich dachte die Syntax müsste wie folgt aussehen... "set Unifiswitch Portprofile <Port> <ProfileID>" allerdings kann ich auch die ProfileID weglassen und es wird auch aktzeptiert.
Unter "get  Portoverrides" Steht dann hinter Port 3 die ProfilID 3 anstatt die angegebene ID.

Hab ich da was falsch verstanden, oder hat das seit November vorigen Jahres noch niemand getestet?

Gruß
Rubinho
Fhem 5.9@Zotac Zbox Ci327 | HMCCU | Z-Wave@ZMEEUZB1 | HUE Bridge Gen2 | knxd over IP

Christian Uhlmann

Hi,

mir ist gerade aufgefallen, das mein UAP-IW-HD nicht als Switch angezeigt wird.
Ich würde aber gerne das PoE passthrough über FHEM steuern.
Kennt jemand einen Trick um die UAP-IW-HD als UnifiSwitch anzulegen?


Grüße

Christian
Host: Debian Buster als VM / XCP-NG
Gateways: DuoFern Stick, CUL433 Revolt, CUL MAX, HMLan, HM-USB 2, LaCrosseGateway
Devices: 12x Rademacher Rollos, 6x TX 29 DT-HT, 10x HM-CC-RT-DN, 14x MAX Fensterkontakte, Diverse HM Aktoren für Licht, Klingel, Gong, Eingangstür, ESPEasy, Sonoff mit Tasmota

michaelw

Guten Tag,
ich habe ein kleines Problem bei der Verwendung des Moduls festgestellt. Ich verwende dieses Modul schon seit längerer Zeit und es sieht so aus als, ob es nach Nutzung zumindest bei der Funktion "set <device> poeMode <port> off/auto" zu Darstellungsproblemen und daraus resultierend auch Konfigurationsprobleme in der neuen UI des Controllers kommt. Ich hatte dazu einen Thread bei Unifi geöffnet, weil ich ursprünglich eigentlich noch auf dem "Legacy UI" war und ich ich hier Probleme mit einer Link Aggregation hatte. Diese konnte man nicht vernünftig über das Legacy GUI einrichten. Nach der Umstellung funktioniert das zwar kurzfristig. Allerdings war das GUI nach einer Zeit für ein einzelnes Gerät nicht mehr nutzbar. Ich habe jetzt festgestellt, dass das neue GUI für ein Gerät nicht mehr nutzbar wird, sobald ich FHEM mittels set einen Port auf einem Gerät habe aus- und einschalten lasse. Das mache ich im Rahmen einiger Automatisierungs-Funktionen, weswegen ich das auch nicht wirklich auf dem Schirm hatte, weil es eigentlich alles immer super funktioniert (und an der Stelle auch ein herzliches Dankeschön für die tolle Arbeit!). Im Legacy UI sieht alles in Ordnung aus. Das spricht eher dafür, dass das Problem eher auf Controller-Seite zu suchen ist. Trotzdem wäre es vielleicht gut, wenn man mal prüfen könnte, ab die API Aufrufe, die hier abgesetzt werden, alles richtig machen.

Gruß

Masterfunk

Zitat von: michaelw am 05 Februar 2022, 14:49:01
Guten Tag,
ich habe ein kleines Problem bei der Verwendung des Moduls festgestellt. Ich verwende dieses Modul schon seit längerer Zeit und es sieht so aus als, ob es nach Nutzung zumindest bei der Funktion "set <device> poeMode <port> off/auto" zu Darstellungsproblemen und daraus resultierend auch Konfigurationsprobleme in der neuen UI des Controllers kommt. Ich hatte dazu einen Thread bei Unifi geöffnet, weil ich ursprünglich eigentlich noch auf dem "Legacy UI" war und ich ich hier Probleme mit einer Link Aggregation hatte. Diese konnte man nicht vernünftig über das Legacy GUI einrichten. Nach der Umstellung funktioniert das zwar kurzfristig. Allerdings war das GUI nach einer Zeit für ein einzelnes Gerät nicht mehr nutzbar. Ich habe jetzt festgestellt, dass das neue GUI für ein Gerät nicht mehr nutzbar wird, sobald ich FHEM mittels set einen Port auf einem Gerät habe aus- und einschalten lasse. Das mache ich im Rahmen einiger Automatisierungs-Funktionen, weswegen ich das auch nicht wirklich auf dem Schirm hatte, weil es eigentlich alles immer super funktioniert (und an der Stelle auch ein herzliches Dankeschön für die tolle Arbeit!). Im Legacy UI sieht alles in Ordnung aus. Das spricht eher dafür, dass das Problem eher auf Controller-Seite zu suchen ist. Trotzdem wäre es vielleicht gut, wenn man mal prüfen könnte, ab die API Aufrufe, die hier abgesetzt werden, alles richtig machen.

Gruß

Kann das gleiche Verhalten bei mir bestätigen.

marvin78

Bei Unifi sind aktuell beide UIs kaputt. Die "alte" hat deutlich weniger Bugs. Man haut immer neue Features rein, ohne Probleme zu fixen.

Masterfunk


michaelw

#141
Ich habe mir mal versucht das anzuschauen. Wenn ich mir über die API die Konfiguration Anfrage, sehe ich beim einem Switch, der mir im neuen GUI noch richtig angezeigt wird, dass die Port IDs in dem port_override, anscheinend als Zahl interpertiert werden:
"port_overrides": [
            {
                "name": "Bla",
                "port_idx": 1,
                "port_security_mac_address": [],
                "portconf_id": "5c7bb2f54e626b1044276488"
            },

Bei einem Gerät, das vom neuen GUI nicht mehr vernünftig angezeigt wird sieht das so aus:

"port_overrides": [
            {
                "name": "Bla",
                "port_idx": "1",
                "port_security_mac_address": [],
                "portconf_id": "5c7bb2f54e626b1044276488"
            },


Das wird dann wohl eher als String interpretiert und könnte dann je nachdem wie sensibel das ganze ist, zu Problemen führen.

Jetzt sieht die JSON-Struktur, die an die API gesendet wird so aus (aus dem Verbose Log von FHEM)


{"portconf_id":"5d61a7093733271d07646090","poe_mode":"auto","port_idx":"7"},

Leider fehlen mir die Fähigkeiten das JSON anzupassen, so dass da statt "port_idx":"7" "port_idx":7 gesendet wird. Könnte das jemand entsprechend modifizieren?

michaelw

Das ganze Problem scheint beim encode_json liegen und die Werte für port_idx werden als String mit Anführungszeichen kodiert.

Ich habe jetzt für mich in Zeile 2120 der Datei 74_Unifi.pm eine Lösung eingebaut:


$json =~ s/"port_idx":"(\d*)"/"port_idx":$1/g;

Das klappt für mich. Wird aber vermutlich nicht der eleganteste Weg sein. Jedenfalls ist die Anzeige im GUI danach wieder korrekt.

DeeSPe

Blöde Frage: Ich hatte die Switche mal gelöscht und hätte sie gern wieder.
Wie werden die denn wieder erstellt? In der Cref steht dass das automatisch passiert.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

der-Lolo

Hallo Zusammen,
hin und wieder halte ich ausschau nach Freezes in meiner FHEM Installation.
Man kann ja mittlerweile wenn ein Freeze ausgelöst wird den bereich mit Log5 in einem seperatem File sichern.

Heute nacht hatte ich einen treffer -

2022.02.11 02:20:44.457 5: ModbusTCPServer_Parse: received [FB 78 00 00 00 06] 00 01 03 10 00 00
2022.02.11 02:20:44.486 5: https://192.168.1.3:8443/api/s/default/stat/sta: HTTP response code 200
2022.02.11 02:20:44.487 5: UnifiController (Unifi_GetClients_Receive) - executed.
2022.02.11 02:20:44.578 5: UnifiController (Unifi_GetClients_Receive) - state:'ok'
2022.02.11 02:20:44.580 5: UnifiController (Unifi_GetHealth_Send) - executed.
2022.02.11 02:20:44.580 5: IP: 192.168.1.3 -> 192.168.1.3
--- log skips     2.853 secs.
2022.02.11 02:20:47.434 4: AddRQueue [FF 60 00 00 00 06] 00 03 30 C8 00 2D
2022.02.11 02:20:47.434 5: SimpleWrite [FF 60 00 00 00 06] 00 03 30 C8 00 2D
2022.02.11 02:20:47.441 4: AddRQueue [FB 79 00 00 00 06] 00 01 00 18 00 08
2022.02.11 02:20:47.441 5: adding to RQUEUE - 1


Der Bereich vor dem Log skips gibt einen hinweis auf das was blockiert hat -> in diesem Fall wohl der UnifiController...

Die meisten meiner Freezes beziehen sich auf momente wenn z.b. jemand einen Raum mit SVGs aufruft, oder aufwendige abfragen (Room Everything) ans FhemWeb laufen. In diesem Fall aber schlafen alle Bewohner - es findet nichts statt, ausser dem Freeze.
Im Standard Log wird eigentlich immer der WagoController als verursacher ausgegeben -

2022.02.11 02:20:47 1: [Freezemon] myFreezemon: possible freeze starting at 02:20:45, delay is 2.442 possibly caused by: tmr-ModbusTCPServer_HandleReadQueue(WagoController) tmr-ModbusTCPServer_Poll(WagoController) tmr-HttpUtils_TimeoutErr(N/A)

Hier blockiert aber sicher nichts - der Wago ist in diesem Fall nur "leidtragend" -
Der WagoController (ModbusTCPServer) liefert mir die I/O Verbindung im Haus zu Licht/Schalter/Steckdosen Hardware. Dieser arbeitet dann eigentlich nur den während dem Freeze entstandenen Queue ab...

Hat jemand eine Idee was hier vielleicht ein bisschen unrund laufen könnte?

rubinho

Hallo Zusammen,

ich muss mal wieder nachhaken.

Hat sich schon jemand mit dem "PortProfile" Parameter beschäftigt ?
Da scheint es wohl noch ein Bug zu geben, jedenfalls wird die ProfileID gnadenlos ignoriert und es passiert nix wenn ich den Befehl absetze.

Ich hab mir mal das Module angeschaut, allerdings bin ich ein DAU was das angeht und ich bin nicht durchgestiegen.

Schön wäre es, wenn man die unterschiedlichen Portprofile in den Attributen hinterlegen kann, analog zum portProfileDisableID.

Gruß
Rubinho
Fhem 5.9@Zotac Zbox Ci327 | HMCCU | Z-Wave@ZMEEUZB1 | HUE Bridge Gen2 | knxd over IP

rubinho

Zitat von: Masterfunk am 09 Februar 2022, 09:18:38
Zitat von: michaelw am 05 Februar 2022, 14:49:01
Ich hatte dazu einen Thread bei Unifi geöffnet...
Hab mich da auch mal "drangehangen"

Nachdem ich jetzt das Problem auch entdeckt habe, habe ich mich mal beteiligt.

Da anscheinend die Popularität der Unifi Familie in der Smarthome Community unverständlicherweise nicht sonderlich hoch ist, zählt jede Stimme. ;)

lg
rubinho
Fhem 5.9@Zotac Zbox Ci327 | HMCCU | Z-Wave@ZMEEUZB1 | HUE Bridge Gen2 | knxd over IP

Ronn

Zitat von: DeeSPe am 10 Februar 2022, 19:47:40
Blöde Frage: Ich hatte die Switche mal gelöscht und hätte sie gern wieder.
Wie werden die denn wieder erstellt? In der Cref steht dass das automatisch passiert.

Gruß
Dan

ich habe das selbe Problem. Hast du oder jemand anders nen Tipp, wie die Witsche wieder eingebunden bekomme? Autocrat funktioniert irgendwie nicht.

Viele Grüße

Wolle02

Ich versteh die Frage irgendwie nicht.
In der CRef steht:
ZitatNormaly this device will be autocreated!

Wenns halt nicht "normaly" funktioniert, dann macht mans halt händisch?
Define steht ja auch in der CRef:
Zitatdefine <name> UnifiSwitch <ip> <nameOfSwitch>

Oder was hab ich jetzt falsch verstanden?

reibuehl

Zitat von: Wolle02 am 13 August 2022, 13:24:54
Oder was hab ich jetzt falsch verstanden?

Ich vermute mal, die Fragesteller haben eine Umgebung mit mehreren/vielen Switchen und suchen eine Möglichkeit, die Devices wieder alle auf einmal anlegen zu lassen um sie nicht alle händisch eingeben zu müssen.
Reiner.