Neuer FHEM Befehl "msg" für Benachrichtigungen (Push,Mail,Audio,Light,Screen)

Begonnen von Loredo, 13 August 2015, 19:31:07

Vorheriges Thema - Nächstes Thema

Panik

Hallo,

wie gestalte ich es denn, um einen msg-push mittels pushover an ein bestimmtes Pushover-Device zu senden? Melodieart auch?

gesendet:

msg text 0 |Meldung| Das ist ein Test von M S G ! 'htconex' 0 'mechanical'


Logfile:
msg globalMsg: ID=000000000000 TYPE=push ROUTE=MyPushover STATUS=OK PRIORITY=0 TITLE='Meldung' MSG='Das ist ein Test von M S G ! 'htconex' 0 'mechanical''
Raspberry3+,  CUL USB V3 mit V 1.66 CUL868, TRXRFX433, HM-MOD-UART, Phoscon-GW

Yil

Hi,

das ist ein tolles Modul - tatsächlich aber ist der Thread hier echt unübersichtlich, und daher möchte ich das Thema "fehlende Doku" nochmal ansprechen. In der Commandref finde ich nichts, und "msg help" ist auch nicht wirklich ergiebig.

Gerade für Leute, die das Modul zügig zum Laufen bringen und die nicht stundenlang irgendwelche Threads lesen oder selbst basteln wollen, wäre eine Einsteiger-Doku sinnvoll. Hierbei sollten die Attribute von globalMsg  beschrieben werden, die für eine funktionierende Basis eingerichtet werden sollten.

Und dann wäre es schön, wenn die Doku mit ein paar Beispielen abschließt, die mit der Basiseinrichtung machbar sind.

VG Yil
HM CCU3 und HCU mit ca. 50 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth,
HUE, UniFi

l2r

was fehlt dir denn im ersten Post um das Modul zum laufen zu bringen? Ich kam damit bisher immer sehr gut klar
Wissen ist Macht.
Ich weiß nix.
Macht nix.

Yil

Also, grundsätzlich kann ich über den msg-Befehl email, Push (Pushover sowie Telegram) und Audio zum Laufen bringen. Das Roommate-Modul nutze ich allerdings nicht und brauche es auch nicht.

Das ist meine Einrichtung bisher:
Internals:
   CFGFN
   NAME       globalMsg
   NR         2775
   STATE      1
   TYPE       msgConfig
   Readings:
     2016-11-16 16:05:20   fhemMsgAudio    Testnachricht!
     2016-11-16 16:05:20   fhemMsgAudioGw   Sonos_Esszimmer:OK
     2016-11-16 16:05:20   fhemMsgAudioPrio 0
     2016-11-16 16:05:20   fhemMsgAudioState 1
     2016-11-16 16:05:20   fhemMsgAudioTitle Bell-sound-magical
     2016-11-16 15:54:27   fhemMsgMail     Nachrichtentext
     2016-11-16 15:54:27   fhemMsgMailGw    xxx@gmx.de:OK
     2016-11-16 15:54:27   fhemMsgMailPrio 0
     2016-11-16 15:54:27   fhemMsgMailState 1
     2016-11-16 15:54:27   fhemMsgMailTitle Test Titel
     2016-11-16 16:02:52   fhemMsgPush     Nachrichtentext
     2016-11-16 16:02:52   fhemMsgPushGw    Telegram-Device:@xxx:OK
     2016-11-16 16:02:52   fhemMsgPushPrio 0
     2016-11-16 16:02:52   fhemMsgPushState 1
     2016-11-16 16:02:52   fhemMsgPushTitle Test Titel
     2016-11-16 16:05:20   fhemMsgState    1
     2016-11-16 16:05:20   fhemMsgStateTypes audio:1
Attributes:
   alias      Global Messaging
   comment    FHEM Global Configuration for command 'msg'
   devStateIcon 1:it_network@green
   devStateStyle style="text-align:right;"
   group      Kommunikation
   msgCmdMail {DebianMail('%DEVICE%','%TITLE%','%MSG%')}
   msgContactAudio Sonos_Esszimmer
   msgContactLight Osram09
   msgContactMail xxx@gmx.de
   msgContactPush Telegram-Device:@xxx
   room       Zentral
   stateFormat fhemMsgState
   verbose    3


Dabei funktionieren folgende Befehle bei mir:

msg |Test Titel| Nachrichtentext -> sendet eine eMail sowie ein Telegram

Allerdings erzeugt es zahlreiche Fehlerwiederholungen von:
PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4636.

