Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DTU update inverval is increasing over time (when inverter is unreachable) #2446

Open
4 tasks done
mibcat opened this issue Dec 6, 2024 · 7 comments
Open
4 tasks done
Labels
bug Something isn't working

Comments

@mibcat
Copy link

mibcat commented Dec 6, 2024

What happened?

In case of the inverter is unreachable over a longer duration (not powered for days) the update interval is increasing. It will become a problem, when the update interval is exceeding the time limit exp_aft (double value of the polling interval) stated in MQTT config topic for Home Assistant, like:

MQTT topic homeassistant/sensor/dtu_1..........3/ch0_Power/config

{
  "dev": {
   ...
  },
  "unit_of_meas": "W",
  "dev_cla": "power",
  "stat_cla": "measurement",
  "name": "Power",
  "stat_t": "solar/1..........3/0/power",
  "uniq_id": "1..........3_ch0_Power",
  "exp_aft": 10
}

This will than lead to Nan sensor values in Home Assistant and interfere with my ESPhome application.

To Reproduce Bug

Running OpenDTU with permanently turned-off inverter.

Expected Behavior

The MQTT sending interval of all sensor values should not exceed the threshold exp_aft.

Install Method

Pre-Compiled binary from GitHub releases

What git-hash/version of OpenDTU?

3dc70ab

What firmware variant (PIO Environment) are you using?

generic_esp32

Relevant log/trace output

console log with correct MQTT sensor sending interval (5s)


Fetch inverter: 1..........3
19:31:26.671 > Request SystemConfigPara
19:31:26.716 > TX RealTimeRunData Channel: 3 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 9F FE 00 00 00 00 00 00 00 00 A9 AB 87 
19:31:27.270 > RX Period End
19:31:27.270 > All missing
19:31:27.270 > Nothing received, resend whole request
19:31:27.270 > TX RealTimeRunData Channel: 23 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 9F FE 00 00 00 00 00 00 00 00 A9 AB 87 
19:31:27.821 > RX Period End
19:31:27.821 > All missing
19:31:27.821 > Nothing received, resend whole request
19:31:27.821 > TX RealTimeRunData Channel: 40 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 9F FE 00 00 00 00 00 00 00 00 A9 AB 87 
19:31:28.373 > RX Period End
19:31:28.373 > All missing
19:31:28.373 > Nothing received, resend whole request
19:31:28.373 > TX RealTimeRunData Channel: 61 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 9F FE 00 00 00 00 00 00 00 00 A9 AB 87 
19:31:28.924 > RX Period End
19:31:28.924 > All missing
19:31:28.924 > Nothing received, resend whole request
19:31:28.924 > TX RealTimeRunData Channel: 75 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 9F FE 00 00 00 00 00 00 00 00 A9 AB 87 
19:31:29.446 > RX Period End
19:31:29.446 > All missing
19:31:29.446 > Nothing received, resend count exeeded
19:31:29.630 > TX SystemConfigPara Channel: 3 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 50 9F FE 00 00 00 00 00 00 00 00 67 A4 48 
19:31:29.886 > RX Period End
19:31:29.886 > All missing
19:31:29.886 > Nothing received, resend whole request
19:31:29.886 > TX SystemConfigPara Channel: 23 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 50 9F FE 00 00 00 00 00 00 00 00 67 A4 48 
19:31:30.135 > RX Period End
19:31:30.135 > All missing
19:31:30.135 > Nothing received, resend whole request
19:31:30.135 > TX SystemConfigPara Channel: 40 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 50 9F FE 00 00 00 00 00 00 00 00 67 A4 48 
19:31:30.387 > RX Period End
19:31:30.387 > All missing
19:31:30.387 > Nothing received, resend whole request
19:31:30.387 > TX SystemConfigPara Channel: 61 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 50 9F FE 00 00 00 00 00 00 00 00 67 A4 48 
19:31:30.639 > RX Period End
19:31:30.639 > All missing
19:31:30.639 > Nothing received, resend whole request
19:31:30.639 > TX SystemConfigPara Channel: 75 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 50 9F FE 00 00 00 00 00 00 00 00 67 A4 48 
19:31:30.841 > RX Period End
19:31:30.841 > All missing
19:31:30.841 > Nothing received, resend count exeeded
19:31:31.675 > Fetch inverter: 1..........3
19:31:31.675 > Request SystemConfigPara
19:31:31.719 > TX RealTimeRunData Channel: 3 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 A0 03 00 00 00 00 00 00 00 00 F2 C7 72 
19:31:32.273 > RX Period End
19:31:32.273 > All missing
19:31:32.273 > Nothing received, resend whole request
19:31:32.273 > TX RealTimeRunData Channel: 23 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 A0 03 00 00 00 00 00 00 00 00 F2 C7 72 
19:31:32.825 > RX Period End
19:31:32.825 > All missing
19:31:32.825 > Nothing received, resend whole request
19:31:32.825 > TX RealTimeRunData Channel: 40 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 A0 03 00 00 00 00 00 00 00 00 F2 C7 72 
19:31:33.374 > RX Period End
19:31:33.374 > All missing
19:31:33.374 > Nothing received, resend whole request
19:31:33.374 > TX RealTimeRunData Channel: 61 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 A0 03 00 00 00 00 00 00 00 00 F2 C7 72 
19:31:33.930 > RX Period End
19:31:33.930 > All missing
19:31:33.930 > Nothing received, resend whole request
19:31:33.930 > TX RealTimeRunData Channel: 75 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 A0 03 00 00 00 00 00 00 00 00 F2 C7 72 
19:31:34.438 > RX Period End
19:31:34.438 > All missing
19:31:34.438 > Nothing received, resend count exeeded
19:31:34.598 > TX SystemConfigPara Channel: 3 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 50 A0 03 00 00 00 00 00 00 00 00 3C C8 BD 
19:31:34.852 > RX Period End
19:31:34.852 > All missing
19:31:34.852 > Nothing received, resend whole request
19:31:34.852 > TX SystemConfigPara Channel: 23 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 50 A0 03 00 00 00 00 00 00 00 00 3C C8 BD 
19:31:35.105 > RX Period End
19:31:35.105 > All missing
19:31:35.105 > Nothing received, resend whole request
19:31:35.105 > TX SystemConfigPara Channel: 40 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 50 A0 03 00 00 00 00 00 00 00 00 3C C8 BD 
19:31:35.356 > RX Period End
19:31:35.356 > All missing
19:31:35.356 > Nothing received, resend whole request
19:31:35.356 > TX SystemConfigPara Channel: 61 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 50 A0 03 00 00 00 00 00 00 00 00 3C C8 BD 
19:31:35.609 > RX Period End
19:31:35.609 > All missing
19:31:35.609 > Nothing received, resend whole request
19:31:35.609 > TX SystemConfigPara Channel: 75 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 50 A0 03 00 00 00 00 00 00 00 00 3C C8 BD 
19:31:35.813 > RX Period End
19:31:35.813 > All missing
19:31:35.813 > Nothing received, resend count exeeded
19:31:36.679 > Fetch inverter: 1..........3
19:31:36.679 > Request SystemConfigPara
19:31:36.722 > TX RealTimeRunData Channel: 3 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 A0 08 00 00 00 00 00 00 00 00 C2 B4 3A 
19:31:37.285 > RX Period End
19:31:37.285 > All missing
19:31:37.285 > Nothing received, resend whole request
19:31:37.285 > TX RealTimeRunData Channel: 23 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 A0 08 00 00 00 00 00 00 00 00 C2 B4 3A 
19:31:37.828 > RX Period End
19:31:37.828 > All missing
19:31:37.828 > Nothing received, resend whole request
19:31:37.828 > TX RealTimeRunData Channel: 40 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 A0 08 00 00 00 00 00 00 00 00 C2 B4 3A 
19:31:38.381 > RX Period End
19:31:38.381 > All missing
19:31:38.381 > Nothing received, resend whole request
19:31:38.381 > TX RealTimeRunData Channel: 61 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 A0 08 00 00 00 00 00 00 00 00 C2 B4 3A 
19:31:38.931 > RX Period End
19:31:38.931 > All missing
19:31:38.931 > Nothing received, resend whole request
19:31:38.931 > TX RealTimeRunData Channel: 75 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 A0 08 00 00 00 00 00 00 00 00 C2 B4 3A 
19:31:39.434 > RX Period End
19:31:39.434 > All missing
19:31:39.434 > Nothing received, resend count exeeded
19:31:39.620 > TX SystemConfigPara Channel: 3 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 50 A0 08 00 00 00 00 00 00 00 00 0C BB F5 
19:31:39.874 > RX Period End
19:31:39.874 > All missing
19:31:39.874 > Nothing received, resend whole request
19:31:39.874 > TX SystemConfigPara Channel: 23 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 50 A0 08 00 00 00 00 00 00 00 00 0C BB F5 
19:31:40.124 > RX Period End
19:31:40.124 > All missing
19:31:40.124 > Nothing received, resend whole request
19:31:40.124 > TX SystemConfigPara Channel: 40 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 50 A0 08 00 00 00 00 00 00 00 00 0C BB F5 
19:31:40.376 > RX Period End
19:31:40.376 > All missing
19:31:40.376 > Nothing received, resend whole request
19:31:40.376 > TX SystemConfigPara Channel: 61 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 50 A0 08 00 00 00 00 00 00 00 00 0C BB F5 
19:31:40.627 > RX Period End
19:31:40.627 > All missing
19:31:40.627 > Nothing received, resend whole request
19:31:40.627 > TX SystemConfigPara Channel: 75 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 50 A0 08 00 00 00 00 00 00 00 00 0C BB F5 
19:31:40.831 > RX Period End
19:31:40.831 > All missing
19:31:40.831 > Nothing received, resend count exeeded
19:31:41.681 > Fetch inverter: 1..........3
19:31:41.681 > Request SystemConfigPara
19:31:41.728 > TX RealTimeRunData Channel: 3 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 A0 0D 00 00 00 00 00 00 00 00 92 8B 50 
19:31:42.278 > RX Period End
19:31:42.279 > All missing
19:31:42.279 > Nothing received, resend whole request
19:31:42.279 > TX RealTimeRunData Channel: 23 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 A0 0D 00 00 00 00 00 00 00 00 92 8B 50 
19:31:42.831 > RX Period End
19:31:42.831 > All missing
19:31:42.831 > Nothing received, resend whole request
19:31:42.831 > TX RealTimeRunData Channel: 40 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 A0 0D 00 00 00 00 00 00 00 00 92 8B 50 
19:31:43.382 > RX Period End
19:31:43.382 > All missing
19:31:43.382 > Nothing received, resend whole request
19:31:43.382 > TX RealTimeRunData Channel: 61 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 A0 0D 00 00 00 00 00 00 00 00 92 8B 50 
19:31:43.934 > RX Period End
19:31:43.934 > All missing
19:31:43.934 > Nothing received, resend whole request
19:31:43.934 > TX RealTimeRunData Channel: 75 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 A0 0D 00 00 00 00 00 00 00 00 92 8B 50 



