Vielen Dank für eure Unterstützung, ihr seid spitze!
Also mit tasmota hat alles soweit geklappt, nur dass der SOLAX keine Daten rausrückt. Das wäre bei ESP-Home vermutlich nicht anders.
Von den Anschlüssen her habe ich alles mehrfach ausprobiert, bzw. auch A+ B- mal getauscht, ist immer das gleiche. Schaut dann so aus:
Bei dem zweiten screenshot sieht man, dass die Seriennummer übertragen wurde, in Folge einer falschen Konfiguration... aber ich schließe daraus, dass die Anschlüsse passen müssten.
Da ihr beide der Meinung seid, ESP-Home ist die bessere Wahl, würde ich mich gern da einarbeiten. Kann halt sein, dass da dann ein paar ganz dumme Fragen zur den einfachsten Dingen kommen...
Trotzdem noch zum SOLAX:
- Serial Port auf dem ESP ggf. durch logger belegt? Wie finde ich das heraus? Du meinst nicht die GPIO-Pins, oder? Die sind ja eigentlich vorgegeben. RXD GPIO1, TXD GPIO3, RTS hat das erste board nicht, beim zweiten habe ich in der tasmota-Konfiguration GPIO5 festgelegt.
- Baudrate korrekt? Die letzten Zeilen meiner tasmota-Version enthalten in user_config_override.h diese Einträge:
Sollte die Baudrate auf 9600 setzen, richtig?
- Modbus RTU im Solax eingeschaltet Ja, ist auf "enable"
- Mal mit einer Modbus-Adresse (z.B. Serialnummer) probieren ob wenigstens ein Telegramm kommt? Wie mache ich das?
Die modbus-adresse im SOLAX steht auf 1, das war die Voreinstellung.
Komme vermutlich erst heute Abend wieder dazu, mich eingehender mit ESP-Home zu befassen. Geht das grundsätzlich so ähnlich wie bei tasmota, also dass man sich einen Ordner von github holt, bestimmte Dateien in VisualStudioCode bearbeitet, und dann unter platformio "build" auswählt? Und die firmware heißt dann nicht .bin sondern .yaml?
Grüße!
6x 300Wp = 1.8kWp an 3x EVT560 MicroInverter - MultiPlus-II GX mit 4x PylonTech US2000 (je 2,4kWh)
Hier klicken, wenn du Kollegen in deiner Umgebung finden möchtest.
Geht das grundsätzlich so ähnlich wie bei tasmota, also dass man sich einen Ordner von github holt, bestimmte Dateien in VisualStudioCode bearbeitet, und dann unter platformio "build" auswählt? Und die firmware heißt dann nicht .bin sondern .yaml?
fast. Bei ESPHome gibt es ein Command-Line Tool. In der yaml Datei definierst du was du haben möchtest mit esphome compile kannst du dann aus der yaml eine bin-Datei erstellen und die auf den ESP laden.
Mit esphome run geht das auch direkt (also bauen und laden). Beim ersten mal muss der ESP mit einen USB-Kabel mit dem Rechner verbunden sein. Danach geht das dann auch OTA (over the Air) also per WLan. Ich musste noch in meinem Router den Name für die DNS Auflösung bekannt geben. Dann hat OTA geklappt.
Frag ruhig wenn du Hilfe brauchst...
Ich bin mir nicht mehr sicher wie ich das installiert habe. Hier https://esphome.io/guides/installing_esphome.html ein Link zur manuellen Installation.
Danach müssen dann die esphome Commands gehen.
Hier noch der Link zu den esphome Commands: https://esphome.io/guides/cli.html
Um eine neue Integration zu erstellen am Besten:
- esphome wizard aufrufe
- Ausfüllen
- yaml konfigurieren
- esphome run ausführen (esp mit USB Kabel muss verbunden sein)
- esp mit solax verbinden
- esphome logs aufrufen. Dann siehst du die Log-Ausgaben
Mit
Mal mit einer Modbus-Adresse (z.B. Serialnummer) probieren ob wenigstens ein Telegramm kommt? Wie mache ich
Habe ich gemeint, in ESPHome mal ein Register konfigurieren und schaue was in den Logs steht. Sieh mein Beispiel. Am Besten was einfaches als z.B. einen UINT16 lesen.
SerialNumber ist doof weil du da direkt mehrere Register lesen musst. Dazu musst du dann in die MODBUS RTU Spezifikation von Solax schauen damit du die Adressen und die Datentypen herausbekommst.
Alternativ gibt es für ESPHome ja schon eine Solax Integration. Starte mal damit
Könntest du die bitte mal einstellen? Dann kann ich den SUN2000 ggf. noch in das Victron Universum integrieren
https://github.com/user0x01/venus-mqtt-pvinverter
Beispielkonfig esphome:
https://github.com/user0x01/venus-mqtt-pvinverter/blob/main/pvinverters/esphome_example_soyosourcewifi.yaml
Key ist der Schlüssel um mehrere Instanzen von PV Invertern auseinanderzuhalten
venus_update steckt hier im Sensor temperature,
habe nachgesehen welches der letzte Sensor ist der refresh wird.
Eigentlich bräuchte man dafür einen extra event, aber da ne extra branch aufzumachen war mir zu aufwändig
..,-
Im Anhang sind 2 Bins für esp8266 und esp32.
Es sollte ein Hotspot
erzeugen,
die Wifisettings sind sonst normaler im Bin reincompiliert
Zum Test sollte es reichen.
..,-
Danke euch! Die bins werde ich gleich mal ausprobieren.
@profantus Die Solax Integration hatte ich gesehen, den wizard auch vergangenes WE schon mal ausgeführt. Ist irgendwo entgleist... und am Ende wusste ich nicht mehr, was gerade wo passiert, oder hingeschrieben wird. Hab das heute alles nochmal neu gemacht... Sollte so passen.
Zwei Fragen beschäftigen mich grad am meisten:
1. Wenn ich den ESP-Chip erfolgreich geflasht habe, und er im Heimnetz mit fester IP-Adresse eingebunden ist (was der Fall ist), gibt es keine GUI, wo ich sehen könnte, was er gerade macht, bzw. was der aktuelle Status ist? Auf die IP-Adresse mag er ja nicht direkt antworten.
2. Wenn ich eine SOLAX-Integration auf github finde, wie kann ich das in meine Version einbauen? Also das, was du (@und-mehr) mir heute geschickt hast, wie bekomme ich das selber hin? Die Verzeichnisse von github als zip runter zu laden ist kein Problem, aber wie kann ich sowas dann implementieren?
Über VisualStudioCode? Und wenn ja, wie?
Grüße und gute Nacht!
6x 300Wp = 1.8kWp an 3x EVT560 MicroInverter - MultiPlus-II GX mit 4x PylonTech US2000 (je 2,4kWh)
Hier klicken, wenn du Kollegen in deiner Umgebung finden möchtest.
Habe die bin gerade draufgeflasht. In der Fritz!Box habe ich nun ein Gerät namens "solar-powermeter". Sollte also geklappt haben.
Ui, und da schau her: wenn ich die IP-Adresse aufrufe, kommt diese Seite:
6x 300Wp = 1.8kWp an 3x EVT560 MicroInverter - MultiPlus-II GX mit 4x PylonTech US2000 (je 2,4kWh)
Hier klicken, wenn du Kollegen in deiner Umgebung finden möchtest.
Hab das grade an den SOLAX angesteckt. Hier noch der Anfang vom Debug Log:
6x 300Wp = 1.8kWp an 3x EVT560 MicroInverter - MultiPlus-II GX mit 4x PylonTech US2000 (je 2,4kWh)
Hier klicken, wenn du Kollegen in deiner Umgebung finden möchtest.
Wenn du es in de fbox siehst hast du offensichtlich erfolgreich mit deinen wifisettings compiliert?
Du verwendest aktuell den kleinen esp, das blaue Board verbunden mit gpio4 und 5 und die tx led blinkt, rx led ist dunkel?
Debuglevel ist noch nicht alles, da gibt es noch mehr. später...
...später:
das sollte mehr loggen.
logger: # level: DEBUG # level: VERBOSE level: VERY_VERBOSE logs: api.service: WARN ota: WARN sensor: DEBUG uart: id: uart0 baud_rate: 9600 tx_pin: ${tx_pin} rx_pin: ${rx_pin} debug: direction: BOTH
..,-
Wenn ich den ESP-Chip erfolgreich geflasht habe, und er im Heimnetz mit fester IP-Adresse eingebunden ist (was der Fall ist), gibt es keine GUI, wo ich sehen könnte, was er gerade macht, bzw. was der aktuelle Status ist? Auf die IP-Adresse mag er ja nicht direkt antworten.
Du kannst in ESPHome eine Web-Interface konfigurieren. Hab ich aber bis jetzt nicht verwendet. Ich schau mir immer die Logs an oder die Werte in HA / Venus
Wenn ich eine SOLAX-Integration auf github finde, wie kann ich das in meine Version einbauen? Also das, was du (@und-mehr) mir heute geschickt hast, wie bekomme ich das selber hin? Die Verzeichnisse von github als zip runter zu laden ist kein Problem, aber wie kann ich sowas dann implementieren?
Schau mal hier https://github.com/syssi/esphome-solax-x1-mini/blob/main/esp8266-example.yaml
Das ist die Beispielkonfiguration für den esp8266 aus dem Projekt.
Über
external_components: - source: ${external_components_source} refresh: 0s
wir da das Repository eingebunden.
Habe das gestern auf die schnelle nur mit tasmotizer geflasht und mit send config die wifisettings gesendet.
Ja, das ist der ESP8266MOD 12-F, angesteckt an GPIO 1 TX und 3 RX. TX blinkt im 5s Abstand, RX bleibt aus.
Umgesteckt auf GPIO 4 TX und 5 RX blinkt TX im 1s Abstand.
Muss ich die Pinbelegung in der .yaml ändern? Aktuell sieht das so aus:
6x 300Wp = 1.8kWp an 3x EVT560 MicroInverter - MultiPlus-II GX mit 4x PylonTech US2000 (je 2,4kWh)
Hier klicken, wenn du Kollegen in deiner Umgebung finden möchtest.
Ich hab das nur mit GPIO 1 und 3 zum laufen gebracht und das Log disabled.
# Enable logging logger: baud_rate: 0 # disable serial logger # hardware_uart: UART0_SWAP
Schau mal hier https://www.akkudoktor.net/forum/postid/113151/ da steht meine Serial-Config drin.
Esp2866 ist mit gpio4 und gpio5 compiliert, Baudrate steht auf 9600
Hier ist dann noch mal ein Debug-Bin für den 2866.
..,-
...später:
das sollte mehr loggen.
logger: # level: DEBUG # level: VERBOSE level: VERY_VERBOSE logs: api.service: WARN ota: WARN sensor: DEBUG uart: id: uart0 baud_rate: 9600 tx_pin: ${tx_pin} rx_pin: ${rx_pin} debug: direction: BOTH
Muss ich das der .yaml hinzufügen? Und dann mit
esphome run solar-powermeter.yaml
eine neue .bin erzeugen und auf den ESP8266 hochladen?
6x 300Wp = 1.8kWp an 3x EVT560 MicroInverter - MultiPlus-II GX mit 4x PylonTech US2000 (je 2,4kWh)
Hier klicken, wenn du Kollegen in deiner Umgebung finden möchtest.
Ja kannst du in der yaml ergänzen. Schau dann das es noch die substitutions f+r tx_pint und rx_pin gibt. Dort dann den passenden Pin eintragen (also 1 und 3) und log auschalten.
esphome run solar-powermeter.yaml
Macht ein binary und lädt das hoch. Wenn du OTA konfiguriert hast über WLAN ansonsten muss der esp mit USB angeschlossen sein.
esphome compile baut das binary wenn du das manuell hochladen möchstest
Wäre das dann so richtig, oder muss ich die beiden #-Zeilen auch ändern?
substitutions: name: solar-powermeter device_description: "Monitor a Solax X1 mini via RS485" external_components_source: github://syssi/esphome-solax-x1-mini@main # tx_pin: GPIO4 ## 8266 # rx_pin: GPIO5 ## 8266 tx_pin: GPIO1 rx_pin: GPIO3
6x 300Wp = 1.8kWp an 3x EVT560 MicroInverter - MultiPlus-II GX mit 4x PylonTech US2000 (je 2,4kWh)
Hier klicken, wenn du Kollegen in deiner Umgebung finden möchtest.