FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Torsten_MG am 31 Januar 2018, 11:15:45

Titel: Problem bei einer DOIF abfrage
Beitrag von: Torsten_MG am 31 Januar 2018, 11:15:45
Hallo DOIF-Experten,

ich habe folgenden Aufbau:

Ich habe ein HTTPMOD TV_Programme, mit dem Code TV-Helper wird die Abfrage behandelt.

Nun habe ich aus den Posts dieser Geschichte auch eine DOIF-Abfrage eingebaut, damit aber ein Problem, welches anscheinend einzigartig ist, da in der Codeschnipsel-Abteilung mir keiner weiterhelfen kann.

Das DOIF sieht folgendermaßen aus:
define TV_Programme.DI.update DOIF ([[TV_Programme:DasErste_Nexttime]]) (deletereading TV_Programme .*_image;; get TV_Programme TVProgramm)DOELSEIF ([[TV_Programme:Kabel1_Nexttime]]) (deletereading TV_Programme .*_image;; get TV_Programme TVProgramm)DOELSEIF ([[TV_Programme:ONE_Nexttime]]) (deletereading TV_Programme .*_image;; get TV_Programme TVProgramm)DOELSEIF ([[TV_Programme:Pro7_Nexttime]]) (deletereading TV_Programme .*_image;; get TV_Programme TVProgramm)DOELSEIF ([[TV_Programme:RTL_Nexttime]]) (deletereading TV_Programme .*_image;; get TV_Programme TVProgramm)DOELSEIF ([[TV_Programme:RTL2_Nexttime]]) (deletereading TV_Programme .*_image;; get TV_Programme TVProgramm)DOELSEIF ([[TV_Programme:RTLNITRO_Nexttime]]) (deletereading TV_Programme .*_image;; get TV_Programme TVProgramm)DOELSEIF ([[TV_Programme:SAT1GOLD_Nexttime]]) (deletereading TV_Programme .*_image;; get TV_Programme TVProgramm)DOELSEIF ([[TV_Programme:SIXX_Nexttime]]) (deletereading TV_Programme .*_image;; get TV_Programme TVProgramm)DOELSEIF ([[TV_Programme:SUPERRTL_Nexttime]]) (deletereading TV_Programme .*_image;; get TV_Programme TVProgramm)DOELSEIF ([[TV_Programme:Sat1_Nexttime]]) (deletereading TV_Programme .*_image;; get TV_Programme TVProgramm)DOELSEIF ([[TV_Programme:VOX_Nexttime]]) (deletereading TV_Programme .*_image;; get TV_Programme TVProgramm)DOELSEIF ([[TV_Programme:WDR_Nexttime]]) (deletereading TV_Programme .*_image;; get TV_Programme TVProgramm)DOELSEIF ([[TV_Programme:ZDF_Nexttime]]) (deletereading TV_Programme .*_image;; get TV_Programme TVProgramm)DOELSEIF ([[TV_Programme:ZDFNEO_Nexttime]]) (deletereading TV_Programme .*_image;; get TV_Programme TVProgramm)


Das Problem ist, wenn ich das DOIF am laufen habe, schmiert mir FHEM ab und ich kann es nur wieder starten, wenn ich das DOIF in der fhem.cfg lösche. Das Problem scheint nur bei DMAX zu sein und auch nur bei dieser Sendung, da der Eintrag im Log immer gleich ist, ausser die Nummer der Folge. Ich habe das jetzt anderthalb Wochen durchprobiert und es passiert nur wenn das DOIF aktiv ist und nur mittags bei dieser Sendung.

Folgender Eintrag ist dann immer im Log zu sehen:
Unmatched ( in regex; marked by <-- HERE in m/\[TV_Programme:DMAX_details-1: Dokusoap, E 2016<br/>Staffel: 1 / Folge: 9<br/>Laufzeit: 30 Minuten<br/>Original-Titel: Control De Fronteras: España ( <-- HERE Border Control(\]|:.+\]|,.+\])/ at ./FHEM/98_DOIF.pm line 1998.

Titel: Antw:Problem bei einer DOIF abfrage
Beitrag von: Ellert am 31 Januar 2018, 11:48:15
Da bedarf es etwas mehr Infos:

Was sagt stacktrace?

Welches Reading erzeugt die Fehlermeldung?

Wie ist der Inhalt des Readings bei der Fehlermeldung?

Bau ein einfaches DOIF mit dem Reading , mit dem sich die Fehlermeldung reproduzieren lässt und poste die "Raw definition".


Wenn der Fehler in einem Befehl auftritt, in welchem? Welche Inhalte stehen in den Befehlsparametern, was liefert get zurück?

Und schau Dir die Hinweise an: https://wiki.fhem.de/wiki/DOIF/Tools_und_Fehlersuche

Titel: Antw:Problem bei einer DOIF abfrage
Beitrag von: amenomade am 01 Februar 2018, 21:05:27
Mehrere Befehle in einem Zweig eines DOIFs sind mit Komas statt Semikolon zu trennen

https://fhem.de/commandref_DE.html#DOIF_Angaben_im_Ausfuehrungsteil