Go to file
2022-06-30 19:34:22 +02:00
.vscode Initial commit 2022-04-09 11:05:14 +02:00
docs Added additional documentation 2022-06-22 23:10:17 +02:00
include Adjust config 2022-06-22 21:00:44 +02:00
lib Replace magic numbers by some constants 2022-06-30 18:58:55 +02:00
src Enhance inverter edit 2022-06-24 23:08:04 +02:00
test Initial commit 2022-04-09 11:05:14 +02:00
webapp Fix websocket proto 2022-06-30 11:54:20 +02:00
webapp_dist Added update app.js.gz 2022-06-30 18:38:40 +02:00
.gitignore Added log files to .gitignore 2022-04-18 15:19:46 +02:00
auto_firmware_version.py Show current git hash in web gui 2022-06-20 20:56:50 +02:00
LICENSE Added license file 2022-06-16 10:40:15 +02:00
partitions_custom.csv Resize partitions 2022-06-15 22:07:39 +02:00
platformio.ini Rename data folder to webapp_dist 2022-06-22 23:16:45 +02:00
README.md Add hint to clone firmware instead of downloading ZIP file 2022-06-30 19:34:22 +02:00

OpenDTU

Background

This project was started from this discussion (Mikrocontroller.net). It was the goal to replace the original Hoymiles DTU (Telemetry Gateway) with their cloud access. With a lot of reverse engineering the Hoymiles protocol was decrypted and analyzed.

Features for end users

  • Uses ESP32 microcontroller and NRF24L01+
  • Multi-Inverter support
  • MQTT support
  • Nice and fancy WebApp with visualization of current data
  • Firmware upgrade using the web UI
  • Default source supports up to 10 inverters
  • Time zone support

Features for developers

Wiring up

Schematic

Schematic

Symbolic view

Symbolic

Flashing and starting up

  • Install Visual Studio Code
  • In Visual Studio Code, install the PlatformIO Extension
  • Clone this repository (you really have to clone it, don't just download the ZIP file. During the build process the git hash gets embedded into the firmware. If you download the ZIP file a build error will occur)
  • In Visual Studio Code, choose File --> Open Folder and select the previously downloaded source code. (You have to select the folder which contains the "platformio.ini" file)
  • Adjust the COM port in the file "platformio.ini". It occurs twice:
    • upload_port
    • monitor_port
  • Select the arrow button in the status bar (PlatformIO: Upload) to compile and upload the firmware. During the compilation, all required libraries are downloaded automatically.

First configuration

  • After the initial flashing of the microcontroller, a Access Point called "OpenDTU-*" is opened. The default password is "openDTU42".
  • Use a web browser to open the address http://192.168.4.1
  • Navigate to Settings --> Network Settings and enter your WiFi credentials
  • Currently you have to look at your router to determine the IP of the newly connected device

Building

  • Building the WebApp

    • The WebApp can be build using yarn
    $ yarn install
    $ yarn build
    
    • The updated output is placed in the 'webapp_dist' directory
  • Building the microcontroller firmware

    • Visual Studio Code with the PlatformIO Extension is required for building