Hallo Zusammen,
ich nutze in einem DOIF für Unwetterwarnungen die Readings aus dem Modul DWD.
([DWD:a_count] eq "1") (set TeleBot send @#Wetterwarnungen
\n⚠<b> ACHTUNG! Warnung des Deutschen Wetterdienst für [DWD:a_0_areaDesc] </b>⚠\n\n
\n<b>[DWD:a_0_eventDesc]</b>\n
\n[DWD:a_0_headline]\n
\n[DWD:a_0_description]\n
\n[DWD:a_0_instruction]\n
\nvon: [DWD:a_0_onset]
\nbis: [DWD:a_0_expires])
Vom DWD hat sich nun wohl ein Semikolon im Reading "Instruction" eingenistet.
Dadurch wird wohl meine Meldung "abgeschnitten".
Wie kann ich dem Code beibringen, dass er ein Semikolon im Reading ignoriert?
Ich habe schon gesucht, aber leider nix gefunden.
Wahrscheinlich ganz einfach. Seid gnädig mit mir. Anfängerprobleme....
Wenn ich das Ganze direkt aus dem Telebot per sendmsg sende kommt kein Fehler.
Nur im DOIF... ???
Danke und Gruß
Tutti
Wenn Du das Problem nur im DOIF hast, warum stellst Du die Frage dann nicht im passenden Unterforum zu DOIF?
Den Button, um den Thread dorthin zu verschieben, findest Du unten links.
Es wird ein Problem vom set-Befehl sein.
Du kannst es im DOIF-Perlmodus versuchen:
DOIF {if ([DWD:a_count] eq "1") {fhem_set("TeleBot send @#Wetterwarnungen ⚠<b> ACHTUNG! Warnung des Deutschen Wetterdienst für ".[?DWD:a_0_areaDesc]."</b>⚠" ...)}}
Zitat von: Damian am 15 April 2024, 20:55:56Es wird ein Problem vom set-Befehl sein.
Du kannst es im DOIF-Perlmodus versuchen:
DOIF {if ([DWD:a_count] eq "1") {fhem_set("TeleBot send @#Wetterwarnungen ⚠<b> ACHTUNG! Warnung des Deutschen Wetterdienst für ".[?DWD:a_0_areaDesc]."</b>⚠" ...)}}
Hallo Damian,
danke für deine Rückmeldung.
Ich habe den Code wie folgt angepasst.
{if ([DWD:a_count] eq "1") {fhem_set("TeleBot send @#Wetterwarnungen ⚠<b> ACHTUNG! Warnung des Deutschen Wetterdienst für ".[?DWD:a_0_areaDesc]."</b>⚠\n\n \n<b>".[?DWD:a_0_eventDesc]."</b>\n \n".[?DWD:a_0_headline]."\n
\n".[?DWD:a_0_description]."\n
\n".[?DWD:a_0_instruction]."\n
\nvon: ".[?DWD:a_0_onset]."
\nbis: ".[?DWD:a_0_expires]."")}}
Das hat geklappt und die Nachricht geht wie gewünscht raus.
Vielen, vielen Dank für deine Hilfe.
Schätze es liegt an den Kommas. Mal doppelt klammern.
Zitat von: Tutti_Bomovski am 16 April 2024, 07:29:12Ich habe den Code wie folgt angepasst.
([DWD:a_count] eq "1") (set TeleBot send @#Wetterwarnungen
\n⚠<b> ACHTUNG! Warnung des Deutschen Wetterdienst für [?DWD:a_0_areaDesc] </b>⚠\n\n
\n<b>[?DWD:a_0_eventDesc]</b>\n
\n[?DWD:a_0_headline]\n
\n[?DWD:a_0_description]\n
\n[?DWD:a_0_instruction]\n
\nvon: [?DWD:a_0_onset]
\nbis: [?DWD:a_0_expires])
Leider gleiches Problem wie vorher....
Du hast aber immer noch den set-Befehl benutzt, daher kann sich nichts verbessern.
Zitat von: Damian am 16 April 2024, 07:42:44Zitat von: Tutti_Bomovski am 16 April 2024, 07:29:12Ich habe den Code wie folgt angepasst.
([DWD:a_count] eq "1") (set TeleBot send @#Wetterwarnungen
\n⚠<b> ACHTUNG! Warnung des Deutschen Wetterdienst für [?DWD:a_0_areaDesc] </b>⚠\n\n
\n<b>[?DWD:a_0_eventDesc]</b>\n
\n[?DWD:a_0_headline]\n
\n[?DWD:a_0_description]\n
\n[?DWD:a_0_instruction]\n
\nvon: [?DWD:a_0_onset]
\nbis: [?DWD:a_0_expires])
Leider gleiches Problem wie vorher....
Du hast aber immer noch den set-Befehl benutzt, daher kann sich nichts verbessern.
Hallo Damian,
nee passt jetzt... Hatte vorher noch eine kleine Leseschwäche.
Mit dem richtigen Code von dir, den man dann auch richtig übernimmt hat es geklappt.
{if ([DWD:a_count] eq "1") {fhem_set("TeleBot send @#Wetterwarnungen ⚠<b> ACHTUNG! Warnung des Deutschen Wetterdienst für ".[?DWD:a_0_areaDesc]."</b>⚠\n\n \n<b>".[?DWD:a_0_eventDesc]."</b>\n \n".[?DWD:a_0_headline]."\n
\n".[?DWD:a_0_description]."\n
\n".[?DWD:a_0_instruction]."\n
\nvon: ".[?DWD:a_0_onset]."
\nbis: ".[?DWD:a_0_expires]."")}}
Meine erste Antwort habe ich dann noch mal überarbeitet! :-)