console log with incorrect MQTT sensor sending interval (> 10s)

RX Period End
16:41:30.079 > All missing
16:41:30.079 > Nothing received, resend whole request
16:41:30.079 > TX PowerControl Channel: 61 --> 51 83 81 91 93 80 13 56 88 81 02 00 D0 00 4F 
16:41:32.115 > RX Period End
16:41:32.116 > All missing
16:41:32.116 > Nothing received, resend whole request
16:41:32.116 > TX PowerControl Channel: 75 --> 51 83 81 91 93 80 13 56 88 81 02 00 D0 00 4F 
16:41:34.154 > RX Period End
16:41:34.154 > All missing
16:41:34.154 > Nothing received, resend whole request
16:41:34.154 > TX PowerControl Channel: 3 --> 51 83 81 91 93 80 13 56 88 81 02 00 D0 00 4F 
16:41:36.184 > RX Period End
16:41:36.184 > All missing
16:41:36.184 > Nothing received, resend whole request
16:41:36.184 > TX PowerControl Channel: 23 --> 51 83 81 91 93 80 13 56 88 81 02 00 D0 00 4F 
16:41:38.189 > RX Period End
16:41:38.189 > All missing
16:41:38.189 > Nothing received, resend count exeeded
16:41:38.189 > Fetch inverter: 1..........3
16:41:38.189 > Request SystemConfigPara
16:41:38.189 > Resend PowerCommand
16:41:38.417 > TX RealTimeRunData Channel: 40 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 53 1B 32 00 00 00 00 00 00 00 00 D5 E7 FC 
16:41:38.970 > RX Period End
16:41:38.970 > All missing
16:41:38.970 > Nothing received, resend whole request
16:41:38.970 > TX RealTimeRunData Channel: 61 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 53 1B 32 00 00 00 00 00 00 00 00 D5 E7 FC 
16:41:39.522 > RX Period End
16:41:39.522 > All missing
16:41:39.522 > Nothing received, resend whole request
16:41:39.522 > TX RealTimeRunData Channel: 75 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 53 1B 32 00 00 00 00 00 00 00 00 D5 E7 FC 
16:41:40.073 > RX Period End
16:41:40.073 > All missing
16:41:40.073 > Nothing received, resend whole request
16:41:40.073 > TX RealTimeRunData Channel: 3 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 53 1B 32 00 00 00 00 00 00 00 00 D5 E7 FC 
16:41:40.624 > RX Period End
16:41:40.624 > All missing
16:41:40.624 > Nothing received, resend whole request
16:41:40.624 > TX RealTimeRunData Channel: 23 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 53 1B 32 00 00 00 00 00 00 00 00 D5 E7 FC 
16:41:41.129 > RX Period End
16:41:41.129 > All missing
16:41:41.129 > Nothing received, resend count exeeded
16:41:41.170 > TX SystemConfigPara Channel: 40 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 53 1B 32 00 00 00 00 00 00 00 00 1B E8 33 
16:41:41.431 > RX Period End
16:41:41.431 > All missing
16:41:41.431 > Nothing received, resend whole request
16:41:41.431 > TX SystemConfigPara Channel: 61 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 53 1B 32 00 00 00 00 00 00 00 00 1B E8 33 
16:41:41.678 > RX Period End
16:41:41.678 > All missing
16:41:41.678 > Nothing received, resend whole request
16:41:41.678 > TX SystemConfigPara Channel: 75 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 53 1B 32 00 00 00 00 00 00 00 00 1B E8 33 
16:41:41.926 > RX Period End
16:41:41.926 > All missing
16:41:41.926 > Nothing received, resend whole request
16:41:41.926 > TX SystemConfigPara Channel: 3 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 53 1B 32 00 00 00 00 00 00 00 00 1B E8 33 
16:41:42.177 > RX Period End
16:41:42.177 > All missing
16:41:42.177 > Nothing received, resend whole request
16:41:42.177 > TX SystemConfigPara Channel: 23 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 53 1B 32 00 00 00 00 00 00 00 00 1B E8 33 
16:41:42.379 > RX Period End
16:41:42.379 > All missing
16:41:42.379 > Nothing received, resend count exeeded
16:41:42.417 > TX PowerControl Channel: 40 --> 51 83 81 91 93 80 13 56 88 81 02 00 D0 00 4F 
16:41:44.454 > RX Period End
16:41:44.454 > All missing
16:41:44.454 > Nothing received, resend whole request
16:41:44.454 > TX PowerControl Channel: 61 --> 51 83 81 91 93 80 13 56 88 81 02 00 D0 00 4F 
16:41:46.491 > RX Period End
16:41:46.491 > All missing
16:41:46.491 > Nothing received, resend whole request
16:41:46.491 > TX PowerControl Channel: 75 --> 51 83 81 91 93 80 13 56 88 81 02 00 D0 00 4F 
16:41:48.523 > RX Period End
16:41:48.523 > All missing
16:41:48.523 > Nothing received, resend whole request
16:41:48.523 > TX PowerControl Channel: 3 --> 51 83 81 91 93 80 13 56 88 81 02 00 D0 00 4F 
16:41:50.558 > RX Period End
16:41:50.558 > All missing
16:41:50.558 > Nothing received, resend whole request
16:41:50.558 > TX PowerControl Channel: 23 --> 51 83 81 91 93 80 13 56 88 81 02 00 D0 00 4F 
16:41:52.563 > RX Period End
16:41:52.563 > All missing
16:41:52.563 > Nothing received, resend count exeeded
16:41:52.563 > Fetch inverter: 1..........3
16:41:52.563 > Request SystemConfigPara
16:41:52.563 > Resend PowerCommand
16:41:52.783 > TX RealTimeRunData Channel: 40 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 53 1B 40 00 00 00 00 00 00 00 00 77 9B 50 
16:41:53.337 > RX Period End
16:41:53.337 > All missing
16:41:53.337 > Nothing received, resend whole request
16:41:53.337 > TX RealTimeRunData Channel: 61 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 53 1B 40 00 00 00 00 00 00 00 00 77 9B 50 
16:41:53.888 > RX Period End
16:41:53.888 > All missing
16:41:53.888 > Nothing received, resend whole request
16:41:53.888 > TX RealTimeRunData Channel: 75 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 53 1B 40 00 00 00 00 00 00 00 00 77 9B 50 
16:41:54.438 > RX Period End
16:41:54.438 > All missing
16:41:54.438 > Nothing received, resend whole request
16:41:54.438 > TX RealTimeRunData Channel: 3 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 53 1B 40 00 00 00 00 00 00 00 00 77 9B 50 
16:41:54.990 > RX Period End
16:41:54.990 > All missing
16:41:54.990 > Nothing received, resend whole request
16:41:54.990 > TX RealTimeRunData Channel: 23 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 53 1B 40 00 00 00 00 00 00 00 00 77 9B 50 
16:41:55.493 > RX Period End
16:41:55.493 > All missing
16:41:55.493 > Nothing received, resend count exeeded
16:41:55.538 > TX SystemConfigPara Channel: 40 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 53 1B 40 00 00 00 00 00 00 00 00 B9 94 9F 
16:41:55.791 > RX Period End
16:41:55.791 > All missing
16:41:55.791 > Nothing received, resend whole request
16:41:55.791 > TX SystemConfigPara Channel: 61 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 53 1B 40 00 00 00 00 00 00 00 00 B9 94 9F 
16:41:56.043 > RX Period End
16:41:56.043 > All missing
16:41:56.043 > Nothing received, resend whole request
16:41:56.043 > TX SystemConfigPara Channel: 75 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 53 1B 40 00 00 00 00 00 00 00 00 B9 94 9F 
16:41:56.293 > RX Period End
16:41:56.293 > All missing
16:41:56.293 > Nothing received, resend whole request
16:41:56.293 > TX SystemConfigPara Channel: 3 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 53 1B 40 00 00 00 00 00 00 00 00 B9 94 9F 
16:41:56.545 > RX Period End
16:41:56.545 > All missing
16:41:56.545 > Nothing received, resend whole request
16:41:56.545 > TX SystemConfigPara Channel: 23 --> 15 83 81 91 93 80 13 56 88 80 05 00 67 53 1B 40 00 00 00 00 00 00 00 00 B9 94 9F 
16:41:56.747 > RX Period End
16:41:56.747 > All missing
16:41:56.747 > Nothing received, resend count exeeded
16:41:56.784 > TX PowerControl Channel: 40 --> 51 83 81 91 93 80 13 56 88 81 02 00 D0 00 4F 
16:41:58.821 > RX Period End
16:41:58.821 > All missing
16:41:58.821 > Nothing received, resend whole request
16:41:58.821 > TX PowerControl Channel: 61 --> 51 83 81 91 93 80 13 56 88 81 02 00 D0 00 4F 
16:42:00.857 > RX Period End
16:42:00.857 > All missing
16:42:00.857 > Nothing received, resend whole request
16:42:00.857 > TX PowerControl Channel: 75 --> 51 83 81 91 93 80 13 56 88 81 02 00 D0 00 4F 
16:42:02.892 > RX Period End
16:42:02.892 > All missing
16:42:02.892 > Nothing received, resend whole request
16:42:02.892 > TX PowerControl Channel: 3 --> 51 83 81 91 93 80 13 56 88 81 02 00 D0 00 4F 
16:42:04.926 > RX Period End
16:42:04.926 > All missing
16:42:04.926 > Nothing received, resend whole request
16:42:04.926 > TX PowerControl Channel: 23 --> 51 83 81 91 93 80 13 56 88 81 02 00 D0 00 4F 
16:42:06.932 > RX Period End
16:42:06.932 > All missing
16:42:06.932 > Nothing received, resend count exeeded
16:42:06.932 > Fetch inverter: 1..........3
16:42:06.932 > Request SystemConfigPara
16:42:06.932 > Resend PowerCommand
16:42:07.147 > TX RealTimeRunData Channel: 40 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 53 1B 4E 00 00 00 00 00 00 00 00 17 D7 72 
16:42:07.701 > RX Period End
16:42:07.701 > All missing
16:42:07.701 > Nothing received, resend whole request
16:42:07.701 > TX RealTimeRunData Channel: 61 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 53 1B 4E 00 00 00 00 00 00 00 00 17 D7 72 
16:42:08.254 > RX Period End
16:42:08.254 > All missing
16:42:08.254 > Nothing received, resend whole request
16:42:08.254 > TX RealTimeRunData Channel: 75 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 53 1B 4E 00 00 00 00 00 00 00 00 17 D7 72 
16:42:08.802 > RX Period End
16:42:08.802 > All missing
16:42:08.802 > Nothing received, resend whole request
16:42:08.802 > TX RealTimeRunData Channel: 3 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 53 1B 4E 00 00 00 00 00 00 00 00 17 D7 72 

