Skip to content

Commit

Permalink
Merge branch 'development03'
Browse files Browse the repository at this point in the history
  • Loading branch information
lumapu committed Mar 27, 2023
2 parents 68d3c28 + bb5cb8b commit 9c7d7a0
Show file tree
Hide file tree
Showing 73 changed files with 6,267 additions and 3,228 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/compile_development.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
run: python convert.py

- name: Run PlatformIO
run: pio run -d src --environment esp8266-release --environment esp8285-release --environment esp8266-nokia5110 --environment esp8266-ssd1306 --environment esp32-wroom32-release --environment esp32-wroom32-nokia5110 --environment esp32-wroom32-ssd1306
run: pio run -d src --environment esp8266-release --environment esp8266-release-prometheus --environment esp8285-release --environment esp32-wroom32-release --environment esp32-wroom32-release-prometheus --environment opendtufusionv1-release

- name: Rename Binary files
id: rename-binary-files
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/compile_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
run: python convert.py

- name: Run PlatformIO
run: pio run -d src --environment esp8266-release --environment esp8285-release --environment esp8266-nokia5110 --environment esp8266-ssd1306 --environment esp32-wroom32-release --environment esp32-wroom32-nokia5110 --environment esp32-wroom32-ssd1306
run: pio run -d src --environment esp8266-release --environment esp8266-release-prometheus --environment esp8285-release --environment esp32-wroom32-release --environment esp32-wroom32-release-prometheus --environment opendtufusionv1-release

- name: Rename Binary files
id: rename-binary-files
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@
.vscode/extensions.json
src/config/config_override.h
src/web/html/h/*
src/web/html/tmp/*
/**/Debug
/**/v16/*
*.db
*.suo
*.ipch
src/output.map
108 changes: 69 additions & 39 deletions Getting_Started.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
## Overview

This page describes how the module of a Wemos D1 mini and ESP8266 is wired to the radio module and is flashed with the latest Firmware.<br/>
Further information will help you to communicate to the compatible inverters.

You find the full [User_Manual here](User_Manual.md)

## Compatiblity

For now the following Inverters should work out of the box:

Hoymiles Inverters

| Status | Serie | Model | comment |
| ----- | ----- | ------ | ------- |
| ✔️ | MI | 300, 600, 1000/1200/⚠️ 1500 | 4-Channel is not tested yet |
| ✔️ | HM | 300, 350, 400, 600, 700, 800, 1000?, 1200, 1500 | |
| ⚠️ | TSUN | [TSOL-M350](https://www.tsun-ess.com/Micro-Inverter/M350-M400), [TSOL-M400](https://www.tsun-ess.com/Micro-Inverter/M350-M400), [TSOL-M800/TSOL-M800(DE)](https://www.tsun-ess.com/Micro-Inverter/M800) | others may work as well (need to be verified). |

## Table of Contents

- [Table of Contents](#table-of-contents)
Expand All @@ -6,9 +25,12 @@
- [Things needed](#things-needed)
- [There are fake NRF24L01+ Modules out there](#there-are-fake-nrf24l01-modules-out-there)
- [Wiring things up](#wiring-things-up)
- [ESP8266 wiring example](#esp8266-wiring-example)
- [ESP8266 wiring example on WEMOS D1](#esp8266-wiring-example)
- [Schematic](#schematic)
- [Symbolic view](#symbolic-view)
- [ESP8266 wiring example on 30pin Lolin NodeMCU v3](#esp8266-wiring-example-2)
- [Schematic](#schematic-2)
- [Symbolic view](#symbolic-view-2)
- [ESP32 wiring example](#esp32-wiring-example)
- [Schematic](#schematic-1)
- [Symbolic view](#symbolic-view-1)
Expand All @@ -23,40 +45,13 @@
- [HTTP based Pages](#http-based-pages)
- [MQTT command to set the DTU without webinterface](#mqtt-command-to-set-the-dtu-without-webinterface)
- [Used Libraries](#used-libraries)
- [Contact](#contact)
- [ToDo](#todo)

***

## Overview

This page describes how the module of a Wemos D1 mini and ESP8266 is wired to the radio module and is flashed with the latest Firmware.<br/>
Further information will help you to communicate to the compatible inverters.

You find the full [User_Manual here](User_Manual.md)

## Compatiblity
Solenso Inverters:

For now the following Inverters should work out of the box:

Hoymiles Inverters

- HM300
- HM350
- HM400
- HM600
- HM700
- HM800
- HM1000?
- HM1200
- HM1500

TSUN Inverters:

- [TSOL-M350](https://www.tsun-ess.com/Micro-Inverter/M350-M400)
- [TSOL-M400](https://www.tsun-ess.com/Micro-Inverter/M350-M400)
- [TSOL-M800/TSOL-M800(DE)](https://www.tsun-ess.com/Micro-Inverter/M800)
- others may work as well (need to be verified).
- SOL-H350

## Things needed

Expand All @@ -69,8 +64,9 @@ Make sure the NRF24L01+ module has the "+" in its name as we depend on the 250kb

| **Parts** | **Price** |
| --- | --- |
| D1 ESP8266 Mini WLAN Board Mikrokontroller | 4,40 Euro |
| D1 ESP8266 Mini WLAN Board Microcontroller | 4,40 Euro |
| NRF24L01+ SMD Modul 2,4 GHz Wi-Fi Funkmodul | 3,45 Euro |
| 100µF / 10V Capacitor Kondensator | 0,15 Euro |
| Jumper Wire Steckbrücken Steckbrett weiblich-weiblich | 2,49 Euro |
| **Total costs** | **10,34 Euro** |

Expand All @@ -80,6 +76,7 @@ To also run our sister project OpenDTU and be upwards compatible for the future
| --- | --- |
| ESP32 Dev Board NodeMCU WROOM32 WiFi | 7,90 Euro |
| NRF24L01+ PA LNA SMA mit Antenne Long | 4,50 Euro |
| 100µF / 10V Capacitor Kondensator | 0,15 Euro |
| Jumper Wire Steckbrücken Steckbrett weiblich-weiblich | 2,49 Euro |
| **Total costs** | **14,89 Euro** |

Expand All @@ -89,6 +86,18 @@ Watch out, there are some fake NRF24L01+ Modules out there that seem to use rebr
An example can be found in [Issue #230](https://github.com/lumapu/ahoy/issues/230).<br/>
You are welcome to add more examples of faked chips. We will add that information here.<br/>

Some users reported better connection or longer range through more walls when using the
"E01-ML01DP5" EBYTE 2,4 GHz Wireless Modul nRF24L01 + PA + LNA RF Modul, SMA-K Antenna connector,
which has an eye-catching HF cover. But beware: It comes without the antenna!

In any case you should stabilize the Vcc power by a capacitor and don't exceed the Amplifier Power Level "LOW".
Users reporting good connection over 10m through walls / ceilings with Amplifier Power Level "MIN".
It is not always the bigger the better...

Power levels "HIGH" and "MAX" are meant to wirings where the nRF24 is supplied by an extra 3.3 Volt regulator.
The bultin regulator on ESP boards has only low reserves in case WiFi and nRF are sending simultaneously.
If you operate additional interfaces like a display, the reserve is again reduced.

## Wiring things up

The NRF24L01+ radio module is connected to the standard SPI pins:
Expand All @@ -107,7 +116,7 @@ Additional, there are 3 pins, which can be set individual:

*These pins can be changed from the /setup URL.*

#### ESP8266 wiring example
#### ESP8266 wiring example on WEMOS D1

This is an example wiring using a Wemos D1 mini.<br>

Expand All @@ -119,6 +128,18 @@ This is an example wiring using a Wemos D1 mini.<br>

![Symbolic](doc/AhoyWemos_Steckplatine.jpg)

#### ESP8266 wiring example on 30pin Lolin NodeMCU v3

This is an example wiring using a NodeMCU V3.<br>

##### Schematic

![Schematic](doc/ESP8266_nRF24L01+_Schaltplan.jpg)

##### Symbolic view

![Symbolic](doc/ESP8266_nRF24L01+_bb.png)

#### ESP32 wiring example

Example wiring for a 38pin ESP32 module
Expand All @@ -141,12 +162,27 @@ CE D2 (GPIO4)
IRQ D0 (GPIO16 - no IRQ!)
```

ATTENTION: From development version 108 onwards, also MISO, MOSI and SCLK
are configurable. Their defaults are correct for 'standard' ESP32 boards
and non-settable for ESP8266 (as this chip cannot move them elsewhere).
If you have an existing install though, you might see '0' in the web GUI.

Set MISO=19, MOSI=23, SCLK=18 in GUI and save for existing installs, this is the old
correct default for most ESP32 boards, for ESP82xx, a simple settings save should suffice.
Reboot afterwards.


## Flash the Firmware on your Ahoy DTU Hardware

Once your Hardware is ready to run, you need to flash the Ahoy DTU Firmware to your Board.
You can either build your own using your own configuration or use one of our pre-compiled generic builds.

#### Compiling your own Version
### Flash from your browser (easy)

The easiest step for you is to flash online. A browser MS Edge or Google Chrome is required.
[Here you go](https://ahoydtu.de/web_install/)

### Compiling your own Version

This information suits you if you want to configure and build your own firmware.

Expand Down Expand Up @@ -255,12 +291,6 @@ When everything is wired up and the firmware is flashed, it is time to connect t
| `ArduinoJson` | 6.19.4 | MIT |
| `ESP Async WebServer` | 4.3.0 | ? |

## Contact

We run a Discord Server that can be used to get in touch with the Developers and Users.

<https://discord.gg/WzhxEY62mB>

## ToDo

[See this post](https://github.com/lumapu/ahoy/issues/142)
24 changes: 14 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,27 @@ This work is licensed under a

**Communicate with Hoymiles inverters via radio**. Get actual values like power, current, daily energy and set parameters like the power limit via web interface or MQTT. In this repository you will find different approaches means Hardware / Software to realize the described functionalities.

List of approaches
Table of approaches:

- [ESP8266/ESP32, C++](Getting_Started.md) 👈 the most effort is spent here
- [Arduino Nano, C++](tools/nano/NRF24_SendRcv/)
- [Raspberry Pi, Python](tools/rpi/)
- [Others, C/C++](tools/nano/NRF24_SendRcv/)
| Board | MI | HM | HMS/HMT | comment | HowTo start |
| ------ | -- | -- | ------- | ------- | ---------- |
| [ESP8266/ESP32, C++](Getting_Started.md) | ✔️ | ✔️ | coming soon✨ | 👈 the most effort is spent here | [create your own DTU](https://ahoydtu.de/getting_started/) |
| [Arduino Nano, C++](tools/nano/NRF24_SendRcv/) || ✔️ || |
| [Raspberry Pi, Python](tools/rpi/) || ✔️ || |
| [Others, C/C++](tools/nano/NRF24_SendRcv/) || ✔️ || |

## Quick Start with ESP8266
- [Go here ✨](Getting_Started.md#things-needed)
- [Our Website](https://ahoydtu.de)
## Getting Started
[Guide how to start with a ESP module](Getting_Started.md)
[ESP Webinstaller (Edge / Chrome Browser only)](https://ahoydtu.de/web_install)

## Our Website
[https://ahoydtu.de](https://ahoydtu.de)

## Success Stories
- [Getting the data into influxDB and visualize them in a Grafana Dashboard](https://grafana.com/grafana/dashboards/16850-pv-power-ahoy/) (thx @Carl)

## Support, Feedback, Information and Discussion
- [Discord Server (~ 1200 Users)](https://discord.gg/WzhxEY62mB)
- [Discord Server (~ 3.800 Users)](https://discord.gg/WzhxEY62mB)
- [The root of development](https://www.mikrocontroller.net/topic/525778)

### Development
Expand All @@ -48,4 +52,4 @@ Please try to describe your issues as precise as possible and think about if thi
- [OpenDTU](https://github.com/tbnobody/OpenDTU)
<- Our sister project ✨ for Hoymiles HM-300, HM-600, HM-1200 (for ESP32 only!)
- [DTU Simulator](https://github.com/Ziyatoe/DTUsimMI1x00-Hoymiles)
<- Go here ✨ for Hoymiles MI-300, MI-600, MI-1200 Software
<- Go here ✨ for Hoymiles MI-300, MI-600, MI-1200 Software (single inverter only)
Loading

0 comments on commit 9c7d7a0

Please sign in to comment.