Giter Site home page Giter Site logo

ohand / dtugateway Goto Github PK

View Code? Open in Web Editor NEW
22.0 2.0 6.0 2.37 MB

arduino gateway for Hoymiles HMS-800W-2T and similar as stable connection to the dtu for applications in smarthome or IFTT environments

License: Apache License 2.0

C 35.56% CMake 0.02% C++ 62.86% Python 1.56%
arduino embedded hoymiles protobuf

dtugateway's Introduction

dtu Gateway for Hoymiles HMS-800W-2T (2T series)

Contents

problem

The new series of Hoymiles inverter with internal wireless access point and wireless client have no direct API to include this endpoint in smarthome installations/ IFTT environments.

Usually there should be no need for an extra device to "translate" the connection to common APIs or bindings. Unfortunately the interface on the dtu is unlikely unstable/ or not really stable.

E.g. there is a treshhold of ~ 31 seconds before you can send new data to the dtu (e.g. new power limit), otherwise the connection hangs and an internal restart/ reboot (???) leads to an offline time of ~ 30 minutes. Data from dtu can be read in a very short time, but it has to be tested how often a request leads to the problem before.

On a manual way you can be back on track, if you are logging in to the local access point of the dtu and resend your local wifi login data to (it seems) initiate a reboot. With this way you can be back online in ~ 1:30 minutes.

So I decided to put this abstraction in an ESP8266 to have a stable abstraction to an existing smart home environment.

hint: the whole project could be also implemented on a small server and translated to e.g. python see here for an example and also the sources below

goal

  1. Abstract the interface to the dtu (inverter connection endpoint) with different possibilities to connect to other systems. (push/ pull)
  2. Very stable interface with no dependencies to an environment/ a system with a stand alone application based on an arduino board (ESP8266).
  3. TODO: Ability to change running wifi to connect to dtu over local network or direct access point.
  4. Use this need to create a full enivronment for an ESP8266 based project. (see features below)

features

regarding dtu

dtu connection

  • base connection to retrieve data from inverter e.g.
    • power (Watts), voltage (V), current (A) for the PV input data (PV0,PV1) and the grid
    • energy counter (kWh) for all 3 sources (day and total)
    • temperature and wifi rssi of the dtu
  • setting the target inverter power limit dynamically
  • for testing purposes the time between each request is adjustable (default 31 seconds)
  • syncing time of gateway with the local time of the dtu to prevent wrong restart counters
  • configurable 'cloud pause' - see experiences - to prevent missing updates by the dtu to the hoymiles cloud
  • automatic reboot of DTU, if there is an error detected (e.g. inplausible not changed values)

connections to the environment

  • serving the readed data per /api/data
  • configuration of bindings with seperate activation and login data setting
  • binding: updating openHab instance with readed data and pulling set data from the instance
  • binding: updating to a MQTT broker with readed data incl. set PowerLimit over MQTT
    • 2 ways to configure - simple mqtt publishing with base topic or together with HA MQTT AutoDiscovery based
    • for all publishing retain flag is set (keeping last seen data in broker)

display support

  • selectable (and storable) over advanced web config1 or per serial com and at directly at start up coming from factory mode ( see first-setup-with-access-point )

    selectDisplay 0 = OLED (default)

    selectDisplay 1 = round TFT

  • display SSH1106 OLED 1,3" 128x64 (other sizes with same driver (SSH1106) and resolution should also directly work)

    drawdtuGateay_OLED_firstStarting dtuGateay_OLED
    • segmented in 3 parts
      • header:
        • left: wifi quality dtuGateway to local wifi
        • mid: current time of dtuGateway
        • right: wifi quality of dtu connection to local wifi
      • main:
        • small left: current power limit of inverter
        • big mid/ right: current power of inverter
      • footer:
        • left: current daily yield
        • right: current total yield
    • additonal features
      • small screensaver to prevent burn-in effect with steady components on the screen (shifting the whole screen every minute with 1 pixel in a 4 step rotation)
      • smooth brightness control for changed main value - increase to max after change and then dimmming smooth back to the default level
  • display GAGC9A01 round TFT 1,28" 240x240

    roundTFT_firstSTart roundTFT
    • setup screen for first start (factory mode)
    • status screen with the (current) most important data

