Ich versuche mich in Perl einzuarbeiten.
Dazu habe ich als erstes eine kleine Funktion für meine myUtils erstellt um Pushover-Nachrichten zu versenden.
Aber leider bekomme ich es nicht hin, die einzelnen Elemente zu trennen. Es wird immer alles zum Nachrichtentext zusammengefasst.
Ich rufe die Funktion im Moment aus einem DOIF manuell per Set-Befehl auf:
Internals:
CFGFN
DEF (xxx)
{SentPush("Marko_S21Ultra", "Titel", "Text")}
FUUID 60c126e0-f33f-793a-72a4-1f50edd32ecdcc96
MODEL FHEM
NAME PushBenachrichtigungen
NOTIFYDEV global
NR 370390
NTFY_ORDER 50-PushBenachrichtigungen
STATE cmd_1
TYPE DOIF
VERSION 24330 2021-04-24 21:09:16
.attraggr:
.attrminint:
READINGS:
2021-06-09 23:23:54 cmd 1
2021-06-09 23:23:54 cmd_event set_cmd_1
2021-06-09 23:23:54 cmd_nr 1
2021-06-09 22:56:57 mode enabled
2021-06-09 23:23:54 state cmd_1
Regex:
accu:
collect:
attr:
cmdState:
condition:
0 xxx
do:
0:
0 {SentPush("Marko_S21Ultra", "Titel", "Text")}
1:
helper:
DEVFILTER ^global$
NOTIFYDEV global
globalinit 1
last_timer 0
sleeptimer -1
triggerDev
uiState:
uiTable:
Attributes:
room Benachrichtigungen,Test
Die Funktion soll die verschiedene Werte übernehmen und dann als Pushmeldung versenden:
sub SentPush($$$)
{
my ($Device, $Titel, $Text) = @_;
fhem("set Pushmsg msg '$Titel' '$Text' '$Device' '2'");
fhem("set Pushmsg msg $Titel $Text $Device 2");
fhem("set Pushmsg msg \"$Titel\" \"$Text\" \"$Device\" \"2\"");
# fhem("set Pushmsg msg '$Device' '$Titel' '$Text' '2'");
# set <Pushover_device> msg [title] <msg> [<device> <priority> <sound> [<retry> <expire> [<url_title> <action>]]]
}
Wie man sieht habe ich es mit verschiedenen Schreibweisen probiert, auch mit einer Maskierung. Leider bekomme ich es nicht hin, dass die einzelnen Variablen für die Angabe von Titel, Device und Message ausgewertet und interpretiert werden.