FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: mcbo am 02 Oktober 2014, 22:14:40

Titel: notify - Verständnisfrage
Beitrag von: mcbo am 02 Oktober 2014, 22:14:40
Hi,

ich habe ein kleines notify Verständnis-Problem  ::)

Ich möchte mein Garagentor überwachen und eine Push-Warnung versenden,
wenn es offen steht und kein Handy über BT erkannt wird.

Dafür habe ich folgende dummy Variablen mit folgenden Zuständen:

- Garage_Tor_Status (auf/mitte/zu)
- presence_iPhone_Marcel (absent/present)

folgendes notify habe ich erstellt:
Zitatdefine GarageToristoffenPush notify presence_iPhone_Marcel:absent { if (Value("Garage_Tor_Status") ne "zu") {system('sudo /usr/local/bin/./prowl.sh Achtung_die_Garage_ist_nicht_verschlossen_!!!');;}}

Das funktioniert, wenn ich das Garagentor offen habe und BT abschalte / mich aus dem BT-Bereich entferne, sehr gut.
Dann erhalte ich sofort eine Pushmeldung.

Wenn ich aber das Garagentor mit abgeschalteten Bluetooth, vom geschlossennen Zustand öffne,
erhalte ich keine Push-Nachricht.

Sind die 2 Bedingungen nicht mit "Und" verknüpft?
Funktioniert das nur in eine Richtung?


Gruß

Marcel




Titel: Antw:notify - Verständnisfrage
Beitrag von: Puschel74 am 03 Oktober 2014, 07:37:01
Hallo,

so wie es bei notify üblich ist wird es nur getriggert wenn das regexp ausgelöst - in deinem Fall wenn du absent gehst.
Sonst macht das notify nichts.

Grüße

Edith: Aber wie schon beschrieben
http://forum.fhem.de/index.php/topic,16311.0.html (http://forum.fhem.de/index.php/topic,16311.0.html)
lässt auch du uns ein Stück im Dunkeln tappen weil du deine Presencedefinition als streng geheim einstufst und wir daher die Attribute nicht zu sehen bekommen - vermutlich hast du dort ein event-on-change-reading gesetzt sonst würdest du jedesmal eine Nachricht bekommen solange die tür nicht zu ist.
In Zukunft, bei solchen Fragen, wäre es sehr nett von dir wenn du uns hilfst dir zu helfen und ALLE benötigten Definitionen die zu deinem Code gehören postest - siehe verlinkter Beitrag.

Edith2: Ich hab dir hier was rausgesucht: http://fhem.de/commandref_DE.html#notify (http://fhem.de/commandref_DE.html#notify) aber die commandref als Anlaufstelle kennst du sicher schon und hast dir das dort sicher bereits durchgelesen.
Titel: Antw:notify - Verständnisfrage
Beitrag von: mcbo am 03 Oktober 2014, 12:03:04
Hi,

Zitatweil du deine Presencedefinition als streng geheim einstufst

Nix geheim,ich wollte nur nicht meine ganze fhem.cfg posten.

Zitatdefine presence_iPhone_Marcel PRESENCE local-bluetooth XX:XX:XX:XX:XX:XX 10 60
attr presence_iPhone_Marcel alias Marcel iPhone
attr presence_iPhone_Marcel devStateIcon present:it_smartphone_M@green absent:it_smartphone_M@red
attr presence_iPhone_Marcel event-on-change-reading state
attr presence_iPhone_Marcel fm_type presence-icon

define <name> notify <Suchmuster> <Anweisung>

Also triggert notify immer nur das Suchmuster?
Die Bedingung im Perl-Code, wird nach dem Trigger abgefragt?

Also müsste ich mir für den Fall  "Das Tor wird geöffnet in Abwesendheit" ein zweites notify bauen?
Hier dann als Suchmuster der Torstatus und in der Perlanweisung eine Abfrage, ob jemand Zuhause ist?


Gruß

Marcel
Titel: Antw:notify - Verständnisfrage
Beitrag von: Hollo am 03 Oktober 2014, 14:15:19
Vielleicht mal ein Alternativvorschlag...

Du könntest das notify "umdrehen"; also auf das Öffnen des Garagentores reagieren, auf Deine Anwesenheit prüfen, und dann jeweils reagieren!?
Evtl. ein 2. notify wenn Du gehst, dass eine Mitteilung schickt, wenn bestimmte Sachen noch offen sind.
Titel: Antw:notify - Verständnisfrage
Beitrag von: Puschel74 am 03 Oktober 2014, 14:17:09
Hallo,

du sollst auch nicht deine gesamte konfig posten - aber der relevante teil wäre durchaus lesenswert  ;)

ZitatAlso triggert notify immer nur das Suchmuster?
Nein.
Das notify wurde DURCH das Suchmuster getriggert.

Du musst dir aber kein zweites notify bauen - du kannst das Suchmuster auf mehrere Geräte und ihre Events erweitern:
(EG_Terrasse|Wetterstation_Eingang):temperature.* {
Hier habe ich 2 Geräte die als Event (Reading) temperature haben - egal welches von beiden auslöst wird das notify getriggert.
Das lässt sich so
(EG_Terrasse|Wetterstation_Eingang):(temperature|temp).*
erweitern sollte eines der beiden Geräte als Event nur temp liefern.

Grüße
Titel: Antw:notify - Verständnisfrage
Beitrag von: Damian am 03 Oktober 2014, 18:02:44
Zitat von: mcbo am 02 Oktober 2014, 22:14:40
Hi,

ich habe ein kleines notify Verständnis-Problem  ::)

Ich möchte mein Garagentor überwachen und eine Push-Warnung versenden,
wenn es offen steht und kein Handy über BT erkannt wird.

Dafür habe ich folgende dummy Variablen mit folgenden Zuständen:

- Garage_Tor_Status (auf/mitte/zu)
- presence_iPhone_Marcel (absent/present)

folgendes notify habe ich erstellt:
Das funktioniert, wenn ich das Garagentor offen habe und BT abschalte / mich aus dem BT-Bereich entferne, sehr gut.
Dann erhalte ich sofort eine Pushmeldung.

Wenn ich aber das Garagentor mit abgeschalteten Bluetooth, vom geschlossennen Zustand öffne,
erhalte ich keine Push-Nachricht.

Sind die 2 Bedingungen nicht mit "Und" verknüpft?
Funktioniert das nur in eine Richtung?


Gruß

Marcel

Probier mal:

define di_GarageToristoffenPush DOIF ([Garage_Tor_Status] ne "zu" and [presence_iPhone_Marcel] eq "absent")
({system('sudo /usr/local/bin/./prowl.sh Achtung_die_Garage_ist_nicht_verschlossen_!!!')})


Hier wird beides funktionieren, egal in welcher Reihenfolge die Zustände wechseln.

Gruß

Damian
Titel: Antw:notify - Verständnisfrage
Beitrag von: mcbo am 04 Oktober 2014, 08:07:43
@Damian

Funktioniert mit dem DOIF !!!

Super Modul !!!


Sent from my iPhone using Tapatalk
Titel: Antw:notify - Verständnisfrage
Beitrag von: Puschel74 am 04 Oktober 2014, 16:22:58
Hallo,

dann auch hier bitte - dem Titel ein Gelöst vorne dran damit die nächsten sehen das es hier eine Lösung zu finden gibt.
Ganz elegant wäre es wenn, wie im angepinnte Beitrag beschrieben, die Lösung auch im ersten Post eingetragen werden würde.
Danke.

Grüße

P.S.: Alle sagen sie haben den angepinnten Beitrag gelesen aber anscheinend hat ihn niemand verstanden  :o