Hauptmenü

DOIF - Versand von Readings

Begonnen von Tutti_Bomovski, 15 April 2024, 18:44:32

Vorheriges Thema - Nächstes Thema

Tutti_Bomovski

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

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Damian

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>⚠" ...)}}
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Tutti_Bomovski

#3
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.

Frank_Huber

Schätze es liegt an den Kommas. Mal doppelt klammern. 

Damian

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.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Tutti_Bomovski

Zitat von: Damian am 16 April 2024, 07:42:44
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.

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! :-)