[Gelöst] Fehler DOIF / Statistics / DB Log (Unmatched ( in regex; marked by...)

Begonnen von Floriky, 18 Januar 2019, 08:09:58

Vorheriges Thema - Nächstes Thema

Floriky

#30
Wollte mich der Vollständigkeit halber nochmal zurück melden. Habe mittlerweile den Auslöser für mein Problem gefunden und kann diesen auch reproduzieren. Und zwar liegt es tatsächlich am Statistics Device in Verbindung mit dem DbLog. Sobald ich dieses lösche, funktioniert wieder alles.

Das merkwürdige daran: Dass der Fehler und damit der stündliche Absturz nur auftritt sobald ich Statistiken für das eine Device "Annika" anlegen lass. Dabei macht es auch keinen Unterschied ob ich ein neues Statistics Device anlege oder ein bestehendes auf mein Device "Annika" erweitere.

Im Log auf Verbose 5 sieht man genau, dass er beim Loggen dieses Werts abschmiert und im Gegensatz dazu logt er ähnlliche Werte anderer Geräte problemlos...


Auszug aus der Log-Datei zum DB-Log eines Statistics Reading für meinen Tankstellen-Device (funktionierend):
2019.01.18 18:59:55 4: DbLog DBLogging -> ################################################################
2019.01.18 18:59:55 4: DbLog DBLogging -> ###              start of new Logcycle                       ###
2019.01.18 18:59:55 4: DbLog DBLogging -> ################################################################
2019.01.18 18:59:55 4: DbLog DBLogging -> number of events received: 39 for device: OUT_Tankstelle_Shell_SA
2019.01.18 18:59:55 4: DbLog DBLogging -> check Device: OUT_Tankstelle_Shell_SA , Event: statSuperE10HourLast: Min: 1.27 Avg: 1.30 Max: 1.31
2019.01.18 18:59:55 5: DbLog DBLogging -> parsed Event: OUT_Tankstelle_Shell_SA , Event: statSuperE10HourLast: Min: 1.27 Avg: 1.30 Max: 1.31
2019.01.18 18:59:55 5: DbLog DBLogging -> DbLogExclude of "OUT_Tankstelle_Shell_SA": .*
2019.01.18 18:59:55 4: DbLog DBLogging -> check Device: OUT_Tankstelle_Shell_SA , Event: statSuperE10HourMin: 1.27
2019.01.18 18:59:55 5: DbLog DBLogging -> parsed Event: OUT_Tankstelle_Shell_SA , Event: statSuperE10HourMin: 1.27
...
...
...
2019.01.18 18:59:55 5: DbLog DBLogging -> DbLogExclude of "OUT_Tankstelle_Shell_SA": .*
2019.01.18 18:59:55 4: DbLog DBLogging -> check Device: OUT_Tankstelle_Shell_SA , Event: statSuperE5MonthMax: 1.45
2019.01.18 18:59:55 5: DbLog DBLogging -> parsed Event: OUT_Tankstelle_Shell_SA , Event: statSuperE5MonthMax: 1.45
2019.01.18 18:59:55 5: DbLog DBLogging -> DbLogExclude of "OUT_Tankstelle_Shell_SA": .*
2019.01.18 18:59:55 5: OUT_Group_Tankstellen: not on any display, ignoring notify
2019.01.18 18:59:55 5: End notify loop for OUT_Tankstelle_Shell_SA



Auszug aus der Log-Datei zum DB-Log eines Statistics Reading für mein Device Annika (führt zum Absturz):
2019.01.18 18:59:55 4: DbLog DBLogging -> ################################################################
2019.01.18 18:59:55 4: DbLog DBLogging -> ###              start of new Logcycle                       ###
2019.01.18 18:59:55 4: DbLog DBLogging -> ################################################################
2019.01.18 18:59:55 4: DbLog DBLogging -> number of events received: 1 for device: Annika
2019.01.18 18:59:55 4: DbLog DBLogging -> check Device: Annika , Event: statAda_time_todayHourLast: Min: 45 Avg: 45 Max: 45 (since: 2019-01-18_15:26:32 )
2019.01.18 18:59:55 5: DbLog DBLogging -> parsed Event: Annika , Event: statAda_time_todayHourLast: Min: 45 Avg: 45 Max: 45 (since: 2019-01-18_15:26:32 )
2019.01.18 18:59:55 5: DbLog DBLogging -> DbLogExclude of "Annika": .*
Unmatched ( in regex; marked by <-- HERE in m/\[Annika:statAda_time_todayHourLast: Min: 45 Avg: 45 Max: 45 ( <-- HERE since(\]|:.+\]|,.+\])/ at ./FHEM/98_DOIF.pm line 2019.
2019.01.18 18:59:56 5: Initializing Type Library:
2019.01.18 18:59:56 1: Including fhem.cfg


Wenn ich weiter gekommen bin, werde ich mich im Sinne des "Forum-Gedankens" hier nochmal melden und meine Lösung teilen. Habe auch den Titel zur besseren Auffindbarkeit nochmal ein wenig angepasst.

Damian

Teste mal die gepatchte Version.

Edit: DOIF Version wurde eingecheckt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Floriky

Zitat von: Damian am 20 Januar 2019, 12:57:06
Teste mal die gepatchte Version.

Gerne wenn du mir sagst wie ich das mach ohne Gefahr zu laufen was ,,kaputt" zu machen...

Damian

Zitat von: Floriky am 20 Januar 2019, 13:47:01
Gerne wenn du mir sagst wie ich das mach ohne Gefahr zu laufen was ,,kaputt" zu machen...

DOIF ins FHEM-Verzeichnis kopieren und System durchstarten.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Floriky

Zitat von: Damian am 20 Januar 2019, 13:57:52
DOIF ins FHEM-Verzeichnis kopieren und System durchstarten.

Wie bekomm ich mein Passwort für user fhem raus? Denn Pi fehlen die Rechte und das ist für mich auch ein Buch mit 7 Siegeln - tut mir Leid, dass ich so wenig Ahnung hab!

Ellert

Zitat von: Damian am 20 Januar 2019, 13:57:52
DOIF ins FHEM-Verzeichnis kopieren und System durchstarten.
... und den Besitzer der Datei 98_DOIF.pm wieder auf fhem stellen oder wenigstens die Schreibrechte für fhem einschalten. Sonst kann es Probleme beim Update geben.

sudo cp ...

Wenn  Du im Modulverzeichnis FHEM bist, dann
sudo chown -c fhem:dialout 98_DOIF.pm

Otto123

Wie bekomme ich "ohne Kopfstand" Dateien ins FHEM Verzeichnis:

  • Mit scp (cmd/console oder WinScp) die Datei ins User Home Dir des Standardbenutzers (Beispiel: /home/pi ) kopieren - scp Dateiname pi@hostname:
  • Mit ssh anmelden (cmd/console oder putty) Beispiel: ssh pi@hostname
  • Die Datei ins FHEM Verzeichnis kopieren Beispiel: sudo cp Dateiname /opt/fhem/
  • Die Berechtigung ordentlich setzen. Beispiel: sudo chown -c fhem: Dateiname
  • Oder mal die Berechtigung für alle Dateien setzen, schadet normalerweise nicht. Beispiel: sudo chown -R fhem: /opt/fhem
Anmerkung:

  • Die Angaben fhem: verwendet dann die Standardgruppe des User fhem, die normalerweise dialout ist. :)
  • Windows 10 hat seit Version 1803 sowohl ssh als auch scp an Board, man braucht nicht unbedingt Zusatztools!

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Floriky

Zitat von: Damian am 20 Januar 2019, 13:57:52
DOIF ins FHEM-Verzeichnis kopieren und System durchstarten.

Problem gelöst!!!!!

Danke Damian!
TOP! ...Last-Readings werden jetzt angelegt und FHEM bleibt am Leben!

Zitat von: Ellert am 20 Januar 2019, 14:18:40
... und den Besitzer der Datei 98_DOIF.pm wieder auf fhem stellen oder wenigstens die Schreibrechte für fhem einschalten. Sonst kann es Probleme beim Update geben.

sudo cp ...

Wenn  Du im Modulverzeichnis FHEM bist, dann
sudo chown -c fhem:dialout 98_DOIF.pm

Danke Ellert! (vor allem da das bestimmt schon 1000mal hier im Forum zu finden ist)! Hat wunderbar geklappt.

Zitat von: Otto123 am 20 Januar 2019, 14:37:18
Wie bekomme ich "ohne Kopfstand" Dateien ins FHEM Verzeichnis:

  • Mit scp (cmd/console oder WinScp) die Datei ins User Home Dir des Standardbenutzers (Beispiel: /home/pi ) kopieren - scp Dateiname pi@hostname:
  • Mit ssh anmelden (cmd/console oder putty) Beispiel: ssh pi@hostname
  • Die Datei ins FHEM Verzeichnis kopieren Beispiel: sudo cp Dateiname /opt/fhem/
  • Die Berechtigung ordentlich setzen. Beispiel: sudo chown -c fhem: Dateiname
  • Oder mal die Berechtigung für alle Dateien setzen, schadet normalerweise nicht. Beispiel: sudo chown -R fhem: /opt/fhem
