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
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.
* 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
* 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)
Transform ahoy.py into a python library, implements decoding of
fragmented large payloads.
The module also allows for easier tinkering and replay testing.
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
* 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.
* 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
* 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