Hauptmenü

connection lost, ...

Begonnen von Damian, 24 März 2022, 23:25:02

Vorheriges Thema - Nächstes Thema

Damian

Ich habe ein Problem, was ich mir nicht erklären kann. Über MQTT kommen von einem Sensor mehrere Daten in einem Event-Block an, diese werden in di_counter_new verarbeitet,  es werden dort paar Readings geschrieben, auf die ein weiteres DOIF di_energie die passenden Daten für Visualisierung aufbereitet. Das Empfangen der Daten mit der dazugehörigen Verarbeitung führt bereits zum Verbindungsverlust zum Webserver mit der berüchtigten Fehlermeldung "connection lost ..."

Hier ein Auszug mit apptime
name                                     function                               max    count      total  average   maxDly   avgDly TS Max call     param Max call
CUL                                      CUL_Read                              1186      241   48216.52   200.07     0.00     0.00 24.03. 18:00:13 HASH(CUL)
MQTT2_FHEM_Server_192.168.178.141_52669  MQTT2_SERVER_Read                      638     1193  100571.22    84.30     0.00     0.00 24.03. 19:16:31 HASH(MQTT2_FHEM_Server_192.168.178.141_52669)
tmr-__ANON__                             HASH(0x5db15a8)                        523      300   95630.63   318.77     0.00     0.00 24.03. 18:04:31 HASH(MQTT2_FHEM_Server_192.168.178.141_52669)
di_counter_new                           DOIF_Notify                            484     3213  167227.06    52.05     0.00     0.00 24.03. 18:04:31 HASH(di_counter_new); HASH(MQTT2_DVES_C58DCB)
HMLAN                                    HMLAN_Read                             437     3775   66525.77    17.62     0.00     0.00 24.03. 22:57:39 HASH(HMLAN)
MQTT2_FHEM_Server_192.168.178.130_52752  MQTT2_SERVER_Read                      405     7330  196193.16    26.77     0.00     0.00 24.03. 19:01:00 HASH(MQTT2_FHEM_Server_192.168.178.130_52752)
tmr-CUL_HM_procQs                        CUL_HM_procQs                          399       11    1947.14   177.01     4.18     1.39 24.03. 18:38:09 CUL_HM_procQs
sigduino                                 CODE(0x5612348)                        344     2054   11311.20     5.51     0.00     0.00 24.03. 18:50:25 HASH(sigduino)
tmr-__ANON__                             HASH(0x2ea9eb0)                        331     3864   33015.36     8.54     0.00     0.00 24.03. 18:04:46 HASH(MQTT2_FHEM_Server_192.168.178.130_52752)
tmr-DOIF_SleepTrigger                    HASH(0x32cd360)                        314        2     431.99   215.99     2.25     1.40 24.03. 22:01:32 HASH(di_Zirkulation)
tmr-CUL_HM_motionCheck                   HM_36152C_Motion                       290       19     839.52    44.19    33.92     3.84 24.03. 22:43:32 HM_36152C_Motion:motionCheck
di_temp_hum                              DOIF_Notify                            277       73    8762.65   120.04     0.00     0.00 24.03. 18:41:32 HASH(di_temp_hum); HASH(Aussensensor)
tmr-ESPEasy_statusRequest                HASH(0x5544528)                        243       59    1888.20    32.00   297.27    14.44 24.03. 19:08:05 HASH(ESPEasy_Eingang_CO2)
di_energie                               DOIF_Notify                            243     2425  102312.02    42.19     0.00     0.00 24.03. 18:06:31 HASH(di_energie); HASH(di_counter_new)
tmr-DOIF_SleepTrigger                    HASH(0x3b5eb58)                        224        2     431.68   215.84     1.11     1.02 24.03. 20:53:15 HASH(di_Flur)
tmr-CUL_HM_ActCheck                      ActionDetector                         218       30     461.91    15.40    42.20     2.92 24.03. 18:07:26 ActionDetector
Alarm_ausloesen                          DOIF_Notify                            216       14     219.38    15.67     0.00     0.00 24.03. 22:42:20 HASH(Alarm_ausloesen); HASH(Schloss)
Alarm_LED                                CUL_HM_Set                             214       12     220.49    18.37     0.00     0.00 24.03. 22:42:20 HASH(Alarm_LED); Alarm_LED; on
di_Wetter                                DOIF_Notify                            213       73    8654.20   118.55     0.00     0.00 24.03. 18:07:37 HASH(di_Wetter); HASH(Wetter)
Garage_Schalter                          CUL_HM_Set                             209       15     415.05    27.67     0.00     0.00 24.03. 20:53:15 HASH(Garage_Schalter); Garage_Schalter; on-for-


Die betroffenen Module mit ihren maximalen Verarbeitungszeiten sind :
MQTT2_FHEM_Server_192.168.178.141_52669  MQTT2_SERVER_Read                      638
di_counter_new                           DOIF_Notify                            484
di_energie                               DOIF_Notify                            243

di_energie macht die Aufbereitung für die card-Darstellung. Vier Readings aus einem Eventblock aufzubereiten scheint gerade noch zu funktionieren, wenn ich eine weitere card hinzunehme kommt es bereits zum Abbruch der Verbindung - warum?

Die maximale Verarbeitung dauert dort gerade 243 Millisekunden, das kann doch nicht das Problem sein.


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

rudolfkoenig

Das apptime Output suggeriert, dass Du die Ursache von "Connetion lost" in Blockieren von FHEM vermutest.

Das ist nicht per se der Fall, ein { sleep(60) } alleine fuehrt nicht zu der "Connection lost" Meldung (gerade getestet), selbst ein FHEMWEB-Schalter, was ich waehrend des sleeps gedrueckt habe, wurde nach dem Ende des sleeps umgestellt.

Ich habe auch in der "44 DOIF-Cards" Testkonfiguration mit {sleep(60)} keine Probleme gesehen, allerdings sind das eher tote DOIF-Cards.

Steht in der JavaScript-Console was ungewoehnliches?

Damian

Danke für´s Feedback.

Ich konnte mir das auch nicht vorstellen.

Ich habe auch zig cards bei mir ohne Probleme laufen.

