Commit graph

440 commits

Author SHA1 Message Date
Thomas Basler
39e253bc28 Added parser for HM-1500 2022-05-05 21:07:03 +01:00
Jan-Jonas Sämann
a1cfaf5918 Change default mqtt prefix to hoymiles/serial 2022-05-05 21:07:25 +02:00
Jan-Jonas Sämann
a33c49fd35 Fix mqtt broker config disable attribute 2022-05-05 20:40:10 +02:00
Jan-Jonas Sämann
fcdf9a8b37 Fix ahoy.yml.sample zero byte serial
Turns out, serial numbers can't have zero bytes.
2022-05-05 19:57:02 +02:00
Jan-Jonas Sämann
9026dfa4bc Prepare decoder template for HM-1500 2022-05-05 19:42:58 +02:00
Jan-Jonas Sämann
9d75ca0c34 Ahoy Python Rewrite
Is was clear, the cmd approach does not decode payloads reliably.
The modular form allows for easy tinkering.

This implements

 * hoymiles protocol
 * transport-layer enables for retransmit of missed fragments
 * full payload decode
 * device specific decoders
 * transaction tracking enables decoding of different datasets
 * multi-inverter support
 * configuration format change to YAML (required for multi-inverter)

First PoC, lots of things have to be relocated, rewritten and exteded.

Currently only supports Hoymiles HM-600, more device decodes have to be added by
users who have the hardware.
2022-05-05 18:35:24 +02:00
lumapu
8f444cee2f * improved tickers, only one ticker is active
* added feature to use the ESP as access point for all the time
* added serial features to setup
2022-05-04 19:28:54 +02:00
lumapu
4c3852cde4 * fixed erase settings
* fixed behavior if no MQTT IP is set (the system was nearly unusable because of delayed responses)
* fixed Station / AP WiFi on startup -> more information will be printed to the serial console
* added new ticker for serial value dump
2022-05-03 23:29:33 +02:00
lumapu
539d4f73c1 * added config.h for general configuration
* added option to compile WiFi SSID + PWD to firmware
* added option to configure WiFi access point name and password
* added feature to retry connect to station WiFi (configurable timeouts)
* updated index.html
* added option for factory reset
* added info about project on index.html
* moved "update" and "home" to footer
* fixed #23 HM1200 yield day unit
* fixed DNS name of ESP after setup (some commits before)
2022-05-03 21:03:03 +02:00
Jan-Jonas Sämann
d7f9f6d3be PoC Hoymiles package full payload decode WIP
Transform ahoy.py into a python library, implements decoding of
fragmented large payloads.
The module also allows for easier tinkering and replay testing.
2022-05-02 22:41:42 +02:00
docBmuc
59b6addccf Fix in live view, larger boxes in CSS, SPI-Speed define
Fixed missing HM800 in liveView

Larger boxes in CSS

Introduced SPI speed define for reduced speed (1MHz) for increased stability
2022-05-02 19:06:10 +02:00
lumapu
2abd388726 * converted to "poor-man-ticker" using millis() for uptime, send and mqtt
* added inverter overview
* added send count to statistics
2022-05-01 20:48:10 +02:00
lumapu
89624f7f02 compile of merge, binary published on https://www.mikrocontroller.net/topic/525778?goto=7051413#7051413 2022-05-01 13:26:25 +02:00
Thomas Basler
774be8fecf Fixed assignment for HM-600
Based on several logs and tries we updated the AC
side of the HM-600 inverter.
2022-04-30 22:58:33 +02:00
lumapu
41b4f72b52 fix: doCalculations was not called 2022-04-30 09:44:20 +02:00
lumapu
71c83ac1fb * version 0.3.0
* added unit test
2022-04-30 02:13:38 +02:00
lumapu
af4960f1c4 * fixed issues (found during unit test) 2022-04-30 02:02:41 +02:00
lumapu
32e58c98c0 * compile ok, added 4 calculation functions for test 2022-04-30 00:53:51 +02:00
lumapu
c8a05efadc Merge branch 'main' into dev
# Conflicts:
#	tools/esp8266/defines.h
#	tools/esp8266/hmSystem.h
2022-04-29 20:49:50 +02:00
lumapu
6a31bcddb1 * added HM800 defines
* updated README.md
2022-04-29 20:33:15 +02:00
Andreas Erhard
edcf69aa01 * added display name to inverter view 2022-04-29 08:41:22 +02:00
grindylow
5bd2e65289
Merge pull request #17 from lumapu/main
Fixed system chrashes
2022-04-28 22:07:04 +02:00
dad401
325f6a8c3a
Merge branch 'grindylow:main' into main 2022-04-28 19:43:18 +02:00
lumapu
b3bdf2811e * fix: random crashes #15
-> don't use delay() on ESP while Wifi connection is established!?
2022-04-28 19:40:51 +02:00
Marcus
c0140f9fc1 Neue Version von Hubi vom 28.04.2022 - siehe:
https://www.mikrocontroller.net/topic/525778?page=4#7048605

ersetzt NRF24_SendRcv

