FHEM Forum

FHEM => Automatisierung => Thema gestartet von: mkoerner am 08 Dezember 2015, 15:34:58

Titel: Notify mit && Verküpfungen
Beitrag von: mkoerner am 08 Dezember 2015, 15:34:58
Hallo zusammen,

ich bin hier gerade neu mit dem Thema FHEM und versuche mich am Anfang mit dem automatisierten Schalten meines WLAN´s im Haus.
Folgender Aufbau:
1. RaspberryPI auf dem FHEM läuft
2. FritzBoxCable 6360 Cable als zentraler Access Point
3. 2mal FritzRepeater 1750E
Um bei allen 3 AVM-Geräten das WLAN gleichzeitig ein und ausschalten zu können habe ich eine Gruppe allWLAN angelegt. Darüber das WLN komplett aus- und einzuschalten funktionoert perfekt.
Nun will ich aber, wenn kein WLAN-Gerät mehr im Haus ist (konkret alle Handys und Tablet) das WLAN ausschalten.
Für die Handys habe ich je ein Gerät vom Typ PRESENT angelegt, die mit lan-ping abgefragt werden.
Dazu habe ich einen Notifier WLANOff angelegt.
Der soll nun darauf reagieren, daß alle Handys weg sind und dann das WLAN ausschalten.
Unter DEF steht nun also:
Handy1:absent.*&&Handy2:absent.*&&Handy3:absent.* set allWlan wlan off
Leider reagiert das überhaupt gar nicht. Selbst wenn alle Geräte absent sind, wird das WLAN nicht abgeschaltet.
Einer eine Idee an was das liegen könnte?

Danke

Mathias
Titel: Antw:Notify mit && Verküpfungen
Beitrag von: CoolTux am 08 Dezember 2015, 15:48:40
Hallo und Willkommen,

Zur besseren Einarbeitung empfehle ich Dir das Einsteiger PDF
http://forum.fhem.de/index.php/topic,19621.0.html (http://forum.fhem.de/index.php/topic,19621.0.html)

Hier gibt es noch einige Tips
http://forum.fhem.de/index.php/topic,16311.0.html (http://forum.fhem.de/index.php/topic,16311.0.html)




Grüße

PS: Noch ein kleiner Tip. Du willst anscheinend nach Süden mit Deinem Notify, fliegst aber volle Kanne Richtung Norden mit der jetzigen Lösung.
Titel: Antw:Notify mit && Verküpfungen
Beitrag von: mkoerner am 08 Dezember 2015, 16:03:06
Hallo CoolTux,

schön, daß Du so schnell antwortest, allerdings waren meine Fragen keine Fragen, die mit Allgemeinplätzen zu beantworten sind. :-(
Das PDF war das Erste, was ich mir zu dem Thema angelesen habe.
Auch Dein zweiter Verweis hilft mir hier nicht weiter.
Glaube mir, daß ich eine Frage erst dann stelle, wenn ich keine Antwort finde. Dafür bin ich selbst schon lange genug Programmierer.
Und auf diese Frage habe ich bisher keine sinnvolle Antwort gefunden.
Leider kann ich mit Deinem PS auch nichts anfangen. Was soll das bedeuten?
Also bitte sinnvolle Antworten.

Danke

Mathias
Titel: Antw:Notify mit && Verküpfungen
Beitrag von: CoolTux am 08 Dezember 2015, 16:10:50
Wenn das Dein Notify ist

Handy1:absent.*&&Handy2:absent.*&&Handy3:absent.* set allWlan wlan off

dann hast Du definitiv nichts zu notify gelesen.

Ich würde Dir empfehlen für Dein Vorhaben entweder Residents und Roommate oder Du machst aus Deinen Handys eine structure und triggerst das notify auf deine structure.


Grüße
Titel: Antw:Notify mit && Verküpfungen
Beitrag von: mkoerner am 08 Dezember 2015, 16:22:10
Hallo CoolTux,

danke für die Antwort.
Das mit der Struktur habe ich versucht, aber das hatte ich entweder nicht verstanden oder es funktioniert tatsächlich nur so,
daß wenn eines der Handys auf absent ist die ganze Struktur absent ist.
Ich wollte aber erst ausschalten wenn alle Handys absent sind.
Ich hatte im notify auch verschiedene Optionen mit Klammerung und ohne Klammerung versucht, aber es hat nichts funktioniert.
Ein zweiter notify, der das WLAN nachts abschaltet, wenn der SmartTV aus ist funktioniert hingegen:

SmartTV:DISCONNECTED.*
{my $hm = sprintf("%02d:%02d", $hour, $min);
if ($hm gt "22:30") {fhem ("set allWlan wlan off") }}

Das funktioniert absolut perfekt und so etwas ähnliches wollte ich mit den Handys ausprobieren.
Ich glaube schon, daß ich an der Stelle den notify verstanden habe  ;)

Gruß

Mathias
Titel: Antw:Notify mit && Verküpfungen
Beitrag von: viegener am 08 Dezember 2015, 16:27:42
Die Aussage, dass Du den notify-Befehl nicht wirklich angeschaut hast würde ich unterschreiben, aber um Dir Hilfestellung zu geben, es gibt im notify kein && für die Events ...

