FHEM > DOIF

(gelöst) DOIF: Nachricht versenden mit Komma im Text

(1/2) > >>

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