Awesome
DTU simulator for Hoymiles MI-Series Microinverter over RF (NRF24), on ESP8266 & nRF24L01+
LICENSE : https://creativecommons.org/licenses/by-nc-sa/3.0/de/
Supports only ONE inverter!
Supported inverters, with serial number begin:
- 0x1020xxxxxx,0x1021xxxxxx
- 0x1040xxxxxx,0x1041xxxxxx
- 0x1060xxxxxx,0x1061xxxxxx
Hoymiles HM inverters are supported in this project: https://github.com/lumapu/ahoy/
This software is a QUICK&DIRTY SW for debugging/controlling the Hoymiles inverters over RF, tested with:
- MI1500, 3 and 4 PV's.
- MI600
- MI300
- TSUN800 (as MI600), 2 PV's
- should work with MI1200 also
Radio, CRC, part of Web based on the orig. SW from Hubi's earlier stage from this (https://github.com/hm-soft/Hoymiles-DTU-Simulation).
Project initiated here: https://www.mikrocontroller.net/topic/525778
Do not expect any quality from this SW!!!
Issues can be reported on https://www.mikrocontroller.net/topic/525778, but do not expect any answer immediately!!!
As far as you know what you are doing, you can use this SW.
READ THE LINES BELOW BEFORE REQUEST A SUPPORT:
- you need ArduinoIDE for this skecth! tested with arduino-ide 2.0.0-rc6 und 1.8.19
- you have to configure your Arduino-IDE for ESP8266
- you need to install nrf24 library, tested with RF24 lib Version:1.4.5
- you need to install also ESP8266WiFi 1.0 ,ESP8266WebServer 1.0, ArduinoMqttClient 0.1.5 libs
- keep all source files in same folder
- configure secrets.h, with this config it should run
- if needed, configure settings.h
Runs on ESP8266: wifi, mqtt, shows all data on serial monitor and on web site
Wiring ESP8266 & nRF24L01+
https://github.com/lumapu/ahoy/blob/main/Getting_Started.md#things-needed
For zeroexport, it needs a sep. mqtt connection with a topic "ImpExpW" to a Chint-DTSU, see mqtt.h . I had to choose the topics so, because of an earlier implementation on RS485 modbus DTUPro<>DTSU666 in my house. You can change it as you like! If you change the topics, be sure change the PV numbers everywhere!
Define mostly everything in settings.h and secrets.h
- Runs also as NRF24-Sniffer (adr 0x00aa, 0x0055, listen everything) if defined.
- Output on HTTP and serial monitor, if defined
- Controlling over several serial commands
- sends all data to a mqtt broker, if defined
Please SEE the issues !!!
NO COMMERCIAL USE !!
VERSION "V0.1.5"
- using secrets.h for SSID,PW etc.
- stay on same RxCH until no Rx OR gets a rxtimeout
- fine tuning on zeroexport
- update timer for checkPV,zeroexport, webservice, mqtt
- Tx only if its daytime (only with Wifi, otherways always Tx)
- new mqtt id
- still issues with Rx-irq, no issues with Rx-polling
VERSION "V0.1.6"
- fixed limiting the wr over WR_LIMITTED in settings.h
- more data moved to settings.h
- several enhancements
VERSION "V0.1.7"
- new file "Globals.h"
- automatic recognition the inverter (MI) model,power and ports
- several changes for stability
- zeroexport with % of reated power OR absolute power
VERSION "V0.1.9"
- no irq issues anymore
- significant modifications
- a lot of enhancements
- more serial commands for inverter, type 1 help on console
- mqtt reconnect
- JSON string to mqtt
VERSİON "V0.1.9.1"
- changed max. power of one MI.port