Wechselrichter Hoymiles HM-600 mit FHEM verbinden anstelle mit WLAN Stick DTU-W1

Begonnen von josburg, 25 Mai 2021, 18:03:41

Vorheriges Thema - Nächstes Thema

Petrosilius Zwackelmann

Zwischenzeitlich läuft die Lösung von
https://www.mikrocontroller.net/topic/525778


Ich habe den Ansatz mit ESP8266 und dem Funkmodul seit heute in Kombination mit einem HM-800 laufen.
Die Verbindung zu FHEM läuft via MQTT. Dabei habe ich noch ein Thema mit MQTT-Nachrichten mit identischem Namen.

als Reading List - wird von autocreate für beide Kanäle des Wechselrichter jeweils U_DC, IDC, P_DC aungelegt.

ESP_238:/inverter/CDS-Block-1/ch1/U_DC:.* U_DC
ESP_238:/inverter/CDS-Block-1/ch1/I_DC:.* I_DC
ESP_238:/inverter/CDS-Block-1/ch1/P_DC:.* P_DC
ESP_238:/inverter/CDS-Block-1/ch2/U_DC:.* U_DC
ESP_238:/inverter/CDS-Block-1/ch2/I_DC:.* I_DC
ESP_238:/inverter/CDS-Block-1/ch2/P_DC:.* P_DC

In den Readings scheint der eine Kanal den anderen Kanal zu überschreiben. U_DC I_DC und P_DC gibt es nur noch einmal.

Internals:
   CFGFN     
   CID        ESP_238
   DEF        ESP_238
   FUUID      6272c14f-f33f-84af-34a2-b8bfa6061a06878a
   IODev      MQTT2_SERVER
   LASTInputDev MQTT2_SERVER
   MQTT2_SERVER_CONN MQTT2_SERVER_192.178.168.92_58402
   MQTT2_SERVER_MSGCNT 1260
   MQTT2_SERVER_TIME 2022-05-04 20:23:30
   MSGCNT     1260
   NAME       MQTT2_ESP_238
   NR         9308
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2022-05-04 20:23:30   Freq            50.000
     2022-05-04 20:09:19   IODev           MQTT2_SERVER
     2022-05-04 20:23:30   I_AC            0.020
     2022-05-04 20:23:30   I_DC            0.110
     2022-05-04 20:23:30   P_AC            5.700
     2022-05-04 20:23:30   P_DC            3.100
     2022-05-04 20:23:30   Temp            19.000
     2022-05-04 20:23:30   U_AC            232.400
     2022-05-04 20:23:30   U_DC            28.800
     2022-05-04 20:23:30   YieldDay        1492.000
     2022-05-04 20:23:30   YieldTotal      10.438
     2022-05-04 20:23:30   YieldWeek       9703.000
     2022-05-04 20:09:20   version         0.3.3
Attributes:
   readingList ESP_238:/inverter/version:.* version
ESP_238:/inverter/CDS-Block-1/ch1/U_DC:.* U_DC
ESP_238:/inverter/CDS-Block-1/ch1/I_DC:.* I_DC
ESP_238:/inverter/CDS-Block-1/ch1/P_DC:.* P_DC
ESP_238:/inverter/CDS-Block-1/ch2/U_DC:.* U_DC
ESP_238:/inverter/CDS-Block-1/ch2/I_DC:.* I_DC
ESP_238:/inverter/CDS-Block-1/ch2/P_DC:.* P_DC
ESP_238:/inverter/CDS-Block-1/ch0/YieldWeek:.* YieldWeek
ESP_238:/inverter/CDS-Block-1/ch0/YieldTotal:.* YieldTotal
ESP_238:/inverter/CDS-Block-1/ch1/YieldDay:.* YieldDay
ESP_238:/inverter/CDS-Block-1/ch2/YieldDay:.* YieldDay
ESP_238:/inverter/CDS-Block-1/ch0/U_AC:.* U_AC
ESP_238:/inverter/CDS-Block-1/ch0/Freq:.* Freq
ESP_238:/inverter/CDS-Block-1/ch0/P_AC:.* P_AC
ESP_238:/inverter/CDS-Block-1/ch0/I_AC:.* I_AC
ESP_238:/inverter/CDS-Block-1/ch0/Temp:.* Temp
   room       MQTT2_DEVICE


Mache ich hier einen Fehler?
Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Petrosilius Zwackelmann

Mein Problem konnte ich nun selber durch die Anpassung der ReadingList lösen...
Gruß Manuel

