verschiedene Dummys/Notifys für verschiedene Personen

Begonnen von Fhemschorsch, 30 November 2016, 21:45:34

Vorheriges Thema - Nächstes Thema

Fhemschorsch

Hallo,

dank Eurer Hilfe und der wirklich guten Doku bin ich nun seit ca einem Jahr zufriedener fhem-Nutzer und schätze das sehr flexible System. Mein Code in der fhem.cfg ist wahrscheinlich ne fiese Coding-Wurst, aber ich liebe ihn trotzdem  ;).

Mein Interface von fhem zum Handy ist derzeit telegram, weil es wirklich toll funktioniert und man komfortabel Bilder übertragen sowie Befehle zurücksenden kann.

Ich habe z.B. vor den Kinderzimmern einen Bewegungsmeldern, der - wenn man einen Schalter aktiviert - jede Bewegung vor den Zimmern per telegram meldet. Derzeit sieht es so aus:

#Bewegungsmeldervariable
define Bewegung dummy
attr Bewegung fhem_widget_command {"allowed_values":["off","on"],"filter":"public","alias":"Bewegung"}
attr Bewegung genericDeviceType switch
attr Bewegung room digital
attr Bewegung setList on off

#Push bei Bewegung des Bewegungsmelders
define Bewegung.notify notify HM_3D273F:motion ;; {if (Value("Bewegung") eq "on") { fhem("set telegram_ted send \@0000001 \@0000002  🏃🏻Bewegung erkannt!") }}


Das funktioniert soweit ganz toll, aber das notify schickt immer 2 Nachrichten, sobald das Dummy aktiv ist und eine Bewegung registriert ist.

Wenn ich das jetzt auftrenne, dass meine Frau und ich jeweils ein getrenntes Dummy bekommen und je nach Zustand auch nur bei demjenigen, der das Dummy aktiv gesetzt hat, eine Nachricht kommt, würde ich ja alles doppeln. Das wäre für dieses eine Beispiel wohl nicht weiter schlimm, aber ich habe ja noch einen Haufen mehr Dummys und Notifys, die teilweise mehrere Aktionen ausführen:

Das Dummy Urlaub, meldet mit bestimmt 10 Notifys, wenn irgend ein Tür- / Fensterkontakt geöffnet wird, immer eine Nachricht pro Notify + manchmal noch ein Webcambild dazu. Darüberhinaus kann ich mir die Webcam-Bilder per manueller Dummy-Auslösung auch per Telegram schicken lassen. Und in diesen Dummys stehen jetzt immer beide Empfänger für Telegram drin.

Ist da die einzige Lösung das komplette Doppeln des Codes oder gibt es irgend eine elegante Möglichkeit, wie ich eine Variable aus dem ursprünglichen Dummy mit weiterübergeben kann, so dass ich alle Folgeaktionen / Notifys / ... nur einmal habe? Vielleicht lohnt sich das bei (derzeit) 2 Personen ja auch gar nicht, aber wenn irgendwann mein Sohn fordert, den Status seiner Rollos oder seiner Heizung von unterwegs abzufragen...

Ich hoffe, Ihr versteht mein Anliegen, ich habe selbst Probleme, es überhaupt zu formulieren.



dev0

In der notify Dokumentation ist beschrieben, dass es diverse Variablen gibt, die man benutzen kann. z.B. $EVENT, $NAME, $TYPE, ...
Du findest im Wiki und im Forum massenhaft Beispiele dazu. Ein paar Perlkenntnisse sind aber Grundvoraussetzung um damit umgehen zu können, wenn Du nicht nur abtippen möchtest.

Einen einfachen Einstieg in Perl findest Du z.B. hier: https://wiki.selfhtml.org/wiki/Perl
FHEM Perl Specials in der Commandref: http://fhem.de/commandref.html#perl
Details zu Perl schaue ich meistens hier nach: http://perldoc.perl.org/