Außerdem funktioniert die Audio-Ausgabe:
msg audio |Bell-sound-magical| Testnachricht! O[{"VOLUME":15}] -> lässt den Nachrichtentext an einer vorgewählten Sonos-Bos erklingen

Was mir fehlt, ist eine Prioritätensteuerung - wie stelle ich ein, wann welcher Befehl wo ausgegeben wird? In meiner "Welt" ist die Eskalation Audio-Push-eMail. Licht-Signale brauche ich eigentlich nicht, ebenbso den Pushover-Dienst auch niucht - den habe ich zugunsten des telegram-Dienbstes abgeschaltet. Lieber wäre mir WhatsApp, aber die mögen es nicht, wenn der device automatisch beschickt wird und haben mich abgeschaltet  ::). Melodien gehen nicht - wie würde ich die aktivieren?

Auch bin ich nicht sicher, ob die gewählte Einstellung der Attribute richtig ist - sie ist eher das Ergebnis von Trial & Error ...

Kannst Du bei den Fragen helfen?
HM CCU3 und HCU mit ca. 50 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth,
HUE, UniFi

Panik

Hallo,

ich muss mich bezüglich fehlender Beschreibung mal anschließen.
Irgendwie kann ich es ja verstehen, daß erst mal eine neue Funktion kreiert wird und
erfahrenen Testern vorgestellt wird, um Verbesserungen daran zu erarbeiten.

Momentan sehe ich es aber grundsätzlich als abgeschlossen, daß der msg Befehl
nützlich ist und nun auch etliche Anwendungen abdeckt.

Warum fehlt dann trotzdem noch eine  Beschreibung (80%-Erfüllungsstatus wäre schon prima)?

Mir würden auch sortierte hilfreich Beispiele genügen, an denen man sich orientieren kann - DOIF macht es vor!
Es ist sehr mühsam, aus den 13 Seiten funktionierende, nicht bestätigte Beispiele herauszufiltern ...

Ich finde es sehr widersprüchlich, einen Funktion zu erstellen, die Erleichterungen schaffen soll - aber bitte nur für Leute
die verstehen, was der Ersteller zu übermitteln versucht.

Dann bleibe ich als mäßig Fortgeschrittener doch lieber bei den "komplizierten" Anweisungen, welche abgelöst werden sollten,
die ich aber verstehe.

PS.: Vielleicht findet sich doch noch jemand, der mir mal die oben stehende Frage beantworten kann ...)

Danke!




Raspberry3+,  CUL USB V3 mit V 1.66 CUL868, TRXRFX433, HM-MOD-UART, Phoscon-GW

CoolTux

https://forum.fhem.de/index.php/topic,39983.msg477357/topicseen.html#msg477357

Auch wenn ich wegen der fehlende Doku zu Stimme. Das hier hat mich 3 Sekunden gekostet um es über die Suche zu finden.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Panik

Hallo CoolTux

Danke für die Rückmeldung, aber 3 Sek - das ist geflunkert ;)

An der Stelle bin ich auch schon hängen geblieben, konnte es aber nicht recht glauben.
Was ist an

msg @PushoverDevice |Betreffzeile2| Diese Nachricht soll nur an das iPhone eines speziellen Users ungleich des Standard-Users geschickt werden O[{"RECIPIENT":"u2asdfghjklqwertzuiopyxcvbnmac:iPhone"}]


so viel einfacher, als es gleich selber kürzer und vollumfänglich an Pushover zu senden?

Da ich ja noch den AppToken mitsenden muss habe ich ja gerade die erworbene Nützlichkeit des msg-Kommandos wieder verloren!
Und die Mitgabe der Soundart ist immer noch nicht gegeben

Ich fände es es daher gescheiter, in dem @PushoverDevice weitere Push-Unterdevices anlegen zu können (iPhone,Samsung_Karl, htconex, usw) , wobei das erste zum Default wird und dann so sende:

msg @PushoverDevice |Betreffzeile2| Diese Nachricht soll definierte User/Endgeräte mit bestimmten Alarmton geschickt werden O[{"RECIPIENT":"msgPushSubDev1|msgPushSubDev2":"SOUND":"mechanical"}]


Mal noch kurze Fragen: Warum steht die Prioritäten-Null so am Ende der Nachricht.
Warum wird sie nicht als Teil der Nachricht erkannt.
Was, wenn ich tatsächlich mal eine "0" im Text habe. Wird diese dann fälschlich als Priorität definiert/erkannt?