ESP_2c91:/inverter/version:.* version
ESP_2c91:/inverter/CDS-Block-1/ch1/U_DC:.* U_DC1
ESP_2c91:/inverter/CDS-Block-1/ch1/I_DC:.* I_DC1
ESP_2c91:/inverter/CDS-Block-1/ch1/P_DC:.* P_DC1
ESP_2c91:/inverter/CDS-Block-1/ch2/U_DC:.* U_DC2
ESP_2c91:/inverter/CDS-Block-1/ch2/I_DC:.* I_DC2
ESP_2c91:/inverter/CDS-Block-1/ch2/P_DC:.* P_DC2
ESP_2c91:/inverter/CDS-Block-1/ch0/YieldWeek:.* YieldWeek_0
ESP_2c91:/inverter/CDS-Block-1/ch0/YieldTotal:.* YieldTotal_0
ESP_2c91:/inverter/CDS-Block-1/ch0/U_AC:.* U_AC_0
ESP_2c91:/inverter/CDS-Block-1/ch0/Freq:.* Freq_0
ESP_2c91:/inverter/CDS-Block-1/ch0/Temp:.* Temp_0
ESP_2c91:/inverter/CDS-Block-1/ch0/P_AC:.* P_AC_0
ESP_2c91:/inverter/CDS-Block-1/ch0/I_AC:.* I_AC_0
ESP_2c91:/inverter/CDS-Block-1/ch2/YieldDay:.* YieldDay_2
ESP_2c91:/inverter/CDS-Block-1/ch0/YieldDay:.* YieldDay_0
ESP_2c91:/inverter/CDS-Block-1/ch1/YieldDay:.* YieldDay_1
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Skusi

Hallo,

ich habe mir 6 Stk Balkonkraftwerke gekauft. Auf denen sind HM-300 verbaut.
Ich bin gerade dabei mich ein zu lesen. Da Du das schon am laufen hast, würde mich mal interessieren was ich dazu benötige um die Zellen in Fhem abzufragen.

Brauche ich den nRF24L01+ Transceiver da für jeden Wechselrichter ?
Kann man einen D1 Mini mit dem nRF24L01+ verbinden und darauf dann einen Sketch flashen der dann im besten Fall alle HM-300 Daten empfängt ?

Oder ist das doch etwas aufwändiger ?

Der nRF24L01+ ist ja recht günstig. Ich würde dann schonmal so einen ordern

Ich brauch mal Starthilfe...
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

TheTrumpeter

Zitat von: Skusi am 16 Mai 2022, 18:59:18
Brauche ich den nRF24L01+ Transceiver da für jeden Wechselrichter ?
Kann man einen D1 Mini mit dem nRF24L01+ verbinden und darauf dann einen Sketch flashen der dann im besten Fall alle HM-300 Daten empfängt ?
Ich warte noch auf mein Balkonkraftwerk bzw. Wechselrichter, hab' aber dafür den anderen Schritt schonmal gemacht...

Habe das da bestellt und 1 davon mit einem vorhandenen D1-mini-pro (Nachbau) verbunden: https://www.amazon.de/gp/product/B07PQPFTWZ/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1
Achtung: Das Pinning ist anders als in der Anleitung beschrieben.
Firmware geflasht und nach ein paar Versuchen hat's dann auch wie beschrieben geklappt.

Aktuell können in der Firmware 3 unterschiedliche Wechselrichter eingetragen werden, d.h. für 6 Stück würdest Du nach aktuellem Stand 2x D1 mit je 1 NRF24L01+ brauchen.

Nachtrag:
Blöde Frage, warum kauft man 6 Stück HM-300 und nicht beispielsweise 3 Stück HM-600/700/800? (Oder 1-2 1500er?)
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

Skusi

Das hört sich gut an.
Dann werde ich mal 2 Stk nRF24L01+ besorgen.

Wo bekomme ich die Firmware für den ESP 8266 her ?

ZitatBlöde Frage, warum kauft man 6 Stück HM-300 und nicht beispielsweise 3 Stück HM-600/700/800? (Oder 1-2 1500er?)

Weil die HM-300 nun mal vom Hersteller auf jedem Modul verbaut sind, und ich die sehr günstig kaufen konnte.  ;)
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

TheTrumpeter

Zitat von: Skusi am 16 Mai 2022, 20:36:50
Wo bekomme ich die Firmware für den ESP 8266 her ?
Entweder die Quelldateien von GIT runterladen und selbst übersetzen oder im Mikrokontroller-Forum aus einem der Anhänge die Binaries runterladen. Das ist dann aber nicht der letzte Erkenntnisstand, gab schon ein paar Tage keine neuen Binaries dort.
Ich habe die letzte Datei von dort laufen, da ich noch keinen Wechselrichter habe reicht das vorerst.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

mattes1007

Wie lange bleibt bei euch der MQTT connectet ? Der DTU ESP läuft stabil aber MQTT bricht ständig ab und connectet nicht neu. Also keinen Daten mehr :(

TheTrumpeter

Habe MQTT nicht aktiviert.
Da noch kein Wechselrichter dran ist, prüfe ich mittels HTTPMOD aktuell nur die Uptime.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

Petrosilius Zwackelmann

Ich verwende die ESP8266 Variante. (Gibt ja auch die Möglichkeit ein Phyton Skript direkt am Raspberry zu verwenden.)

Das mit den BIN Files aus dem Forum habe ich bei mir noch nicht hinbekommen. Liegt wohl daran dass die Hardware nicht bei jedem identisch ist.
Ich habe einen ESP8266 mit 4MB Flash Speicher - Im Forum scheint eine 1MB Variante verbreitet zu sein.
Ich habe bei mir Arduino IDE 1.8.19 installiert und hole mir die Sourcen über Visual Studio Core direkt aus dem Git.
https://github.com/grindylow/ahoy.git

Aktuell gibt es da die Version 0.4.2 die ich eben erst gezogen habe.

MQTT läuft bei mir nicht stabil was erst mal nicht kritisch wäre - derzeit wird aber nach jedem reboot ein neues Gerät erzeugt d.h. Visualisierungen brechen dann ab und müssten auf das neue Gerät angepasst werden. Ich nehme an das ist noch ein Bug der behoben werden kann. Derzeit gehe ich nicht davon aus dass dies ein Problem von meiner FHEM Konfiguration ist.

Grundsätzlich habe ich in FHEM einen MQTT2_SERVER installiert und die IP meines FHEM-Raspberry im APP inkl. Passwort/Username bekannt gemacht. Damit wir MQTT als connected angezeigt und die Daten übertragen.
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Petrosilius Zwackelmann

Danke das hat mir geholfen - so scheint es nun zu funktionieren wie gewünscht.


ESP_.*:/inverter/version:.* version
ESP_.*:/inverter/CDS-Block-1/ch1/U_DC:.* 1_U_DC
ESP_.*:/inverter/CDS-Block-1/ch1/I_DC:.* 1_I_DC
ESP_.*:/inverter/CDS-Block-1/ch1/P_DC:.* 1_P_DC
ESP_.*:/inverter/CDS-Block-1/ch1/YieldDay:.* 1_YieldDay
ESP_.*:/inverter/CDS-Block-1/ch1/YieldTotal:.* 1_YieldTotal
ESP_.*:/inverter/CDS-Block-1/ch2/U_DC:.* 2_U_DC
ESP_.*:/inverter/CDS-Block-1/ch2/I_DC:.* 2_I_DC
ESP_.*:/inverter/CDS-Block-1/ch2/P_DC:.* 2_P_DC
ESP_.*:/inverter/CDS-Block-1/ch2/YieldDay:.* 2_Y_ieldDay
ESP_.*:/inverter/CDS-Block-1/ch2/YieldTotal:.* 2_YieldTotal
ESP_.*:/inverter/CDS-Block-1/ch0/U_AC:.* U_AC
ESP_.*:/inverter/CDS-Block-1/ch0/I_AC:.* I_AC
ESP_.*:/inverter/CDS-Block-1/ch0/P_AC:.* P_AC
ESP_.*:/inverter/CDS-Block-1/ch0/Freq:.* Freq
ESP_.*:/inverter/CDS-Block-1/ch0/Temp:.* Temp
ESP_.*:/inverter/CDS-Block-1/ch0/YieldDay:.* YieldDay
ESP_.*/inverter/CDS-Block-1/ch0/YieldTotal:.* YieldTotal
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Beta-User

Zitat von: Petrosilius Zwackelmann am 18 Mai 2022, 08:04:03
Danke das hat mir geholfen - so scheint es nun zu funktionieren wie gewünscht.
Ist ein "Standard-Problem"
https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#St.C3.A4ndig_neue_Devices.3F

So ginge es auch
/inverter/version:.* version
  /inverter/CDS-Block-1/ch1/U_DC:.* 1_U_DC
[...]


(Insgesamt muss ich mir das mal ansehen. Eigentlich sollte jede MQTT-firmware in der Lage sein, eine dauerhafte ClientId vergeben zu lassen, und auch die (verkürzte) Info, was zu welcher Seriennummer gehört, sollte nach meinem Geschmack eigentlich über die Topic-Struktur erkennbar sein. Dann könnte man auch sowas wie eine bridgeRegexp setzen und den ESP an sich und jeden Inverter als getrenntes MQTT2_DEVICE betrachten. Noch cooler wäre es, wenn man dann das ganze mit dem OpenMQTTGateway-Code verheiraten könnte - an den ESP32 noch einen nRF anzuschließen würde den wohl nicht überfordern...).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TheTrumpeter

Zitat von: Petrosilius Zwackelmann am 17 Mai 2022, 20:43:41
Ich habe einen ESP8266 mit 4MB Flash Speicher - Im Forum scheint eine 1MB Variante verbreitet zu sein.
Das sollte nicht das Problem sein, ich habe gar 16MB Speicher, trotzdem habe ich die Binaries aus dem Forum zum Laufen gebracht... allerdings hat es auch unzählige Versuche gebraucht, bis es irgendwann ging. Habe gestern dann OTA-Update auf die 0.4.1 aus dem Forum probiert, was ebenfalls problemlos ging.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

Petrosilius Zwackelmann

Zitatallerdings hat es auch unzählige Versuche gebraucht, bis es irgendwann ging.

Kannst du erklären worauf es ankommt ?
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony