Commit graph

97 commits

Author SHA1 Message Date
Jan-Jonas Sämann
0946f1c765 Merge branch 'main' into pypackage 2022-05-06 22:23:02 +02:00
Jan-Jonas Sämann
976991df46 Remove debug script test.py 2022-05-06 20:04:20 +02:00
Jan-Jonas Sämann
f71e43f9ab Merge remote-tracking branch 'refs/remotes/jan/pypackage' into pypackage 2022-05-06 20:01:20 +02:00
Jan-Jonas Sämann
ef67cbe26e Add python requirement PyYAML 2022-05-06 19:59:01 +02:00
Jan-Jonas Sämann
0ee867993c MQTT payload injection and default unknown decoder
Adds the ability to directly inject payloads to be sent to the inverter.
Fixes application crash at missing decoder by adding default decoding.

All unknown payloads are now printed as long- and short-lists for faster
protocol analysis
2022-05-06 19:54:04 +02:00
Thomas Basler
e8ad778918 Fixed total production for string 3 2022-05-06 06:25:52 +01:00
Thomas Basler
eb2608b77d Fixed syntax errors 2022-05-05 21:07:03 +01:00
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