-
-
Notifications
You must be signed in to change notification settings - Fork 23
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
Add note about silent devices (RS485) #48
Comments
Ja, Geantwortet hat er nicht. Wenn er nichts sagt, reicht es dann auch nur den TX vom ESP und RX vom Soyo mit einem passendem (nicht invertierenden, PNP) Optokoppler zu verbinden. Das hat den Vorteil, dass der 2 polige grüne Stecker dafür ausreicht. Da man im Eingang ja nur eine Leuchtdiode steuert. Ich denke, so was könnte passen. https://www.ebay.de/itm/401980747815 Da es einige Prüfungen in der Komponente gibt, die ohne die Statusabfrage nicht funktioniert, muss die Konfiguration zusammengestrichen werden, damit hat das Setzen der Leistung im Soyo dann funktioniert.
|
Du warst beim Löschen der Sensoren sehr radikal. ;-) Versuch mal nur die Elemente zu löschen die zur Meine Empfehlung ist, dass du dieses Setup auf deinem WiFi Dongle hinzufügst und für die Kommunikation mit dem Limiter-Port einen der unbenutzten GPIOs des ESP12e nutzt. Danach kannst sogar wieder den Betriebsmodus des Inverters durch den Limiter monitoren lasen. Wenn der Inverter nämlich in den Modus "Standby" fällt (z.B. wegen niedriger Batteriespannung) dann fährt auch der Limiter runter, weil er weiß, dass es nichts zu holen gibt. Ich habe alle Komponenten so gebaut, dass sie nicht aufeinander angewiesen sind. Dein Ansatz war deshalb total richtig: Alle weg lassen, was in deinem Setup nicht funktionieren kann. |
Das Zusammenstreichen der Konfig war ein iterativer Vorgang. Ich hatte im Code nach der Meldung im Log gesucht ein gesehen, dass er durch Weglassen weiter kommt. Für einfache kleine dinge, habe ich einige ESP8285 ESP-M3, die sind schon klein und lässt sich noch flashen ohne das ich, was dran löten muss. Für mehr Pins habe ich einige ESP8285 ESP-01M, die sind aber schon etwas dicht kontaktiert. |
Moin, bei mir will die 2021 (fw version 2021-301) ebenfalls keine Kommunukation. Mit https://github.com/KlausLi/Esp-Soyosource-Controller kann ich aber Werte auslesen und setzten, besteht die Möglichkeit das verhalten irgendwie zu debuggen, finde deine Integration besser. |
@ehspill Wenn die Loesung von Klaus fuer dich funktioniert, sollte auch diese Implementierung Daten liefern, sobald sie korrekt verkabelt & konfiguriert ist. Hier findest du einen Abschnitt, wie man die https://github.com/syssi/esphome-soyosource-gtn-virtual-meter#debugging Daraufhin wird jedes ausgehende ( |
Ich teste noch mal mit max debug output. Der RS485 Wandler funktioniert, hängt ja so auch am Inverter mit der anderen Firmware. Kann die Schweigsamkeit an nem "fehlenden" Hello bzw. fehlenden checksums liegen? edit: sehe gerade in den debug logs das bereits 24:00... abgeschickt werden und keine Antwort vom Soyo kommt |
Die Antwort auf die Flow Control Frage ist wichtig. ;-) Welchen Wandler betreibst du? Den oberen oder unteren: https://github.com/KlausLi/Esp-Soyosource-Controller/blob/main/BastelPlan0_ESP8266_Rs485_Modul.png Besagte Nachricht wird periodisch gesendet: https://github.com/syssi/esphome-soyosource-gtn-virtual-meter/blob/main/components/soyosource_inverter/soyosource_inverter.cpp#L119 |
Den oberen Wandler bzw. |
In diesem Fall hätte es wirklich einfach funktionieren müssen. Das Standard-Update-Intervall ist 5 Sekunden. Du solltest deshalb alle 5 Sekunden die |
Bist du dir sicher, dass du mit Klaus-Lösung Daten empfangen kannst? Blinkt der sog. Herzschlag und siehst du Temperatur, Batteriespannung und Leistung? |
Ich kabel morgen noch mal um und gucke ob der Soyo überhaupt irgendetwas antwortet. |
Ich habe Zweifel, dass dein Soyo jemals geantwortet hat. Wuerde er antworten, so muesstest du mindestens eine Spannung in der DC-Zeile sehen, vorausgesetzt es liegt Spannung an: https://youtu.be/TAW5yowh12U?t=919 |
Hm, Ja, guter Hinweis. Ist bekannt warum manche Typen nicht antworten? |
Nein. Es ist nichts bekannt. Es gibt leider das volle Spektrum an möglichen Ursachen:
Was dein Soyo aber immer kann: Er ist nicht taub, sondern nur stumm. Schickst du eine Leistungsanforderung, so würde er dieser Aufforderung nachkommen. |
Moin, Danke für die Info. Mein Soyo nimmt ja die Leistungsdaten an, das funktioniert, wäre nur schön fürs Monitoring die anderen Daten ebenfalls zu haben. Besteht die Möglichkeit das du einen reinen "Manual" Mode wie Klaus einbaust? Also auch ohne Feedback vom Inverter Max Output setzen? Ich wede meinen Soyo mal ausbauen und auf die Suche gehen, würde ggf. ein FW Dump helfen zur analyse? Gruß |
Es gibt einen manuellen Modus (Schalter+Schieberegler) wo du die Ausgangsleistung manuell setzen kannst. Ist das, was du suchst? |
Ein Firmware-Dump wäre nett, obwohl meine Fähigkeiten beschränkt sind aus diesem Details zu extrahieren. |
Yes, wenn der Soyo nicht antwortet funktioniert das leider nicht, siehe unten. [09:53:40][D][number:113]: New number value: 500.000000 |
Entferne bitte diese Zeilen aus der Konfiguration, so dass der Betriebsmodus nicht laenger beachtet wird:
Klappt es dann? |
Hi Syssi, ich habe ebenfalls eine 2021er Version mit der FW 2021-301. Der Soyo empfängt die eingestellten werde, harmoiert mit dem Shelly 3EM, aber gibt keine Werte, wie Spannung etc. aus. Aktuell verwende ich den unteren Wandler, aber der obere kommt morgen rein. Hattest du mal versucht, das CPU Board oder die RS485 Platine zu wechseln, um den Soyo wieder gesprächig zu machen? |
Habe ich noch nie versucht. Ich besitze 3 Modelle (2x mit Display & alt = gesprächig + 1x ohne Display = stumm).
Bei einem der Display-Inverter ist mir die RS485-Platine abgeraucht. Diese habe ich aus Faulheit gegen einen teuren Ersatz vom Hersteller/Verkaeufer ersetzt. Dabei hat sich herausgestellt, dass es zwei Ausfuehrungen der RS485-Platinen gibt. Ich hatte damals Fotos der Platinen im Soyosource-Projekt von KlausLi gepostet. Leider sind hier die Issues mittlerweile geschlossen und die Fotos nicht mehr einsehbar. Die neue RS485-Platine sieht robuster aus. Ich meine mich zu erinnern, dass Klaus die These aufgestellt hat, dass man jeden Soyosource gesprächig machen kann, wenn man lange genug an der Strecke zwischen Mikrocontroller und RS485-Buchse optimiert. Ich habe mich dem Thema aber nie angenommen, weil ich etwas Respekt vor möglichem Potential vor den Optokopplern habe. Ist man hier schmerzfrei, koennte man die RS485-Platine sogar entfernen und per UART-TTL direkt mit dem CPU-Board sprechen. Ich rechne aber damit, dass das CPU-Board es einem kurz oder mittlfristig übel nimmt. Ein ungefährliches Test-Setup könnte so aussehen:
Das normale Setup aus RS485-Konverter im Gehäuse und RS485-Konverter vor dem ESP ist nur nützlich, wenn man mit größeren Kabellängen arbeiten möchte. Alternative Loesung: Ist meine Annahme richtig, dass dein Inverter ein Display besitzt? Dieses Display kann man abstecken. Auf dem Datenkabel des Displays fließen serielle Daten. Ich implementiere den Decoder aktuell hier: Sollte man über den RS485-Port niemals an Daten bekommen, dann wird man es Notfalls immer über das Datenkabel des Displays schaffen. |
Danke für deine schnelle Antwort. Das CPU Board sieht wie dieses aus: Ich melde mich mit einem Log und Yaml Config morgen zurück, wenn der andere RS485 ankam. By the way: Ich warte gespannt auf die Implementierung. Ich würde gerne einfach die Spannung etc. in HA einspielen können. |
Das CPU Board hatte ich getauscht und untersucht, hat nix mit der externen Kommunikation geändert. Ich würde eher auf das Board unterm display tippen. edit: Hatte auch verschiedene RS485 wandler getestet ohne Erfolg. |
Spannend. ;-) Dann kann ich noch ein Detail beitragen: Mein erster Soyosource wurde mit einer kaputten Display-Treiber-Platine (das Display war okay) geliefert. Man konnte trotzdem mit ihm kommunizieren (per RS485) und er haette auch grundsaetzlich funktioniert. Er war lediglich nicht bedienbar. Der Verkaeufer hat mir erst ein Ersatz-Display geschickt, welches mein Display-Problem nicht geloest hat. Nach dem Tausch der Display-Treiber-Platine war das Geraet dann bedienbar. Der Zaehlerstand (kWh) wird auf der Display-Treiber-Platine gespeichert und beginnt mit einer neuen Display-Treiber-Platine wieder bei 0. Ansonsten darf man sich die Treiber-Platine wie eine Fernbedienung mit Display vorstellen. Sie fragt periodisch Status-Informationen beim CPU-Board an und kann ein paar wenige Register aus der Ferne schreiben (Start/Stop-Spannungen, etc.). |
Success! Ich freue mich wie der Teufel :D Eingestellt sind manuell 50W in HA, aufm Soyo Display sind es 43-46W und über den Shelly Plug S ausgelesen 38,6 W. Der "Versuchsaufbau".. |
Verstehe ich dich richtig: Dein Soyosource gehoert nicht zur stummen Sorte und antwortet nun auf Status-Requests? |
Absolut korrekt. logs_esphome-web-91fc6e_logs.txt Mit dem og. Wandler funktioniert es einwandfrei. |
Gut gemacht! :-) Das Setup läuft, wie es sich gehört. |
Ich danke dir vielmals für deinen schnellen Support. |
@syssi Eine Frage hätte ich noch - ggf etwas Off-Topic. Der Hintergrund ist, dass ich Automatisierungen verwenden möchte, welche den max power demand Wert nach Einspeiseleistung vom MPPT Regler regeln. (Der Soyo klemmt bei mir an zwei AGM Akkus und diese werden via EPEVER Regler geladen. Letzteren lese ich mit einem Elfin EW11 (Modbus) aus.) |
Der
https://esphome.io/components/esphome.html#adjusting-flash-writes Wenn du den Wert sowieso taeglich x Mal neu setzt, dann wuerde ich |
Apropos Epever: Du koenntest auch einen zweiten RS485-Wandler nutzen und den Epever direkt vom ESP aus ansprechen: https://esphome.io/cookbook/tracer-an.html |
Ich beiß mir in den Hintern! Noch mehr zum basteln ;) Ich war gerade noch dabei, die Antenne für ne Buchse zu modifizieren. |
ESPHome hat ein nettes Feature beim ESP8266: Wenn man Pins nutzt, welche keinen Hardware UART besitzen, dann wird zur SoftwareSerial-Implementierung gegriffen. Du bist deshalb nicht auf 1-2 serielle Schnittstelle limitiert, sofern die Baudrate moeglichst niedrig ist. Die 4k8 für den Soyosource schafft ein ESP8266 locker per SoftwareSerial. Der Wechsel auf einen ESP32 mit 3 Hardware UARTS bietet sich also erst an, wenn du viele schnelle Geräte (JK-BMS mit 115k2) anbinden möchtest. Beim ESP32 ist man dann leider auf 3 UARTS beschränkt. Hier gibt es das SoftwareSerial-Feature bisher nicht. |
Ich habe hier noch einen bzw. mehrere ESP32 liegen. uart: Wie, und eventuell ist das eine absolute Newbie Frage, bekomme ich nun den Soyosource code von dir dort mit hinein? |
Kannst du die beiden YAMLs zippen uns hier hochladen? Ich mache dir dann eine daraus. Danach hast du im besten Fall eine Idee, wie man es für gewöhnlich anstellt. |
Sehr gerne :) |
This is the combined (ESP32) version: epever-soyosource-combined.zip You have to attach the RS485 converter of the Epever to GPIO1/GPIO3 and the RS485 converter of the Soyosource to GPIO16/GPIO16:
Thanks for your beer! ;-) |
You are welcome and many thanks for your support! Everything works as it should. :) |
Could you tell me the entity you are talking about? |
I found a solution now. I used the following code for it: Currently I am facing another problem: I am using a helper in Homeassitant to merge L1, L2 and L3 as a sum together. That one is just for the Soyo
Maybe you have a solution for it? Update: |
Ich habe dir hier ein Beispiel gebaut, wie du die Werte in ESPHome decodierst. Ich hoffe das Beispiel funktioniert auf Anhieb: syssi/esphome-config-examples@20cc3e2 |
Danke... -> current *.yaml By the way...kannst du mir vielleicht sagen, wie ich den update_invertal für die Zeit verändern kann? |
Deine Frage bezieht sich auf den Epever, richtig? In diesem Fall kannst du das Update-Intervall des
|
Genau..mir geht es um den Intervall der Zeit, nicht der Werte ;) |
Lass uns bitte diesen Issue hier schließen und pro Thema einen neuen Issues aufmachen. Am liebsten wuerde ich hier sogar alle Off-Topic-Nachrichten entfernen. |
Epever-Follow-Up: syssi/esphome-config-examples#1 |
Hi, hoffe ist okay in den alten Thread hier nochmal was zu posten. Danke! |
230V genügen um per RS485 mit dem Inverter zu sprechen. |
danke für die schnelle Rückmeldung, dann order ich mal. Auch wenn ich da vermutlich auf Granit beiße. |
Some soyosource inverters doesn't respond to the status request (
0x24 0x00 0x00 0x00 0x00 0x00 0x00 0x00
). The reason is unknown. There is a new hardware version since 2022 (purple mainboard / fw versionSTC8-2022-218
) which probably doesn't respond to requests anymore.The 2021 version (blue mainboard & green mainboard, fw version
2021-301
) responds for some people and for some not.The text was updated successfully, but these errors were encountered: