Autor Thema: Neuer FHEM Befehl "msg" für Benachrichtigungen (Push,Mail,Audio,Light,Screen)  (Gelesen 79766 mal)

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2844
  • ~ Challenging Innovation ~
Antw:Neuer FHEM Befehl "msg" für Benachrichtigungen
« Antwort #15 am: 26 August 2015, 16:45:35 »
Zeilenumbrüche hatte ich aus irgend einem Grund bei Nachrichten!=Mail rausgefiltert, weiß aber grad selbst nicht mehr warum...
Ich nehms mal wieder mit rein.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline l2r

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Neuer FHEM Befehl "msg" für Benachrichtigungen
« Antwort #16 am: 26 August 2015, 17:28:58 »
hi,

bei mir läuft das irgendwie noch nicht.

Person_Anwesend:present.* {
my $AnwesendePersonen = "";

if(Value("iPhone6") eq "present") {$AnwesendePersonen = "-Michael-"};

if if(Value("iPhone6") eq "present") {
fhem("msg push -1 |ANWESENHEIT|Personen Anwesend!({$AnwesendePersonen})");}
}

sprich ich möchte gerne den Wert von $AnwesendePersonen auf in der Push-Meldung haben... klappt aber nicht.
Wissen ist Macht.
Ich weiß nix.
Macht nix.

Offline l2r

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Neuer FHEM Befehl "msg" für Benachrichtigungen
« Antwort #17 am: 26 August 2015, 17:35:36 »
sry... tut doch:

Person_Anwesend:present.* {
my $AnwesendePersonen = "";

if(Value("iPhone6") eq "present") {$AnwesendePersonen = "-Michael-"};

if(Value("iPhone6") eq "present") {
fhem("msg push -1 |ANWESENHEIT| Personen Anwesend!$AnwesendePersonen");}
}
Wissen ist Macht.
Ich weiß nix.
Macht nix.

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2844
  • ~ Challenging Innovation ~
Antw:Neuer FHEM Befehl "msg" für Benachrichtigungen
« Antwort #18 am: 26 August 2015, 22:30:24 »
Ich habe gerade eine neue Version hochgeladen, welche die Follow-Me Funktion enthält.
Sie wird im ersten Post erklärt.


Damit ist eine dynamische Adressierung der Wiedergabe von Audio, Light und Screen Nachrichten abhängig vom Aufenthaltsort möglich (die anderen Typen werden auch dynamisch adressiert, wenn ein Contact-Attribut hinterlegt ist; aber es macht bei Textnachrichten wohl weniger Sinn  ;) ).
Also z.B. kann die Sprachnachricht immer in dem Raum abgespielt werden, in dem ich mich gerade befinde.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline l2r

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Neuer FHEM Befehl "msg" für Benachrichtigungen
« Antwort #19 am: 27 August 2015, 09:06:50 »
hi,

nach dem Update bekommen ich folgende Fehlermeldung:

Scalar found where operator expected at ./FHEM/99_msg.pm line 388, near "$useLocation"
(Missing semicolon on previous line?)

nach setzen des Semikolons scheint es zu laufen
Wissen ist Macht.
Ich weiß nix.
Macht nix.

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2844
  • ~ Challenging Innovation ~
Antw:Neuer FHEM Befehl "msg" für Benachrichtigungen
« Antwort #20 am: 27 August 2015, 10:03:13 »
danke, kommt vor  ;)
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2844
  • ~ Challenging Innovation ~
Antw:Neuer FHEM Befehl "msg" für Benachrichtigungen
« Antwort #21 am: 30 August 2015, 15:25:37 »
Verbesserte Version hochgeladen:


- verbessertes Routing
- verbessertes Logging
- verbesserte Readings
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2844
  • ~ Challenging Innovation ~
Antw:Neuer FHEM Befehl "msg" für Benachrichtigungen
« Antwort #22 am: 15 September 2015, 17:20:28 »
Aktualisierte Version im 1. Post:


- verbessertes Logging
- verbesserte Readings
- Anwesenheitsstatus wird besser berücksichtigt
- forciertes verschicken mit "!" vor Empfänger oder Typ (ignoriert Abwesenheit oder SwitcherDev Status)
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2844
  • ~ Challenging Innovation ~
Antw:Neuer FHEM Befehl "msg" für Benachrichtigungen
« Antwort #23 am: 21 September 2015, 21:35:04 »
Aktualisierte Version:


Support für Or-Definition bei Typen
Mehrere Typen, die gleichzeitig angesprochen werden sollen, werden bisher mit einem Komma getrennt.
Zusätzlich kann man nun weitere Typen mit einer Pipe (|) trennen, um einen alternativen Typ anzugeben, sofern über den ersten Typ die Nachricht nicht erfolgreich verschickt werden konnte. z.B.


msg audio|text @Device Wenn diese Nachricht nicht vorgelesen werden kann, dann wird sie eben per Text zugestellt.


Das lässt sich natürlich auch wieder mit der Und-Definition kombinieren:

msg audio,screen|text @Device Wenn diese Nachricht weder vorgelesen noch auf dem Bildschirm gezeigt werden kann, dann wird sie eben per Text zugestellt.



Support für Or-Definition bei Empfängern

Mehrere Empfänger, die gleichzeitig angesprochen werden sollen, werden bisher mit einem Komma getrennt.
Zusätzlich kann man nun weitere Empfänger mit einer Pipe (|) trennen, um alternative Empfänger anzugeben, sofern die Nachricht an den/die ersten Empfänger nicht zugestellt werden konnte:


msg audio @Device1|@Device2 Wenn Device1 diese Nachricht nicht abspielen kann, dann wird sie eben auf Device2 abgespielt.


Das lässt sich natürlich auch wieder mit der Und-Definition kombinieren:


msg audio @Device1,@Device2|@Device3 Wenn Device1 und Device2 diese Nachricht nicht abspielen kann, dann wird sie eben auf Device3 abgespielt.


Sofern bei der ersten Gruppe niemand erreicht wurde, wird dort auch nicht zu anderen Typen eskaliert. Dies passiert nur, wenn die Nachricht über den definierten Haupttyp erfolgreich zugestellt werden konnte oder es sich aber um den allerletzten Empfänger in der Gesamtliste handelt. Letzteres stellt sicher, dass alles unternommen wurde, um die Nachricht irgendwie zuzustellen.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2844
  • ~ Challenging Innovation ~
Antw:Neuer FHEM Befehl "msg" für Benachrichtigungen
« Antwort #24 am: 24 September 2015, 14:29:08 »

Ich denke wir nähern uns einer Version 1.0, die Liste der Todos wird kürzer  ;)

Aktualisierte Version ab sofort im Contrib-Ordner per SVN:


- diverse Bugfixes
- or-Unterstützung für msgContact* Attribute
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2844
  • ~ Challenging Innovation ~
Antw:Neuer FHEM Befehl "msg" für Benachrichtigungen
« Antwort #25 am: 06 Oktober 2015, 11:14:58 »
Aktualisierte Version ins SVN eingecheckt:


- Steuerung diverser Thresholds über Attribute
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2844
  • ~ Challenging Innovation ~
Antw:Neuer FHEM Befehl "msg" für Benachrichtigungen
« Antwort #26 am: 13 Oktober 2015, 00:25:42 »
Aktualisierte Version ins SVN eingecheckt:


1. Erweiterte Parameter Kontrolle: es können jetzt an alle Module auch individuelle Parameter übergeben werden. Dazu am Ende der Nachricht ein JSON der folgenden Form anhängen:
O[{"VARNAME":"value"}]

Der Variablenname unterscheidet sich dabei von Modul zu Modul. In userattr msgCmd* können auch eigene Variablen genutzt werden, also z.B. %VARNAME% um bei dem Beispiel gerade zu bleiben.
In der Schema Datenbank bereits bekannte FHEM Module haben für die Steuerung ihrer Parameter bereits Variablen hinterlegt (siehe nächster Punkt).
Für die Nutzung erweiterter Parameter muss zwingend Perl::JSON installiert sein, ansonsten werden die Parameter ignoriert.

