[gelöst] Problem mit Verknüpfung String/Variable in FHEM (Pushbullet)

Begonnen von AndyMu, 24 September 2017, 13:54:51

Vorheriges Thema - Nächstes Thema

AndyMu

Irgendwie komm ich auf keinen grünen Zweig...

Folgender Code bringt
(eg_bar_tk|eg_bz_fk|eg_kueche_fk|th_eg_fk|ug_gast_fk|ug_marc_fk):open.* set ug_eb_led16_Led_08,og_gang_led16_Led_16 led red;
IF (Value("Alarmanlage") eq "on") (
set Alarmierung_.* message "Achtung! ".AttrVal("$NAME","alias","$NAME")." wurde in Abwesenheit geöffnet",
{Log 1, "Alarmierung an alle: ".AttrVal("$NAME","alias","$NAME")." wurde in Abwesenheit geöffnet"})


bei der Alarmierung auf Pushbullet ein:
Zitat"Achtung! ".AttrVal("eg_bar_tk"
wohingegen das Log ein sauberes
ZitatAlarmierung an alle: EG Bar Terrassentür wurde in Abwesenheit geöffnet
bringt.

Irgendwie ist da ein Unterschied in der Verknüpfung von Strings und Variablen, aber ich bekomm es einfach nicht hin. ein "+" hilft da auch nicht.

CoolTux

Nicht nur das Log sondern auch der set Befehl muss auf Perlebene gemacht werden.
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

AndyMu

#2
Danke für den Hinweis, ein
(eg_bar_tk|eg_bz_fk|eg_kueche_fk|th_eg_fk|ug_gast_fk|ug_marc_fk):open.* set ug_eb_led16_Led_08,og_gang_led16_Led_16 led red;
IF (Value("Alarmanlage") eq "on") (
{fhem('set Alarmierung_.* message Achtung! '.AttrVal("$NAME","alias","$NAME").' wurde in Abwesenheit geöffnet');;
Log 1, "Alarmierung an alle: ".AttrVal("$NAME","alias","$NAME")." wurde in Abwesenheit geöffnet"})

hat geholfen  ;)

Ich hatte mal wo gelesen, dass man möglichst nicht auf Perl-Ebene runtergehen sollte, da das ungünstig für die Performance wäre.