Titel: Antw:Notify mit && Verküpfungen
Beitrag von: CoolTux am 08 Dezember 2015, 16:28:08
Der Status einer Struktur hängt von den Stati der zugefügten Devices ab. Dabei wird das propagieren der Stati der Devices in zwei Gruppen klassifiziert und mittels diesem Attribut definiert:

    absolute
    Die Struktur wird erst dann den Status der zugefügten Devices annehmen, wenn alle Devices einen identischen Status vorweisen. Bei unterschiedlichen Devictypen kann dies per Attribut <struct_type>_map pro Device beinflusst werden. Andernfalls hat die Struktur den Status "undefined".
Titel: Antw:Notify mit && Verküpfungen
Beitrag von: viegener am 08 Dezember 2015, 16:29:37
Achso und der zweite Hinweis bezog sich wohl auch darauf, wo das Post besser aufgehoben wäre --> Anfängerfragen...
Titel: Antw:Notify mit && Verküpfungen
Beitrag von: mkoerner am 08 Dezember 2015, 16:39:44
Hallo zusammen,

danke für die Antworten.
Zitat von: viegener am 08 Dezember 2015, 16:27:42
Die Aussage, dass Du den notify-Befehl nicht wirklich angeschaut hast würde ich unterschreiben, aber um Dir Hilfestellung zu geben, es gibt im notify kein && für die Events ...
Das habe ich wohl übersehen bzw. gerade nochmal nachgelesen. Das steht zumindest nicht im PDF oder auch nicht im commandref. Ausserdem funktionert ein ODER sehr wohl. strange.

Zitat von: CoolTux am 08 Dezember 2015, 16:28:08
Der Status einer Struktur hängt von den Stati der zugefügten Devices ab. Dabei wird das propagieren der Stati der Devices in zwei Gruppen klassifiziert und mittels diesem Attribut definiert:

    absolute
    Die Struktur wird erst dann den Status der zugefügten Devices annehmen, wenn alle Devices einen identischen Status vorweisen. Bei unterschiedlichen Devictypen kann dies per Attribut <struct_type>_map pro Device beinflusst werden. Andernfalls hat die Struktur den Status "undefined".
Danke für die Definition. Ich denke das löst genau mein Problem.
Das werde ich später direkt testen.

Zitat von: viegener am 08 Dezember 2015, 16:29:37
Achso und der zweite Hinweis bezog sich wohl auch darauf, wo das Post besser aufgehoben wäre --> Anfängerfragen...
Das hatte ich mir zuerst auch überlegt, aber dann mich nicht direkt da dirn gefunden. Ausserdem behandelt dieses Forum doch auch genau das Thema "notify", oder nicht?

Vielen Dank,

Mathias
Titel: Antw:Notify mit && Verküpfungen
Beitrag von: frank am 08 Dezember 2015, 16:40:58
Zitat, aber um Dir Hilfestellung zu geben, es gibt im notify kein && für die Events ...
wenn man verstanden hat, was events sind, dann braucht man auch grundsätzlich nicht nach einer und-verknüpfung von events fragen. ohne verständnis der events wird man mit fhem nicht glücklich werden.
Titel: Antw:Notify mit && Verküpfungen
Beitrag von: mkoerner am 08 Dezember 2015, 16:42:33
Zitat von: frank am 08 Dezember 2015, 16:40:58
wenn man verstanden hat, was events sind, dann braucht man auch grundsätzlich nicht nach einer und-verknüpfung von events fragen. ohne verständnis der events wird man mit fhem nicht glücklich werden.

Mit Nachdenken kommt da auch drauf, stimmt. Wundert mich aber dann trotzdem, daß mehrere Events mit | verknüpft werden können.
Titel: Antw:Notify mit && Verküpfungen
Beitrag von: CoolTux am 08 Dezember 2015, 16:45:30
Zitat von: mkoerner am 08 Dezember 2015, 16:39:44
Ausserdem funktionert ein ODER sehr wohl. strange.

Das hat mit ODER im klassichen Sinn nichts zu tun. Das ist keine ODER Bedingung sondern ein RegEx welches halt auf alles anspricht welches dem String enthält.


define WLANOF notify Handy1|Handy2|Handy3:absent set WLAN off
Titel: Antw:Notify mit && Verküpfungen
Beitrag von: mkoerner am 08 Dezember 2015, 16:48:09
Zitat von: CoolTux am 08 Dezember 2015, 16:45:30
Das hat mit ODER im klassichen Sinn nichts zu tun. Das ist keine ODER Bedingung sondern ein RegEx welches halt auf alles anspricht welches dem String enthält.


define WLANOF notify Handy1|Handy2|Handy3:absent set WLAN off


Aha, danke für die Erklärung,
Dann muß ich wohl noch etwas mehr zum RegEx lesen.
Danke.
Titel: Antw:Notify mit && Verküpfungen
Beitrag von: frank am 08 Dezember 2015, 16:50:35
events sind ereignisse/trigger zu bestimmten zeitpunkten. siehe eventmonitor.
notifys lauschen auf diese events und werden ausgeführt, wenn ein event auf die regex vom notify passt.
die events kommen grundsätzlich nacheinander. da es keine gleichzeitigen events gibt, macht die und-verknüpfung gar keinen sinn.
aber eine oder-verknüpfung lässt das notify auf mehrere verschiedene events reagieren.