regarding base framework

  • serving own access point in factory mode for first setup
  • web application will be directly served by the system
  • settings of needed user data over the web app (stored in a json-file in local flash file system - extensions of user setup will not lead to breakable changes)
    • select found local wifi and enter/ save the needed wifi password
    • change dtu connection data (e.g. host IP in local network, wireless user/ pass for dtu access point)
    • configurable data for openhab item settings
    • configurable data for MQTT settings incl. HomeAssistant AutoDiscovery
    • advanced web config1 for all config parameter (http://IP_domain/config) - expert mode
      • display selection (0 - OLED, 1 - round TFT)
      • timeZone Offset -xxxx sec <-> xxxx sec e.g. 3600 for CET(+1h) /7200 for CEST(+2)/-21600 for CST
  • OTA with direct connection to the github build pipeline - available updates will be checked by web app and device. Notification in web app, if update available and user can decide for direct online update

api

data - http://<ip_to_your_device>/api/data

expand to see json example
{
  "localtime": 1704110892,
  "ntpStamp": 1707640484,
  "lastResponse": 1704063600,
  "dtuConnState": 1,
  "dtuErrorState": 0,
  "starttime": 1707593197,
  "inverter": {
    "pLim": 0,
    "pLimSet": 101,
    "temp": 0.00,
    "uptodate": 0
  },
  "grid": {
    "v": 0.00,
    "c": 0.00,
    "p": 0.00,
    "dE": 0.000,
    "tE": 0.000
  },
  "pv0": {
    "v": 0.00,
    "c": 0.00,
    "p": 0.00,
    "dE": 0.000,
    "tE": 0.000
  },
  "pv1": {
    "v": 0.00,
    "c": 0.00,
    "p": 0.00,
    "dE": 0.000,
    "tE": 0.000
  }
}

info - http://<ip_to_your_device>/api/info

expand to see json example
{
  
  "chipid": 12345678,
  "host": "hoymilesGW_12345678",
  "initMode": 0,
  "firmware": {
    "version": "1.0.0022",
    "versiondate": "10.02.2024 - 19:23:57",
    "versionServer": "1.0.0051",
    "versiondateServer": "10.02.2024 - 19:23:57",
    "versionServerRelease": "checking",
    "versiondateServerRelease": "...",
    "selectedUpdateChannel": "0",
    "updateAvailable": 0
  },
  "dtuConnection": {
    "dtuHostIpDomain": "192.168.0.249",
    "dtuSsid": "DTUBI-12345678",
    "dtuPassword": "dtubiPassword",
    "dtuRssi": 0,
    "dtuDataCycle": 32,
    "dtuResetRequested": 0,
    "dtuCloudPause": 1,
    "dtuCloudPauseTime": 40
  },
  "openHabConnection": {
    "ohHostIp": "192.168.1.100",
    "ohItemPrefix": "inverter"
  },
  "wifiConnection": {
    "networkCount": 2,
    "foundNetworks": [
      {
        "name": "Name1 Wlan",
        "wifi": 62,
        "rssi": -69,
        "chan": 1
      },
      {
        "name": "name2-wifi",
        "wifi": 48,
        "rssi": -76,
        "chan": 3
      }
    ],
    "wifiSsid": "myWifiSSID",
    "wifiPassword": "myPass",
    "rssiGW": 87
  }
}

openhab integration/ configuration

  • set the IP to your openhab instance - data will be read with http://<your_openhab_ip>:8080/rest/items//state

  • set the prefix () of your openhab items

  • list of items that should be available in your openhab config

    • read your given power set value from openhab with "_PowerLimit_Set"
    • set openhab items with data from dtu:
    expand to see to details
    • grid data:
      • "Grid_U"
      • "Grid_I"
      • "Grid_P"
      • "PV_E_day"
      • "PV_E_total"
    • panel 1 data:
      • "PV1_U"
      • "PV1_I"
      • "PV1_P"
      • "PV1_E_day"
      • "PV1_E_total"
    • panel 2 data:
      • "PV2_U"
      • "PV2_I"
      • "PV2_P"
      • "PV2_E_day"
      • "PV2_E_total"
    • inverter status:
      • "_Temp"
      • "_PowerLimit" //current read power limit from dtu
      • "_WifiRSSI"

MQTT integration/ configuration

  • set the IP to your MQTT broker

  • set the MQTT user and MQTT password

  • set the main topic e.g. 'dtu_12345678' for the pubished data (default: is dtu_<ESP chip id> and has to be unique in your environment)

  • to set the Power Limit from your environment

    • you have to publish to dtu_<ESP chip id>/inverter/PowerLimit_Set a value between 2...100 (possible range at DTU)
    • the incoming value will be checked for this interval and locally corrected to 2 or 100 if exceeds
    • (optional: with retain flag, to get the last set value after restart / reconnect of the dtuGateway)
  • data will be published as following ('dtu_12345678' is configurable in the settings):

    dtu_12345678/timestamp
    
    dtu_12345678/grid/U
    dtu_12345678/grid/I
    dtu_12345678/grid/P
    dtu_12345678/grid/dailyEnergy
    dtu_12345678/grid/totalEnergy
    
    dtu_12345678/pv0/U
    dtu_12345678/pv0/I
    dtu_12345678/pv0/P
    dtu_12345678/pv0/dailyEnergy
    dtu_12345678/pv0/totalEnergy
    
    dtu_12345678/pv1/U
    dtu_12345678/pv1/I
    dtu_12345678/pv1/P
    dtu_12345678/pv1/dailyEnergy
    dtu_12345678/pv1/totalEnergy
    
    dtu_12345678/inverter/Temp
    dtu_12345678/inverter/PowerLimit
    dtu_12345678/inverter/PowerLimit_Set // <-- this topic will be subscribed to get the power limit to set from your broker
    dtu_12345678/inverter/WifiRSSI
    
  • Home Assistant Auto Discovery

    • you can set HomeAssistant Auto Discovery, if you want to auto configure the dtuGateway for your HA installation
    • switch to ON means - with every restart/ reconnection of the dtuGateway the so called config messages will be published for HA and HA will configure all the given entities of dtuGateway incl. the set value for PowerLimit
    • switch to OFF means - all the config messages will be deleted and therefore the dtuGateway will be removed from HA (base publishing of data will be remain the same, if MQTT is activated)

known bugs

  • sometimes out-of-memory resets with instant reboots (rare after some hours or more often after some days)

releases

installation / update

hardware

  • ESP8266 based board
  • optional display SSH1106 OLED 1,3" 128x64 (e.g. link):
    • connect SSH1106 driven OLED display (128x64) with your ESP8266 board (VCC, GND, SCK, SCL)

    • pinning for different boards (display connector to ESPxx board pins)

      dev board ESP family VCC GND SCK SDA tested
      AZDelivery D1 Board NodeMCU ESP8266MOD-12F ESP8266 3.3V GND D15/GPIO5/SCL/D3 D14/GPIO4/SDA/D4 OK
      AZDelivery NodeMCU V2 WiFi Amica ESP8266 ESP-12F ESP8266 3.3V GND D1/GPIO5/SCL D2/GPIO4/SDA OK
      AZDelivery D1 Mini NodeMcu mit ESP8266-12F ESP8266 3V3 G D1/GPIO5/SCL D2/GPIO4/SDA OK
  • optional display GAGC9A01 round TFT 1,28" 240x240 (e.g. link):
    • connect SSH1106 driven round TFT display (240x240) with your ESP8266 board (VCC, GND, SCL, SDA, DC, CS, RST)

    • pinning for different boards (display connector to ESPxx board pins)

      dev board ESP family VCC GND SCL SDA DC CS RST tested
      AZDelivery D1 Board NodeMCU ESP8266MOD-12F ESP8266 3.3V GND t.b.d. t.b.d. t.b.d. t.b.d. t.b.d. t.b.c.
      AZDelivery NodeMCU V2 WiFi Amica ESP8266 ESP-12F ESP8266 3.3V GND D5/GPI14/SCLK D7/GPIO13/MOSI D3/GPIO0/Flash D8/GPIO15/CS 3V32 OK
      AZDelivery D1 Mini NodeMcu mit ESP8266-12F ESP8266 3V3 G D5/GPI14/SCLK D7/GPIO13/MOSI D3/GPIO0/Flash D8/GPIO15/CS 3V32 OK

first installation to the ESP device

  1. download the preferred release as binary (see below)
  2. HAS TO BE VERIFIED [only once] flash the esp8266 board with the (esp download tool)[https://www.espressif.com/en/support/download/other-tools]
    1. choose bin file at address 0x0
    2. crystal frequency to 26 Mhz
    3. SPI speed 40 MHz
    4. SPI Mode QIO
    5. Flash Size 32 MBit-C1
    6. select your COM port and baudrate = 921600
    7. press start ;-)
  3. all further updates are done by OTA (see chapters above)

first setup with access point

prequesite: If you have directly attached a display, then in factory mode the used display is unknown. Default is OLED Display. To get the TFT running in factory mode, a change with each reboot is implemented. Means if you are powering on the first time the OLED will be choosen internally. The next power up the TFT will be chosen. And so on. So the 'first start' screen will be shown until the wifi settings will be changed over the webinterface.

  1. connect with the AP hoymilesGW_ (on smartphone sometimes you have to accept the connection explicitly with the knowledge there is no internet connectivity)
  2. open the website http://192.168.4.1 (or http://hoymilesGW.local) for the first configuration
  3. choose your wifi
  4. type in the wifi password - save
  5. in webfrontend setting your DTU IP adress within your local network (currently the user and password for dtu are not needed, for later integration relevant for a direct connection to the dtu over their access point)
  6. then you can configure your needed binding
    1. openhab -> set the IP of your openhab instance and the prefix for the dtu items according to your configured item file in openhab
    2. mqtt -> set the IP and port (e.g. 192.178.0.42:1883) of your mqtt broker and the user and passwort that your hacve for this instance
  7. after this one time configuration, the connection to the dtu should be established and the data displayed in the webfrontend and (if connected on the display) according to your setup transmitted to the target instance

return to factory mode

  1. connect your ESP with serial (115200 baud) in a COM terminal
  2. check if you receive some debug data from the device
  3. type in resetToFactory 1
  4. response of the device will be reinitialize UserConfig data and reboot ...
  5. after reboot the device starting again in AP mode for first setup

main

latest release - changes will documented by commit messages https://github.com/ohAnd/dtuGateway/releases/latest

(to be fair, the amount of downloads is the count of requests from the client to check for new firmware for the OTA update)

GitHub Downloads (all assets, latest release) GitHub (Pre-)Release Date GitHub Actions Workflow Status

snapshot

snapshot with latest build https://github.com/ohAnd/dtuGateway/releases/tag/snapshot

GitHub Downloads (all assets, specific tag) GitHub (Pre-)Release Date GitHub Actions Workflow Status

troubleshooting

  • if the config file is corrupted due to whatever reason with unexpected behavior - connect with serial terminal and type in the command resetToFactory 1 - the config file be rewritten with the default values
  • if in the first startup mode a wrong ssid/ password was entered, then also resetToFactory 1

experiences with the hoymiles HMS-800W-2T

set values - frequency

(not fully investigated yet)

If there to much requests of setting the power limit minutes later the connection is broken and cannot be directly established again - with current experience the dtu resets itself after ~ 30 min and is accessable again.

With the manual login to dtu access point and forcing the storing of local wifi connect data again, then dtu is back online and accessable in your local network. (This is a possible feature that can be implemented in future - needed protocol sequence has to be investigated)

[2024-03-24]

  • lot of single updates for power setting within few seconds (< 2-3) without any reading of values (e.g. realdata) -> it seems this creating no problems
  • therefore current setup -> no time limit for power setting, but reading data only every 31 seconds is running fine
  • sometimes hanging or full shutdown/ break of DTU will be prevented by sending an active reboot request to dtu (hanging detection at this time over grid voltage, should be changing at least within 10 consecutive incoming data)
  • with this setup: now the device is running for days without any stops (overall system point of view: target settings will be performed everytime, readed data will be available, no manual steps needed to recover the dtu connection)

hoymiles cloud update

  • everey 15 min (0,15,30,45) -> timestamp update
  • after 7 min 40 s update of graph data (if wifi not reachable, also reset of wifi AP)

sources

build environment

fully covered with github actions

building on push to develop and serving as a snapshot release with direct connection to the device - available updates will be locally checked and offered to the user for installation

hint: referring to Error Build in platform.io - buildnumber file not found #6 for local building:

For automatic versioning there is a file called ../include/buildnumber.txt expected. With the content "localDev" or versionnumber e.g. "1.0.0" in first line. (File is blocked by .gitignore for GitHub actions to run.)

platformio

hints for workflow

Footnotes

  1. 'advanced config' aka. 'dtuGateway Configuration Interface' it is something like an expert mode, that means you have to know which parameter you want to change with which effect. 2

  2. reset pin of display currently not in use therefore directly pulled up to 3,3 V 2

dtugateway's People

Contributors

hirbelo avatar ohand avatar ulegan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

dtugateway's Issues

Question: what is "dtu host IP in your local network:"?

Hello,
very nice project.
I would also like to read out the values ​​of the inverter.

But what should be entered in “dtu host IP in your local network:”?

The inverter has its own WiFi and doesn't know my local network.
Gruß Oli

Hilfe Verstaendnis Datenbezug zum WR

Vielen Dank für dein Projekt.

Ich versuche mich aktuell etwas einzuarbeiten um das Ganze an meine Bedürfnisse anzupassen. Aber scheinbar scheitere ich am Verständnis. Ich würde dich bitten, mir kurz auf die Sprünge zu helfen.

Du nutzt in deiner Interface die Funktion: readRespAppGetHistPower(WiFiClient *localDtuClient). Hierbei zeigst du immer auf "localDtuClient". In der gateway.ino ist dies ein Objekt von WiFiClient dtuClient;. Aber dem dtuClient werden nie irgendwelche Werte zugewiesen.
Ich verstehe nicht ganz, wie der Bezug zu den Daten des WR zustande kommt. Da wird nirgends ein Port oder eine IP angegeben? Kannst du mir auf die Beine helfen, in den Quelltext hineinzukommen?

Vielen Dank
Petermanns

Uhrzeit im Oled ist falsch ( 1 Stunde zurück )

Moin, ich bentze die Version 1.5.0006 mit einem Oled Screen dabei ist mit aufgefallen das im Oled Screen
die Uhr nicht richtig angezeigt wird.

Im Oled Screen zeigt die Uhr immer eine Stunde weniger an als es wirklich ist.

Im web interface ist die Uhrzeit aber richtig !

Also Webinterface z.B. 11:30 Oled zeigt aber 10:30 an

Issue? Client connection closed: timeout

Good morning,

mqtt works well with the new ip:port setting.

Don't know if the next thing that's an issue:

In my IoBroker Debug infos there are lots of connections "Client [dtuGateway] connection closed: timeout"
See screenshot.

Screenshot 2024-05-19 110951

It does not affect the function. Only want to know if thats normal.
No other device does that. Like my shellies & Tasmota and so on.

Hope you can improve your work with that information :)