Raspberry3+,  CUL USB V3 mit V 1.66 CUL868, TRXRFX433, HM-MOD-UART, Phoscon-GW

CoolTux

Ich denke es ginge dem Modulauthor nicht darum die Befehlsketten der einzelnen Modulbefehle zu vereinfachen, sondern um das Zusammenspiel dieser. Darum nach Prioritäten entsprechende Dienste/Benachrichtigungen zu versenden und Automatisiert zu erkennen. Da kann es auch mal komplexer werden.
Es ist ja schlau, nicht das ganze Haus zusammen zu schreien über das Sounsystem, sondern eine Nachricht zu senden.

@Yil
Da hilft auch keine Negativ Bewertung. Meine Meinung steht!

@All
Jeder hat die Möglichkeit selbst zu entscheiden ob er den Befehl wählt oder nicht.
Ich finde einen Modulauthor welcher freiwillig in seiner freien Zeit etwas für uns macht zu kritisieren, und einige Texte hier sind nah an der Kritik, ist gelinde gesagt nicht Hilfreich. Ideen, Verbesserungsvorschläge oder sogar Code ist da schon hilfreicher.
Warum hat noch keiner von Euch einen Wikieintrag gemacht um alle Informationen zusammen zu tragen? Ein Wikieintrag kann jeder machen. Statt dessen wird nur genörgelt.


LG
Leon
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

l2r

@panik: ich nutze unter anderem RESIDENTS und ROOMMATES  und hab auch die ein oder anderen Attribute gesetzt.

somit kann ich einfach sagen:

msg push @rr_Michael |Titel| Text

somit bekomme ich eine Nachricht über mein Zentral defniniertes Pushover device. Ob das jetzt Pushover oder Telegram oder weiß der Geier was ist, ist ja erstmal egal. Es kommt an. und wenn ich die Übertragungsmethode ändern möchte, dann mach ich das an einer Stelle und nicht an jeder Stelle im Code an der eine Push-Nachricht gesendet wird.

Das ist in erster Linie der Hauptvorteil von dem msg-Modul.

Dann kommen die bequemen Sachen wie follow me usw.

@Yil: mit Priorisierung habe ich mich noch nicht intensiv beschäftigt, ich werde mir das heute abend mal ansehen und mich dann nochmal melden.

Ansonsten simmte ich @CoolTux voll und ganz zu

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

Loredo

Die Advanced Options sind dem Namen nach optional, mit den Attributen geht eigentlich auch alles. Das hinten bei den Optionen ist demnach auch keine Null/0, sondern ein O wie Option.

RECIPIENT in den Advanced Options anzugeben ist allerdings Sinn befreit.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Yil

Vielleicht ist das nicht allen Nutzern hier bewusst, aber es gibt Regeln für die Entwicklung neuer Module. Rudi König weist immer mal wieder darauf hin, dass er z.B. eher weniger als mehr globale Variablen wünscht, dass Module so und so aufgebaut werden sollen und entsprechende Benennungen haben sollten. Viele wissen, wovon ich spreche. In diesem Thread wird der Autor von Rudi vor einem halben Jahr (!) explizit aufgefordert, endlich eine Doku zur Verfügung zu stellen. Er weist darauf hin, dass eine Doku ein wesentlicher Bestandteil eines Moduls ist und er in der Vergangenheit die Aufnahme neuer Module in die Updates verwehrt hat, wenn es an der Doku fehlte.

Zitat von: rudolfkoenig am 04 Juni 2016, 15:10:59
@Loredo: es ist mir gerade aufgefallen, dass 75_MSG.pm ohne commandref Doku kommt, "No documentation here yet, sorry." zaehlt nicht als Doku :) Koenntest du das bitte in der naechsten Zeit nachschieben? Es waere auch Anderen gegenueber fair, denen ich das Verteilen eines Moduls wg. fehlender Doku verweigere.

Die Nutzbarkeit von FHEM insgesamt orientiert sich nicht nur an den Möglichkeiten, sondern auch an der guten und schlüssigen Kommunikation dazu. Dieses Forum ist dafür eine Goldgrube, ersetzt aber nicht eine Basis-Doku, auf die von erfahrenen Nutzern immer wieder so eloquent hingewiesen wird. Und so, wie es Bastler und Entwickler und Experten gibt, so gibt es auch zahlreiche Anwender mit geringem oder erst langsam ansteigenden Wissen zu fhem, zu Perl und deren Synatax. Und gerade für die letztere Gruppe, über die man sich als Experte immer so schön erheben kann (wofür ich gerne Negativbewertungen verteile), ist eine gute Doku. wesentlich und kann den Einstieg und die Anwendung deutlich erleichtern.

