OpenDTU
An alternative open source software for communicating with Hoymiles solar inverters, which synchronises everything with the s-Miles cloud.
https://github.com/tbnobody/opendtu
Category: Renewable Energy
Sub Category: Photovoltaics and Solar Energy
Keywords
balkonkraftwerk esp32 hoymiles mqtt platformio solar solenso tsun
Keywords from Contributors
pv asyncwebserver cmt2300 nrf24 varta varta-storage opendtu ahoy solar-energy tft-display
Last synced: about 15 hours ago
JSON representation
Repository metadata
Software for ESP32 to talk to Hoymiles/TSUN/Solenso Inverters
- Host: GitHub
- URL: https://github.com/tbnobody/opendtu
- Owner: tbnobody
- License: gpl-2.0
- Created: 2022-06-24T11:26:42.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-12-29T14:48:09.000Z (9 days ago)
- Last Synced: 2025-12-30T05:24:48.687Z (9 days ago)
- Topics: balkonkraftwerk, esp32, hoymiles, mqtt, platformio, solar, solenso, tsun
- Language: C++
- Homepage:
- Size: 62.8 MB
- Stars: 2,077
- Watchers: 50
- Forks: 566
- Open Issues: 148
- Releases: 79
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: COPYING
README.md
OpenDTU
!! IMPORTANT UPGRADE NOTES !!
If you are upgrading from a version before 15.03.2023 you have to upgrade the partition table of the ESP32. Please follow the this documentation!
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.
Documentation
The documentation can be found here.
Please feel free to support and create a PR in this repository to make the documentation even better.
Breaking changes
Generated using: git log --date=short --pretty=format:"* %h%x09%ad%x09%s" | grep BREAKING
* 8cab3335 2025-08-07 BREAKING CHANGE: WebAPI endpoint `/api/limit/config` requires different parameters
* 8372deaf 2025-04-18 BREAKING CHANGE: Logging newline changed from "\r\n" to "\n"
* 1b637f08 2024-01-30 BREAKING CHANGE: Web API Endpoint /api/livedata/status and /api/prometheus/metrics
* e1564780 2024-01-30 BREAKING CHANGE: Web API Endpoint /api/livedata/status and /api/prometheus/metrics
* f0b5542c 2024-01-30 BREAKING CHANGE: Web API Endpoint /api/livedata/status and /api/prometheus/metrics
* c27ecc36 2024-01-29 BREAKING CHANGE: Web API Endpoint /api/livedata/status
* 71d1b3b 2023-11-07 BREAKING CHANGE: Home Assistant Auto Discovery to new naming scheme
* 04f62e0 2023-04-20 BREAKING CHANGE: Web API Endpoint /api/eventlog/status no nested serial object
* 59f43a8 2023-04-17 BREAKING CHANGE: Web API Endpoint /api/devinfo/status requires GET parameter inv=
* 318136d 2023-03-15 BREAKING CHANGE: Updated partition table: Make sure you have a configuration backup and completly reflash the device!
* 3b7aef6 2023-02-13 BREAKING CHANGE: Web API!
* d4c838a 2023-02-06 BREAKING CHANGE: Prometheus API!
* daf847e 2022-11-14 BREAKING CHANGE: Removed deprecated config parsing method
* 69b675b 2022-11-01 BREAKING CHANGE: Structure WebAPI /api/livedata/status changed
* 27ed4e3 2022-10-31 BREAKING: Change power factor from percent value to value between 0 and 1
Currently supported Inverters
A list of all currently supported inverters can be found here
Owner metadata
- Name:
- Login: tbnobody
- Email:
- Kind: user
- Description:
- Website:
- Location: Germany
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/1753222?u=90d970a618fd5f1020a7da8e71768be4d646e08a&v=4
- Repositories: 7
- Last ynced at: 2023-03-24T02:59:16.985Z
- Profile URL: https://github.com/tbnobody
GitHub Events
Total
- Create event: 172
- Commit comment event: 8
- Release event: 9
- Delete event: 208
- Pull request event: 363
- Fork event: 39
- Discussion event: 4
- Issues event: 225
- Watch event: 248
- Issue comment event: 1641
- Push event: 10
- Gollum event: 27
- Pull request review event: 7
- Pull request review comment event: 9
Last Year
- Create event: 125
- Commit comment event: 8
- Release event: 7
- Delete event: 158
- Pull request event: 252
- Fork event: 26
- Discussion event: 4
- Issues event: 168
- Watch event: 192
- Issue comment event: 1173
- Push event: 8
- Pull request review event: 1
- Pull request review comment event: 4
- Gollum event: 20
Committers metadata
Last synced: 2 days ago
Total Commits: 2,082
Total Committers: 72
Avg Commits per committer: 28.917
Development Distribution Score (DDS): 0.127
Commits in past year: 196
Committers in past year: 10
Avg Commits per committer in past year: 19.6
Development Distribution Score (DDS) in past year: 0.158
| Name | Commits | |
|---|---|---|
| Thomas Basler | t****s@f****t | 1818 |
| Bernhard Kirchen | s****n@p****t | 75 |
| Martin Dummer | m****r@g****t | 20 |
| LennartF22 | 1****2 | 18 |
| dependabot[bot] | 4****] | 13 |
| Axel Hinrichs | h****s@b****e | 12 |
| Stefan Oberhumer | s****n@o****m | 10 |
| Markus Krause | K****s@g****m | 10 |
| Nikolaj Kappler | i****o@n****e | 8 |
| Marc-Philip | m****6@g****e | 7 |
| fischaxe | a****l@m****e | 4 |
| 0lini | 7****i | 3 |
| Stefan Schultheis, OE1SCS | s****i | 3 |
| Timo Schindler | t****o@b****e | 3 |
| jstammi | j****i@g****t | 3 |
| vaterlangen | v****n@d****e | 3 |
| Tobias Diedrich | r****t@t****e | 3 |
| Michael Wilk | m****k@m****h | 3 |
| Luca Kröger | l****r@p****e | 3 |
| stefan123t | s****t | 2 |
| Stefan Kreutter | s****r@f****e | 2 |
| CommanderRedYT | c****d@g****m | 2 |
| Daedalus | 3****r | 2 |
| Moritz | 2****l | 2 |
| Peter Lieven | pl@d****e | 2 |
| Pierre Kancir | p****n@g****m | 2 |
| Sabouflage | s****e | 2 |
| helgeerbe | h****e@e****e | 2 |
| mbo18 | m****8 | 2 |
| Andreas Dieckmann | 5****t | 1 |
| and 42 more... | ||
Committer domains:
- gmx.net: 3
- gmx.de: 3
- erbehome.de: 1
- dlhnet.de: 1
- fit.fraunhofer.de: 1
- pexon-consulting.de: 1
- mrsoft.gmbh: 1
- tdiedrich.de: 1
- devshm.de: 1
- bluit.de: 1
- mnet-online.de: 1
- nkappler.de: 1
- gmx.com: 1
- obssys.com: 1
- bitscape.de: 1
- posteo.net: 1
- mailbox.org: 1
- lerch-familie.de: 1
- spam.dobel.click: 1
- stangl.st: 1
- i-matrixx.de: 1
- moesch.org: 1
- nikwest.de: 1
- outlook.de: 1
- roth-itk.de: 1
- jlsnet.info: 1
- diefreunds.de: 1
- codechaos.org: 1
- fobg.de: 1
- ssssss.com: 1
- dumont.de: 1
- boehm.cx: 1
- familie-basler.net: 1
Issue and Pull Request metadata
Last synced: 4 days ago
Total issues: 456
Total pull requests: 790
Average time to close issues: 3 months
Average time to close pull requests: 23 days
Total issue authors: 346
Total pull request authors: 79
Average comments per issue: 6.73
Average comments per pull request: 1.73
Merged pull request: 71
Bot issues: 5
Bot pull requests: 583
Past year issues: 81
Past year pull requests: 319
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 3 days
Past year issue authors: 74
Past year pull request authors: 16
Past year average comments per issue: 4.36
Past year average comments per pull request: 1.36
Past year merged pull request: 7
Past year bot issues: 1
Past year bot pull requests: 292
Top Issue Authors
- Elektron79 (6)
- broth-itk (6)
- schlimmchen (6)
- grasmax (6)
- Juergen2453 (5)
- itn3rd77 (5)
- Fokker-1 (5)
- dependabot[bot] (5)
- AloisKlingler (5)
- andreas-bulling (4)
- svalcken (4)
- Gitsarry (4)
- hubsi5 (4)
- DejanBukovec (4)
- hismastersvoice (3)
Top Pull Request Authors
- dependabot[bot] (583)
- schlimmchen (30)
- LennartF22 (11)
- ahinrichs (10)
- stefan123t (7)
- ranma (7)
- HacksBugsAndRockAndRoll (6)
- StefanOberhumer (5)
- madmartin (5)
- CommanderRedYT (5)
- mpw96 (4)
- foroae (4)
- marvincarstensen (4)
- kindyy (4)
- crashcoq (4)
Top Issue Labels
- bug (259)
- enhancement (136)
- stale (39)
- dependencies (5)
- javascript (5)
- contribution needed (1)
Top Pull Request Labels
- dependencies (583)
- javascript (566)
- github_actions (17)
- bug (3)
- enhancement (2)
Dependencies
- actions/cache v3 composite
- actions/checkout v4 composite
- actions/download-artifact v3 composite
- actions/setup-node v4 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- mikepenz/release-changelog-builder-action v3 composite
- softprops/action-gh-release v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- @intlify/unplugin-vue-i18n ^1.5.0 development
- @rushstack/eslint-patch ^1.5.1 development
- @tsconfig/node18 ^18.2.2 development
- @types/bootstrap ^5.2.9 development
- @types/node ^20.9.0 development
- @types/sortablejs ^1.15.5 development
- @types/spark-md5 ^3.0.4 development
- @vitejs/plugin-vue ^4.4.1 development
- @vue/eslint-config-typescript ^12.0.0 development
- @vue/tsconfig ^0.4.0 development
- eslint ^8.53.0 development
- eslint-plugin-vue ^9.18.1 development
- npm-run-all ^4.1.5 development
- sass ^1.69.5 development
- terser ^5.24.0 development
- typescript ^5.2.2 development
- vite ^4.5.0 development
- vite-plugin-compression ^0.5.1 development
- vite-plugin-css-injected-by-js ^3.3.0 development
- vue-tsc ^1.8.22 development
- @popperjs/core ^2.11.8
- bootstrap ^5.3.2
- bootstrap-icons-vue ^1.11.1
- mitt ^3.0.1
- sortablejs ^1.15.0
- spark-md5 ^3.0.2
- vue ^3.3.8
- vue-i18n ^9.6.5
- vue-router ^4.2.5
- 372 dependencies
- actions/stale v9 composite
- dessant/lock-threads v5 composite
- actions/checkout v5 composite
- actions/setup-node v4 composite
Score: 11.984178313616397