FHEM > DOIF
(gelöst) DOIF: Nachricht versenden mit Komma im Text
Nighthawk:
Hallo zusammen,
ich versuche seit Tagen einen Weg zu finden wie ich einen Link beispielsweise zu Google Maps mit Doif generieren und versenden kann, leider bekomme ich den Text nur bis zum Komma, alles weitere wird nicht mitgesendet.
Führe ich das DOIF manuell über cmd1 aus, so kommt alles wie gewollt an, also
--- Code: ---https://maps.google.com/maps?z=18&q=XX.XXXXXX,YY.YYYYYY"
--- Ende Code ---
nur wenn es automatisch ausgeführt wird (bei Änderung der Koordinaten) kommt es abgeschnitten an
--- Code: ---[code]https://maps.google.com/maps?z=18&q=XX.XXXXXX
--- Ende Code ---
.
Hier mein DOIF
--- Code: ---Internals:
DEF ([Position:latitude] or [Position:longitude])
((set Signal send "https://maps.google.com/maps?z=18&q=[Position:latitude],[Position:longitude]"))
DOELSE
FUUID 61daf8ce-f33f-357a-4754-611129e0562df20d
MODEL FHEM
NAME di.Position
NOTIFYDEV Position,global
NR 565
NTFY_ORDER 50-di.Position
STATE cmd_1
TYPE DOIF
VERSION 25386 2021-12-28 22:19:25
READINGS:
2022-01-15 18:43:08 Device Position
2022-01-15 18:43:08 cmd 1
2022-01-15 18:43:08 cmd_event Position
2022-01-15 18:43:08 cmd_nr 1
2022-01-15 18:43:08 e_Position_latitude XX.XXXXXX
2022-01-15 18:43:08 e_Position_longitude YY.YYYYY
2022-01-10 14:09:56 mode enabled
2022-01-15 18:43:08 state cmd_1
Regex:
accu:
collect:
cond:
Position:
0:
latitude ^Position$:^latitude:
longitude ^Position$:^longitude:
condition:
0 ::ReadingValDoIf($hash,'Position','latitude') or ::ReadingValDoIf($hash,'Position','longitude')
do:
0:
0 (set Signal send "https://maps.google.com/maps?z=18&q=[Position:latitude],[Position:longitude]")
1:
0
helper:
DEVFILTER ^global$|^Position$
NOTIFYDEV global|Position
globalinit 1
last_timer 0
sleeptimer -1
hmccu:
perlblock:
readings:
all Position:latitude Position:longitude
uiState:
uiTable:
Attributes:
do always
group Fahrzeugzustand
icon helper_doif
room 06_Garage
sortby 31
--- Ende Code ---
Otto123:
Hi,
bei Kommas im set Befehl muss Du bei DOIF IMMER doppelt klammern, da DOIF das Komma als Befehlstrenner verarbeitet.
((set Device Befehl,mit,Komma))
Gruß Otto
Damian:
--- Zitat von: Otto123 am 19 Januar 2022, 12:47:08 ---Hi,
bei Kommas im set Befehl muss Du bei DOIF IMMER doppelt klammern, da DOIF das Komma als Befehlstrenner verarbeitet.
((set Device Befehl,mit,Komma))
Gruß Otto
--- Ende Zitat ---
Das hat er laut list gemacht, hier scheint der set/send-Befehl noch etwas mit dem String zu machen.
Frank_Huber:
was mich hier verwundert ist die Aussage dass es funktioniert wenn das cmd_1 manuell getriggert wird.
kann es evtl sein dass das Reading im gleichen Moment aktualisiert und dadurch nicht verfügbar ist?
Sollte man evtl einen 1 sec wait einbauen vor die Nachricht?
Otto123:
--- Zitat von: Damian am 19 Januar 2022, 12:49:07 ---Das hat er laut list gemacht, hier scheint der set/send-Befehl noch etwas mit dem String zu machen.
--- Ende Zitat ---
Oh sorry, da habe ich doch in die Zeile mit dem do ... geguckt ::) :-[
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln