Hallo,
ich habe folgenden Prozess:
Das Modul 98_CDCOpenData.pm löscht, sofern im Attribut clearRadarFileLog hinterlegt, über den Befehl set <FileLogDevice> clear, bevor die neuen Readings geschrieben werden, den Inhalt der referenzierten FileLog Datei.
Ich vermute, dass durch eine ungenaue RegEx in der FileLog Device Definition die angehängte Problemdatei entsteht. Leider sieht man das nicht im Web-Frontend, sondern nur wenn man die Datei im Editor öffnet.
Die Folge ist nun, dass jedes Lesen der FileLog Datei durch plotAsPng zu einer immer weiter steigenden Laufzeit von FileLog_Get führt, die schließlich Fhem einfrieren lässt. Da ich minütlich Informationen für mein Flurdisplay sammele und bereit stelle, tritt der Freeze nach ca. 6-7 Stunden ein.
Vielleicht hat ja jemand eine Idee dazu.
Danke und Grüße
Jörg
list des DWD Device:
Internals:
DWDHOST opendata.dwd.de
FUUID 65479c28-f33f-4b0e-6b85-3348006acff3b981
INTERVAL 300
LOCATION Home:50.964113,6.800607
NAME DWD_Regen_Radar
NEXT 2023-11-16 09:15:00
NR 467
STATE 26 values captured in 9.43 s
TIMEOUT 55
TMPDIR temp_radolan_data_DWD_Regen_Radar
TYPE CDCOpenData
eventCount 27
CONFIG:
IN_REQUEST 0
READINGS:
2023-11-16 08:55:00 Home_rain_radar/00 0
2023-11-16 09:00:00 Home_rain_radar/01 0
2023-11-16 09:05:00 Home_rain_radar/02 0
2023-11-16 09:10:00 Home_rain_radar/03 0
2023-11-16 09:15:00 Home_rain_radar/04 0
2023-11-16 09:20:00 Home_rain_radar/05 0
2023-11-16 09:25:00 Home_rain_radar/06 0
2023-11-16 09:30:00 Home_rain_radar/07 0
2023-11-16 09:35:00 Home_rain_radar/08 0
2023-11-16 09:40:00 Home_rain_radar/09 0
2023-11-16 09:45:00 Home_rain_radar/10 0
2023-11-16 09:50:00 Home_rain_radar/11 0
2023-11-16 09:55:00 Home_rain_radar/12 0
2023-11-16 10:00:00 Home_rain_radar/13 0
2023-11-16 10:05:00 Home_rain_radar/14 0
2023-11-16 10:10:00 Home_rain_radar/15 0
2023-11-16 10:15:00 Home_rain_radar/16 0
2023-11-16 10:20:00 Home_rain_radar/17 0
2023-11-16 10:25:00 Home_rain_radar/18 0
2023-11-16 10:30:00 Home_rain_radar/19 0
2023-11-16 10:35:00 Home_rain_radar/20 0
2023-11-16 10:40:00 Home_rain_radar/21 0
2023-11-16 10:45:00 Home_rain_radar/22 0
2023-11-16 10:50:00 Home_rain_radar/23 0
2023-11-16 10:55:00 Home_rain_radar/24 0
2023-11-16 09:00:17 retStat_lastReadout 26 values captured in 9.43 s
2023-11-16 09:00:17 state 26 values captured in 9.43 s
fhem:
UPDATE 0
helper:
CronTime 1
FhemLog3Std 0
TimerCmd DWD_Regen_Radar.Cmd
TimerReadout DWD_Regen_Radar.Readout
baseTMPDIR temp_radolan_data_DWD_Regen_Radar
bm:
CDCOpenData_Get:
cnt 7
dmx -1000
dtot 0
dtotcnt 0
mTS 16.11. 08:45:22
max 0.000237941741943359
tot 0.000952005386352539
mAr:
HASH(DWD_Regen_Radar)
DWD_Regen_Radar
?
CDCOpenData_Set:
cnt 34
dmx -1000
dtot 0
dtotcnt 0
mTS 16.11. 08:46:25
max 0.0407838821411133
tot 0.121289253234863
mAr:
HASH(DWD_Regen_Radar)
DWD_Regen_Radar
update
hmccu:
Attributes:
INTERVAL 3600
clearRadarFileLog FileLog_DWD_Regen_Radar
cronTime */15 * * * *
disable 0
enableDWDdata rainRadarbyLocation
room Wetter
updateOnStart 1
list des FileLog Device
Internals:
DEF ./log/DWD_Regen_Radar-%Y-%m.log DWD_Regen_Radar:.*?_rain_radar.*
FD 53
FUUID 65522436-f33f-4b0e-35fb-f282582c0ea58dd8
NAME FileLog_DWD_Regen_Radar
NOTIFYDEV DWD_Regen_Radar
NR 470
NTFY_ORDER 50-FileLog_DWD_Regen_Radar
REGEXP DWD_Regen_Radar:.*?_rain_radar/..:.*
STATE active
TYPE FileLog
currentlogfile ./log/DWD_Regen_Radar-2023-11.log
eventCount 1
logfile ./log/DWD_Regen_Radar-%Y-%m.log
READINGS:
2023-11-16 09:00:17 linesInTheFile 375
helper:
bm:
FileLog_Define:
cnt 2
dmx -1000
dtot 0
dtotcnt 0
mTS 16.11. 08:45:12
max 0.010167121887207
tot 0.0123031139373779
mAr:
HASH(FileLog_DWD_Regen_Radar)
FileLog_DWD_Regen_Radar FileLog ./log/DWD_Regen_Radar-%Y-%m.log DWD_Regen_Radar:.*?_rain_radar.*
FileLog_Get:
cnt 26
dmx -1000
dtot 0
dtotcnt 0
mTS 16.11. 08:46:07
max 0.00851798057556152
tot 0.0899996757507324
mAr:
HASH(FileLog_DWD_Regen_Radar)
FileLog_DWD_Regen_Radar
CURRENT
INT
2023-11-16_08:50:00
2023-11-16_10:49:59
4:.*::
FileLog_Log:
cnt 8
dmx -1000
dtot 0
dtotcnt 0
mTS 16.11. 08:45:12
max 0.00384712219238281
tot 0.021273136138916
mAr:
HASH(FileLog_DWD_Regen_Radar)
HASH(DWD_Regen_Radar)
FileLog_Set:
cnt 16
dmx -1000
dtot 0
dtotcnt 0
mTS 16.11. 08:45:12
max 0.0206630229949951
tot 0.154908418655396
mAr:
HASH(FileLog_DWD_Regen_Radar)
FileLog_DWD_Regen_Radar
?
FileLog_regexpFn:
cnt 21
dmx -1000
dtot 0
dtotcnt 0
mTS 16.11. 09:01:06
max 0.000203132629394531
tot 0.00250768661499023
mAr:
FileLog_DWD_Regen_Radar
4:.*::
pos:
Attributes:
room Wetter
Das schaut fuer mich so aus, als ob jemand den aktuellen Offset in der Datei nicht zurueckgesetzt haette nachdem die Datei (durch clear) geleert wurde, und deswegen an der alten Stelle weiterschreibt.
Ich habe das jetzt versucht unter Linux nachzustellen, sehe aber kein Problem, selbst mit zwei FileLogs in die gleiche Datei.
Unter welchem OS gibt es die Probleme?
Gibt es evtl. weitere Teilnehmer, die diese Datei geoeffnet haben?
ZitatIch vermute, dass durch eine ungenaue RegEx in der FileLog Device Definition die angehängte Problemdatei entsteht.
Woher kommt diese Hypothese?
Zitat von: rudolfkoenig am 17 November 2023, 17:23:56Das schaut fuer mich so aus, als ob jemand den aktuellen Offset in der Datei nicht zurueckgesetzt haette nachdem die Datei (durch clear) geleert wurde, und deswegen an der alten Stelle weiterschreibt.
Ich habe das jetzt versucht unter Linux nachzustellen, sehe aber kein Problem, selbst mit zwei FileLogs in die gleiche Datei.
Hallo Rudi,
im Moment wird das FileLog alle 15 Minuten durch das DWD Device getriggert und alle 60 Sekunden durch plotAsPng gelesen.
Betriebssystem ist Bullseye auf einem RPi 3B+ und Bullseye auf einem Cubie.
Zitat von: rudolfkoenig am 17 November 2023, 17:23:56Unter welchem OS gibt es die Probleme?
Gibt es evtl. weitere Teilnehmer, die diese Datei geoeffnet haben?
ZitatIch vermute, dass durch eine ungenaue RegEx in der FileLog Device Definition die angehängte Problemdatei entsteht.
Woher kommt diese Hypothese?
Nur Bauchannahme.
Danke und Grüße Jörg
PS: Ich habe die Situation jetzt drei mal gehabt, aber mit allen Tricks nicht nachstellen können. Seid einer Woche unfallfrei.