excerpt from the serial terminal as information:

+++ update at remote: 19.05.2024 - 10:19:54 - uptodate: 1 --- wifi rssi: 64 % (DTU->Cloud) - 100 % (Client->AP) 

power limit (set): 40 % (101 %) --- inverter temp: 30.10 °C 

 	 |	 current  |	 voltage  |	 power    |        daily      |     total     |

grid	 |	   1.38 A |	 235.20 V |	 326.30 W |	    0.810 kWh |	  292.628 kWh |

pv0	 |	   5.19 A |	  33.20 V |	 172.30 W |	    0.433 kWh |	  148.361 kWh |

pv1	 |	   5.16 A |	  33.40 V |	 172.30 W |	    0.377 kWh |	  144.267 kWh |


>>>>> 05s task - state --> local: 19.05.2024 - 10:19:58 --- NTP: 10:19:46 --- RSSI to AP: 'B2': 100 %

>>>>> 05s task - state --> local: 19.05.2024 - 10:20:03 --- NTP: 10:19:51 --- RSSI to AP: 'B2': 100 %

>>>>> 05s task - state --> local: 19.05.2024 - 10:20:08 --- NTP: 10:19:56 --- RSSI to AP: 'B2': 100 %

>>>>> 05s task - state --> local: 19.05.2024 - 10:20:13 --- NTP: 10:20:01 --- RSSI to AP: 'B2': 100 %

>>>>> 05s task - state --> local: 19.05.2024 - 10:20:18 --- NTP: 10:20:06 --- RSSI to AP: 'B2': 100 %

scan for wifi networks done: 5 wifi's found


>>>>> 05s task - state --> local: 19.05.2024 - 10:20:23 --- NTP: 10:20:11 --- RSSI to AP: 'B2': 100 %

>>>>> 31s task - state --> local: 19.05.2024 - 10:20:24 --- NTP: 10:20:12


realData  - got remote (1716110425):	19.05.2024 - 10:20:25

GetConfig - got remote (1716110425):	19.05.2024 - 10:20:25

GridV check - 1 : 238.10 V - with: 238.10

GridV check - 2 : 238.80 V - with: 238.10

GridV check result: 0


Attempting MQTT connection... connected


sent values to mqtt broker


+++ update at remote: 19.05.2024 - 10:20:25 - uptodate: 1 --- wifi rssi: 64 % (DTU->Cloud) - 100 % (Client->AP) 

power limit (set): 40 % (101 %) --- inverter temp: 30.30 °C 

 	 |	 current  |	 voltage  |	 power    |        daily      |     total     |

grid	 |	   1.37 A |	 237.10 V |	 326.30 W |	    0.812 kWh |	  292.630 kWh |

pv0	 |	   5.21 A |	  33.10 V |	 172.30 W |	    0.434 kWh |	  148.362 kWh |

pv1	 |	   5.18 A |	  33.30 V |	 172.30 W |	    0.378 kWh |	  144.268 kWh |


>>>>> 05s task - state --> local: 19.05.2024 - 10:20:28 --- NTP: 10:20:16 --- RSSI to AP: 'B2': 100 %

>>>>> 05s task - state --> local: 19.05.2024 - 10:20:33 --- NTP: 10:20:21 --- RSSI to AP: 'B2': 100 %

>>>>> 05s task - state --> local: 19.05.2024 - 10:20:38 --- NTP: 10:20:26 --- RSSI to AP: 'B2': 100 %

>>>>> 05s task - state --> local: 19.05.2024 - 10:20:43 --- NTP: 10:20:31 --- RSSI to AP: 'B2': 100 %

>>>>> 05s task - state --> local: 19.05.2024 - 10:20:48 --- NTP: 10:20:36 --- RSSI to AP: 'B2': 100 %

>>>>> 05s task - state --> local: 19.05.2024 - 10:20:53 --- NTP: 10:20:41 --- RSSI to AP: 'B2': 100 %

>>>>> 31s task - state --> local: 19.05.2024 - 10:20:55 --- NTP: 10:20:43


realData  - got remote (1716110456):	19.05.2024 - 10:20:56

GetConfig - got remote (1716110456):	19.05.2024 - 10:20:56

GridV check - 1 : 238.10 V - with: 238.10

GridV check - 2 : 238.80 V - with: 238.10

GridV check result: 0


Attempting MQTT connection... connected


sent values to mqtt broker


+++ update at remote: 19.05.2024 - 10:20:56 - uptodate: 1 --- wifi rssi: 64 % (DTU->Cloud) - 100 % (Client->AP) 

power limit (set): 40 % (101 %) --- inverter temp: 30.40 °C 

 	 |	 current  |	 voltage  |	 power    |        daily      |     total     |

grid	 |	   1.38 A |	 235.30 V |	 326.30 W |	    0.816 kWh |	  292.634 kWh |

pv0	 |	   5.21 A |	  33.10 V |	 172.30 W |	    0.436 kWh |	  148.364 kWh |

pv1	 |	   5.18 A |	  33.30 V |	 172.30 W |	    0.380 kWh |	  144.270 kWh |


>>>>> 05s task - state --> local: 19.05.2024 - 10:20:58 --- NTP: 10:20:46 --- RSSI to AP: 'B2': 100 %

>>>>> 05s task - state --> local: 19.05.2024 - 10:21:03 --- NTP: 10:20:51 --- RSSI to AP: 'B2': 100 %

>>>>> 05s task - state --> local: 19.05.2024 - 10:21:08 --- NTP: 10:20:56 --- RSSI to AP: 'B2': 100 %

>>>>> 05s task - state --> local: 19.05.2024 - 10:21:13 --- NTP: 10:21:02 --- RSSI to AP: 'B2': 100 %

start compare: 1.5.0031 - 1.4.0004


>>>>> 05s task - state --> local: 19.05.2024 - 10:21:18 --- NTP: 10:21:07 --- RSSI to AP: 'B2': 100 %

scan for wifi networks done: 5 wifi's found


>>>>> 05s task - state --> local: 19.05.2024 - 10:21:23 --- NTP: 10:21:12 --- RSSI to AP: 'B2': 100 %

>>>>> 31s task - state --> local: 19.05.2024 - 10:21:26 --- NTP: 10:21:15


realData  - got remote (1716110487):	19.05.2024 - 10:21:27

GetConfig - got remote (1716110487):	19.05.2024 - 10:21:27

GridV check - 1 : 238.10 V - with: 238.10

GridV check - 2 : 238.80 V - with: 238.10

GridV check result: 0


Attempting MQTT connection... connected


sent values to mqtt broker

Mobile Browser show raw html code (fw version: 1.6.0008)

When i open the dtu surface on my mobile phone, i see the raw html code instead the rendered dtu gateway surface

To Reproduce
Steps to reproduce the behavior:

  1. Go to dtu home with iPhone mobile browser (Safari, Chrome)
  2. See raw html code

Expected behavior
Normal surface is shown

Screenshots
dtugateway home

Smartphone (please complete the following information):

  • iPhone 14
  • OS: 17.5.1
  • Browser safari, chrome
  • Version newest

Cant set Limit over MQTT

I have the whole thing setup and can read data over Webinterface, MQTT and Openhab RestAPI
However setting the Limit works with Webinterface, OpenHab RestAPI, but not when i publish a raw number to:
dtu_8775546/inverter/PowerLimit_Set (using MQTT Expolorer)

fw version: 1.6.0007

Any thoughts ?

Thx

gg

automatic snapshot update does not work

Hi Andreas,

so at first thank you for integrating mqtt and responding that fast.
Great :)

There is always a "but":
So here it is:

Noticed it from 1.5.00129 to 1.5.0030 today afternoon.
And now from 1.5.0030 to 1.5.0031

The automatic update which is shown in the web interface starts. The Countdown reaches 0. The ESP resarts. And the version stays the same.

Manual update works fine

Hope that information will help to imrpve your work ;)

Have a nice Evening.

Lukas

Display GAGC9A01 funktioniert nicht

Ich habe die Version 1.6.0038_develop installiert und die vorher mit einem Oled benutzt was auch super funktioniert hat.
Jetzt habe ich ein GAGC9A01 display gekauft bekomme es aber nicht zum laufen.

In der Config habe ich das Display auf 1 gestellt

Ich benutze einen NodeMCU V3 und habe den wie folgt angeschlossen:

Pin Display: Pin ESP:

