lumapu / ahoy

Various tools, examples, and documentation for communicating with Hoymiles microinverters
https://ahoydtu.de
Other
953 stars 224 forks source link

IP-Adresse wird nicht Aktualisiert #602

Closed Juergen2453 closed 1 year ago

Juergen2453 commented 1 year ago

Platform

ESP8266

Model name

No response

nRF24L01+ Module

nRF24L01+ plus

Antenna

circuit board

Power Stabilization

~100uF Elko

Connection diagram

Connection diagram I used:

nRF24L01+ Pin ESP8266 GPIO
Pin 1 GND [*] GND
Pin 2 +3.3V +3.3V
Pin 3 CE GPIO2 CE D4
Pin 4 CSN GPIO15 CS D8
Pin 5 SCK GPIO14 SCLK D5
Pin 6 MOSI GPIO13 MOSI D7
Pin 7 MISO GPIO12 MISO D6
Pin 8 IRQ GPIO0 IRQ D3

Note: [*] GND Pin 1 has a square mark on the nRF24L01+ module

Connection picture

Version

0.5.73

Github Hash

3d3e3dc

Build & Flash Method

ESP Tools (flash)

Desktop

Windows

Setup

Device Host Name

- Device Name: AHOY-DTU

WiFi

- SSID: YOUR_WIFI_SSID *don't paste here*
- Password: YOUR_WIFI_PWD *don't paste here*

Inverter

Inverter 0

- Address: 1141752123456
- Name: HM-600
- Active Power Limit: 65535
- Active Power Limit Control Type: no powerlimit
- Max Module Power (Wp): 375, 375
- Module Name: link, rech

General

- Interval [s]: 30
- Max retries per Payload: 5

NTP Server

- NTP Server / IP: pool.ntp.org
- NTP Port: 123

MQTT

- Broker / Server IP: 
- Port: 1883
- Username (optional): 
- Password (optional): 
- Topic: inverter

System Config

Pinout (Wemos)

- CS: D8 (GPIO15)
- CE: D4 (GPIO2)
- IRQ: D3 (GPIO0)

Radio (NRF24L01+)

- Amplifier Power Level: LOW

Serial Console

- print inverter data: [x]
- Serial Debug: [x]
- Interval [s]: 5

Debug Serial Log output

No response

Error description

Die IP-Adresse wird beim Starten der DTU an den MQTT-Server übertragen. Wenn das WLAN unterbrochen wird und der DHCP-Server nach Wiederaufbau des WLANs eine andere IP-Adresse der DTU vergibt so wird die nicht an den MQTT-Server übertragen. Somit gibt es zwei IP für das selbe Gerät. Lösung: Wenn die WLAN-Verbindung neu aufgebaut wird, die IP-Adresse an den MQTT-Server übermitteln.

beegee3 commented 1 year ago

Hinweis: die IP-Adresse wird in pubMqtt.h onConnect in if(mExeOnce) {...} zusammen mit 'version' und 'device' übertragen. Man könnte auf mExeOnce ganz verzichten (wird nur an dieser Stelle benutzt) und alle drei Infos beim Reconnect immer übertragen. Oder spricht etwas dagegen, weil sie 'retained' sind?

Juergen2453 commented 1 year ago

Genau beim Reconnect immer übertragen. Retained kann ja bleiben

lumapu commented 1 year ago

@beegee3 @Juergen2453 werde ich in der nächsten Version implementieren