ESPhome configuration for monitoring and control of Deye inverters in Home Assistant. This include all addresses i could see relevant from the inverter.
Made specially for Deye 3phase low voltage inverters
- SUN-12K-SG04LP3(confirmed)
- SUN-8K-SG04LP3
- SUN-6K-SG04LP3
- SUN-5K-SG04LP3
Sunsync & other 1phase inverters as they use different addresses and have different modbus port. Those inverters are not allowed in Denmark where i live because of a rule of maximum 16A for 1phase equitment. I can only refer to this powerforum thread. https://powerforum.co.za/topic/8646-my-sunsynk-8kw-data-collection-setup/
- ESP32 / ESP32S3
- TTL To RS485 Module with automatic flow control
- Create your esp32 in esphome in home assistant
- Upload the your basis config via. usb from pc.
- Test wireless upload
- Copy all content (make sure you have your wifi ssid&password in the secrets)
- Edit the sensors in the config if you like
- Upload wireless
Set your Device List in devices.sh
.
Copy secrets.sh.example
to secrets.sh
:
cp secrets.sh.example secrets.sh
Set your Secrets for WiFi, MQTT, OTA, Web_Server, etc.
The whole process is automated.
This has been tested on Ubuntu GNU/Linux but it should also work on Debian GNU/Linux and similar Distributions.
Otherwise you'll need to adapt the apt
command and the package to install python3.11-venv
to provide the venv
python module.
It might already be installed in your system "by default" with the "standard" Python Distribution.
Run:
./build.sh
The build.sh
script takes care of the original installation of ESPHome within a Python venv.
The instructions for upgrading ESPHome are also outlined in build.sh
, but the command is DISABLED by default, in order to prevent automatic Upgrades in case of e.g. Bugs / Incompatibilities / Regressions / etc.
Either uncomment the line in build.sh
to force an upgrade (and re-comment it afterwards to prevent further automatic upgrades), or run (in the case of BASH shell):
# Active Python venv
source ~/ESPHome/venv/bin/activate
# Upgrade ESPHome
# Force upgrade to latest version
pip install --upgrade esphome
RX / TX between esp and ttl converter way have to be swapped. This seems to be a little different from espboard to espboard. Check Termination: check that 120 Ohm are between B+ and B- (short wire); for long wire use 120 Ohms on both sides. If it dosent communicate(RX/TX led both blinking) Try swap rx/tx on the esp.
I powered the esp32 from CN2 pin 7&8 with 12V into a USB converter. (BE AWARE THAT IF YOU POWER OFF THE INVERTER REMOTELY, YOU CANT POWER IT UP AGAIN REMOTELY AS THE POWER TO THE ESP IS GONE)
For the card i use for the time of use settings like the inverters interface. Use the add-on "multiple entity row" from HACS and inspiration from my configuration of it below.