2. Vorbereitung für FHEM Schema Datenbank:
Für jedes FHEM Modul kann über ein Schema die genaue Syntax hinterlegt werden.
Für die bisherigen Module SONOS, HUE, ENIGMA2 und Pushover sind wie gehabt die Definitionen vorhanden. Aktuell ist die Datenbank noch Teil der Datei 99_msg.pm ($cmdSchema), sie wird jedoch zukünftig in eine eigene Datei ausgelagert, um dort besser gepflegt werden zu können und gleichzeitig von anderen FHEM Modulautoren erweitert zu werden und so eine direkte Zusammenarbeit mit dem msg-Befehl zu ermöglichen.
« Letzte Änderung: 13 Oktober 2015, 00:27:28 von Loredo »
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline FunkOdyssey

  • Hero Member
  • *****
  • Beiträge: 1193
Antw:Neuer FHEM Befehl "msg" für Benachrichtigungen
« Antwort #27 am: 13 Oktober 2015, 12:10:18 »
Für die Push-Nachrichten ist ja derzeit anscheinend 'Pushover' aufgenommen worden.
Ist geplant, dein Modul um andere/weitere Push-Dienste zu erweitern?
Ich selbst nutze 'Fhemapppush' in FHEM, welches durch die 'FHEM App' angeboten wird.
FHEM@RasPi

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2844
  • ~ Challenging Innovation ~
Antw:Neuer FHEM Befehl "msg" für Benachrichtigungen
« Antwort #28 am: 13 Oktober 2015, 12:58:01 »
Es ist vorgesehen, dass jeder Modulautor die Schema-Datenbank für sein Modul erweitern kann (vorzugsweise nach kurzer Rücksprache, damit es auch richtig eingebunden ist). Ich werde noch einige Module selbst hinzufügen, möchte aber nicht alle verfügbaren Module daraufhin durchgehen, ob sie irgendwelche Benachrichtigungsmöglichkeiten haben.


Endnutzer können auch jetzt schon jedes Modul verwenden. Dafür sind die Attribute msgCmd* gedacht. Dort kann man das zu nutzende Befehls-Schema genauso hinterlegen. Auch ist es dafür gedacht, falls man aus irgend einem Grund mit dem Standardschema nicht weiterkommt oder man sich die Angabe von Optionen über O[{"VAR":"VAL"}] sparen möchte.
Dabei sei nochmals erwähnt, dass man das msgCmd Attribut nicht nur global setzen kann, sondern es auch per userattr direkt einem Gateway Device zuweisen kann. Jeden FHEM Device kann man somit dann individuell ein Benachrichtigungs-Schema zuweisen. Ist das Schema einmal definiert, kann man den msg-Befehl überall in gleicher Art und Weise verwenden (eben mit Ausnahme der Optionen, die dann eben nur bei den Modulen berücksichtigt werden können, welche diese Option auch unterstützen bzw. in deren Schema-Definition diese auch verwendet werden).


Die Möglichkeiten sind inzwischen so vielseitig und komplex, dass es mir schon davor graut das alles einmal zu dokumentieren.
Glücklicherweise ist alles eher nach dem Motto "alles kann, nichts muss" definiert. Wer also nichts einstellen möchte, kann auch bereits ganz zu Anfang eine sehr große Bandbreite an Funktionen nutzen. Erst wer dann spezielle Anforderungen hat muss sich genauer mit der Materie befassen.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline FunkOdyssey

  • Hero Member
  • *****
  • Beiträge: 1193
Antw:Neuer FHEM Befehl "msg" für Benachrichtigungen
« Antwort #29 am: 13 Oktober 2015, 13:26:28 »
Wow. Klingt gut. Kling vielversprechend.
FHEM@RasPi