Anmerkung:

  • Die Angaben fhem: verwendet dann die Standardgruppe des User fhem, die normalerweise dialout ist. :)
  • Windows 10 hat seit Version 1803 sowohl ssh als auch scp an Board, man braucht nicht unbedingt Zusatztools!

Gruß Otto

Danke Otto! Hatte schon einen anderen Post von dir entdeckt und in Kombination mit der Antwort von Ellert wars kein Problem mehr!


Jungs, ihr seit spitze!!!!  ;D  ;) Setze das Thema gleich auf gelöst

Damian

Ich habe die korrigierte DOIF-Version jetzt eingecheckt, damit steht sie ab morgen per Update zur Verfügung.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Floriky

Zitat von: Damian am 20 Januar 2019, 15:25:40
Ich habe die korrigierte DOIF-Version jetzt eingecheckt, damit steht sie ab morgen per Update zur Verfügung.

Hallo Damian, seit meinem letzten FHEM-Updates inkl. des DOIF-Moduls ist der Fehler wieder da. Kann ich einfach die hier gepostete Version wieder verwenden?
LG Florian

Damian

Zitat von: Floriky am 05 Juli 2019, 19:30:47
Hallo Damian, seit meinem letzten FHEM-Updates inkl. des DOIF-Moduls ist der Fehler wieder da. Kann ich einfach die hier gepostete Version wieder verwenden?
LG Florian

Dann poste mal die Stelle, wo es Probleme im DOIF gibt. Ich würde nicht auf ältere DOIF-Versionen zurückgreifen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Floriky

Zitat von: Damian am 05 Juli 2019, 22:23:10
Dann poste mal die Stelle, wo es Probleme im DOIF gibt. Ich würde nicht auf ältere DOIF-Versionen zurückgreifen.


Hallo Damian, anbei nochmal der LogAuszug (hab die Stelle durch zwei Leerzeilen separiert) zu einem der pünktlichen Abstürze zur vollen Stunde und dem Versuch des Statistics-Modul die Average-Werte zu schreiben.

Was ich aber noch dazu sagen muss: Das Statistics Modul lieg seit dem letzten Update noch ein paar Tage fehlerfrei. Erst heute, als ich die Statistik-Werte über das Modul zurückgesetzt habe, kamen danach die Abstürze weiter. Vielleicht hilft dir das weiter?!


Hier der Log-Auszug:

2019.07.05 18:44:44 3: DbLog DBLogging: Reopen requested.
2019.07.05 18:44:44 3: DbLog DBLogging - Creating Push-Handle to database mysql:database=fhem;host=localhost;port=3306 with user fhemuser
2019.07.05 18:44:44 3: DbLog DBLogging - Push-Handle to db mysql:database=fhem;host=localhost;port=3306 created
2019.07.05 18:44:44 3: DbLog DBLogging - UTF8 support enabled
2019.07.05 18:44:44 3: DBLogging_Reopen: Reopen executed.
2019.07.05 18:59:44 3: DbLog DBLogging: Reopen requested.
2019.07.05 18:59:44 3: DbLog DBLogging - Creating Push-Handle to database mysql:database=fhem;host=localhost;port=3306 with user fhemuser
2019.07.05 18:59:44 3: DbLog DBLogging - Push-Handle to db mysql:database=fhem;host=localhost;port=3306 created
2019.07.05 18:59:44 3: DbLog DBLogging - UTF8 support enabled
2019.07.05 18:59:44 3: DBLogging_Reopen: Reopen executed.

[b]Unmatched ( in regex; marked by <-- HERE in m/\[Annika:statAdatimeHourLast: Min: 41 Avg: 41 Max: 41 ( <-- HERE since(\]|:.+\]|,.+\])/ at ./FHEM/98_DOIF.pm line 2101.[/b]

2019.07.05 18:59:55 1: SONOS0: Last Listener seems to be died and process started by fhem... stopping Threads and process...

Damian

Der damalige Patch war, warum auch immer, rausgefallen. Ich habe ihn wieder eingebaut und die korrigierte DOIF-Version eingecheckt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Floriky

Zitat von: Damian am 05 Juli 2019, 23:50:08
Der damalige Patch war, warum auch immer, rausgefallen. Ich habe ihn wieder eingebaut und die korrigierte DOIF-Version eingecheckt.

Ich danke dir vielmals für deine Mühe!!!! Ab wann kann ich dann das Update machen?

Damian

Zitat von: Floriky am 06 Juli 2019, 00:34:33
Ich danke dir vielmals für deine Mühe!!!! Ab wann kann ich dann das Update machen?

Per Update ab sofort.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF