telegramBot Upgrade: fhem beendet sich mit "Unmatched [ in regex"

Begonnen von weini, 09 Juli 2017, 19:48:52

Vorheriges Thema - Nächstes Thema

weini

Hallo zusammen!

Ich hatte mein fhem längere Zeit (6-10 Wochen) nicht mehr aktualisiert. Nach einem kompletten Update am 3.7. habe ich nun leider die Situation, dass mir fhem beim Empfang einer Telegram Message komplett abstürzt. Soll heißen, der fhem Prozess beendet sich.
Danach kann ich fhem nicht mehr starten. Beim Starversuch verbindet sich das telegramBot Modul mit dem Server und versucht wieder, die Message abzuholen. Darauf stürzt fhem sofort wieder ab.

Im Log findet ich dazu nur einen Eintrag:
Unmatched [ in regex; marked by <-- HERE in m/\b[ <-- HERE Arbeitszimmer\b/ at ./FHEM/96_allowed.pm line 80.
"Arbeitszimmer" ist bei mir ein Room. Der hat aber nichts mit den Telegram Devices zu tun.

Ich nutze für den telegramBot ein allowed-Device, das ist wie folgt definiert:

defmod allowed_telegramBot allowed
attr allowed_telegramBot allowedCommands get,trigger,getstate
attr allowed_telegramBot group system
attr allowed_telegramBot validFor telegramBot

setstate allowed_telegramBot validFor:telegramBot
setstate allowed_telegramBot 2017-07-09 19:00:59 state validFor:telegramBot


Wie komme ich nun darauf, dass eine Änderung am telegramBot Modul für das Problem verantwortlich ist?
Ganz einfach, am allowed-Modul hab es in letzter Zeit kein Änderungen. Unter "restoreDir" finde ich keine Version von 96_allowed.pm, wohl aber von 50_telegramBot.pm. Wenn ich nun die alte Version von 50_telegramBot.pm aus dem "restoreDir" zurückkopiere, dann kann telegramBot die Message verarbeiten und alles läuft sauber.
Daher scheit für mich die Fehlerursache im telegramBot zu liegen.

Ich hoffe, dass die Fehlerbeschreibung soweit hilft. Bitte gerne um Feedback, falls ich mit einem höheren Debug-Level nochmal etwas laufen lassen soll.


Viele Grüße,
weini

rudolfkoenig

Das Problem ist trotzdem auch beim allowed vorhanden, da es FHEM nicht zum Absturz bringen sollte, wenn man "unsinnige" Befehle eingibt, wie ein [

Habe das im allowed ausgebaut.

viegener

Mit ist noch nicht ganz klar, welche Änderung das Problem ausgelöst haben könnte, dazu müsste ich wissen welche Art von Kommand (Favorit oder ähnliches das Problem auslöst). Wenn es um favoriten geht, vermute ich es könnte mit folgender Korrektur zusammenhängen:
https://forum.fhem.de/index.php/topic,38328.msg650649.html#msg650649

Wie aber dort beschrieben, wird jetzt nur eine korrekte Definition der Favoriten benötigt.

@weini: An sich ist die Funktion, dass Nachrichten, die nicht vollständig bearbeitet wurden, auch nach einem Neustart weiterverarbeitet werden. Allerdings werde ich das jetzt bei Kommandos wohl doch vielleicht ändern.

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

weini

Bingo, das sollte es sein!
Ich hatte bei mir auch die Favoriten ohne den führenden / definiert. Habe das jetzt korrigiert und installiere gerade wieder die neueste Version des Moduls.

Leider kann ich heute Abend nicht mehr testen. Wenn ihr bis morgen nichts gegenteiliges hört, dann ist das Problem gelöst.
Vielen Dank euch für die schnelle Hilfe!