tbnobody / OpenDTU

Software for ESP32 to talk to Hoymiles/TSUN/Solenso Inverters
GNU General Public License v2.0
1.69k stars 471 forks source link

Kritisch: Setzen von Einstellungen über den Web-API unterbricht die Verbindung zum Wechselrichter #2056

Open grasmax opened 3 weeks ago

grasmax commented 3 weeks ago

What happened?

Dieser Post-Befehl s.u. unterbricht die Verbindung zum Wechselrichter dauerhaft. Die Funktion kann nur wiederhergestellt werden, in dem die vorher gerettete config.json wieder eingelesen und die Sendeleistung über den GUI gesetzt wird!

      ret = requests.get(
                  url = f'http://{dtu_ip}/api/dtu/config',
                  #data = f'data={{"serial":"{serial}", "limit_type":0, "limit_value":{setpoint}}}',
                  auth = HTTPBasicAuth(dtu_nutzer, dtu_passwort),
                  headers = {'Content-Type': 'application/x-www-form-urlencoded'}
              )
      jData = ret.json()

      ret = requests.post(
                  url = f'http://{dtu_ip}/api/dtu/config',
                  data = f'data={{"serial":"{serial}", "pollinterval":8, "nrf_enabled": "True", "nrf_palevel":0, "cmt_enabled": "True", 
                  "cmt_palevel":17,"cmt_frequency": 865000}}',
                  auth = HTTPBasicAuth(dtu_nutzer, dtu_passwort),
                  headers = {'Content-Type': 'application/x-www-form-urlencoded'}
              )

To Reproduce Bug

config.json sichern Script ausführen

Expected Behavior

Script darf nicht die Funkstrecke zum Wechselrichter unterbrechen.

Install Method

Pre-Compiled binary from GitHub

What git-hash/version of OpenDTU?

v24.1.14

Relevant log/trace output

No response

Anything else?

No response

Please confirm the following

tbnobody commented 3 weeks ago

Das komplette Frontend verwendet nur und ausschließlich die API zum setzen der Einstellungen. Das funktioniert hier super. Wenn du die WebAPI verwenden möchtest (was ausdrücklich auf eigene Gefahr geschieht) musst du mit deinem Script exakt die Verhaltensweise der Webseite nachbilden.

Robert65779 commented 2 weeks ago

Hallo,

ich habe seit dem kurzem (Gefühlt vorletztes Update) das gleiche Problem. Ca. 1x am Tag unterbricht die Verbindung zwischen OpenDTU und dem Wechselrichter. Auch scheint die Verbindung nicht ganz unterbrochen zu sein. Ich kann via OpenDTU Wechselrichter den Inverter noch ein- und ausschalten, sowie neu starten. Limits setzen und Daten empfangen geht nicht mehr. Heilung bringt nur ein abschalten/trennen des Wechselrichters von der Batterie/Panels. OpenDTU Fusion & HMS-2000 Normale Nutzung via Home Assistent

Auszug Konsole: 20:35:54.328 > RX Period End 20:35:54.328 > All missing 20:35:54.328 > Nothing received, resend count exeeded 20:35:54.435 > TX PowerControl 865.00 MHz --> 51 94 81 28 39 80 11 58 56 81 02 00 D0 00 99 20:35:56.474 > RX Period End 20:35:56.474 > All missing 20:35:56.474 > Nothing received, resend whole request 20:35:56.474 > TX PowerControl 865.00 MHz --> 51 94 81 28 39 80 11 58 56 81 02 00 D0 00 99 20:35:58.511 > RX Period End 20:35:58.511 > All missing 20:35:58.511 > Nothing received, resend whole request 20:35:58.511 > TX PowerControl 865.00 MHz --> 51 94 81 28 39 80 11 58 56 81 02 00 D0 00 99 20:36:00.547 > RX Period End 20:36:00.547 > All missing 20:36:00.547 > Nothing received, resend whole request 20:36:00.547 > TX PowerControl 865.00 MHz --> 51 94 81 28 39 80 11 58 56 81 02 00 D0 00 99 20:36:02.585 > RX Period End 20:36:02.585 > All missing 20:36:02.585 > Nothing received, resend whole request 20:36:02.585 > TX PowerControl 865.00 MHz --> 51 94 81 28 39 80 11 58 56 81 02 00 D0 00 99 20:36:04.589 > RX Period End 20:36:04.589 > All missing 20:36:04.589 > Nothing received, resend count exeeded 20:36:04.589 > Fetch inverter: 116494812839 20:36:04.589 > Request SystemConfigPara 20:36:04.589 > Resend ActivePowerControl 20:36:04.589 > Resend PowerCommand 20:36:04.694 > TX ChannelChangeCommand 868.00 MHz --> 56 94 81 28 39 80 11 58 56 02 15 21 14 14 FB 20:36:04.748 > RX Period End 20:36:04.748 > All missing 20:36:04.748 > Nothing received, resend whole request 20:36:04.748 > TX ChannelChangeCommand 868.00 MHz --> 56 94 81 28 39 80 11 58 56 02 15 21 14 14 FB 20:36:04.800 > RX Period End 20:36:04.800 > All missing 20:36:04.800 > Nothing received, resend whole request 20:36:04.800 > TX ChannelChangeCommand 868.00 MHz --> 56 94 81 28 39 80 11 58 56 02 15 21 14 14 FB 20:36:04.849 > RX Period End 20:36:04.849 > All missing 20:36:04.849 > Nothing received, resend whole request 20:36:04.849 > TX ChannelChangeCommand 868.00 MHz --> 56 94 81 28 39 80 11 58 56 02 15 21 14 14 FB 20:36:04.932 > RX Period End 20:36:04.932 > All missing 20:36:04.932 > Nothing received, resend whole request 20:36:04.932 > TX ChannelChangeCommand 868.00 MHz --> 56 94 81 28 39 80 11 58 56 02 15 21 14 14 FB 20:36:05.035 > RX Period End 20:36:05.035 > All missing 20:36:05.035 > Nothing received, resend count exeeded 20:36:05.082 > TX RealTimeRunData 865.00 MHz --> 15 94 81 28 39 80 11 58 56 80 0B 00 66 69 EA 94 00 00 00 00 00 00 00 00 6F 43 58 20:36:05.492 > RX Period End 20:36:05.492 > All missing 20:36:05.492 > Nothing received, resend whole request 20:36:05.492 > TX RealTimeRunData 865.00 MHz --> 15 94 81 28 39 80 11 58 56 80 0B 00 66 69 EA 94 00 00 00 00 00 00 00 00 6F 43 58