(GELÖST) Error:Modul 98_DOIF deactivated - was mache ich falsch ?

Begonnen von msome, 13 Februar 2018, 21:33:46

Vorheriges Thema - Nächstes Thema

msome

Hallo,

ich habe heute nach längerer Zeit mal wieder ein fhem update durchgeführt und nach dem verlangten shutdown restart (mehrmals) und service fhem stop/start war es nicht möglich, die DOIFs funktionsfähig zu bekommen. Ich bekam immer folgende Meldung:

2018.02.13 21:16:45.815 1: reload: Error:Modul 98_DOIF deactivated:
Global symbol "$FW_CSRF" requires explicit package name (did you forget to declare "my $FW_CSRF"?) at ./FHEM/98_DOIF.pm line 491, <$fh> line 53.

2018.02.13 21:16:45.815 0: Global symbol "$FW_CSRF" requires explicit package name (did you forget to declare "my $FW_CSRF"?) at ./FHEM/98_DOIF.pm line 491, <$fh> line 53.


Ich habe jetzt mal testweise bei mir die Zeile
                $ret.="<a href='$FW_ME?detail=$value$FW_CSRF'>$value</a>";
verändert in
                $ret.="<a href='$FW_ME?detail=$value'>$value</a>";

und schon läuft FHEM wieder. Incl. der DoIFs.

Was ist bei mir falsch konfiguriert, dass DoIF das $FW_CSRF nicht auflösen kann ?

(M)ein Verdacht war das csrfToken Attribut: Ich hab bei allen WEB Instanzen das "attr WEB* csrfToken none" gesetzt. Ich hab allerdings das attribut auch mal deaktiviert und keine Verbesserung gesehen.

Auch hab ich noch mehrmals einen "update" versucht, es kann aber nichts neues gefunden werden, d.h. ich geh mal davon aus, dass meine Installation jetzt auf dem aktuellen Stand ist.

Ich bin für jeden Tipp dankbar.

Matthias
FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMUARTLGW (wired), Velux KLF200, DuoFernStick, DeConz, HMUSB-2, JeeLink, ModBus, RS232, WiFi,
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, SDM630M, Hue Lampen & Steckdosen

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Wenn csrfToken auf none gesetzt ist, musst Du $FW_CSRF konsequenterweise nicht angeben, das hast Du richtig erkannt. Es ist also nichts falsch konfiguriert.

Damian

Du kannst es mit der angehängten Version testen, die sollte funktionieren.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

msome

Hallo Damian, die neue Version funktioniert.
Vielen Dank für die schnelle Anpassung.
FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMUARTLGW (wired), Velux KLF200, DuoFernStick, DeConz, HMUSB-2, JeeLink, ModBus, RS232, WiFi,
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, SDM630M, Hue Lampen & Steckdosen

Damian

Zitat von: msome am 14 Februar 2018, 20:25:33
Hallo Damian, die neue Version funktioniert.
Vielen Dank für die schnelle Anpassung.

ja, dann kann ich sie einchecken.

Normalerweise ist die Variable $FW_CSRF über FHEMWEB abgedeckt. Arbeitest du über Telnet?
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

msome

Hi, Telnet auch. Aber nicht nur. Wie im ursprünglichen Post schon geschrieben habe ich auch WEB Instanzen, wenn ich dies auch praktisch nur zur Konfiguration nutze. Für die GUI nutze ich SmartVisu.

Ich hab das csrfToken aber abgeschaltet. Bin mir nicht sicher ob das sicherheitstechnisch eine gute Idee war, aber war damals als es eingeführt wurde die einfachste Lösung um meine externen Skripte lauffähig zu halten.
Mir ist aber nach wie vor nicht ganz klar warum der Fehler jetzt auftritt - ich nehme mal an, diese Variable wurde früher in DoIF nicht benutzt ?
FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMUARTLGW (wired), Velux KLF200, DuoFernStick, DeConz, HMUSB-2, JeeLink, ModBus, RS232, WiFi,
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, SDM630M, Hue Lampen & Steckdosen

Damian

Zitat von: msome am 14 Februar 2018, 20:40:32
Hi, Telnet auch. Aber nicht nur. Wie im ursprünglichen Post schon geschrieben habe ich auch WEB Instanzen, wenn ich dies auch praktisch nur zur Konfiguration nutze. Für die GUI nutze ich SmartVisu.

Ich hab das csrfToken aber abgeschaltet. Bin mir nicht sicher ob das sicherheitstechnisch eine gute Idee war, aber war damals als es eingeführt wurde die einfachste Lösung um meine externen Skripte lauffähig zu halten.
Mir ist aber nach wie vor nicht ganz klar warum der Fehler jetzt auftritt - ich nehme mal an, diese Variable wurde früher in DoIF nicht benutzt ?

ja, sie wird im Zusammenhang mit dem neuen Attribut uiTable im DOIF gebraucht. Wie auch immer, mit der korrigierten Version sollten jetzt alle zurechtkommen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF