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

sprudelverduenner

Hallo TheTrumpeter,

herzlichen Dank für die Firmware.

Diese konnte ich ohne Probleme auf meine NodeMCU flashen. Im Anschluss habe ich in der Konsole auch weitere Reaktionen sehen können. Bei der Firmware die ich habe versucht zu kompilieren blieb da alles leer.

Jetzt kann ich den nächsten Schritt machen und das Funkmodul dran löten und alles testen wenn in ca. 2 Wochen die Inverter da sind.

Gibt es denn irgendwo eine Anleitung wie ich von Github selber die Firmware kompilieren kann ??
Ich blick da nicht wirklich durch ...

Beste Grüße,
Sprudelverduenner
FHEM @ RaspberryPi 3, HMLAN, HMUART + HMRS485, Homematic, ESPEasy @ Sonoff / Shelly / ESP8266, ZigBee @ CC2531
Echo Dot, Dreambox, Yamaha MusicCast, Logitech Hub, LW-12, LD382
FRITZ!Box 7590 AX, Mesh @ FRITZ!Repeater 2400, FRITZ!Fon, iPhone 13, iPad Air 5, AppleWatch 8

TheTrumpeter

Zitat von: sprudelverduenner am 20 August 2022, 21:32:15
Gibt es denn irgendwo eine Anleitung wie ich von Github selber die Firmware kompilieren kann ??
Ich blick da nicht wirklich durch ...
Es gibt eine "README.md", da steht es drin.
Hat bei mir auf Anhieb wie beschrieben geklappt.
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

sprudelverduenner

Nocheinmal Danke.

Ich hatte immer nur die read.ME im Hauptverzeichnis gelesen.
Die in der ESP read.ME genannten Einstellungen haben mir geholfen.
Jetzt habe ich auch geschafft die V0.5.15 für die nodeMCU zu "backen"...

Jetzt kann es ans Löten gehen.

Schönen Sonntag.


PS: Falls Jemand die Die V0.5.15 fertig kompiliert für Wemos D1 / nodeMCU gebrauchen kann... siehe Anhang. 
FHEM @ RaspberryPi 3, HMLAN, HMUART + HMRS485, Homematic, ESPEasy @ Sonoff / Shelly / ESP8266, ZigBee @ CC2531
Echo Dot, Dreambox, Yamaha MusicCast, Logitech Hub, LW-12, LD382
FRITZ!Box 7590 AX, Mesh @ FRITZ!Repeater 2400, FRITZ!Fon, iPhone 13, iPad Air 5, AppleWatch 8

rih

Ich muss nochmal wegen dem Power-Limit nachhaken: dank @sprudelverduenner läuft nun die Version 0.5.15 bei mir. MQTT-Template ist ebenfalls aktuell (vom 16.08.) und angewendet.

Bei der Eingabe eines Limits passiert aber immer noch die komische Sache im Eingabefeld mit dem vorangestellten "set". Weiterhin wird beim Limit-setzen ein Reading erzeugt z.B. "limit" mit Wert "set 100". Je nachdem welcher Limit-Typ und Wert gewählt wurde, wird ein entsprechendes Reading erzeugt mit Wert "set xxx". Das kann doch so nicht gewollt sein, oder?

Davon abgesehen funktioniert das Setzen eines Limits nicht bzw. wirkt sich nicht aus. Auch der Wert des Limits kommt nicht an. Wenn ich z.B. die Zahl 100 eingebe, dann erscheint als Power-Limit der Wert 28 oder auch 39, aber nicht 100.
Hat es denn jemand geschafft, ein Limit erfolgreich zu setzen? Wenn ja, wie?

HeikoE

Hast Du einen HM350?
Dann sind 100W nämlich 28%. Hab im Wechselrichter-Forum sowas gelesen, als wäre das Limit (jetzt) in %.
Grüße aus der Toskana.

rih

Ah, jetzt. Danke HeikoE. Du hast recht, das gewünschte Limit muss in % von der max. Leistung (hier 350 W) eingegeben werden. Funktioniert einwandfrei.
Die Sache mit dem Reading: ich sehe es jetzt halt mal als Merkhilfe. Passt schon.

thymjan

@Beta-User:
Habe jetzt nochmals mit den Templates 'rumgespielt.
Das Ur-MQTT-Device behält die Sensor-Daten des ESP, oder?
Die abgefragte BASE_ID ist wohl der Device name des ESP?
Das inverter-Template auf das Ur-Device angewendet erzeugt die jeweiligen Unter-Devices zu den zugehörigen Invertern?
"hoymiles_microinverter_hub_bridge" wird auf das Ur-Device angewendet?

Zitat von: Beta-User am 19 August 2022, 07:56:24
Mobile kurz-antwort:[...]Das 2. attrTemplate hat setList für ab 0.5.14 und muss auf das 2. automatisch angelegte Device [angewendet werden. ...].
D.h. der erste Inverter (Ordnungszahl 0) hat Sensorwerte ohne Indices. Erst ab dem zweiten Inverter gibt es dann z.B. YieldDay1.
Habe ich nur einen Inverter muss ich das Template "hoymiles_microinverter_inverter" nicht anwenden?

Es kommt der Hinweis, dass der erste Inverter die Ordnungszahl 0 erhält, der zweite die Ordnungszahl 1 usw.
Ursprünglich heißt ein Sensorwert z.B. YieldDay.
Durch die Anwendung des Inverter-Templates wird dann (ich habe nur einen HM-300 Inverter bis jetzt) dieser Wert in YieldDay1 umbenannt. Ist das so richtig? Müsste er nicht vielmehr YieldDay0 heissen?
Es werden auch nicht alle Werte mit Indices versehen, die zum Inverter gehören.


defmod MQTT2_inverter_HM_300 MQTT2_DEVICE inverter_HM-300
attr MQTT2_inverter_HM_300 icon solar
attr MQTT2_inverter_HM_300 model hoymiles_microinverter_inverter
attr MQTT2_inverter_HM_300 readingList inverter/HM-300/ch0/U_AC:.* U_AC\
  inverter/HM-300/ch0/I_AC:.* I_AC\
  inverter/HM-300/ch0/P_AC:.* P_AC\
  inverter/HM-300/ch0/Freq:.* Freq\
  inverter/HM-300/ch0/Temp:.* temperature\
  inverter/HM-300/ch0/YieldDay:.* YieldDay\
  inverter/HM-300/ch0/YieldTotal:.* YieldTotal\
  inverter/HM-300/ch1/I_DC:.* I_DC1\
  inverter/HM-300/ch1/P_DC:.* P_DC1\
  inverter/HM-300/ch1/YieldDay:.* YieldDay1\
  inverter/HM-300/ch1/YieldTotal:.* YieldTotal1\
inverter/HM-300/ch1/U_DC:.* U_DC\
inverter/HM-300/ch1/Irradiation:.* Irradiation\
inverter/HM-300/ch0/P_ACr:.* P_ACr\
inverter/HM-300/ch0/ALARM_MES_ID:.* ALARM_MES_ID\
inverter/HM-300/ch0/P_DC:.* P_DC\
inverter/HM-300/ch0/Efficiency:.* Efficiency
attr MQTT2_inverter_HM_300 room MQTT2_DEVICE,balcony solar
attr MQTT2_inverter_HM_300 setList on:noArg inverter/devcontrol/0/0 on\
  off:noArg inverter/devcontrol/0/1 off\
  reboot:noArg inverter/devcontrol/0/2 restart\
  limit inverter/devcontrol/0/11/0 $EVTPART1\
  limit_pct:slider,2,1,100 inverter/devcontrol/0/11/1 $EVTPART1\
  limit_persistent_abs inverter/devcontrol/0/11/256 $EVTPART1\
  limit_persistent_pct:slider,2,1,100 inverter/devcontrol/0/11/257 $EVTPART1
attr MQTT2_inverter_HM_300 setStateList on off
attr MQTT2_inverter_HM_300 stateFormat now [$name:P_AC] W, today [$name:YieldDay1] Wh, [$name:temperature] °C\
<br>\
total [$name:YieldTotal1] kWh\
<br>\
last Reading [$name:P_AC:t]

setstate MQTT2_inverter_HM_300 now 0.000 W, today 1494.000 Wh, 29.400 °C\
<br>\
total 9.683 kWh\
<br>\
last Reading 2022-08-24 20:23:48
setstate MQTT2_inverter_HM_300 2022-08-24 20:23:48 ALARM_MES_ID 20.000
setstate MQTT2_inverter_HM_300 2022-08-24 20:23:48 Efficiency 0.000
setstate MQTT2_inverter_HM_300 2022-08-24 20:23:48 Freq 50.000
setstate MQTT2_inverter_HM_300 2022-08-24 19:02:58 IODev mqttBroker
setstate MQTT2_inverter_HM_300 2022-08-24 20:23:48 I_AC 0.000
setstate MQTT2_inverter_HM_300 2022-08-24 20:23:48 I_DC1 0.060
setstate MQTT2_inverter_HM_300 2022-08-24 20:23:48 Irradiation 0.294
setstate MQTT2_inverter_HM_300 2022-08-24 20:23:48 P_AC 0.000
setstate MQTT2_inverter_HM_300 2022-08-24 20:23:48 P_ACr 0.000
setstate MQTT2_inverter_HM_300 2022-08-24 20:23:48 P_DC1 1.000
setstate MQTT2_inverter_HM_300 2022-08-24 20:23:48 U_AC 236.500
setstate MQTT2_inverter_HM_300 2022-08-24 20:23:47 U_DC 17.600
setstate MQTT2_inverter_HM_300 2022-08-24 20:23:48 YieldDay1 1494.000
setstate MQTT2_inverter_HM_300 2022-08-24 20:23:48 YieldTotal1 9.683
setstate MQTT2_inverter_HM_300 2022-08-24 19:06:29 associatedWith MQTT2_balcony
setstate MQTT2_inverter_HM_300 2022-08-24 19:06:12 attrTemplateVersion 20200816
setstate MQTT2_inverter_HM_300 2022-08-24 20:23:48 temperature 29.400



defmod MQTT2_balcony MQTT2_DEVICE balcony
attr MQTT2_balcony autocreate 1
attr MQTT2_balcony bridgeRegexp balcony/([^/]+)/ch[0-9]+/.*:.* "balcony_$1"
attr MQTT2_balcony icon mqtt_bridge_1
attr MQTT2_balcony model hoymiles_microinverter_hub_bridge
attr MQTT2_balcony readingList balcony/version:.* version\
  balcony/free_heap:.* free_heap\
  balcony/uptime:.* uptime\
  balcony/device:.* device\
balcony:inverter/uptime:.* uptime
attr MQTT2_balcony room MQTT2_DEVICE,balcony solar
attr MQTT2_balcony setStateList on off
attr MQTT2_balcony stateFormat last Reading [$name:uptime:t]\
<br>\
uptime [$name:uptime]

setstate MQTT2_balcony last Reading 2022-08-24 23:18:00\
<br>\
uptime 43967
setstate MQTT2_balcony 2022-08-24 22:54:15 attrTemplateVersion 20200812
setstate MQTT2_balcony 2022-08-24 23:18:00 uptime 43967


Der Rückkanal funktioniert bei mir noch nicht. ESP wird z.B. nicht rebooted oder die Leistung scheint nicht begrenzt zu werden. Das reboot-Kommando ist beim bridge-Device mittlerweile verschwunden.

Beta-User

Da passt wohl was noch nicht mit der Auswertung der Topics, das ESP-Device ist kaputt. Wird aber etwas dauern, bis ich mit das näher ansehen kann.
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

thymjan

Heute morgen habe ich den Rückkanal zum Inverter über das erzeugte Unterdevice ausprobiert. Das hat jetzt funktioniert. Ein-/ausschalten oder Leistung reduzieren.
Lediglich das Ur-Device überträgt nur die uptime, der reboot Befehl ist hier verschwunden.

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

thymjan

oh, dann habe ich das falsch aufgefasst.
Das heißt der Inverter macht einen reboot?
Wird dabei YieldDay zurückgesetzt?

Tobias

Zitat von: sprudelverduenner am 20 August 2022, 21:32:15
Gibt es denn irgendwo eine Anleitung wie ich von Github selber die Firmware kompilieren kann ??
Ich blick da nicht wirklich durch ...

Zumindest für den ESP8266 gibts das fertige Binary des aktuellen Releases auf der Releaseseite im Github ;)
Ganz nach unten Scrollen zu den Assets, das zipfile ist es ;)
https://github.com/grindylow/ahoy/releases
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

thymjan

Weis jemand, was es mit der ALARM_MES_ID auf sich hat?
Ist das ein Fehler-Zähler oder sind das Fehler Codes?

thymjan

Habe jetzt das ahoy update auf 0.5.15 gemacht.
Jetzt sieht das device schon besser aus:

defmod MQTT2_balcony MQTT2_DEVICE balcony
attr MQTT2_balcony IODev mqttBroker
attr MQTT2_balcony autocreate 1
attr MQTT2_balcony bridgeRegexp balcony/([^/]+)/ch[0-9]+/.*:.* "balcony_$1"
attr MQTT2_balcony icon mqtt_bridge_1
attr MQTT2_balcony model hoymiles_microinverter_hub_bridge
attr MQTT2_balcony readingList balcony/version:.* version\
  balcony/free_heap:.* free_heap\
  balcony/uptime:.* uptime\
  balcony/device:.* device\
balcony:inverter/uptime:.* uptime\
balcony:inverter/version:.* version\
balcony:inverter/device:.* device\
balcony:homeassistant/sensor/HM-300/ch1_U_DC/config:.* { json2nameValue($EVENT) }\
balcony:homeassistant/sensor/HM-300/ch1_I_DC/config:.* { json2nameValue($EVENT) }\
balcony:homeassistant/sensor/HM-300/ch1_P_DC/config:.* { json2nameValue($EVENT) }\
balcony:homeassistant/sensor/HM-300/ch1_YieldDay/config:.* { json2nameValue($EVENT) }\
balcony:homeassistant/sensor/HM-300/ch1_YieldTotal/config:.* { json2nameValue($EVENT) }\
balcony:homeassistant/sensor/HM-300/ch1_Irradiation/config:.* { json2nameValue($EVENT) }\
balcony:homeassistant/sensor/HM-300/ch0_U_AC/config:.* { json2nameValue($EVENT) }\
balcony:homeassistant/sensor/HM-300/ch0_I_AC/config:.* { json2nameValue($EVENT) }\
balcony:homeassistant/sensor/HM-300/ch0_P_AC/config:.* { json2nameValue($EVENT) }\
balcony:homeassistant/sensor/HM-300/ch0_P_ACr/config:.* { json2nameValue($EVENT) }\
balcony:homeassistant/sensor/HM-300/ch0_Freq/config:.* { json2nameValue($EVENT) }\
balcony:homeassistant/sensor/HM-300/ch0_Temp/config:.* { json2nameValue($EVENT) }\
balcony:homeassistant/sensor/HM-300/ch0_ALARM_MES_ID/config:.* { json2nameValue($EVENT) }\
balcony:homeassistant/sensor/HM-300/ch0_P_DC/config:.* { json2nameValue($EVENT) }\
balcony:homeassistant/sensor/HM-300/ch0_Efficiency/config:.* { json2nameValue($EVENT) }\
balcony:inverter/HM-300/ch0/FWVersion:.* FWVersion\
balcony:inverter/HM-300/ch0/FWBuildYear:.* FWBuildYear\
balcony:inverter/HM-300/ch0/FWBuildMonthDay:.* FWBuildMonthDay\
balcony:inverter/HM-300/ch0/HWPartId:.* HWPartId\
balcony:inverter/HM-300/ch0/PowerLimit:.* PowerLimit
attr MQTT2_balcony room MQTT2_DEVICE,balcony ESP,balcony solar
attr MQTT2_balcony setStateList on off
attr MQTT2_balcony stateFormat Version [$name:version]\
<br>\
PowerLimit [$name:PowerLimit] %\
<br>\
last Reading [$name:uptime:t]\
<br>\
uptime [$name:uptime]

setstate MQTT2_balcony Version 0.5.15\
<br>\
PowerLimit 100.000 %\
<br>\
last Reading 2022-08-25 18:25:05\
<br>\
uptime 19966
setstate MQTT2_balcony 2022-08-25 12:53:03 FWBuildMonthDay 1209.000
setstate MQTT2_balcony 2022-08-25 12:53:03 FWBuildYear 2021.000
setstate MQTT2_balcony 2022-08-25 12:53:03 FWVersion 10014.000
setstate MQTT2_balcony 2022-08-25 12:53:03 HWPartId 102.000
setstate MQTT2_balcony 2022-08-25 12:53:33 PowerLimit 100.000
setstate MQTT2_balcony 2022-08-25 07:47:41 attrTemplateVersion 20200812
setstate MQTT2_balcony 2022-08-25 12:52:34 dev_cla power
setstate MQTT2_balcony 2022-08-25 12:52:34 dev_cu http://XXX.XXX.XXX.XXX
setstate MQTT2_balcony 2022-08-25 12:52:34 dev_ids XXXXXXXXXXXX
setstate MQTT2_balcony 2022-08-25 12:52:34 dev_mdl HM-300
setstate MQTT2_balcony 2022-08-25 12:52:34 dev_mf Hoymiles
setstate MQTT2_balcony 2022-08-25 12:52:34 dev_name HM-300
setstate MQTT2_balcony 2022-08-25 12:52:24 device balcony
setstate MQTT2_balcony 2022-08-25 12:52:34 exp_aft 95
setstate MQTT2_balcony 2022-08-25 12:52:34 name HM-300 Efficiency
setstate MQTT2_balcony 2022-08-25 12:52:34 stat_cla measurement
setstate MQTT2_balcony 2022-08-25 12:52:34 stat_t inverter/HM-300/ch0/Efficiency
setstate MQTT2_balcony 2022-08-25 12:52:34 uniq_id XXXXXXXXXXXX_ch0_Efficiency
setstate MQTT2_balcony 2022-08-25 12:52:34 unit_of_meas %
setstate MQTT2_balcony 2022-08-25 18:25:05 uptime 19966
setstate MQTT2_balcony 2022-08-25 12:52:24 version 0.5.15

gent

Zitat von: thymjan am 25 August 2022, 12:14:21
Weis jemand, was es mit der ALARM_MES_ID auf sich hat?
Ist das ein Fehler-Zähler oder sind das Fehler Codes?

Laut microntroller Forum sind das Alarm Messages vom WR, z.B. wenn er nachts keinen DC bekommt

Nur ein Zähler, so wie ich es sehe.

LG Holger
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto