DOIF, TelegramBot und Komma in der Nachricht

Begonnen von vklaffehn, 17 Juni 2021, 08:10:44

Vorheriges Thema - Nächstes Thema

vklaffehn

Moin, Ich habe mir mit DOIF eine 'Fenster-Offen-Benachrichtigung' erstellt, die funktioniert auch wunderbar, mit einem kleinen Problem :
Es wird eine Nachricht mittels Telegram geschickt und mittels SetReading im Fenster-device ein Timestamp gesetzt, wann der Alarm geschickt wurde , aber sobald ich in der Nachricht ein Komma verwende, wird dies vom DOIF logischerweise als Trennzeichen interpretiert. Wie biege ich denn dem Telegrambot bei, dass er ein Komma senden soll bzw. wie kann ich beim DOIF evtl. die einzelnen Kommandos so trennen (Klammern, was weiß ich :-) ), dass das Komma im zu sendenen Text keine Verwirrung stiftet? Lasse ich im ersten Zweig in der Nachricht das Komma weg, ist alles schön, kopiere ich das 'set wgbot...' in die Eingabezeile, ist auch alles schön, mache ich Häkchen um den Text, werden die Häkchen mitgesendet....

([Bad.EG.Fenster] eq "opened" and [Bad.EG.Wandthermostat:temperature] >= 16 and [Bad.EG.Fenster:AlarmSent] eq 0)
(set wgbot message Das Fenster im Bad unten ist seit 60 Minuten offen. Bitte nicht vergessen, es wieder zuzumachen! Danke!,
setreading Bad.EG.Fenster AlarmSent 1)
DOELSEIF ([Bad.EG.Fenster] eq "closed" and [Bad.EG.Fenster:AlarmSent] eq 1)
(set wgbot message Das Fenster im Bad unten ist wieder zu! Danke sehr!,
setreading Bad.EG.Fenster AlarmSent 0)
DOELSEIF (([Bad.EG.Fenster] eq "opened") and [Bad.EG.Wandthermostat:temperature] < 16)
(set wgbot message Das Fenster im Bad unten ist seit {(int([Bad.EG.Fenster:AlarmSent:sec]/60)+30)} Minuten offen und es sind nur noch {([Bad.EG.Wandthermostat:temperature])} Grad! Bitte das Fenster zumachen!,
if ([Bad.EG.Fenster:AlarmSent] eq 0) (setreading Bad.EG.Fenster AlarmSent 1))

DOELSE ()

Attribute :
repeatcmd
1800
wait
3600

Ich habe dazu leider irgendwie nichts finden können in den Tiefen des Internets und bin für jeden Tipp dankbar!

MfG
Volker

Frank_Huber

Bei DOIF ist das Komma ein Befehlstrenner. Hast Du ein Komma im Ausführungsteil muss dieses doppelt geklammert werden.

((set xxx,yyy on))

vklaffehn

Danke, das probiere ich gleich mal aus! Irgendwie dachte ich, das ich das schon mal so getestet hatte, aber ich weiß es einfach nicht mehr :-)
MfG
Volker