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

Diverse Probleme mit OpenDTU #2046

Closed grasmax closed 3 weeks ago

grasmax commented 3 weeks ago

Womit getestet?

 https://selbstbau-pv.de/produkt/opendtu-hybrid/
 https://selbstbau-pv.de/produkt/magnetfuss-antenne-fuer-opendtu-hms-hmt-serie/
 https://selbstbau-pv.de/produkt/externe-antenne-opendtu-hm/, empfohlen von selbstbau-pv.de als WLAN-Antenne

What happened?

To Reproduce Bug

Test der WLAN-Verbindung mit der empfohlenen externen Antenne. Test mit Chrome-Browser in Android 13 /OneUI 5.1 Handelsübliche USB-Stecker testen.

Expected Behavior

Stabile WLAN-Verbindung, gerne auch mit externer Antenne. Betriebs-LED soll auch bei geschlossenen Gerät sichtbar sein. Anzeige des eingestellten Limits auch im Chrome-Browser in Android 13 /OneUI 5.1. Größere Öffnung im Gehäuse für den USB-Stecker Anderer Steckverbinder oder Lötkontakte für die Stromversorgung. Sendeleistung soll per Script änderbar sein. Realistische Angabe zur Leistungsaufnahme.

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

tbnobody commented 3 weeks ago

Wenn du eine Änderung an der Hardware möchtest solltest du diese einfach machen. OpenDTU ist ein Software Projekt und liefert keinerlei Hardware. Dies liegt beim Benutzer hier etwas zu bauen oder anderweitig zu besorgen.

grasmax commented 3 weeks ago

btw, sdk version is v4.4.6-dirty....how to get a stable one?

grasmax commented 3 weeks ago

"OpenDTU ist ein Software Projekt" - ok, alles klar. Das Software-Projekt ist super. Gehört der GUI zum "Software-Projekt"? Gibt es im "Software-Projekt" die Möglichkeit, die Sendeleistung zu ändern und ist das nur nicht in den GUI eingeflossen?

tbnobody commented 3 weeks ago

btw, sdk version is v4.4.6-dirty....how to get a stable one?

Wende dich hier bitte an Espressif, den Hersteller des Microcontrollers. Dieser nennt nun mal seine SDK so wie er sie nennt.

Gibt es im "Software-Projekt" die Möglichkeit, die Sendeleistung zu ändern und ist das nur nicht in den GUI eingeflossen?

Ja gibt es. Steht u.a. in der Dokumentation.

grasmax commented 3 weeks ago

Vielen Dank für die schnellen Antworten. Das Ticket kann geschlossen werden.

grasmax commented 3 weeks ago

Sorry, hatte die Frage falsch gestellt. Nochmal richtig: Im "Software-Projekt" gibt es eine Einstellung für die Sendeleistung, die auch im GUI verfügbar ist. Im API https://www.opendtu.solar/firmware/web_api/ gibt es sie offenbar nicht. Wäre es möglich, das nachzuholen. Wenn ja; wie? Viele Grüße, verbunden mit der Bitte um eine kurze Anleitung zum Thema "API-Erweiterung".

ms49434 commented 3 weeks ago

Kann man denn die Sendeleistung nicht schon über die Web-API konfigurieren? Siehe nrf_palevel / cmt_palevel unter http[s]://[IP OpenDTU]/api/dtu/config

grasmax commented 3 weeks ago

@ms49434: Stimmt, funktioniert! Danke schön. Ich frage mich, wo das dokumentiert ist, wenn nicht hier: https://www.opendtu.solar/firmware/web_api/

grasmax commented 3 weeks ago

Beispiel, in Python, zum Setzen der CMT-Sendeleistung auf 17dBm und Abfrageintervall auf 8 Sekunden:

      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'}
              )
grasmax commented 3 weeks ago

Oh je, die Sendeleistung wurde zwar per Script geändert, wie oben zu sehen. Aber danach funktioniert der Zugriff auf den Wechselrichter nicht mehr. Nochmaliges Setzen der Sendeleistung über den GUI hilft nicht. Strom ein/aus hilft auch nicht. Einen ganzen Tag mit WLAN und Sendeleistung verdaddelt und am Ende funktioniert gar nichts mehr. rrrrrrrrrrrrrrr

ms49434 commented 3 weeks ago

Diese Einstellungen sind ja auch vorsichtig anzuwenden. Wenn ein Funkmodul zu laut schreit, kann es sein daß der Empfänger taub wird. Da hilft es nur, die Sendeleistung wieder zurückzunehmen und abzuwarten. Es kann bis zu 15 Minuten dauern, bis sich WR und DTU wiederfinden.

grasmax commented 3 weeks ago

@ms49434: Danke für die sicher gut gemeinten Ratschläge. Da hat sich aber auch über Nacht und durch Neustart nichts "wiedergefunden". @alle: Das Setzen von Einstellungen per Script unterbricht die Funkverbindung zum Wechselrichter dauerhaft. Ich rate dringend, VOR solchen Versuchen, die Konfigurationsdatei zu retten. Zum Glück konnte ich das Problem lösen durch Einlesen der vorher gesicherten config.json. Und AUWEIA: So was geht gar nicht! In der Konfig-Datei steht eurer WLAN-Passwort im Klartext drin!!! Mich würde interessieren, wer dafür verantwortlich ist.

Omega13x commented 3 weeks ago

Wo liegt das Problem? Du sollst ja mit der Konfig. nicht hausieren gehen. In meinem Ausweis steht mein Name, Geburtsdatum und Wohnort in Klartext drin. Da dran zukommen ist deutlich einfacher.

grasmax commented 3 weeks ago

Klartext-Passworte zu verteidigen geht gar nicht. Sag mir lieber, wer dafür verantwortlich ist. Ich helfe gern bei der Behebung.