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.
This commit is contained in:
Jan-Jonas Sämann 2022-05-05 18:21:06 +02:00
parent d7f9f6d3be
commit 9d75ca0c34
7 changed files with 594 additions and 341 deletions

View file

@ -40,7 +40,7 @@ contact the inverter every second on channel 40, and listen for replies.
Whenever it sees a reply, it will decoded and logged to the given log file.
$ sudo python3 ahoy.py | tee -a log2.log
$ sudo python3 ahoy.py --config /home/dtu/ahoy.yml | tee -a log2.log
@ -65,8 +65,8 @@ A brief example log is supplied in the `example-logs` folder.
Configuration
-------------
Local settings are read from ~/ahoy.conf
An example is provided as ahoy.conf.example
Local settings are read from ahoy.yml
An example is provided as ahoy.yml.example
Todo
----