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

Oliver Lamm

Hi,
kurze Frage an die Forumsallgemeinheit, in der Beschreibung für das Presence-Modul steht ja

define <NAME> PRESENCE event UniFi:NamedDevice:.disconnected UniFi:NamedDevice:.connected

Mit was muss ich denn UniFi:NamedDevice: ersetzen ?

Mein Telefon heisst "OLA". Ist das dann OLA.disconnected und OLA.connected ? irgendwo im Thread habe ich auch was mit zwei Punkten gesehen.
Bei dem Controller sehe ich die folgenden Einträge:

OLA                   connected                  2019-01-21 20:08:22
OLA_accesspoint Wohnzimmer             2019-01-21 20:08:22
OLA_essid          <SSID>                    2019-01-21 20:08:22
OLA_hostname   OLA                          2019-01-21 20:08:22
OLA_last_seen   2019-01-21 20:08:15 2019-01-21 20:08:22
OLA_snr            45                             2019-01-21 20:08:22
OLA_uptime       7109                         2019-01-21 20:08:22


Gruss und Dank, Oli

Wuehler

Moin,

Bin mir recht sicher, dass der erste Doppelpunkt durch einen Punkt ersetzt werden muss.
NamedDevice ist OLA. Die Instanz deines UnifiModul heißt bei dir auch Unifi?

Gruß,
Dirk

rcmcronny

Also ich sehe im PRESENCE Modul Commandref nichts , was auf Unifi direkt schliessen lässt , bin ich blind oder nutz ich das falsche :D

Ich habs derzeit so laufen bei mir:


define BLA PRESENCE function {ReadingsVal('UNIFIDEVICE','USERDEVICE','') eq "connected" ? 1 : 0} 60 60


Wobei
UNIFIDEVICE das Device vom Unifi ist
USERDEVICE der Name des Handy ist

Rest sollte selbsterklärend dann sein.

EDIT:
Habs auf das event basierte umgestellt, geht gefühlt besser ;)
Ist irgendwie an mir vorbeigegangen, das es so besser geht (weil non blocking ;) Danke !)


defmod NAME PRESENCE event Unifi1:Handy1:.disconnected Unifi1:Handy1:.connected


Ronny

sledge

Zitat von: Wuehler am 21 Januar 2019, 21:15:53
Moin,

Bin mir recht sicher, dass der erste Doppelpunkt durch einen Punkt ersetzt werden muss.
NamedDevice ist OLA. Die Instanz deines UnifiModul heißt bei dir auch Unifi?

Gruß,
Dirk

Muss nicht - aber vermutlich kann.

defmod tom.prs PRESENCE event unificontroller:Moto_Z2_Tom:.disconnected unificontroller:Moto_Z2_Tom:.connected

funktioniert hier einwandfrei.
FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

sledge

Zitat von: rcmcronny am 21 Januar 2019, 22:25:46
Also ich sehe im PRESENCE Modul Commandref nichts , was auf Unifi direkt schliessen lässt , bin ich blind oder nutz ich das falsche :D



Nicht in der Commandref, aber im wiki.
FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

Oliver Lamm

Hi,
danke es hat funktioniert. Ich habe den führenden Doppelpunkt gelassen, also <unify>:<telefon>:.connected ... so klappt es super.

Danke für Eure Hilfe.

Wuehler

Sehr schön, dann funktioniert ist denke ich genau wie im Wiki beschrieben, oder?
Trotzdem die Frage: Was kann man an der Wiki-Beschreibung ändern, damit man sicherer bei der Umsetzung ist?

Oliver Lamm

Hi, ja so wie es im Wiki beschrieben ist funktioniert es.
Ich finde die Schreibweise mit UniFi:NamedDevice:.disconnected etwas unglücklich.

Wenn man es so stehen lässt würde ich zumindest noch den folgenden Satz ergänzen:

Der Platzhalter UniFi ist mit dem Alias des Unify controllers zu ersetzen, der Platzhalter NamedDevice mit dem Namen des Telefons innerhalb des Controllers.

Damit dürfte klarer sein was ersetzt werden muss.

Oli

sledge

Zitat von: Oliver Lamm am 22 Januar 2019, 19:29:38
Hi, ja so wie es im Wiki beschrieben ist funktioniert es.
Ich finde die Schreibweise mit UniFi:NamedDevice:.disconnected etwas unglücklich.

Wenn man es so stehen lässt würde ich zumindest noch den folgenden Satz ergänzen:

Der Platzhalter UniFi ist mit dem Alias des Unify controllers zu ersetzen, der Platzhalter NamedDevice mit dem Namen des Telefons innerhalb des Controllers.

Damit dürfte klarer sein was ersetzt werden muss.

Oli

Dann ändere ich das mal.
FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

Hauswart

Kurze Zwischenfrage an der Stelle, mittels Event werden Geräte im PowerSave-Modus als disconnected angezeigt oder ebenfalls wie bei function-Variante als connected?
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

marvin78

Das Event kommt doch aus dem Reading, dass du auch über function abfragen würdest.

Hauswart

Zitat von: marvin78 am 23 Januar 2019, 07:20:33
Das Event kommt doch aus dem Reading, dass du auch über function abfragen würdest.
Es ist zu früh am Morgen. Habe nur die Wiki-Änderung via Feedly gesehen und dann kam bei mir die Frage auf, dass es bei function explizit dabei steht.

Vlt. sollte man diese Passage nochmal etwas verfeinern?
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

marvin78

Das sind aus meiner Sicht Grundlagen von FHEM, die an anderer Stelle ausreichend erklärt werden. Wenn man es aber ganz eng ziehen möchte, kann man es sicher dabei schreiben.

Wolle02

Ich will mir im Unifi-Device mittels StateFormat den Inhalt der Readings -UC_wlan_state, -UC_wlan_users und -UC_wlan_guests anzeigen lassen. Leider scheint StateFormat mit dem vorangestellten Bindestrich nicht zurecht zu kommen. Es wird mit nur der Name des Readings angezeigt und nicht der Inhalt. Andere Readings ohne vorangestellten Bindestrich funktionieren problemlos.
Kann man die Readings mit vorangestelltem Bindestrich durch irgendwas ersetzen, das mit StateFormat zusammenarbeitet?

Gruß
Wolle

l2r

du könntest ein Userreading bauen, was den Inhalt von -UC_wlan_state, -UC_wlan_users und -UC_wlan_guests beinhaltet und das als State-Format nutzen.

attr fl_GalaxyTab3 userReadings Power {my $powerLevel=ReadingsVal($name, "battery_level", "0");; if( ReadingsVal($name,"power",0) eq 'unplugged') { "$powerLevel% - unplugged"} else { "$powerLevel% - plugged"}}
attr fl_GalaxyTab3 stateFormat Power


so mache ich das zb. um mir Infos über meine Tablets im State anzeigen zu lassen... Die If-Bedingung brauchst du natürlich nicht zu übernehmen ;-)

Gruß Michael
Wissen ist Macht.
Ich weiß nix.
Macht nix.