Anything else?

Don't know when the update interval starts rising - in this example I got a interval of 14s instead of 5s at the time I detected it.

image

A reset of the OpenDTU device is fixing the problem until the next time.

Please confirm the following

  • I believe this issue is a bug that affects all users of OpenDTU, not something specific to my installation.
  • I have already searched for relevant existing issues and discussions before opening this report.
  • I have updated the title field above with a concise description.
  • I have double checked that my inverter does not contain a W in the model name (like HMS-xxxW) as they are not supported.
@mibcat mibcat added the bug Something isn't working label Dec 6, 2024
@mibcat
Copy link
Author

mibcat commented Dec 6, 2024

hmm the image got lost after editing the post ...

bottom: update interval 5s right after start of OpenDTU
top: update interval 14s after operation time 2 Tage 21:23:02

image

@stefan123t
Copy link

stefan123t commented Dec 7, 2024

I believe there is no MQTT logging right now.

According to your console logs there is no communication with your inverter what so ever.

19:31:26.716 > TX RealTimeRunData Channel: 3 --> 15 83 81 91 93 80 13 56 88 80 0B 00 67 50 9F FE 00 00 00 00 00 00 00 00 A9 AB 87 
19:31:27.270 > RX Period End
19:31:27.270 > All missing
19:31:27.270 > Nothing received, resend whole request