Eigentlich sind das Selbstverständlichkeiten, von dene ich hier rede.
HM CCU3 und HCU mit ca. 50 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth,
HUE, UniFi

Loredo

Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

CoolTux

Vielleicht ist das nicht allen Nutzern hier bewusst, aber es ist Unsinn das es Regeln für die Entwicklung neuer Module gibt.
Es ist aber korrekt das es Regeln für den Aufbau von Modulen gibt welche ins offizielle Repo von FHEM eingecheckt werden.
Ansonsten darf jeder User oder auch Entwickler seine Module gestalten wie es ihm beliebt. Es gibt einige auf GitHub, einige User haben privat für sich was entwickelt.
Ansonsten gibt es gewünschte Richtlinien, so z.b. Readingsnamen Klein anfangen und Media Readings sollten bitte in allen Modulen gleich lauten, volume z.B.

Daher gebe ich denjenigen Recht was dieses Modul an geht, denn es ist ja offiziell über das Update erhältlich. :D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

l2r

Zitat von: Yil am 16 November 2016, 16:16:12

Was mir fehlt, ist eine Prioritätensteuerung - wie stelle ich ein, wann welcher Befehl wo ausgegeben wird? In meiner "Welt" ist die Eskalation Audio-Push-eMail. Licht-Signale brauche ich eigentlich nicht, ebenbso den Pushover-Dienst auch niucht - den habe ich zugunsten des telegram-Dienbstes abgeschaltet. Lieber wäre mir WhatsApp, aber die mögen es nicht, wenn der device automatisch beschickt wird und haben mich abgeschaltet  ::). Melodien gehen nicht - wie würde ich die aktivieren?

was möchtest du jetzt genau erreichen?
Du schickst eine Nachricht mit einer Bestimmten Priorität und die soll dann als Lichtsignal ausgegeben werden bzw. anhand welcher Kriterien als Push bzw Mail? woran machst du die Kriterien fest? Hast du vllt. ein Beispiel?

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

Panik

Hallo,

zur Bemerkung von CoolTux:
Zitat
Jeder hat die Möglichkeit selbst zu entscheiden ob er den Befehl wählt oder nicht.
Ich finde einen Modulauthor welcher freiwillig in seiner freien Zeit etwas für uns macht zu kritisieren, und einige Texte hier sind nah an der Kritik, ist gelinde gesagt nicht Hilfreich. Ideen, Verbesserungsvorschläge oder sogar Code ist da schon hilfreicher.
Warum hat noch keiner von Euch einen Wikieintrag gemacht um alle Informationen zusammen zu tragen? Ein Wikieintrag kann jeder machen. Statt dessen wird nur genörgelt.

Das ist ja gerade der springende Punkt:
Ob ich einen Befehl möchte oder nicht, kann ich ja erst entscheiden, wenn ich ihn einbinde, teste und seine Möglichkeiten begreife.
Doch momentan ist bei mir der Groschen - gerade bei diesem Befehl - nicht zur Gänze bis auf den Boden gefallen.
Manchmal brauchts eben doch so einen Einstieg ala Feuerzangenbowle:
"Wat is´ne Dampfmaschin´? Da stelle ma uns mal janz dumm, ..."
Ich finde es ja Klasse, dass es so Autoren wie Euch gibt, die so tolle Module erstellen,
aber mir fehlt es manchmal daran, auch Leute abzuholen, die nicht auf demselben Denk-Level sind.
Die können dann natürlich auch nicht kreativ mitwirken, was dann wiederum auch nicht gut ankommt

Beruflich geht es mir ja auch manchmal so, dass ich z.B. im Bereich Klein-SPS mit HMI etwas gestalte, von dem ich der Meinung bin:
"Das ist so einfach, das müssen die Leute doch auch ohne Erklärung und Anleitung begreifen".
Aber ich muss mich dann oft eines Besseren belehren lassen, dass ich schon viel höher ansetze als ich glaubte...

Bitte fühlt Euch aber von meinen Äußerungen nicht auf den Schlips getreten und genörgelt.
Ich hatte neulich nur echt Frust, dass ich's nicht raffe.

Panik

Raspberry3+,  CUL USB V3 mit V 1.66 CUL868, TRXRFX433, HM-MOD-UART, Phoscon-GW