Skip to content

Introduction

Logo

OpenDTU-OnBattery

Upstream Project

OpenDTU-OnBattery is a fork of OpenDTU by Thomas Basler (tbnobody).

Upstream Documentation

This documentation is not yet completely adjusted to OpenDTU-OnBattery. Feel free to help improving the documentation by proposing changes through pull requests.

Open Source software to talk to Hoymiles solar inverters and battery peripherals. It is an alternative to Hoymiles Data Transfer Units (DTUs), which sync data into the s-Miles cloud.

Note

You can only use one DTU for a specific inverter. You cannot query an inverter with two DTUs. Mixing up multiple DTUs may lead to unexpected behavior!

Key Features

  • Dynamic Power Limiter to adjust inverter limits dynamically
  • Power Meter interface to read the household power consumption
  • Victron VE.Direct interface to communicate with Victron charge controllers
  • Battery interface (JK BMS, Pylontech, Victron SmartShunt, and more) to know a battery's state
  • AC charger interface to control a Huawei AC charger

Key Features inherited from the upstream project

  • Read live data from inverter
  • Show inverter's internal event log
  • Show inverter information like firmware version, firmware build date, hardware revision and hardware version
  • Show and set the current inverter limit
  • Show the current grid profile settings
  • Function to turn the inverter off and on
  • Supports up to 10 inverters
  • MQTT support (with TLS)
  • Home Assistant MQTT Auto Discovery support
  • Nice and fancy WebApp with visualization of current data
  • Firmware upgrade using the web UI1
  • Time zone support
  • Ethernet support
  • Prometheus API endpoint (/api/prometheus/metrics)
  • English, German and French (partially translated) web interface (additional languages can be installed by uploading a language pack)
  • Support for displays (SSD1306, SH1106, PCD8544)
  • Support for status LEDs
  • Configuration management (export / import configurations)
  • Dark Theme

Features for developers

Background

The upstream project was started from a discussion on mikrocontroller.net. It's goal was to replace the original Hoymiles DTU (Telemetry Gateway), which uploads data to their cloud. With a lot of reverse engineering, the Hoymiles protocol was decrypted and analyzed.

Support

For support using OpenDTU-OnBattery you can find us on Github or Discord:

Github Discussions Discord Chat

The firmware is open-source and free to use!

If you like this project you can show your appreciation by making a small donation. This will help with offsetting the cost of hardware bought to develop and test features, or offsetting recurring costs like domain registrations.

Donate


  1. Firmware over-the-air (OTA) updates are not supported on ESP32 with only 4MB of flash memory.