VCC, = 3V
GND = Gnd
SCL = D5
SDA = D7
DC = D3
CS = D8
RST = 3V
BLK = nicht angeschlossen

Wenn ich das so anschließe bleibt das Display dunkel ( Display ist aber an )

Habe ich beim anschließen einen Denkfehler gemacht oder ist das Display defekt ?
Oder muss auch BLK am Display angeschlossen sein ?

Verbindung zu Home Assistant über MQTT nicht möglich

Hallo,
habe einen Home Assistant 12.3 auf einem Synology in einer VM laufen. Habe einen HMS-800W-2T auf einem 286 installiert und ich bekomme die Werte von meinem Hoymiles. Wollte jetzt über MQTT die Daten zu meinem Home Assitant schicken, aber das funktioniert nicht. Mein Tasmote Zähler funktioniert, und mein HMS-1600 bringt auch seine Daten an den MQTT. Habe erst die Version 1.5.0006 versucht und dann den letzten Snapshot 1.5.0037. Bei beiden bekomme ich keine Daten, richtiger User und PW. Habe mir jetzt den MQTT Explorer installiert und hier sehe ich keinerlei Daten die vom dem HMS-800 kommen würden.
Also was mache ich falsch, eigentlich sollte die xxx37 da ja sauber funktioenren.

Error Build in platform.io - buildnumber file not found

If I try to build the Version (main oder snapshot) the build failed with this error:

Processing esp12e (platform: espressif8266; board: esp07s; framework: arduino)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
get current version: 1.4.0
 from C:\Users\User\Downloads\dtuGateway-snapshot/include/version.h
buildnumber file not found
NameError: name 'build_string' is not defined:
  File "C:\Users\User\.platformio\penv\Lib\site-packages\platformio\builder\main.py", line 167:
    env.SConscript(env.GetExtraScripts("pre"), exports="env")
  File "C:\Users\User\.platformio\packages\tool-scons\scons-local-4.7.0\SCons\Script\SConscript.py", line 612:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\User\.platformio\packages\tool-scons\scons-local-4.7.0\SCons\Script\SConscript.py", line 279:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\User\Downloads\dtuGateway-snapshot\version_inc.py", line 40:
    if build_string != "localDev":

Has someone an idea what is wrong?

Many inverter reboots @ fast dtu request cycles (data update)?

Hi,

I see many inverter reboots over the day. At all Firmware-versions i tested yet. This seems to be related with the "dtu request cycle in seconds (data update)".

When I set the dtu request cycle to 31 Seconds, I get lots of reboots of the Inverter (so tells me the firmware). When I increase the time (e.g. to 40 Seconds), there are only very few reboots over the day.

Does someone can confirm this behavior?

BR
Lassa333

WiFi Password

Hello,
only 32 characters are possible for the wifi password.
Is it possible to extend the password to 63 characters (full length)
Would be great
Best regards

settings lost after update -> restore settings

Hi,

everytime i Update the Gateway the whole settings are lost.

Is it possible to safe them before the update and restore them afterwards?

Or am i doing something wrong?
I'm using the onboard ota update process.

Thanks

Greetings
Lukas

Mqtt?

Hi,
First of all: massive Respekt for your great Job!!!

For different reasons I can not Deal with openHub. But with Mqtt.

Would it be a Bug Deal to integrate in your next Release the possibilty to parse the data as mqtt?

This would open your project to mich more perplex

BR
Roland

discussion: extend the dtugateway to a "wifi-dtu"

          Hi Andreas,

While contributing to your brilliant work on your dtuGateway, I realised that your gateway is not fare away from existing dtu (e.g. openDTU or AhoyDTU) – but with the WIFI-component. So after the slick adding of the MQTT-functionality, I want to ask you a question:

Are you interested in setting up a “WIFI-dtu”?

I would love to hear your thoughts about this

BR

Roland

Originally posted by @Lassa333 in #11 (comment)

Setting the power limit via the website

If you don't use a smart home, or for starters, it would be good if you could set the limit via the website.

Describe the solution you'd like
Setting the power limit via the website

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.