Zuvor hatte ich die gleichen cards über mehrere MQTT-Devices bedient ohne Probleme, nachdem ich die Sensoren über Tasmota auf ein Gerät umgestellt habe (siehe https://forum.fhem.de/index.php/topic,97959.msg1214276.html#msg1214276), kamen auch die Probleme.

Ich habe mir eingebildet, dass es damit zu tun hat, dass statt zeitlich verteilter Events über mehrere MQTT-Devices, jetzt alle auf einmal kommen.

Die Meldung kommt auch dann, wenn die cards gar nicht angezeigt werden.

Wenn ich zuhause bin, werde ich mir die Sache auf der JavaScript-Console genauer anschauen. 


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

Damian

Hier ein Auszug aus der javascript console:

15:03:24.784 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_vaillant','doifId','di_vaillant_uiTable_c_2_1_0_0','<svg xmlns=\u0022http://www.w3.org/2000/...(12645)
fhemweb.js:572 15:03:29.800 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('Aktuell','doifId','Aktuell_uiTable_c_2_0_0_0','<svg xmlns=\u0022http://www.w3.org/2000/svg\u002...(17296)
fhemweb.js:572 15:03:29.801 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_auriol','doifId','di_auriol_uiTable_c_0_1_0_0','<svg xmlns=\u0022http://www.w3.org/2000/svg\...(17813)
fhemweb.js:572 15:03:34.285 ERRMSG:Connection lost, trying a reconnect every 5 seconds.<
fhemweb.js:572 15:03:39.194 ERRMSG:<
fhemweb.js:572 15:03:39.290 Inform-channel opened (HTTP) with filter room=CUL%5fEM
fhemweb.js:572 15:03:39.341 Rcvd: ["di_counter_new","initialized","<div id=\u0022di_counter_new\u0022  title=\u0022initialized\u0022 class=\u0022col2\u0022>initialize...(141)
fhemweb.js:572 15:03:39.342 Rcvd: ["MQTT2_DVES_C58DCB","???","<div id=\u0022MQTT2_DVES_C58DCB\u0022  title=\u0022???\u0022 class=\u0022col2\u0022>???</div>"]
fhemweb.js:572 15:03:52.751 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('Aktuell','doifId','Aktuell_uiTable_c_3_0_0_0','<svg xmlns=\u0022http://www.w3.org/2000/svg\u002...(17331)
fhemweb.js:572 15:03:52.752 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_icon_bar_bsp','doifId','di_icon_bar_bsp_uiTable_c_0_1_0_0','<svg xmlns=\u0022http://www.w3.o...(9038)
fhemweb.js:572 15:03:52.752 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_icon_svg','doifId','di_icon_svg_uiTable_c_1_3_0_0','<svg xmlns=\u0022http://www.w3.org/2000/...(9030)
fhemweb.js:572 15:03:52.753 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_icon_svg','doifId','di_icon_svg_uiTable_c_0_3_0_0','<svg xmlns=\u0022http://www.w3.org/2000/...(8443)
fhemweb.js:572 15:04:10.436 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_icon_bar_bsp','doifId','di_icon_bar_bsp_uiTable_c_0_3_0_0','<svg xmlns=\u0022http://www.w3.o...(5272)
fhemweb.js:572 15:04:10.437 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_icon_ring','doifId','di_icon_ring_uiTable_c_1_1_0_0','<svg xmlns=\u0022http://www.w3.org/200...(5524)
fhemweb.js:572 15:04:10.491 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_vaillant','doifId','di_vaillant_uiTable_c_3_0_0_0','<svg xmlns=\u0022http://www.w3.org/2000/...(12184)
fhemweb.js:572 15:04:14.583 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('Klima','doifId','Klima_uiTable_c_0_0_0_0','<svg xmlns=\u0022http://www.w3.org/2000/svg\u0022 vi...(6500)
fhemweb.js:572 15:04:14.584 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('Klima','doifId','Klima_uiTable_c_0_1_0_0','<svg xmlns=\u0022http://www.w3.org/2000/svg\u0022 vi...(4939)
fhemweb.js:572 15:04:14.636 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_Heizung_temp','doifId','di_Heizung_temp_uiTable_c_0_2_0_0','<svg xmlns=\u0022http://www.w3.o...(4662)
fhemweb.js:572 15:04:14.638 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_temp_ring','doifId','di_temp_ring_uiTable_c_1_1_0_0','<svg xmlns=\u0022http://www.w3.org/200...(2096)
fhemweb.js:572 15:04:14.639 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_vaillant','doifId','di_vaillant_uiTable_c_2_1_0_0','<svg xmlns=\u0022http://www.w3.org/2000/...(12645)
fhemweb.js:572 15:04:26.421 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('Klima','doifId','Klima_uiTable_c_0_1_0_0','<svg xmlns=\u0022http://www.w3.org/2000/svg\u0022 vi...(4935)
fhemweb.js:572 15:04:26.422 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_Heizung_temp','doifId','di_Heizung_temp_uiTable_c_0_3_0_0','<svg xmlns=\u0022http://www.w3.o...(4055)
fhemweb.js:572 15:04:26.481 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_vaillant','doifId','di_vaillant_uiTable_c_2_2_0_0','<svg xmlns=\u0022http://www.w3.org/2000/...(12892)
fhemweb.js:572 15:04:32.144 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('Aktuell','doifId','Aktuell_uiTable_c_1_0_0_0','<div style=\u0022display:inline-table;color:silv...(205)
fhemweb.js:572 15:04:34.260 ERRMSG:Connection lost, trying a reconnect every 5 seconds.<
fhemweb.js:572 15:04:39.164 ERRMSG:<
fhemweb.js:572 15:04:39.267 Inform-channel opened (HTTP) with filter room=CUL%5fEM
fhemweb.js:572 15:04:39.303 Rcvd: ["di_counter_new","initialized","<div id=\u0022di_counter_new\u0022  title=\u0022initialized\u0022 class=\u0022col2\u0022>initialize...(141)
fhemweb.js:572 15:04:39.304 Rcvd: ["MQTT2_DVES_C58DCB","???","<div id=\u0022MQTT2_DVES_C58DCB\u0022  title=\u0022???\u0022 class=\u0022col2\u0022>???</div>"]
fhemweb.js:572 15:04:40.727 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_icon_bar_bsp','doifId','di_icon_bar_bsp_uiTable_c_0_3_0_0','<svg xmlns=\u0022http://www.w3.o...(5275)
fhemweb.js:572 15:04:40.727 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_icon_ring','doifId','di_icon_ring_uiTable_c_1_1_0_0','<svg xmlns=\u0022http://www.w3.org/200...(5529)
fhemweb.js:572 15:04:40.781 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_vaillant','doifId','di_vaillant_uiTable_c_3_0_0_0','<svg xmlns=\u0022http://www.w3.org/2000/...(12189)
fhemweb.js:572 15:04:52.748 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('Aktuell','doifId','Aktuell_uiTable_c_3_0_0_0','<svg xmlns=\u0022http://www.w3.org/2000/svg\u002...(17331)
fhemweb.js:572 15:04:52.749 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_icon_bar_bsp','doifId','di_icon_bar_bsp_uiTable_c_0_1_0_0','<svg xmlns=\u0022http://www.w3.o...(9038)
fhemweb.js:572 15:04:52.750 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_icon_svg','doifId','di_icon_svg_uiTable_c_1_3_0_0','<svg xmlns=\u0022http://www.w3.org/2000/...(9030)
fhemweb.js:572 15:04:52.751 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_icon_svg','doifId','di_icon_svg_uiTable_c_0_3_0_0','<svg xmlns=\u0022http://www.w3.org/2000/...(8439)
fhemweb.js:572 15:05:10.468 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_icon_bar_bsp','doifId','di_icon_bar_bsp_uiTable_c_0_3_0_0','<svg xmlns=\u0022http://www.w3.o...(5275)
fhemweb.js:572 15:05:10.469 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_icon_ring','doifId','di_icon_ring_uiTable_c_1_1_0_0','<svg xmlns=\u0022http://www.w3.org/200...(5529)
fhemweb.js:572 15:05:10.530 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_vaillant','doifId','di_vaillant_uiTable_c_3_0_0_0','<svg xmlns=\u0022http://www.w3.org/2000/...(12189)
fhemweb.js:572 15:05:27.024 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('Klima','doifId','Klima_uiTable_c_0_2_0_0','<svg xmlns=\u0022http://www.w3.org/2000/svg\u0022 vi...(6353)
fhemweb.js:572 15:05:27.025 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_Heizung_temp','doifId','di_Heizung_temp_uiTable_c_0_4_0_0','<svg xmlns=\u0022http://www.w3.o...(5486)
fhemweb.js:572 15:05:27.081 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_icon_temp_temp_ring','doifId','di_icon_temp_temp_ring_uiTable_c_0_1_0_0','<svg xmlns=\u0022h...(6384)
fhemweb.js:572 15:05:27.082 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_temp_ring','doifId','di_temp_ring_uiTable_c_2_1_0_0','<svg xmlns=\u0022http://www.w3.org/200...(2068)
fhemweb.js:572 15:05:27.083 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_vaillant','doifId','di_vaillant_uiTable_c_4_2_0_0','<svg xmlns=\u0022http://www.w3.org/2000/...(19618)
fhemweb.js:572 15:05:34.270 ERRMSG:Connection lost, trying a reconnect every 5 seconds.<
fhemweb.js:572 15:05:39.181 ERRMSG:<
fhemweb.js:572 15:05:39.277 Inform-channel opened (HTTP) with filter room=CUL%5fEM
fhemweb.js:572 15:05:39.385 Rcvd: ["di_counter_new","initialized","<div id=\u0022di_counter_new\u0022  title=\u0022initialized\u0022 class=\u0022col2\u0022>initialize...(141)
fhemweb.js:572 15:05:39.386 Rcvd: ["MQTT2_DVES_C58DCB","???","<div id=\u0022MQTT2_DVES_C58DCB\u0022  title=\u0022???\u0022 class=\u0022col2\u0022>???</div>"]
fhemweb.js:572 15:05:40.754 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_icon_bar_bsp','doifId','di_icon_bar_bsp_uiTable_c_0_3_0_0','<svg xmlns=\u0022http://www.w3.o...(5272)
fhemweb.js:572 15:05:40.755 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_icon_ring','doifId','di_icon_ring_uiTable_c_1_1_0_0','<svg xmlns=\u0022http://www.w3.org/200...(5524)
fhemweb.js:572 15:05:40.818 Rcvd: ["#FHEMWEB:WEBHOME","doifUpdateCell('di_vaillant','doifId','di_vaillant_uiTable_c_3_0_0_0','<svg xmlns=\u0022http://www.w3.org/2000/...(12184)
fhemweb.js:572


Ich sehe hier keinen Zusammenhang mit der Fehlermeldung, die hier regelmäßig erscheint.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Damian

Zitat von: frank am 25 März 2022, 15:18:04
genau alle 60s.

ja, und genau im Zusammenhang mit.

fhemweb.js:572 15:03:39.341 Rcvd: ["di_counter_new","initialized","<div id=\u0022di_counter_new\u0022  title=\u0022initialized\u0022 class=\u0022col2\u0022>initialize...(141)
fhemweb.js:572 15:03:39.342 Rcvd: ["MQTT2_DVES_C58DCB","???","<div id=\u0022MQTT2_DVES_C58DCB\u0022  title=\u0022???\u0022 class=\u0022col2\u0022>???</div>"]

Wie ich bereits beschrieben habe reagiert di_counter_new  auf die Events vom MQTT-Device, welches alle 60 Sekunden Nachrichten vom MQTT-Device empfängt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

rudolfkoenig

Sieht man in "attr global verbose 5" Log was?

Damian

Hier scheint der Hund begraben zu sein:

   MQTT2_FHEM_Server_192.168.178.141_59396 DVES_C58DCB PUBLISH tele/tasmota_C58DCB/STATE:{"Time":"2022-03-25T15:29:35","Uptime":"5T02:13:30","UptimeSec":440010,"Heap":22,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":19,"Wifi":{"AP":1,"SSId":"FRITZ!Box 7490 2.4","BSSId":"34:31:C4:46:8B:9A","Channel":11,"Mode":"11n","RSSI":58,"Signal":-71,"LinkCount":1,"Downtime":"0T00:00:03"}}
2022.03.25 15:29:34.989 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000DVES_C58DCB\000tele/tasmota_C58DCB/STATE\000{"Time":"2022-03-25T15:29:35","Uptime":"5T02:13:30","UptimeSec":440010,"Heap":22,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":19,"Wifi":{"AP":1,"SSId":"FRITZ!Box 7490 2.4","BSSId":"34:31:C4:46:8B:9A","Channel":11,"Mode":"11n","RSSI":58,"Signal":-71,"LinkCount":1,"Downtime":"0T00:00:03"}}
2022.03.25 15:29:34.990 4: MQTT2_DEVICE_Parse: MQTT2_DVES_C58DCB tele/tasmota_C58DCB/STATE => { json2nameValue($EVENT, 'STATE_', $JSONMAP) }
2022.03.25 15:29:34.994 5: Starting notify loop for MQTT2_DVES_C58DCB, 23 event(s), first is STATE_LoadAvg: 19
2022.03.25 15:29:35.023 5: Starting notify loop for di_counter_new, 1 event(s), first is MQTT2_DVES_C58DCB.total_w.day: 415
2022.03.25 15:29:35.068 5: End notify loop for di_counter_new
2022.03.25 15:29:35.070 5: Starting notify loop for di_counter_new, 1 event(s), first is MQTT2_DVES_C58DCB.total_pv.day: 22.509
2022.03.25 15:29:35.160 5: End notify loop for di_counter_new
2022.03.25 15:29:35.162 5: Starting notify loop for di_counter_new, 1 event(s), first is MQTT2_DVES_C58DCB.total_c.day: -1.951
2022.03.25 15:29:35.207 5: End notify loop for di_counter_new
2022.03.25 15:29:35.208 5: Starting notify loop for di_counter_new, 1 event(s), first is MQTT2_DVES_C58DCB.total_f.day: 16.607
2022.03.25 15:29:35.375 5: End notify loop for di_counter_new
2022.03.25 15:29:35.383 5: End notify loop for MQTT2_DVES_C58DCB
2022.03.25 15:29:35.383 4:   MQTT2_FHEM_Server_192.168.178.141_59396 DVES_C58DCB PUBLISH tele/tasmota_C58DCB/SENSOR:{"Time":"2022-03-25T15:29:35","COUNTER":{"C1":123296,"C2":2192},"MT681":{"Total_in":1269.274,"Power_cur":-1008,"Total_out":821.192,"Meter_id":"090149534b0005002910"}}
2022.03.25 15:29:35.384 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000DVES_C58DCB\000tele/tasmota_C58DCB/SENSOR\000{"Time":"2022-03-25T15:29:35","COUNTER":{"C1":123296,"C2":2192},"MT681":{"Total_in":1269.274,"Power_cur":-1008,"Total_out":821.192,"Meter_id":"090149534b0005002910"}}
2022.03.25 15:29:35.384 4: MQTT2_DEVICE_Parse: MQTT2_DVES_C58DCB tele/tasmota_C58DCB/SENSOR => { json2nameValue($EVENT, 'SENSOR_', $JSONMAP) }
2022.03.25 15:29:35.387 5: Starting notify loop for MQTT2_DVES_C58DCB, 13 event(s), first is SENSOR_MT681_Total_out: 821.192
2022.03.25 15:29:35.416 5: Starting notify loop for di_counter_new, 1 event(s), first is MQTT2_DVES_C58DCB.total_w.day: 415
2022.03.25 15:29:35.460 5: End notify loop for di_counter_new
2022.03.25 15:29:35.462 5: Starting notify loop for di_counter_new, 1 event(s), first is MQTT2_DVES_C58DCB.total_pv.day: 22.531
2022.03.25 15:29:35.556 5: End notify loop for di_counter_new
2022.03.25 15:29:35.557 5: Starting notify loop for di_counter_new, 1 event(s), first is MQTT2_DVES_C58DCB.total_c.day: -1.951
2022.03.25 15:29:35.602 5: End notify loop for di_counter_new
2022.03.25 15:29:35.604 5: Starting notify loop for di_counter_new, 1 event(s), first is MQTT2_DVES_C58DCB.total_f.day: 16.625
2022.03.25 15:29:35.732 4: Closing connection WEBHOME_127.0.0.1_51954 due to full buffer in FW_Notify
2022.03.25 15:29:35.763 4: Closing connection WEBHOME_192.168.178.71_58532 due to full buffer in FW_Notify
2022.03.25 15:29:35.792 5: End notify loop for di_counter_new
2022.03.25 15:29:35.796 5: End notify loop for MQTT2_DVES_C58DCB
2022.03.25 15:29:35.797 5: alexa: read: [2022-3-25 3:29:35 PM] [FHEM] longpoll ended, reconnect in: 200msec
2022.03.25 15:29:35.936 5: alexa: read: [2022-3-25 3:29:35 PM] [FHEM] trying longpoll to listen for fhem events
2022.03.25 15:29:35.936 5: alexa: read: [2022-3-25 3:29:35 PM] [FHEM] starting longpoll: http://127.0.0.1:8086/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=1648218389.045;fmt=JSON&timestamp=1648218575933
2022.03.25 15:29:35.936 4: Connection accepted from WEBHOME_127.0.0.1_51986
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

rudolfkoenig

Das passiert dann, wenn im FHEM-Schreib-Puffer bereits 1MB drin ist, und man zusaetzlich was draufschreiben will.
Die Pruefung ist da, damit verklemmte Verbindungen (wie ein ausgeschalteter Rechner) FHEM nicht aufblasen.
Beim ersten Write kann man beliebig grosse Daten schreiben.

In dem aktuellen Fall wird vmtl. 1MB+ als Statusaenderung in mehreren Stuecken aber direkt hinterenander geschrieben.

Optionen:
- die Daten im DOIF auf einmal schicken
- die Daten im DOIF leicht zeitversetzt schicken
- im Framework neben dem Puffer einen Zeitstempel fuehren, und die Pruefung erst dann durchfuehren, wenn die vorhandenen Daten "alt" sind.

Damian

#9
OK. Dann, weiß ich, wo ich anpassen muss.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Hiermit wird eine Aktualisierung eines Elementes vorgenommen:

FW_directNotify("#FHEMWEB:$_", "doifUpdateCell('$pn','doifId','$doifId','$value','display:inline-table;$style')","");

Kann ich auch mehrere doifUpdateCell-Befehle hintereinander angeben oder muss man doifUpdateCell umschreiben?
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

rudolfkoenig

Ist halt Javascript, was per eval ausgefuehrt wird.
Mehrere doifUpdateCells mit ; getrennt sollte funktionieren.

Damian

Zitat von: rudolfkoenig am 25 März 2022, 18:41:50
Ist halt Javascript, was per eval ausgefuehrt wird.
Mehrere doifUpdateCells mit ; getrennt sollte funktionieren.
OK. Dann probieren wir es mal.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Zitat von: Damian am 25 März 2022, 19:13:29
OK. Dann probieren wir es mal.

Schade eigentlich - hat nicht geholfen, Problem besteht immer noch.

Pro DOIF_Notify wird jetzt FW_directNotify nur einmal aufgerufen:

my $update_output="";
  foreach my $table ("uiTable","uiState") {
    if (defined $hash->{Regex}{$table}) {
      foreach $device ("$dev->{NAME}","") {
        if (defined $hash->{Regex}{$table}{$device}) {
          foreach my $doifId (keys %{$hash->{Regex}{$table}{$device}}) {
            my $readingregex=CheckRegexpDoIf($hash,$table,$dev->{NAME},$doifId,$eventa,$eventas);
            $update_output.=DOIF_UpdateCell($hash,$doifId,$hash->{NAME},$readingregex) if (defined($readingregex));
          }
        }
      }
      if (defined ($hash->{helper}{DOIF_eventas})) { #$SELF events
        foreach my $doifId (keys %{$hash->{Regex}{$table}{$hash->{NAME}}}) {
          my $readingregex=CheckRegexpDoIf($hash,$table,$hash->{NAME},$doifId,$hash->{helper}{DOIF_eventa},$hash->{helper}{DOIF_eventas});
          $update_output.=DOIF_UpdateCell($hash,$doifId,$hash->{NAME},$readingregex) if (defined($readingregex));
        }
      }
    }
  }

  if ($update_output) {
    map {
     FW_directNotify("#FHEMWEB:$_", $update_output,"");
    } devspec2array("TYPE=FHEMWEB");
  }


leider wird in der Fehlermeldung nicht angezeigt, was im Puffer alles drin steht.

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

rudolfkoenig

Zitatleider wird in der Fehlermeldung nicht angezeigt, was im Puffer alles drin steht.
Du koenntest in fhem.pl/addToWriteBuffer(), Zeile 6404 (vor dem return 0) $hash->{$wbName} ausgeben.

Falls Du mir was zum Nachstellen bauen kannst (irgendetwas mit defmod DOIF, trigger, oder { code }), dann werde ich versuchen das Problem in fhem.pl zu loesen, mit Zeitstempel, wie ich das vorhin beschrieben habe.