Kommentare dazu:
- Projekt jetzt umgenannt in HoyDtuSim (Hoymiles DTU Simulation)
-Läuft auf Arduino (bei mir auf Pro Mini) und ESP (Wemos D1 mini), je
nachdem wie man kompiliert
- Channel hopping für senden und Empfangen (poor man's ...) ist
eingebaut und bringt konstante Antworten; obige Erkenntnisse über Kanäle
abwärts sind noch nicht eingebaut
- da manchmal ein Abbruch der RF-Verbindung vorkam (auch schon oben
erwähnt)  wird jetzt nach ca 50 Sekunden ohne Empfang das RF-Modul neu
initialisiert und es geht problemlos weiter
- Definitionen für HM-600 und HM-1200 sind implementiert, andere können
anhand der beiden Beispiele sicher leicht impl. werden
- Anpassungen sind in der Settings.h zu machen
2022-04-28 13:25:04 +02:00
lumapu
1300f0a19e
Merge pull request #1 from dad401/main
PR Test gemäß Thread
2022-04-27 23:29:00 +02:00
lumapu
5844795447 Merge branch 'main' into dev
# Conflicts:
#	tools/esp8266/app.cpp
#	tools/esp8266/hmInverters.h
#	tools/esp8266/hmSystem.h

* added missing files
2022-04-27 23:27:52 +02:00
lumapu
5c63503168 * fixed #13, Inverter Type changed after reboot
* fixed #11, WiFi password length limit increased to 63, check 802.11i spec:
> A pass-phrase is a sequence of between 8 and 63 ASCII-encoded characters. The limit of 63 comes from the desire to distinguish between a pass-phrase and a PSK displayed as 64 hexadecimal characters.
2022-04-27 23:10:22 +02:00
lumapu
f6b75aff90 * preliminary state, compiles good not tested on hardware
* converted struct inverter_t to class Inverter
* started with calculation functions (idea from Hubi/mikrocontroller.net)
2022-04-27 23:03:37 +02:00
Marcus
20cd77a6c2 Revert "* Divisor HM-400 angepasst (für Wh)"
This reverts commit c65607026c.

fixed divisor to show Wh
2022-04-27 17:41:59 +02:00
Marcus
aa2c495d2f Revert "* Divisor HM-400 angepasst (für Wh)"
This reverts commit c65607026c.
2022-04-27 17:40:33 +02:00
Marcus
a3e5fd93f2 Revert "fixed size"
This reverts commit 11113da53e.

brachte nicht die Lösung
2022-04-27 17:39:56 +02:00
Marcus
1f6fe84f08 checked in Hubis code (version from 2022-04-13)
https://www.mikrocontroller.net/topic/525778?page=3#7033371
2022-04-27 17:34:21 +02:00
Marcus
11113da53e fixed size 2022-04-27 11:04:28 +02:00
Marcus
c65607026c * Divisor HM-400 angepasst (für Wh)
* Ausgabebuffer angepasst, war mit 10 Bytes zu wenig um z.B. YieldTotal auszugeben (Unit wurde abgeschnitten)
2022-04-27 10:58:20 +02:00
lumapu
a9b7fd0599 * added IP address to serial console on successful connect to station WiFi
* fix: RF24 power setting configuration
* added RF24 isChipConnected
* added MQTT port configuration
* fix offsets for HM400 and HM600 inverters
* added warning if configuration was changed without reboot
2022-04-26 22:49:00 +02:00
lumapu
169bf8c7c8 * try to avoid exceptions, added yield
* try to fix DNS problems
2022-04-26 08:50:36 +02:00
lumapu
657cbec931 fix issue #10 2022-04-25 23:31:52 +02:00
lumapu
04d31200cb * NRF24 amlifierer power level can be configured in web setup
* fixed MQTT status (was inverted)
* fixed interval uint from seconds to ms
2022-04-25 23:28:59 +02:00
lumapu
df9f050313 * added erase application settings
* HM1500 as selectable in setup
* Added new commands to statistic (0x82, 0x83)
2022-04-25 22:44:12 +02:00
lumapu
a00ab4e48d * fix eep endless loop 2022-04-25 21:40:35 +02:00
lumapu
d5c1ac005b * add cmd82 to list 2022-04-25 20:40:59 +02:00
lumapu
128b16b105 fix 2022-04-25 20:04:12 +02:00
lumapu
f9878b8d8b * fix missing declarations for HM400 2022-04-25 19:59:59 +02:00
lumapu
deb473743f * added HM400 defines, not tested yet
* info from Marcus: https://www.mikrocontroller.net/topic/525778?goto=7046088#7046072
2022-04-25 19:48:39 +02:00
lumapu
d195eee498 * pinout can be saved using the web setup
* html / css files are now located inside PROGMEM
* conversion of files is done with python script (OS independent, open source)
* moved as much as possible for now to the hm* modules - the app should only be the body
* successfully tested with HM1200
2022-04-25 17:48:12 +02:00
lumapu
a95069e65c * set default pinout to Wemos D1mini
* pinout will be saved in eeprom, but changes not applied for now
2022-04-24 23:10:58 +02:00
lumapu
9e6cae26a7 * increased number of inverters
* name, serial and type can be configured using setup.html
2022-04-24 20:53:56 +02:00
lumapu
97dfbb5936 * communication works again
* reordered HM1200 values (for Serial print)
2022-04-24 11:45:56 +02:00
lumapu
d0731f7065 * new structure
* slim definitions of fields and units
* prepared multi inverter setup (not finished now)
2022-04-24 01:00:06 +02:00