Hallo Leute,
Ich habe auf einem Raspi 3 Fhem zur Steuerung meines Holzvergasers und der Heizanlagen im Betrieb genommen. (Herzlichen danke an Josty nochmal an dieser Stelle)
Am Raspi hängen ein Sack voll 1wire Temp-Fühler eine Lambdasonde über RS232 ein paar Relais über I2c sowie ein I2c Display und 2x 0-10 Volt Module via PWM I2C. Desweiteren ein Arduino Nano mit Firmata über USB der wiederum ein I2C Display und 2x DS1820 versorgt.
Als Betriebssystem läuft Raspbian 9 Stretch im Desktop Modus zur Anzeige im Browser und RSS Feed .
Soweit ist das alles auch ganz gut, nur leider steigt das Firmata unregelmäßig aus (Display zeigt nichts mehr an und ab und zu kommen blöderweise keine Temperaturen mehr an)
einmal USB abziehen hilft dann bzw einmal das Display resetten im Fhem im I2CLCD Modul
zu Testzwecken für meine Solarthermie hängt in der Werkstatt ein Arduino Mege über Netzwerk mit 2 Sensoren die noch nie ausgefallen sind...
Ich habe das gefühl das sich Fhem kurzzeitig Aufhängt und dann das USB Firmata durcheinander kommt. Das Webinterfäche ist teilweise sehr langsam, dann wieder schön schnell.
Wir haben nun schon alles mögliche probiert, das Netzteil kann ich ausschließen und die abfrageintervalle der Temperaturfühler usw haben wir auch schon hoch genommen.
Der Raspberry scheint auch nicht am ende seiner Leistung zu sein, Speicher ist noch frei und SD Karte habe ich auch schon getauscht.
Im Freezemonitor stehen heute schon 728 einträge, das sind aber immer wieder andere, ich habe keinen Plan wie ich herausfinden kann was der Übeltäter dafür ist.
Vieleicht kann sich mal eine Korifee hier im Forum die Sache mal anschauen, ich bin für jeden tipp dankbar.
Im Anhang ein Bild vom Freesemonitor
Nach detektivischer Kleinarbeit hab ich rasusbekommen, dass Du GPIO4 nutzt. Welche Version hast Du im Einsatz ? Die letzte per FHEM-Update verteilte ?
Grüße
Markus
Zitat von: KölnSolar am 09 Januar 2020, 14:58:42
Nach detektivischer Kleinarbeit hab ich rasusbekommen, dass Du GPIO4 nutzt. Welche Version hast Du im Einsatz ? Die letzte per FHEM-Update verteilte ?
Grüße
Markus
ja, ich habe gpio4 im Einsatz und es sollte auch aktuell sein, hatte vor Weihnachten ein Update von Fhem gemacht.
Gesendet von meinem MHA-L29 mit Tapatalk
Dann nimm mal die hier (https://forum.fhem.de/index.php/topic,11142.msg760799.html#msg760799).
Edit: Und bei Erfolg das Firmata aus dem Titel rausnehmen. Schreckt dann nur unnötig auf....
Gut hab ich gemacht, schein aber nichts gebracht zu haben, es kommen weiterhin fleißig freese....
hab mal die letzten 10 kopiert:
1 - 2020-01-09: s:16:22:10 e:16:22:15 f:5.536 d:tmr-at_Exec(pumpe) tmr-at_Exec(LaufzeitSolar) tmr-PID20_Calc(N/A) tmr-at_Exec(Laufzeit)
1 - 2020-01-09: s:16:23:19 e:16:23:24 f:5.734 d:tmr-PID20_Calc(N/A) tmr-GPIO4_DeviceUpdateLoop(TempVorlauf) tmr-at_Exec(Laufzeit_Anzeige) tmr-OWX_PrQueue(1wireArduinoEthernet12)
1 - 2020-01-09: s:16:24:27 e:16:24:32 f:5.836 d:tmr-GPIO4_DeviceUpdateLoop(TempVorlauf) tmr-MQTT2_SERVER_keepaliveChecker(MQTT2_FHEM_Server) tmr-PID20_Calc(N/A) tmr-PID20_Calc(N/A) tmr-OWX_PrQueue(1wireArduinoEthernet12) tmr-at_Exec(Laufzeit_An...
1 - 2020-01-09: s:16:25:02 e:16:25:07 f:5.973 d:tmr-PID20_Calc(N/A)
1 - 2020-01-09: s:16:25:33 e:16:25:39 f:6.395 d:tmr-PID20_Calc(N/A) tmr-at_Exec(werttholen1)
1 - 2020-01-09: s:16:25:48 e:16:25:51 f:3.118 d:tmr-OWTHERM_GetValues(OWX_28_EE093D231601) tmr-OWTHERM_GetValues(OWX_10_CBC0DE020800) tmr-OWTHERM_GetValues(OWX_28_FF4FEB521704)
1 - 2020-01-09: s:16:26:42 e:16:26:47 f:5.424 d:tmr-OWX_Kick(1wireArduinoEthernet12) tmr-PID20_Calc(N/A) tmr-MQTT2_SERVER_keepaliveChecker(MQTT2_FHEM_Server) tmr-PID20_Calc(N/A) tmr-GPIO4_DeviceUpdateLoop(TempVorlauf)
1 - 2020-01-09: s:16:27:48 e:16:27:55 f:7.239 d:tmr-OWX_Kick(1wireArduinoEthernet12) tmr-MQTT2_SERVER_keepaliveChecker(MQTT2_FHEM_Server) tmr-PID20_Calc(N/A) tmr-PID20_Calc(N/A) tmr-GPIO4_DeviceUpdateLoop(TempVorlauf) tmr-OWTHERM_GetValues(OWX_...
1 - 2020-01-09: s:16:28:58 e:16:29:04 f:6.888 d:tmr-PID20_Calc(N/A) tmr-PID20_Calc(N/A) tmr-OWTHERM_GetValues(OWX_28_FF4FEB521704)
1 - 2020-01-09: s:16:30:02 e:16:30:08 f:6.134 d:tmr-PID20_Calc(N/A)
1 - 2020-01-09: s:16:30:09 e:16:30:14 f:5.684 d:tmr-at_Exec(Laufzeit_Anzeige) tmr-FW_closeInactiveClients(N/A) tmr-at_Exec(pumpe) tmr-at_Exec(LaufzeitSolar) tmr-PID20_Calc(N/A) tmr-at_Exec(Laufzeit) tmr-PID20_Calc(N/A) tmr-GPIO4_DeviceUpdateLoo...
1 - 2020-01-09: s:16:31:18 e:16:31:25 f:7.454 d:tmr-OWTHERM_GetValues(OWX_10_CBC0DE020800) tmr-PID20_Calc(N/A) tmr-ESPEasy_statusRequest(ESPEasy_Heizkreisverteiler_VorlaufFuboHeizEg) tmr-OWTHERM_GetValues(OWX_28_FF4FEB521704)
1 - 2020-01-09: s:16:32:27 e:16:32:33 f:6.248 d:tmr-OWX_Kick(1wireArduinoEthernet12) tmr-PID20_Calc(N/A) tmr-at_Exec(Laufzeit_Anzeige)
1 - 2020-01-09: s:16:33:34 e:16:33:39 f:5.919 d:tmr-MQTT2_SERVER_keepaliveChecker(MQTT2_FHEM_Server) tmr-PID20_Calc(N/A) tmr-PID20_Calc(N/A) tmr-PID20_Calc(N/A) tmr-GPIO4_DeviceUpdateLoop(TempVorlauf)
1 - 2020-01-09: s:16:34:42 e:16:34:47 f:5.599 d:tmr-PID20_Calc(N/A)
1 - 2020-01-09: s:16:35:02 e:16:35:08 f:6.118 d:tmr-PID20_Calc(N/A)
1 - 2020-01-09: s:16:35:51 e:16:35:56 f:5.523 d:tmr-MQTT2_SERVER_keepaliveChecker(MQTT2_FHEM_Server) tmr-PID20_Calc(N/A) tmr-PID20_Calc(N/A) tmr-at_Exec(Laufzeit_Anzeige)
1 - 2020-01-09: s:16:36:58 e:16:37:04 f:6.021 d:tmr-PID20_Calc(N/A) tmr-GPIO4_DeviceUpdateLoop(TempVorlauf) tmr-PID20_Calc(N/A) tmr-OWX_Kick(1wireArduinoEthernet12)
1 - 2020-01-09: s:16:38:06 e:16:38:13 f:7.09 d:tmr-PID20_Calc(N/A) tmr-at_Exec(pumpe) tmr-at_Exec(LaufzeitSolar) tmr-PID20_Calc(N/A) tmr-at_Exec(sendeandisplayat) tmr-at_Exec(Laufzeit) tmr-MQTT2_SERVER_keepaliveChecker(MQTT2_FHEM_Server) tmr-PI...
1 - 2020-01-09: s:16:39:15 e:16:39:21 f:6.044 d:tmr-FW_closeInactiveClients(N/A) tmr-PID20_Calc(N/A) tmr-OWX_Kick(amOfen) tmr-GPIO4_DeviceUpdateLoop(Puffer1_mitte_unten) tmr-GPIO4_DeviceUpdateLoop(WWSpeicher_unten) tmr-at_Exec(pumpe) tmr-GPIO4_...
Wenn Du tatsächlich meine Version eingespielt UND einen reload oder shutdown/restartgemacht hast, dann liegt es nicht mehr am 1w-bus für die Heizung. Vielleicht dann an dem anderen 1-w mit busmaster oder PID20(taucht ja zumindest bei JEDEM freeze auf) ?
ja, hab ich gemacht, ich weiß aber nicht wie ich jetzt weitermachen soll...
Gesendet von meinem MHA-L29 mit Tapatalk
Ich habe jetzt mal Apptime aktiviert, das spuckt folgendes aus:
active-timers: 47; max-active timers: 48; max-timer-load: 20 min-tmrHandlingTm: 0.2ms; max-tmrHandlingTm: 3579.0ms; totAvgDly: 501.2ms
name function max count total average maxDly avgDly TS Max call param Max call
WEB_192.168.0.84_34352 FW_Read 5813 5 28828.61 5765.72 0.00 0.00 12.01. 19:56:04 HASH(WEB_192.168.0.84_34352)
tmr-at_Exec HASH(0x3db9c30) 1509 41 57616.59 1405.28 4965.42 558.74 12.01. 19:48:42 HASH(sendeandisplayat)
Sensoren_Log FileLog_Get 1139 80 42688.54 533.61 0.00 0.00 12.01. 19:43:35 HASH(Sensoren_Log); Sensoren_Log; CURRENT; INT; 2020-01-11_19:45:00; 2020-01-12_19:44:59; 4:Puffer1_oben.temp\x3a::; 4:Puffer1_mitte_oben.temp\x3a::; 4:Puffer1_mitte_unten.temp\x3a::; 4:Puffer1_unten.temp\x3a::
tmr-OWTHERM_GetValues HASH(0x3027430) 1103 52 53905.23 1036.64 4890.77 481.89 12.01. 19:40:48 HASH(OWX_28_FF4FEB521704)
tmr-OWTHERM_GetValues HASH(0x2db8d30) 1050 17 17718.38 1042.26 5704.79 564.70 12.01. 19:43:01 HASH(OWX_28_FFDA8B451603)
tmr-OWTHERM_GetValues HASH(0x3cb7ae0) 1046 51 52640.60 1032.17 5654.82 451.55 12.01. 19:48:43 HASH(OWX_10_CBC0DE020800)
tmr-OWTHERM_GetValues HASH(0x3d3ce00) 1041 34 35065.34 1031.33 5545.69 428.66 12.01. 19:54:20 HASH(OWX_28_EE093D231601)
Outputs_Log FileLog_Get 671 40 17732.77 443.32 0.00 0.00 12.01. 19:40:02 HASH(Outputs_Log); Outputs_Log; CURRENT; INT; 2020-01-12_13:45:00; 2020-01-12_19:44:59; 4:16_Kanal_I2C_PWM.Port00\x3a::; 4:16_Kanal_I2C_PWM.Port01\x3a::
tmr-at_Exec HASH(0x335ce40) 288 74 13941.95 188.40 7188.13 544.83 12.01. 19:54:35 HASH(werttholen1)
RaspitroniKDisplay I2C_LCD_Set 229 166 28929.95 174.28 0.00 0.00 12.01. 19:46:36 HASH(RaspitroniKDisplay); RaspitroniKDisplay; writeXY; 0,0,20; Puffer; oben:; 76.4; C
RaspitroniK_Log FileLog_Get 228 20 4281.05 214.05 0.00 0.00 12.01. 19:45:03 HASH(RaspitroniK_Log); RaspitroniK_Log; CURRENT; INT; 2020-01-12_13:50:00; 2020-01-12_19:49:59; 4:01_RaspitroniK.Status\x3a::$fld[3]=$fld[3]*10
OfenLCD I2C_LCD_Set 202 166 28103.19 169.30 0.00 0.00 12.01. 19:53:17 HASH(OfenLCD); OfenLCD; writeXY; 0,3,20; Abgastemp:; 59.5; C
tmr-at_Exec HASH(0x381f668) 108 261 10085.41 38.64 6191.75 629.54 12.01. 19:49:44 HASH(Laufzeit_Anzeige)
tmr-PID20_Calc PIDVorlaufheizung 105 50 1842.98 36.86 6998.64 826.58 12.01. 19:39:14 PIDVorlaufheizung
Seriell_log FileLog_Get 102 20 1742.64 87.13 0.00 0.00 12.01. 19:45:03 HASH(Seriell_log); Seriell_log; CURRENT; INT; 2020-01-12_13:50:00; 2020-01-12_19:49:59; 4:Raspit.O2\x3a::
tmr-at_Exec HASH(0x3cad5a8) 101 208 7015.69 33.73 6227.21 493.15 12.01. 19:40:55 HASH(pumpe)
Seriell ECMD_Read 100 1426 17953.65 12.59 0.00 0.00 12.01. 19:50:59 HASH(Seriell)
pidwertVorlaufHaus dummy_Set 99 102 1564.76 15.34 0.00 0.00 12.01. 19:39:14 HASH(pidwertVorlaufHaus); pidwertVorlaufHaus; 290
i2c_8kanal_ausgang I2C_PCF8574_Set 83 465 3558.28 7.65 0.00 0.00 12.01. 19:40:55 HASH(i2c_8kanal_ausgang); i2c_8kanal_ausgang; Port1; off
IODEF RPII2C_Write 83 21147 30400.72 1.44 0.00 0.00 12.01. 19:40:55 HASH(IODEF); HASH(0x507a6f8)
i2c_8kanal_ausgang I2C_PCF8574_I2CRec 80 226 2808.45 12.43 0.00 0.00 12.01. 19:40:55 HASH(i2c_8kanal_ausgang); HASH(0x507a6f8)
WEB_192.168.0.125_60331 FW_Read 61 4 68.00 17.00 0.00 0.00 12.01. 19:54:41 HASH(WEB_192.168.0.125_60331)
tmr-SYSMON_Update HASH(0x3eb4598) 57 17 691.26 40.66 2517.84 344.84 12.01. 19:53:20 HASH(Systemmonitor)
tmr-freezemon_ProcessTimer HASH(0x3db9d08) 52 811 569.68 0.70 6681.56 340.30 12.01. 19:43:38 HASH(freesemonitor)
tmr-at_Exec HASH(0x3d8d718) 34 18 360.90 20.05 2530.26 307.24 12.01. 19:39:45 HASH(BerechneVorlauf)
tmr-ESPEasy_statusRequest HASH(0x3aea148) 32 3 68.25 22.75 235.27 79.21 12.01. 19:41:54 HASH(ESPEasy_Heizkreisverteiler_Wohnstube)
tmr-at_Exec HASH(0x3d8c658) 31 208 3698.66 17.78 6109.15 456.58 12.01. 19:51:50 HASH(LaufzeitSolar)
vonpidanVorlaufHaus notify_Exec 30 49 898.01 18.33 0.00 0.00 12.01. 19:55:57 HASH(vonpidanVorlaufHaus); HASH(pidwertVorlaufHaus)
tmr-ESPEasy_statusRequest HASH(0x3ace010) 29 3 72.11 24.04 8.68 4.80 12.01. 19:47:19 HASH(ESPEasy_Heizkreisverteiler_Schlafzimmer)
Regler_Kueche_Eg THRESHOLD_Notify 28 1894 82.32 0.04 0.00 0.00 12.01. 19:51:15 HASH(Regler_Kueche_Eg); HASH(ESPEasy_Heizkreisverteiler_Kueche)
16_Kanal_I2C_PWM I2C_PCA9685_Set 28 313 1914.59 6.12 0.00 0.00 12.01. 19:55:57 HASH(16_Kanal_I2C_PWM); 16_Kanal_I2C_PWM; Port02; 284
tmr-ESPEasy_statusRequest HASH(0x3a37d40) 25 3 67.19 22.40 1.56 1.09 12.01. 19:42:54 HASH(ESPEasy_Heizkreisverteiler_Kueche)
tmr-ESPEasy_statusRequest HASH(0x3adb4d8) 24 3 50.79 16.93 5069.61 1762.44 12.01. 19:41:54 HASH(ESPEasy_Heizkreisverteiler_Kinderzimmer)
16_Kanal_I2C_PWM I2C_PCA9685_I2CRec 24 257 1051.04 4.09 0.00 0.00 12.01. 19:55:57 HASH(16_Kanal_I2C_PWM); HASH(0x50e3ee0)
MQTT2_FHEM_Server_192.168.0.61_61826 MQTT2_SERVER_Read 21 37 52.70 1.42 0.00 0.00 12.01. 19:51:58 HASH(MQTT2_FHEM_Server_192.168.0.61_61826)
tmr-GPIO4_DeviceUpdateLoop HASH(0x3026390) 21 18 277.11 15.40 6521.67 574.35 12.01. 19:43:48 HASH(WWSpeicher_mitte)
AGT_Temperatur dummy_Set 20 113 457.65 4.05 0.00 0.00 12.01. 19:45:57 HASH(AGT_Temperatur); AGT_Temperatur; AGT:; 59.2; BK:; 144.5
tmr-GPIO4_DeviceUpdateLoop HASH(0x3ec4170) 20 3 57.78 19.26 2.88 2.77 12.01. 19:48:29 HASH(Puffer1_unten)
tmr-GPIO4_DeviceUpdateLoop HASH(0x2fafb20) 19 18 275.41 15.30 6533.76 574.52 12.01. 19:46:55 HASH(WWSpeicher_unten)
tmr-GPIO4_DeviceUpdateLoop HASH(0x381ff80) 19 66 751.63 11.39 6142.39 830.36 12.01. 19:47:56 HASH(TempVorlauf)
SetzSliderNotifyKueche notify_Exec 18 1 18.18 18.18 0.00 0.00 12.01. 19:51:15 HASH(SetzSliderNotifyKueche); HASH(Regler_Kueche_Eg)
zumindest taucht GPIO4 nicht auf ;D
Aber die 1s Laufzeit bei OW-Therm kommt mir bekannt vor. Scheint also ein grundsätzliches 1W-Problem zu sein. Das hab ich bei GPIO4 eliminiert.
Tja da hast du vieleich recht...Ich kann mit dem was ich da sehe nix anfangen, eventuell kann mir jemand sagen ob da jetzt etwas auffällig ist?
active-timers: 57; max-active timers: 63; max-timer-load: 23 min-tmrHandlingTm: 0.2ms; max-tmrHandlingTm: 14088.5ms; totAvgDly: 421.9ms
name function max count total average maxDly avgDly TS Max call param Max call
tmr-WeekdayTimer_Update HASH(0x3aeff70) 13035 2 23568.62 11784.31 2.32 2.25 13.01. 05:20:13 HASH(Zeitschaltuhr_1)
Pumpendummyrueckmeldung DOIF_Notify 13010 28 23522.93 840.10 0.00 0.00 13.01. 05:20:13 HASH(Pumpendummyrueckmeldung); HASH(Zeitschaltuhr)
tmr-at_Exec HASH(0x335ce40) 6508 2961 666581.93 225.12 8086.96 459.75 13.01. 05:35:00 HASH(werttholen1)
Regler_Kinderzimmer_Eg THRESHOLD_Set 6390 14 6437.54 459.82 0.00 0.00 13.01. 05:20:06 HASH(Regler_Kinderzimmer_Eg); Regler_Kinderzimmer_Eg; active
Regler_Kinderzimmer_Eg_Dummy dummy_Set 6262 15 14473.89 964.93 0.00 0.00 13.01. 05:20:06 HASH(Regler_Kinderzimmer_Eg_Dummy); Regler_Kinderzimmer_Eg_Dummy; on
Relais_Kinderzimmer_on notify_Exec 6247 3 6248.66 2082.89 0.00 0.00 13.01. 05:20:06 HASH(Relais_Kinderzimmer_on); HASH(Regler_Kinderzimmer_Eg_Dummy)
Regler_Wohnstube_Eg THRESHOLD_Notify 6159 59948 7499.28 0.13 0.00 0.00 12.01. 20:56:20 HASH(Regler_Wohnstube_Eg); HASH(ESPEasy_Heizkreisverteiler_Wohnstube)
Regler_Wohnstube_Eg_Dummy dummy_Set 6146 20 10267.80 513.39 0.00 0.00 12.01. 20:56:20 HASH(Regler_Wohnstube_Eg_Dummy); Regler_Wohnstube_Eg_Dummy; off
Alle_Regler_Aus notify_Exec 4113 12 8259.43 688.29 0.00 0.00 12.01. 21:40:04 HASH(Alle_Regler_Aus); HASH(Regler_Kinderzimmer_Eg_Dummy)
Pumpe_Fubo_Eg_Dummy dummy_Set 4110 25 12324.35 492.97 0.00 0.00 12.01. 21:40:04 HASH(Pumpe_Fubo_Eg_Dummy); Pumpe_Fubo_Eg_Dummy; off
Relais_Pumpe_Fubo_Eg_off notify_Exec 4099 3 8185.19 2728.40 0.00 0.00 12.01. 21:40:04 HASH(Relais_Pumpe_Fubo_Eg_off); HASH(Pumpe_Fubo_Eg_Dummy)
Relais_Pumpe_Fubo_Eg_on notify_Exec 4091 3 4092.88 1364.29 0.00 0.00 13.01. 05:20:06 HASH(Relais_Pumpe_Fubo_Eg_on); HASH(Pumpe_Fubo_Eg_Dummy)
tmr-OWTHERM_GetValues HASH(0x3d3ce00) 4019 1370 1419433.39 1036.08 12212.62 356.86 12.01. 20:21:03 HASH(OWX_28_EE093D231601)
tmr-OWTHERM_GetValues HASH(0x3cb7ae0) 4018 2046 2121498.58 1036.90 13037.60 351.48 12.01. 20:20:58 HASH(OWX_10_CBC0DE020800)
tmr-at_Exec HASH(0x3db9c30) 2755 1658 2343763.83 1413.61 6196.38 453.24 13.01. 07:26:39 HASH(sendeandisplayat)
Regler_Schlafzimmer_Eg THRESHOLD_Set 2221 14 2260.33 161.45 0.00 0.00 13.01. 05:20:08 HASH(Regler_Schlafzimmer_Eg); Regler_Schlafzimmer_Eg; active
Regler_Kueche_Eg THRESHOLD_Set 2206 15 2243.81 149.59 0.00 0.00 13.01. 05:20:13 HASH(Regler_Kueche_Eg); Regler_Kueche_Eg; active
Regler_Schlafzimmer_Eg_Dummy dummy_Set 2114 14 4165.80 297.56 0.00 0.00 13.01. 05:20:08 HASH(Regler_Schlafzimmer_Eg_Dummy); Regler_Schlafzimmer_Eg_Dummy; off
Regler_Wohnstube_Eg THRESHOLD_Set 2111 16 2133.08 133.32 0.00 0.00 13.01. 05:20:10 HASH(Regler_Wohnstube_Eg); Regler_Wohnstube_Eg; active
Regler_Kinderzimmer_Eg THRESHOLD_Notify 2111 59948 4540.01 0.08 0.00 0.00 13.01. 05:56:16 HASH(Regler_Kinderzimmer_Eg); HASH(ESPEasy_Heizkreisverteiler_Kinderzimmer)
Relais_Schlafzimmer_off notify_Exec 2101 2 4130.33 2065.16 0.00 0.00 13.01. 05:20:08 HASH(Relais_Schlafzimmer_off); HASH(Regler_Schlafzimmer_Eg_Dummy)
Regler_Kueche_Eg_Dummy dummy_Set 2059 20 2060.95 103.05 0.00 0.00 13.01. 05:20:12 HASH(Regler_Kueche_Eg_Dummy); Regler_Kueche_Eg_Dummy; off
Regler_Bad_Eg_Dummy dummy_Set 2054 15 6163.93 410.93 0.00 0.00 12.01. 20:56:18 HASH(Regler_Bad_Eg_Dummy); Regler_Bad_Eg_Dummy; off
Relais_Wohnstube_On notify_Exec 2049 59948 23148.53 0.39 0.00 0.00 13.01. 05:20:10 HASH(Relais_Wohnstube_On); HASH(Regler_Wohnstube_Eg_Dummy)
Relais_Kueche_off notify_Exec 2045 1 2045.73 2045.73 0.00 0.00 13.01. 05:20:12 HASH(Relais_Kueche_off); HASH(Regler_Kueche_Eg_Dummy)
Relais_Bad_off notify_Exec 2035 3 4069.15 1356.38 0.00 0.00 12.01. 20:56:18 HASH(Relais_Bad_off); HASH(Regler_Bad_Eg_Dummy)
Relais_Wohnstube_Off notify_Exec 2033 3 4063.98 1354.66 0.00 0.00 12.01. 21:40:10 HASH(Relais_Wohnstube_Off); HASH(Regler_Wohnstube_Eg_Dummy)
Relais_Kinderzimmer_off notify_Exec 2031 3 4061.56 1353.85 0.00 0.00 13.01. 05:56:16 HASH(Relais_Kinderzimmer_off); HASH(Regler_Kinderzimmer_Eg_Dummy)
Relais_Bad_on notify_Exec 2029 3 2030.77 676.92 0.00 0.00 13.01. 05:20:06 HASH(Relais_Bad_on); HASH(Regler_Bad_Eg_Dummy)
Sensoren_Log FileLog_Get 1442 3020 1721543.86 570.05 0.00 0.00 13.01. 06:25:04 HASH(Sensoren_Log); Sensoren_Log; CURRENT; INT; 2020-01-12_06:30:00; 2020-01-13_06:29:59; 4:Puffer1_oben.temp\x3a::; 4:Puffer1_mitte_oben.temp\x3a::; 4:Puffer1_mitte_unten.temp\x3a::; 4:Puffer1_unten.temp\x3a::
tmr-OWTHERM_GetValues HASH(0x2db8d30) 1326 688 713585.97 1037.19 6032.51 378.70 13.01. 05:13:40 HASH(OWX_28_FFDA8B451603)
tmr-OWTHERM_GetValues HASH(0x3027430) 1158 2047 2111171.10 1031.35 6271.44 347.08 13.01. 05:36:03 HASH(OWX_28_FF4FEB521704)
tmr-PID20_Calc SecundaerPID 976 12010 33012.26 2.75 13627.40 449.30 13.01. 07:26:36 SecundaerPID
RaspitroniKDisplay I2C_LCD_Set 738 6645 1184522.16 178.26 0.00 0.00 13.01. 07:26:37 HASH(RaspitroniKDisplay); RaspitroniKDisplay; writeXY; 0,2,20; Puffer; mitte:; 32.1; C
Outputs_Log FileLog_Get 698 1510 348603.19 230.86 0.00 0.00 12.01. 20:29:52 HASH(Outputs_Log); Outputs_Log; CURRENT; INT; 2020-01-12_14:30:00; 2020-01-12_20:29:59; 4:16_Kanal_I2C_PWM.Port00\x3a::; 4:16_Kanal_I2C_PWM.Port01\x3a::
tmr-PID20_Calc KollektorPID 574 8078 21536.63 2.67 7406.24 348.80 13.01. 04:52:07 KollektorPID
tmr-at_Exec HASH(0x3cad5a8) 454 8291 209245.94 25.24 13421.30 372.56 13.01. 05:28:56 HASH(pumpe)
OfenLCD I2C_LCD_Set 307 6645 1135128.34 170.82 0.00 0.00 13.01. 05:35:02 HASH(OfenLCD); OfenLCD; writeXY; 0,3,20; Abgastemp:; 37.2; C
tmr-at_Exec HASH(0x381f668) 298 10364 344303.95 33.22 13582.80 473.88 13.01. 05:34:52 HASH(Laufzeit_Anzeige)
RaspitroniK_Log FileLog_Get 224 755 25547.70 33.84 0.00 0.00 12.01. 20:05:06 HASH(RaspitroniK_Log); RaspitroniK_Log; CURRENT; INT; 2020-01-12_14:10:00; 2020-01-12_20:09:59; 4:01_RaspitroniK.Status\x3a::$fld[3]=$fld[3]*10
AGT_Temperatur dummy_Set 202 4494 21117.24 4.70 0.00 0.00 13.01. 05:29:0
Du kannst es relativ leicht selber interpretieren. Mal gibt es Dinge, die sehr häufig(counts) aufgerufen werden, aber je Aufruf(average) gar nicht so bedeutsam sind. Vielleicht aber hier und da mal auch ein Ausreisser(max). Da würd ich bei Dir PID20 sehen. Dann gibt es Dinge, die sehr selten aufgerufen werden und lange laufen, also wenige counts u. hohen average haben. Das sind die, die eher weniger weh tun. Bei Dir die Regler-, Relais-Dinge. Aber meist sind es meiner Erfahrung nach die "mittleren" Dinge die schmerzen. Bei Dir also die OW-Therm-Geschichten ganz schön oft und im Mittel sehr träge(1s).
Mögliche Ansatzpunkte wären aus meienr Sicht:
- Laufzeiten mit average delay oberhalb von 500 (ms) (oder bei Dir erstmal oberhalb 1000) --> das heisst heir braucht ein Ablauf mehr als eine halbe Sekunde (oder 1 Sekunde) und in der Zeit ist FHEM wohl blockiert. Hier gibt es einige Kandidaten
- Max-Laufzeiten die noch deutlich höher sind wären weitere Ansätze. Da gibt es welche, die vielleicht nur als Folge von anderen Funktionen oder externen Faktoren so lange brauchen
Generell ist die Laufzeit der Relais_* Operationen ziemlich lang - Dem würde ich nachgehen
Ebenfalls ein Kandidat sind Funktionen von OWTherm auffällig sowohl average als auc max recht lang
Ich habe leider keine Ahnung wie ich da jetzt weitermachen soll. Ich habe die Kiste heute mal neu gestartet nachdem ich was am Netzwerk geändert habe. Im Moment kommen ich da auf 5000ms delay
active-timers: 54; max-active timers: 57; max-timer-load: 22 min-tmrHandlingTm: 0.2ms; max-tmrHandlingTm: 1677.4ms; totAvgDly: 303.2ms
name function max count total average maxDly avgDly TS Max call param Max call
WEB_192.168.0.84_58864 FW_Read 5851 7 39907.52 5701.07 0.00 0.00 14.01. 15:24:28 HASH(WEB_192.168.0.84_58864)
WEB_192.168.0.125_57942 FW_Read 5585 2 5585.02 2792.51 0.00 0.00 14.01. 15:28:05 HASH(WEB_192.168.0.125_57942)
tmr-at_Exec HASH(0x3051198) 1488 25 34975.10 1399.00 5072.69 835.05 14.01. 15:18:19 HASH(sendeandisplayat)
Sensoren_Log FileLog_Get 1383 80 50277.44 628.47 0.00 0.00 14.01. 15:25:05 HASH(Sensoren_Log); Sensoren_Log; CURRENT; INT; 2020-01-13_15:30:00; 2020-01-14_15:29:59; 4:Puffer1_oben.temp\x3a::; 4:Puffer1_mitte_oben.temp\x3a::; 4:Puffer1_mitte_unten.temp\x3a::; 4:Puffer1_unten.temp\x3a::
Outputs_Log FileLog_Get 329 40 8886.41 222.16 0.00 0.00 14.01. 15:25:02 HASH(Outputs_Log); Outputs_Log; CURRENT; INT; 2020-01-14_09:30:00; 2020-01-14_15:29:59; 4:16_Kanal_I2C_PWM.Port00\x3a::; 4:16_Kanal_I2C_PWM.Port01\x3a::
RaspitroniK_Log FileLog_Get 268 20 4862.52 243.13 0.00 0.00 14.01. 15:25:02 HASH(RaspitroniK_Log); RaspitroniK_Log; CURRENT; INT; 2020-01-14_09:30:00; 2020-01-14_15:29:59; 4:01_RaspitroniK.Status\x3a::$fld[3]=$fld[3]*10
RaspitroniKDisplay I2C_LCD_Set 236 100 17796.41 177.96 0.00 0.00 14.01. 15:18:18 HASH(RaspitroniKDisplay); RaspitroniKDisplay; writeXY; 0,0,20; Puffer; oben:; 72.7; C
tmr-at_Exec HASH(0x25f4cb8) 234 45 8325.79 185.02 5029.30 525.75 14.01. 15:18:20 HASH(werttholen1)
OfenLCD I2C_LCD_Set 194 100 16873.31 168.73 0.00 0.00 14.01. 15:19:34 HASH(OfenLCD); OfenLCD; writeXY; 0,2,20; Brennkammer:; 235.5; C
tmr-at_Exec HASH(0x2ab7c08) 106 156 6013.28 38.55 5583.22 593.00 14.01. 15:18:45 HASH(Laufzeit_Anzeige)
tmr-at_Exec HASH(0x2f451c8) 85 125 1501.11 12.01 5201.76 492.41 14.01. 15:22:53 HASH(pumpe)
Seriell_log FileLog_Get 82 20 982.68 49.13 0.00 0.00 14.01. 15:25:03 HASH(Seriell_log); Seriell_log; CURRENT; INT; 2020-01-14_09:30:00; 2020-01-14_15:29:59; 4:Raspit.O2\x3a::
tmr-at_Exec HASH(0x3023c08) 54 125 3143.56 25.15 5124.83 477.34 14.01. 15:18:18 HASH(LaufzeitSolar)
tmr-PID20_Calc PIDVorlaufheizung 52 30 750.91 25.03 5637.23 735.52 14.01. 15:26:13 PIDVorlaufheizung
pidwertVorlaufHaus dummy_Set 44 19 567.70 29.88 0.00 0.00 14.01. 15:26:13 HASH(pidwertVorlaufHaus); pidwertVorlaufHaus; 201
Seriell ECMD_Read 38 878 11118.96 12.66 0.00 0.00 14.01. 15:19:00 HASH(Seriell)
FIRMATAUSB FRM_Read 34 115 774.39 6.73 0.00 0.00 14.01. 15:26:41 HASH(FIRMATAUSB)
vonpidanVorlaufHaus notify_Exec 33 19 371.79 19.57 0.00 0.00 14.01. 15:26:13 HASH(vonpidanVorlaufHaus); HASH(pidwertVorlaufHaus)
tmr-ESPEasy_statusRequest HASH(0x2d67428) 32 2 46.13 23.07 2.68 1.81 14.01. 15:25:16 HASH(ESPEasy_Heizkreisverteiler_Kinderzimmer)
16_Kanal_I2C_PWM I2C_PCA9685_Set 31 19 343.79 18.09 0.00 0.00 14.01. 15:26:13 HASH(16_Kanal_I2C_PWM); 16_Kanal_I2C_PWM; Port02; 201
IODEF RPII2C_Write 30 12629 15906.81 1.26 0.00 0.00 14.01. 15:26:13 HASH(IODEF); HASH(0x3bad6e0)
tmr-ESPEasy_statusRequest HASH(0x2d870f8) 28 2 41.02 20.51 5145.69 2583.24 14.01. 15:25:22 HASH(ESPEasy_Heizkreisverteiler_Wohnstube)
tmr-ESPEasy_statusRequest HASH(0x2cd03d8) 26 2 50.98 25.49 1.35 1.17 14.01. 15:25:17 HASH(ESPEasy_Heizkreisverteiler_Kueche)
16_Kanal_I2C_PWM I2C_PCA9685_I2CRec 26 19 266.28 14.01 0.00 0.00 14.01. 15:26:13 HASH(16_Kanal_I2C_PWM); HASH(0x3bad6e0)
tmr-ESPEasy_statusRequest HASH(0x2d834b8) 24 2 48.55 24.27 1.85 1.61 14.01. 15:20:11 HASH(ESPEasy_Heizkreisverteiler_Schlafzimmer)
tmr-at_Exec HASH(0x3024ca8) 21 10 174.49 17.45 3808.37 484.86 14.01. 15:22:58 HASH(BerechneVorlauf)
tmr-GPIO4_DeviceUpdateLoop HASH(0x22be170) 20 10 144.83 14.48 3413.81 697.22 14.01. 15:19:01 HASH(WWSpeicher_mitte)
tmr-GPIO4_DeviceUpdateLoop HASH(0x22bd8e8) 18 10 145.25 14.53 3409.09 695.66 14.01. 15:19:01 HASH(WWSpeicher_unten)
tmr-GPIO4_DeviceUpdateLoop HASH(0x22be9d0) 18 10 141.33 14.13 3402.68 697.74 14.01. 15:21:03 HASH(WWSpeicher_oben)
MQTT2_FHEM_Server_192.168.0.60_62719 MQTT2_SERVER_Read 17 22 38.86 1.77 0.00 0.00 14.01. 15:20:59 HASH(MQTT2_FHEM_Server_192.168.0.60_62719)
FIRMATA_192.168.0.85_49159 FRM_Read 16 1633 812.93 0.50 0.00 0.00 14.01. 15:27:52 HASH(FIRMATA_192.168.0.85_49159)
tmr-GPIO4_DeviceUpdateLoop HASH(0x22801e8) 15 2 30.56 15.28 2.25 1.78 14.01. 15:20:56 HASH(Puffer1_mitte_oben)
tmr-GPIO4_DeviceUpdateLoop HASH(0x2246dd8) 14 10 111.09 11.11 3422.95 695.95 14.01. 15:19:01 HASH(Puffer1_mitte_unten)
tmr-GPIO4_DeviceUpdateLoop HASH(0x2ab8540) 14 38 376.41 9.91 4054.64 1501.56 14.01. 15:22:34 HASH(TempVorlauf)
MQTT2_FHEM_Server_192.168.0.61_65292 MQTT2_SERVER_Read 14 22 27.21 1.24 0.00 0.00 14.01. 15:26:16 HASH(MQTT2_FHEM_Server_192.168.0.61_65292)
AGT_Temperatur dummy_Set 14 45 326.10 7.25 0.00 0.00 14.01. 15:20:26 HASH(AGT_Temperatur); AGT_Temperatur; AGT:; 74.2; BK:; 233.8
MQTT2_FHEM_Server_192.168.0.63_65077 MQTT2_SERVER_Read 13 22 32.07 1.46 0.00 0.00 14.01. 15:21:50 HASH(MQTT2_FHEM_Server_192.168.0.63_65077)
tmr-__ANON__ ESPEasy_Heizkreisverteiler_Schlafzimmer.checkPresence.setState 12 2 24.66 12.33 12.60 12.19 14.01. 15:26:12 ESPEasy_Heizkreisverteiler_Schlafzimmer.checkPresence.setState
tmr-__ANON__ ESPEasy_Heizkreisverteiler_Wohnstube.checkPresence.setState 12 2 18.77 9.39 13.29 9.65 14.01. 15:26:15 ESPEasy_Heizkreisverteiler_Wohnstube.checkPresence.setState
tmr-OWTHERM_GetValues HASH(0x20508b8) 12 11 65.63 5.97 3185.97 417.31 14.01. 15:22:34 HASH(OWX_28_FFDA8B451603)
tmr-GPIO4_DeviceUpdateLoop HASH(0x3196060) 12 2 24.17 12.08 0.99 0.95 14.01. 15:25:58 HASH(Puffer1_unten)
Gibt es niemanden der da eventuell mal per Teamviewer draufschauen kann der Ahnung hat oder so???
Ich verstehe da nur Bahnhof :(
Sieht eigentlich recht friedlich aus.
Da waren ein paar laaaangsaaaame Browserzugriffe und ne menge FileLog-Zugriffe. Ich spekuliere Du hast Dir ein paar plots angezeigt. Nicht außergewöhnliches. Und die 1W-Zugriffe sind bisher auch unverdächtig. Freezes dürftest Du meines Erachtens nicht gehabt haben.
Das https://wiki.fhem.de/wiki/Apptime kennst Du ja, oder ?
Deine Zugriffe auf FHEM dauern extrem lange und verursachen so wahrscheinlich deine Probleme. Hast du irgendwo ein Plot in deiner Oberfläche, in dem du dir die Daten der letzten Monate/Jahre anzeigen lässt oder rufst du eine Seite auf, auf der du sehr viele Plots hast? Schau dir mal die Größe deiner Logfiles an. Sind diese extrem groß?
Hm sind eigendlich Monatsplots, angezeigt wird aber nur max 1 Tag muss ich mal schauen wie groß die sind, da werden 4 Stück minütlich von dem RSS Feed abgerufen, siehe Anhang
Event on change Reading um die Datenmenge zu reduzieren hast du in den entsprechenden Devices gesetzt? Und wenn du die Dinger minütlich abrufst ist das schon krass.
Ja event on change reading ist eigenlich überall drin.
Wusste nich das das so problematisch ist... das ist ja sozusagen das "Display" zum schauen ob der Ofen gut läuft, deshalb sollte das schon so halbwegs aktuell sein.
Gibt es andere Möglichkeiten das zu realisieren?
Zitat von: e_brandt am 14 Januar 2020, 20:44:07
Ja event on change reading ist eigenlich überall drin.
Wusste nich das das so problematisch ist... das ist ja sozusagen das "Display" zum schauen ob der Ofen gut läuft, deshalb sollte das schon so halbwegs aktuell sein.
Gibt es andere Möglichkeiten das zu realisieren?
Würde es nicht ausreichen, das Ding nir z,B per Bewegungsmelder o.ä zu triggern, wenn jemand in der Nähe ist?
Kurz, weil mobil
ZitatUnd wenn du die Dinger minütlich abrufst ist das schon krass.
Für die CPU schon, aber freezes in FHEM sind das doch nicht, oder ?
Mit freezemon müsste man das bei gesetztem fm_CatchCmds im Log sehen, aber keinen erkannten freeze, oder KernSani ?
Mit Freezemon würde man auf jeden Fall sehen, ob die Dinger wirklich freezes verursachen und könnte dann ggfs. im Log checken, was im Detail passiert...
Kurz, weil mobil
Hab gerade Freezemon wiede aktiviert, im Log steht folgendes:
2020.01.14 21:00:10 2: Pumpendummyrueckmeldung: set PumpeVorlauf off ; set Regler_Kinderzimmer_Eg deactivated ; set Regler_Schlafzimmer_Eg deactivated ; set Regler_Wohnstube_Eg deactivated ; set Regler_Kueche_Eg deactivated ; set Regler_Kinderzimmer_Eg_Dummy off ; set Regler_Schlafzimmer_Eg_Dummy off ; set Regler_Wohnstube_Eg_Dummy off ; set Regler_Kueche_Eg off ;: Regler_Kueche_Eg: unknown argument off, choose one of desired active external deactivated hysteresis offset cmd1_gt cmd2_lt
2020.01.14 22:06:46 1: ERROR: bad cmdIcon definition for Regler_Schlafzimmer_Eg_Dummy
2020.01.14 22:06:46 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/01_FHEMWEB.pm line 1818.
2020.01.14 22:07:04 2: [Freezemon] freesemonitor: ready to watch out for delays greater than 3 second(s)
2020.01.14 22:07:58 1: [Freezemon] freesemonitor: possible freeze starting at 22:07:53, delay is 5.328 possibly caused by: tmr-PID20_Calc(N/A) tmr-MQTT2_SERVER_keepaliveChecker(MQTT2_FHEM_Server) tmr-OWX_Kick(1wireArduinoEthernet12) tmr-OWX_PrQueue(1wireArduinoEthernet12) tmr-OWX_PrQueue(amOfen)
2020.01.14 22:09:02 2: [Freezemon] freesemonitor: Long running Command detected get Sensoren_Log CURRENT INT 2020-01-13_22:10:00 2020-01-14_22:09:59 4:Puffer1_oben.temp\x3a:: 4:Puffer1_mitte_oben.temp\x3a:: 4:Puffer1_mitte_unten.temp\x3a:: 4:Puffer1_unten.temp\x3a:::WEB - 1.298064 seconds
2020.01.14 22:09:03 2: [Freezemon] freesemonitor: Long running Command detected get Sensoren_Log CURRENT INT 2020-01-13_22:10:00 2020-01-14_22:09:59 4:WWSpeicher_oben.temp\x3a:: 4:WWSpeicher_mitte.temp\x3a:: 4:WWSpeicher_unten.temp\x3a:::WEB - 1.017642 seconds
2020.01.14 22:09:05 1: [Freezemon] freesemonitor: possible freeze starting at 22:09:00, delay is 5.618 possibly caused by: cmd-get Sensoren_Log CURRENT INT 2020-01-13_22:10:00 2020-01-14_22:09:59 4:Puffer1_oben.temp\x3a:: 4:Puffer1_mitte_oben.temp\x3a:: 4:Puffer1_mitte_unten.temp\x3a:: 4:Puffer1_unten.temp\x3a::(WEB) cmd-get Sensoren_Log CURRENT INT 2020-01-13_22:10:00 2020-01-14_22:09:59 4:WWSpeicher_oben.temp\x3a:: 4:WWSpeicher_mitte.temp\x3a:: 4:WWSpeicher_unten.temp\x3a::(WEB) tmr-PID20_Calc(N/A) tmr-GPIO4_DeviceUpdateLoop(WWSpeicher_unten) tmr-PID20_Calc(N/A) tmr-OWX_PrQueue(amOfen) tmr-OWX_PrQueue(1wireArduinoEthernet12)
2020.01.14 22:10:04 2: [Freezemon] freesemonitor: Long running Command detected get Sensoren_Log CURRENT INT 2020-01-13_22:15:00 2020-01-14_22:14:59 4:Puffer1_oben.temp\x3a:: 4:Puffer1_mitte_oben.temp\x3a:: 4:Puffer1_mitte_unten.temp\x3a:: 4:Puffer1_unten.temp\x3a:::WEB - 1.339127 seconds
2020.01.14 22:10:06 2: [Freezemon] freesemonitor: Long running Command detected get Sensoren_Log CURRENT INT 2020-01-13_22:15:00 2020-01-14_22:14:59 4:WWSpeicher_oben.temp\x3a:: 4:WWSpeicher_mitte.temp\x3a:: 4:WWSpeicher_unten.temp\x3a:::WEB - 1.050645 seconds
2020.01.14 22:10:08 1: [Freezemon] freesemonitor: possible freeze starting at 22:10:02, delay is 6.028 possibly caused by: cmd-get Sensoren_Log CURRENT INT 2020-01-13_22:15:00 2020-01-14_22:14:59 4:Puffer1_oben.temp\x3a:: 4:Puffer1_mitte_oben.temp\x3a:: 4:Puffer1_mitte_unten.temp\x3a:: 4:Puffer1_unten.temp\x3a::(WEB) cmd-get Sensoren_Log CURRENT INT 2020-01-13_22:15:00 2020-01-14_22:14:59 4:WWSpeicher_oben.temp\x3a:: 4:WWSpeicher_mitte.temp\x3a:: 4:WWSpeicher_unten.temp\x3a::(WEB) tmr-at_Exec(Laufzeit_Anzeige) tmr-OWX_PrQueue(amOfen) tmr-OWX_PrQueue(1wireArduinoEthernet12)
2020.01.14 22:10:11 2: [Freezemon] freesemonitor: Long running Command detected get Sensoren_Log CURRENT INT 2020-01-13_22:15:00 2020-01-14_22:14:59 4:Puffer1_oben.temp\x3a:: 4:Puffer1_mitte_oben.temp\x3a:: 4:Puffer1_mitte_unten.temp\x3a:: 4:Puffer1_unten.temp\x3a:::WEB - 1.323798 seconds
2020.01.14 22:10:12 2: [Freezemon] freesemonitor: Long running Command detected get Sensoren_Log CURRENT INT 2020-01-13_22:15:00 2020-01-14_22:14:59 4:WWSpeicher_oben.temp\x3a:: 4:WWSpeicher_mitte.temp\x3a:: 4:WWSpeicher_unten.temp\x3a:::WEB - 1.023324 seconds
2020.01.14 22:10:13 1: [Freezemon] freesemonitor: possible freeze starting at 22:10:09, delay is 4.967 possibly caused by: cmd-get Sensoren_Log CURRENT INT 2020-01-13_22:15:00 2020-01-14_22:14:59 4:Puffer1_oben.temp\x3a:: 4:Puffer1_mitte_oben.temp\x3a:: 4:Puffer1_mitte_unten.temp\x3a:: 4:Puffer1_unten.temp\x3a::(WEB) cmd-get Sensoren_Log CURRENT INT 2020-01-13_22:15:00 2020-01-14_22:14:59 4:WWSpeicher_oben.temp\x3a:: 4:WWSpeicher_mitte.temp\x3a:: 4:WWSpeicher_unten.temp\x3a::(WEB) tmr-PID20_Calc(N/A) tmr-at_Exec(pumpe) tmr-at_Exec(LaufzeitSolar) tmr-at_Exec(Laufzeit) tmr-PID20_Calc(N/A) tmr-at_Exec(Laufzeit_Anzeige) tmr-GPIO4_DeviceUpdateLoop(WWSpeicher_mitte) tmr-GPIO4_DeviceUpdateLoop(WWSpeicher_oben) tmr-OWX_Kick(amOfen) tmr-GPIO4_DeviceUpdateLoop(Puffer1_mitte_unten) tmr-GPIO4_DeviceUpdateLoop(TempVorlauf) tmr-PID20_Calc(N/A) tmr-PID20_Calc(N/A) tmr-MQTT2_SERVER_keepaliveChecker(MQTT2_FHEM_Server) tmr-PID20_Calc(N/A)
Böse..., das zeigt ziemlich deutlich, dass wir hier pro Minute 5 Sekunden Freeze haben :o, teilweise sogar mehr... SensorenLog wird da wohl zweimal geholt. mit jeweils über 1 Sek.
Bei
tmr-PID20_Calc(N/A) tmr-GPIO4_DeviceUpdateLoop(WWSpeicher_unten) tmr-PID20_Calc(N/A) tmr-OWX_PrQueue(amOfen) tmr-OWX_PrQueue(1wireArduinoEthernet12)
darf Markus was dazu sagen.
@e_brandt: Vielleicht kannst du noch eines der erzeugten Logs anhängen
020.01.14 22:37:53 2: [Freezemon] freesemonitor: Long running Command detected get Sensoren_Log CURRENT INT 2020-01-13_22:40:00 2020-01-14_22:39:59 4:Puffer1_oben.temp\x3a:: 4:Puffer1_mitte_oben.temp\x3a:: 4:Puffer1_mitte_unten.temp\x3a:: 4:Puffer1_unten.temp\x3a:::WEB - 1.292853 seconds
2020.01.14 22:37:55 2: [Freezemon] freesemonitor: Long running Command detected get Sensoren_Log CURRENT INT 2020-01-13_22:40:00 2020-01-14_22:39:59 4:WWSpeicher_oben.temp\x3a:: 4:WWSpeicher_mitte.temp\x3a:: 4:WWSpeicher_unten.temp\x3a:::WEB - 1.025269 seconds
2020.01.14 22:37:56 1: [Freezemon] freesemonitor: possible freeze starting at 22:37:52, delay is 4.887 possibly caused by: cmd-get Sensoren_Log CURRENT INT 2020-01-13_22:40:00 2020-01-14_22:39:59 4:Puffer1_oben.temp\x3a:: 4:Puffer1_mitte_oben.temp\x3a:: 4:Puffer1_mitte_unten.temp\x3a:: 4:Puffer1_unten.temp\x3a::(WEB) cmd-get Sensoren_Log CURRENT INT 2020-01-13_22:40:00 2020-01-14_22:39:59 4:WWSpeicher_oben.temp\x3a:: 4:WWSpeicher_mitte.temp\x3a:: 4:WWSpeicher_unten.temp\x3a::(WEB) tmr-PID20_Calc(N/A) tmr-PID20_Calc(N/A) tmr-PID20_Calc(N/A) tmr-MQTT2_SERVER_keepaliveChecker(MQTT2_FHEM_Server) tmr-OWX_PrQueue(1wireArduinoEthernet12)
2020.01.14 22:39:01 2: [Freezemon] freesemonitor: Long running Command detected get Sensoren_Log CURRENT INT 2020-01-13_22:40:00 2020-01-14_22:39:59 4:Puffer1_oben.temp\x3a:: 4:Puffer1_mitte_oben.temp\x3a:: 4:Puffer1_mitte_unten.temp\x3a:: 4:Puffer1_unten.temp\x3a:::WEB - 1.333364 seconds
2020.01.14 22:39:02 2: [Freezemon] freesemonitor: Long running Command detected get Sensoren_Log CURRENT INT 2020-01-13_22:40:00 2020-01-14_22:39:59 4:WWSpeicher_oben.temp\x3a:: 4:WWSpeicher_mitte.temp\x3a:: 4:WWSpeicher_unten.temp\x3a:::WEB - 1.027839 seconds
2020.01.14 22:39:04 1: [Freezemon] freesemonitor: possible freeze starting at 22:38:59, delay is 5.114 possibly caused by: cmd-get Sensoren_Log CURRENT INT 2020-01-13_22:40:00 2020-01-14_22:39:59 4:Puffer1_oben.temp\x3a:: 4:Puffer1_mitte_oben.temp\x3a:: 4:Puffer1_mitte_unten.temp\x3a:: 4:Puffer1_unten.temp\x3a::(WEB) cmd-get Sensoren_Log CURRENT INT 2020-01-13_22:40:00 2020-01-14_22:39:59 4:WWSpeicher_oben.temp\x3a:: 4:WWSpeicher_mitte.temp\x3a:: 4:WWSpeicher_unten.temp\x3a::(WEB) tmr-at_Exec(pumpe) tmr-at_Exec(LaufzeitSolar) tmr-at_Exec(BerechneVorlauf) tmr-PID20_Calc(N/A) tmr-at_Exec(Laufzeit)
2020.01.14 22:40:04 2: [Freezemon] freesemonitor: Long running Command detected get Sensoren_Log CURRENT INT 2020-01-13_22:45:00 2020-01-14_22:44:59 4:Puffer1_oben.temp\x3a:: 4:Puffer1_mitte_oben.temp\x3a:: 4:Puffer1_mitte_unten.temp\x3a:: 4:Puffer1_unten.temp\x3a:::WEB - 1.416361 seconds
2020.01.14 22:40:05 2: [Freezemon] freesemonitor: Long running Command detected get Sensoren_Log CURRENT INT 2020-01-13_22:45:00 2020-01-14_22:44:59 4:WWSpeicher_oben.temp\x3a:: 4:WWSpeicher_mitte.temp\x3a:: 4:WWSpeicher_unten.temp\x3a:::WEB - 1.049081 seconds
2020.01.14 22:40:07 1: [Freezemon] freesemonitor: possible freeze starting at 22:40:02, delay is 5.813 possibly caused by: cmd-get Sensoren_Log CURRENT INT 2020-01-13_22:45:00 2020-01-14_22:44:59 4:Puffer1_oben.temp\x3a:: 4:Puffer1_mitte_oben.temp\x3a:: 4:Puffer1_mitte_unten.temp\x3a:: 4:Puffer1_unten.temp\x3a::(WEB) cmd-get Sensoren_Log CURRENT INT 2020-01-13_22:45:00 2020-01-14_22:44:59 4:WWSpeicher_oben.temp\x3a:: 4:WWSpeicher_mitte.temp\x3a:: 4:WWSpeicher_unten.temp\x3a::(WEB) tmr-at_Exec(Laufzeit_Anzeige)
2020.01.14 22:40:10 2: [Freezemon] freesemonitor: Long running Command detected get Sensoren_Log CURRENT INT 2020-01-13_22:45:00 2020-01-14_22:44:59 4:Puffer1_oben.temp\x3a:: 4:Puffer1_mitte_oben.temp\x3a:: 4:Puffer1_mitte_unten.temp\x3a:: 4:Puffer1_unten.temp\x3a:::WEB - 1.391819 seconds
2020.01.14 22:40:12 2: [Freezemon] freesemonitor: Long running Command detected get Sensoren_Log CURRENT INT 2020-01-13_22:45:00 2020-01-14_22:44:59 4:WWSpeicher_oben.temp\x3a:: 4:WWSpeicher_mitte.temp\x3a:: 4:WWSpeicher_unten.temp\x3a:::WEB - 1.092485 seconds
2020.01.14 22:40:13 1: [Freezemon] freesemonitor: possible freeze starting at 22:40:08, delay is 5.896 possibly caused by: cmd-get Sensoren_Log CURRENT INT 2020-01-13_22:45:00 2020-01-14_22:44:59 4:Puffer1_oben.temp\x3a:: 4:Puffer1_mitte_oben.temp\x3a:: 4:Puffer1_mitte_unten.temp\x3a:: 4:Puffer1_unten.temp\x3a::(WEB) cmd-get Sensoren_Log CURRENT INT 2020-01-13_22:45:00 2020-01-14_22:44:59 4:WWSpeicher_oben.temp\x3a:: 4:WWSpeicher_mitte.temp\x3a:: 4:WWSpeicher_unten.temp\x3a::(WEB) tmr-at_Exec(werttholen1) tmr-PID20_Calc(N/A) tmr-at_Exec(pumpe) tmr-at_Exec(LaufzeitSolar) tmr-at_Exec(Laufzeit) tmr-PID20_Calc(N/A) tmr-PID20_Calc(N/A) tmr-MQTT2_SERVER_keepaliveChecker(MQTT2_FHEM_Server) tmr-GPIO4_DeviceUpdateLoop(TempVorlauf) tmr-OWTHERM_GetValues(OWX_10_CBC0DE020800) tmr-OWTHERM_GetValues(OWX_28_FF4FEB521704) tmr-PID20_Calc(N/A) tmr-at_Exec(Laufzeit_Anzeige) tmr-PID20_Calc(N/A) tmr-OWTHERM_GetValues(OWX_28_FFDA8B451603) tmr-GPIO4_DeviceUpdateLoop(WWSpeicher_unten)
jump to the top
@e_brandt, Freezemon erzeugt eigene Logfiles mit verbose 5. Defaultmäßig werden die im log-Verzeichnis abgelegt. So ein File wollte ich angehängt haben (nicht copy/paste, das wird zu lang ;))
falls es die logs nicht gibt:
attr freesemonitor fm_logFile ./log/freeze-%Y%m%d-%H%M%S.log
Zitatdarf Markus was dazu sagen
GPIO4 unverdächtig, wenn meine inoffizielle Version läuft.
Zitattmr-OWX_PrQueue(1wireArduinoEthernet12) tmr-OWX_PrQueue(amOfen)
sagte ich ja bereits.
Jetzt müsste aber auch apptime die wieder mit hoher average anzeigen.
Hier noch einmal apptime von heute früh
active-timers: 57; max-active timers: 67; max-timer-load: 24 min-tmrHandlingTm: 0.1ms; max-tmrHandlingTm: 12922.7ms; totAvgDly: 232.7ms
name function max count total average maxDly avgDly TS Max call param Max call
tmr-WeekdayTimer_Update HASH(0x55a1598) 12922 1 12922.34 12922.34 57.03 57.03 15.01. 05:20:12 HASH(Zeitschaltuhr_1)
Pumpendummyrueckmeldung DOIF_Notify 12907 18 23351.22 1297.29 0.00 0.00 15.01. 05:20:12 HASH(Pumpendummyrueckmeldung); HASH(Zeitschaltuhr)
tmr-WeekdayTimer_Update HASH(0x3355d98) 10457 1 10457.55 10457.55 86.10 86.10 14.01. 21:00:10 HASH(Zeitschaltuhr_2)
Regler_Kinderzimmer_Eg THRESHOLD_Set 6283 3 6320.57 2106.86 0.00 0.00 15.01. 05:20:06 HASH(Regler_Kinderzimmer_Eg); Regler_Kinderzimmer_Eg; active
Regler_Kinderzimmer_Eg_Dummy dummy_Set 6171 3 8226.05 2742.02 0.00 0.00 15.01. 05:20:06 HASH(Regler_Kinderzimmer_Eg_Dummy); Regler_Kinderzimmer_Eg_Dummy; on
Relais_Kinderzimmer_on notify_Exec 6157 2 6158.14 3079.07 0.00 0.00 15.01. 05:20:06 HASH(Relais_Kinderzimmer_on); HASH(Regler_Kinderzimmer_Eg_Dummy)
Regler_Wohnstube_Eg_Dummy dummy_Set 6144 3 8193.87 2731.29 0.00 0.00 14.01. 21:00:10 HASH(Regler_Wohnstube_Eg_Dummy); Regler_Wohnstube_Eg_Dummy; off
WEB_192.168.0.84_49178 FW_Read 5267 8 39804.24 4975.53 0.00 0.00 15.01. 07:31:51 HASH(WEB_192.168.0.84_49178)
WEB_192.168.0.125_57085 FW_Read 4932 3 9832.57 3277.52 0.00 0.00 15.01. 07:37:15 HASH(WEB_192.168.0.125_57085)
Alle_Regler_Aus notify_Exec 4100 9 4125.65 458.41 0.00 0.00 14.01. 21:00:08 HASH(Alle_Regler_Aus); HASH(Regler_Wohnstube_Eg_Dummy)
Pumpe_Fubo_Eg_Dummy dummy_Set 4096 6 8194.26 1365.71 0.00 0.00 15.01. 05:20:06 HASH(Pumpe_Fubo_Eg_Dummy); Pumpe_Fubo_Eg_Dummy; on
Relais_Pumpe_Fubo_Eg_on notify_Exec 4083 2 4083.86 2041.93 0.00 0.00 15.01. 05:20:06 HASH(Relais_Pumpe_Fubo_Eg_on); HASH(Pumpe_Fubo_Eg_Dummy)
Relais_Pumpe_Fubo_Eg_off notify_Exec 4081 2 4081.75 2040.88 0.00 0.00 14.01. 21:00:08 HASH(Relais_Pumpe_Fubo_Eg_off); HASH(Pumpe_Fubo_Eg_Dummy)
Regler_Kueche_Eg THRESHOLD_Set 2323 4 2359.13 589.78 0.00 0.00 15.01. 05:20:12 HASH(Regler_Kueche_Eg); Regler_Kueche_Eg; active
Regler_Kueche_Eg_Dummy dummy_Set 2209 2 2210.02 1105.01 0.00 0.00 15.01. 05:20:12 HASH(Regler_Kueche_Eg_Dummy); Regler_Kueche_Eg_Dummy; on
Relais_Kueche_on notify_Exec 2201 1 2201.27 2201.27 0.00 0.00 15.01. 05:20:12 HASH(Relais_Kueche_on); HASH(Regler_Kueche_Eg_Dummy)
Regler_Schlafzimmer_Eg THRESHOLD_Set 2168 3 2204.33 734.78 0.00 0.00 15.01. 05:20:08 HASH(Regler_Schlafzimmer_Eg); Regler_Schlafzimmer_Eg; active
Regler_Wohnstube_Eg THRESHOLD_Set 2090 3 2105.16 701.72 0.00 0.00 15.01. 05:20:10 HASH(Regler_Wohnstube_Eg); Regler_Wohnstube_Eg; active
tmr-at_Exec HASH(0x45846c0) 2068 1 2068.73 2068.73 1.03 1.03 15.01. 05:21:14 HASH(Pumpenochmal)
Regler_Schlafzimmer_Eg_Dummy dummy_Set 2059 3 4101.99 1367.33 0.00 0.00 14.01. 21:00:04 HASH(Regler_Schlafzimmer_Eg_Dummy); Regler_Schlafzimmer_Eg_Dummy; off
Regler_Bad_Eg_Dummy dummy_Set 2050 3 4097.52 1365.84 0.00 0.00 14.01. 21:00:08 HASH(Regler_Bad_Eg_Dummy); Regler_Bad_Eg_Dummy; off
Relais_Kinderzimmer_off notify_Exec 2039 2 2039.79 1019.89 0.00 0.00 14.01. 21:00:02 HASH(Relais_Kinderzimmer_off); HASH(Regler_Kinderzimmer_Eg_Dummy)
Relais_Wohnstube_On notify_Exec 2031 106950 37057.98 0.35 0.00 0.00 15.01. 05:20:10 HASH(Relais_Wohnstube_On); HASH(Regler_Wohnstube_Eg_Dummy)
Relais_Bad_on notify_Exec 2030 2 2031.03 1015.52 0.00 0.00 15.01. 05:20:06 HASH(Relais_Bad_on); HASH(Regler_Bad_Eg_Dummy)
Relais_Schlafzimmer_off notify_Exec 2030 2 4060.38 2030.19 0.00 0.00 14.01. 21:00:04 HASH(Relais_Schlafzimmer_off); HASH(Regler_Schlafzimmer_Eg_Dummy)
Relais_Wohnstube_Off notify_Exec 2029 2 2030.00 1015.00 0.00 0.00 14.01. 21:00:10 HASH(Relais_Wohnstube_Off); HASH(Regler_Wohnstube_Eg_Dummy)
Relais_Bad_off notify_Exec 2029 2 2029.31 1014.65 0.00 0.00 14.01. 21:00:08 HASH(Relais_Bad_off); HASH(Regler_Bad_Eg_Dummy)
tmr-at_Exec HASH(0x3051198) 1824 2354 3294471.94 1399.52 6018.54 239.19 15.01. 01:00:25 HASH(sendeandisplayat)
Sensoren_Log FileLog_Get 1649 5596 3527509.14 630.36 0.00 0.00 15.01. 01:00:11 HASH(Sensoren_Log); Sensoren_Log; CURRENT; INT; 2020-01-14_01:05:00; 2020-01-15_01:04:59; 4:Puffer1_oben.temp\x3a::; 4:Puffer1_mitte_oben.temp\x3a::; 4:Puffer1_mitte_unten.temp\x3a::; 4:Puffer1_unten.temp\x3a::
tmr-at_Exec HASH(0x25f4cb8) 1454 4202 810791.19 192.95 7860.99 508.94 15.01. 01:00:32 HASH(werttholen1)
Outputs_Log FileLog_Get 521 2798 563241.78 201.30 0.00 0.00 14.01. 17:08:46 HASH(Outputs_Log); Outputs_Log; CURRENT; INT; 2020-01-14_11:10:00; 2020-01-14_17:09:59; 4:16_Kanal_I2C_PWM.Port00\x3a::; 4:16_Kanal_I2C_PWM.Port01\x3a::
tmr-at_Exec HASH(0x3198910) 415 11765 120836.64 10.27 12868.25 763.53 14.01. 19:23:49 HASH(Laufzeit)
RaspitroniK_Log FileLog_Get 372 1399 224075.82 160.17 0.00 0.00 14.01. 17:14:36 HASH(RaspitroniK_Log); RaspitroniK_Log; CURRENT; INT; 2020-01-14_11:15:00; 2020-01-14_17:14:59; 4:01_RaspitroniK.Status\x3a::$fld[3]=$fld[3]*10
01_RaspitroniK dummy_Set 345 9423 1209.46 0.13 0.00 0.00 14.01. 19:23:49 HASH(01_RaspitroniK); 01_RaspitroniK; Stop
RaspitroniKDisplay I2C_LCD_Set 340 9421 1675001.16 177.79 0.00 0.00 15.01. 01:00:23 HASH(RaspitroniKDisplay); RaspitroniKDisplay; writeXY; 0,0,20; Puffer; oben:; 74.1; C
Raspitronik_Stop notify_Exec 335 106950 27301.06 0.26 0.00 0.00 14.01. 19:23:49 HASH(Raspitronik_Stop); HASH(01_RaspitroniK)
tmr-GPIO4_DeviceUpdateLoop HASH(0x2ab8540) 283 3732 51074.17 13.69 7647.31 750.32 15.01. 01:00:40 HASH(TempVorlauf)
OfenLCD I2C_LCD_Set 233 9421 1590171.83 168.79 0.00 0.00 14.01. 17:38:44 HASH(OfenLCD); OfenLCD; writeXY; 0,2,20; Brennkammer:; 515.2; C
tmr-at_Exec HASH(0x2f451c8) 222 11766 257206.50 21.86 13184.56 454.71 15.01. 01:00:38 HASH(pumpe)
FIRMATAUSB FRM_Read 217 10974 48682.59 4.44 0.00 0.00 14.01. 20:59:44 HASH(FIRMATAUSB)
tmr-Longpress HASH(0x31a3f48) 207 1 207.35 207.35 0.68 0.68 14.01. 15:36:09 HASH(Ofentaster)
1w mit GPIO4 sieht gut aus. Überraschenderweise sehe ich OWTHERM nicht. Aber die Laufzeiten sind generell heftig, möglicherweise aber nur geblocked von etwas anderem.
Wie Oli schon schrieb, mach malattr DeinfreezemonDevice fm_logFile ./log/freeze-%Y%m%d.log
Dann werden die freezes in ein separates free-TagesLog geschrieben, welches Du hier einstellen kannst. Am besten auch attrDeinfreezemonDevice fm_freezeThreshold 2
Dann werden nur freezes größer 2 Sekunden gelogged. Bleibt das freeze-Log leer kannst Du den Wert peu-a-peu runtersetzen.
Ich glaube das die Laufzeit immer genau der tatsächlichen Laufzeit entspricht. Wäre etwas geblockt, dann würde diese Zeit in ...Dly auftauchen. Aber bei den Zahlen ist Hopfen und Malz verloren und jede weitere Analyse erübrigt sich. Deine Hardware ist entweder zu langsam oder irgendwas auf dem System frisst die gesamte Rechenzeit weg.
Zitat von: mumpitzstuff am 15 Januar 2020, 09:29:10
Ich glaube das die Laufzeit immer genau der tatsächlichen Laufzeit entspricht. Wäre etwas geblockt, dann würde diese Zeit in ...Dly auftauchen. Aber bei den Zahlen ist Hopfen und Malz verloren und jede weitere Analyse erübrigt sich. Deine Hardware ist entweder zu langsam oder irgendwas auf dem System frisst die gesamte Rechenzeit weg.
Auf dem Raspy ist nur das drauf was ich für Fhem und das was ringsum Fhem ist benötige, normal sollte die Leistung vom 3er doch dafür ausreichen oder?
Htop ist doch unauffällig oder? siehe Bild Speicher ist noch frei...
Im Anhang der Freeze Log
Da ist jetzt nur ein "freeze" drin. Wenn Du es länger laufen lässt, sammelt es sich....
Der eine freeze scheint mir kein freeze zu sein, bzw. zeigt nur dass das Lesen der Logs für Deine Anzeige lange dauert.
Die erschwert die Analyse. Kannst Du die Anzeige mal "stilllegen", und dann mal nach nem Stündchen das Log wieder posten...
Zitat von: KölnSolar am 16 Januar 2020, 09:29:02
Da ist jetzt nur ein "freeze" drin. Wenn Du es länger laufen lässt, sammelt es sich....
Der eine freeze scheint mir kein freeze zu sein, bzw. zeigt nur dass das Lesen der Logs für Deine Anzeige lange dauert.
Die erschwert die Analyse. Kannst Du die Anzeige mal "stilllegen", und dann mal nach nem Stündchen das Log wieder posten...
Ich glaube der macht für jedes Freeze eine log Datei, kann ich das ändern?
sorry, mir fehlt das Fachwissen :(
Das hängt am Namen des Logfiles (der im Attribut angegeben ist). Nimm da z.B. Sekunden und Minuten raus
Kurz, weil mobil
Zitat von: e_brandt am 16 Januar 2020, 09:05:00
Auf dem Raspy ist nur das drauf was ich für Fhem und das was ringsum Fhem ist benötige, normal sollte die Leistung vom 3er doch dafür ausreichen oder?
Htop ist doch unauffällig oder? siehe Bild Speicher ist noch frei...
Ich kann nicht sagen ob das zu den Freezes führt, aber ich finde htop nicht so unauffällig - wenn es keine Momentaufnahme ist.
27% mem für FHEM ist ordentlich und 60% der CPU (wenn dauerhaft) heisst für mich der pi ist schon ganz ordentlich unter Dampf
Ausserdem nochmal zu den Monatsplots:
Auf der Grafik erkenne ich 14 verschiedene Kurven - von denen zumindest einige mindestens einmal pro minute einen neuen Wert haben.
Also 60 pro Stunde - oder 4000 pro monat und dann noch mal 14 --> Also >60000 Datenpunkte, die jede Minute gelesen und geplottet werden.
==> WIe schon gesagt, kannst Du das mal zwischenzeitlich abklemmen - dann lässt sich der Rest besser analysieren.
Zitat von: viegener am 16 Januar 2020, 15:00:57
Ich kann nicht sagen ob das zu den Freezes führt, aber ich finde htop nicht so unauffällig - wenn es keine Momentaufnahme ist.
27% mem für FHEM ist ordentlich und 60% der CPU (wenn dauerhaft) heisst für mich der pi ist schon ganz ordentlich unter Dampf
Ausserdem nochmal zu den Monatsplots:
Auf der Grafik erkenne ich 14 verschiedene Kurven - von denen zumindest einige mindestens einmal pro minute einen neuen Wert haben.
Also 60 pro Stunde - oder 4000 pro monat und dann noch mal 14 --> Also >60000 Datenpunkte, die jede Minute gelesen und geplottet werden.
==> WIe schon gesagt, kannst Du das mal zwischenzeitlich abklemmen - dann lässt sich der Rest besser analysieren.
Ja das ist nur eien momentaufnahme, CPU geht zwischendurch viel weiter runter bzw zeig garnichts an.
Im Anhang der geänderte Freeze log, ca eine stunde
Die Erkenntnis, die ich aus dem Freezelog ziehe, ist nicht sehr überraschend. SENSOREN_LOG wird 1mal pro Minute 2mal gelesen und verarbeitet was in Summe um die 5 Sekunden kostet, Outputs_Log ist deutlich schneller (aber auch > 500ms). Wie viegener schon gesagt hat. Ich denke wann man das Ding mal deaktiviert dann rennt der Raspi (oder wir finden noch was anderes ;-).
Normalerweise sollte ein Raspi 3 nur für FHEM nicht über 10% CPU gehen, die meiste Zeit deutlich darunter, wenn ich mich recht erinnere (Bin mittlerweile auf 'nem Pi4)
Über folgendes solltest du nachdenken:
Brauche ich die Daten von jedem Plot jede Minute? -> Antwort: Nein
Was ist ein vernünftiger Zeitraum? -> Vielleicht alle 15 oder 30 Minuten?!?
Jetzt gehst du her und und hängst nicht alles in eine Funktion rein, sondern verteilst den Load z.B. mit mehreren at (ich bin mir nicht sicher, ob man hier vielleicht auch das fhem sleep() verwenden könnte), so dass nicht alles zur selben Zeit abgerufen wird. Außerdem könntest du mal plotfork aktivieren. Dadurch sollte das Pinseln deiner SVGs den Hauptprozess nicht mehr blockieren.
https://fhem.de/commandref_DE.html#FHEMWEB (https://fhem.de/commandref_DE.html#FHEMWEB)
Die Option longpollSVG hast du hoffentlich ausgeschaltet, sonst pinselt dir fhem die Plots jedes Mal neu, wenn du die Oberfläche im Browser geöffnet hast und sich da was ändert.
Okay haben die Tipps umgesetzt bzw waren die schon umgesetzt
Wir sind die Logs durchgegangen und haben noch sehr viel gefunden das wir optimieren und sparen konnten.
Wir haben den Sensoren.log auf mehrere log gesplittet zum test und siehe da jetzt ist er wirklich merklich schneller ABER die Freeze sind kaum weniger geworden, im moment bin ich bei 1300, gestern waren es 2060, immerhin :)
Solange du das Ding jede Minute auffrischst, dürftest du nicht unter 1440 Freezes in 24h kommen ;)
Was mal interessant wäre, wie oft loggst du denn in Sensoren_Log, also wie viele Datenpunkte kommen da pro Tag zusammen? Hast du mal überlegt mit event-on-change-reading mit threshold zu arbeiten o.ä.?
Wäre es eine Option in eine Datenbank zu loggen(ich glaube mich zu erinnern, dass das bei mir ordentlich was gebracht hat)
Zitat von: KernSani am 17 Januar 2020, 23:13:15
Solange du das Ding jede Minute auffrischst, dürftest du nicht unter 1440 Freezes in 24h kommen ;)
Was mal interessant wäre, wie oft loggst du denn in Sensoren_Log, also wie viele Datenpunkte kommen da pro Tag zusammen? Hast du mal überlegt mit event-on-change-reading mit threshold zu arbeiten o.ä.?
Wäre es eine Option in eine Datenbank zu loggen(ich glaube mich zu erinnern, dass das bei mir ordentlich was gebracht hat)
event on change reading hab ich drin aber der logt ja die Nachkommastellen mit bei den Pufferspeichern, das ist unnötig, ich weiß aber nicht wie es besser geht...
mit dem Threshold schnall ich auch nicht wie das geht.
eigentlich easy
attr RPi_OW_WZ event-on-change-reading temperature:1
hilft Dir bei
Zitatja die Nachkommastellen mit bei den Pufferspeichern, das ist unnötig,
ungemein.
Edit: und bei 1W wg. der Auflösung 0,0625
attr RPi_OW_WZ event-on-change-reading temperature:0.1
Tja wir haben jetzt mal den Sensoren log in einzelne Logs separiert und wie schon gesagt jede Menge eingespart. Es ist jetzt auch in den Logs mal 1-2 Minuten ruhe. leider sind die Freese nur geringfügig weniger geworden.
Vieleicht kann ja noch einmal jemand draufschauen.
Eigentlich läuft er jetzt aber ganz gut.
WWSpeicher_oben_log scheint noch zu bremsen...
Zitat von: KernSani am 20 Januar 2020, 09:55:24
WWSpeicher_oben_log scheint noch zu bremsen...
da war noch eventmininterval drin aber da kam dann nur alle 5 min ein Wert
Du nutzt ja Januar-Logs. Ich geh jetzt mal davon aus, dass Du die nicht neu aufgesetzt hast. Die geringere Datenmenge würdest Du also erst ab dem Monatswechsel so richtig spüren. :-\
Wenn dem so ist, würd ich mir die aktuellen logs sichern, danach löschen, shutdown restart(vorher aktuelle config sichern) und dann wieder beobachten.
Wenn Du die historischen Daten wirklich brauchst, würd ich sie nach dem Monatswechsel manuell in ein file mergen.