You may want to revisit / edit your triple backticks markdown formatting to show proper code.

@mibcat
Copy link
Author

mibcat commented Dec 8, 2024

you are right - the missing image was caused by wrong usage of the tripple backticks - just fixed it.

and yes: the inverter was permanently shut-down during the whole time when OpenDTU was started until the issue arise.

@stefan123t
Copy link

stefan123t commented Dec 8, 2024

Okay I think now I understand your issue:

The OpenDTU may choose to use a different communication interval with the inverter, depending on whether it has been able to reach the inverter before the Inverters downtime and how long ago the inverter has become unavailable, ie 5s vs ~14/15s interval.
That is what you wanted to show with your long logs and the screenshot.

This in itself is not the actual problem and the OpenDTU forwards the current values to your MQTT broker using a fixed exp_aft validity period of 10s. This is sufficient in the first place being double the interval of 5s.

But when the inverter has been unreachable for a longer period it is less than the query interval of 14/15s and therefor the MQTT recipient has short gaps of 4/5s. In fact the exp_aft should be increased to 30s being again the double of our query interval.

@tbnobody is this something that we could consider in our MQTT packets ?

@mibcat
Copy link
Author

mibcat commented Dec 9, 2024

To have two different update rates depending on the availability of the inverter is totally fine as long as the applied update rate is not exceeding the communicated exp_aft value.

From the user's perspective a possible solution could be a dynamic exp_aft value or a fixed value with the longest expected duration + some margin.

And many thanks for taking time to look into this issue !!!

@stefan123t
Copy link

And what should the inverter do eg after dark?
Should the DTU repeat the last value and extend the value lifetime until eg midnight or even until a new dawn ? Should there be an expiry after some time of the inverter being unreachable or would you prefer that it simulates everything is fine until your defined reset at midnight / dawn ?

@mibcat
Copy link
Author

mibcat commented Dec 10, 2024

I think the best would be to set all life sensor values to zero/inactive if the inverter is detected as unreachable because these sensor values are simply not available if the inverter is unreachable regardless of the reason (no power due to light conditions or as in my case no battery voltage supply).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants