Commit graph

16 commits

Author SHA1 Message Date
Jan-Jonas Sämann
34f6f9363d pypackage typo 2022-05-24 19:28:58 +02:00
Jan-Jonas Sämann
d5252866f8 pypackage add txpower min, high
Now txpower can be one of min, low, high, max
2022-05-24 18:34:38 +02:00
Jan-Jonas Sämann
68cb8a59d9 Pypackage Disable retransmit in log parse mode
Disable retransmit if InverterTransaction is invoked without an actual
radio attached.
2022-05-24 18:12:43 +02:00
Jan-Jonas Sämann
5935e0dabe Update pypackage set txpower per nrf/inverter
Add config parameter `txpower` in inverters- and nrf context.
This enables overriding txpower default RF24_PA_MAX, in some cases
inverters require RF24_PA_LOW. For larger setups, txpower can be set per
inverter to be able to query a far away (max) and a near by (low) one from within
one instance.

Valid values can be:
 * `txpower: 'max'` (corresponds to RF24_PA_MAX, default)
 * `txpower: 'low'` (corresponds to RF24_PA_LOW)
2022-05-23 07:31:09 +02:00
Jan-Jonas Sämann
93b3f02b24 Add pypackage retransmit last frame
Mentioned in #30 by @stefan123t
2022-05-21 17:58:50 +02:00
Jan-Jonas Sämann
e4eebb67e4 Improve python code quality
Mostly fix naming convetion, add descriptions. Cleanup code, left behind
from tinkering.
2022-05-16 12:29:58 +02:00
Jan-Jonas Sämann
7415139038 Provide rx time in response 2022-05-15 16:06:38 +02:00
Jan-Jonas Sämann
0f52c62b3f Setup NRF send/receive pipes
Fixes no response from WR
2022-05-14 19:47:10 +02:00
Jan-Jonas Sämann
d408264521 Adds documentation to python-hoymiles module 2022-05-11 18:52:28 +02:00
Jan-Jonas Sämann
d27f0c1148 Integrate ahoy.py into hoymiles module
Finally get rid of ahoy.py and integrate functionallity into the module
itself. Prepares for pipelines, adding pip installer or debian packaging.

Improve configuration adds commandline switches for:

  * `--verbose, enabling verbose logging
  * `--log-transactions`, outbut all rf raw data

Improve loop, now runs all queued commands per inverter within interval.
Skip sleep when interval is allready due.
2022-05-11 00:05:09 +02:00
Jan-Jonas Sämann
6627eeb931 Update channel hop list
remove channel 9 and 11 because there was never seen a single frame
received
2022-05-08 16:25:53 +02:00
Jan-Jonas Sämann
3b54b58567 Update Decodes, group decoders by inverter serial
Seems to be that we can not exactly determine the actual model by
looking at the serial. What we seemingly can guess is how many MPPT and
Phases a range of serials have.

Some Group-Based decoders should be compatible across the group.

A group is now named by the lowest model

  * 1121: HM300 1 MPPT, 1 Phase
  * 1141: HM600 2 MPPT, 1 Phase
  * 1161: HM1200 4 MPPT, 1 Phase
2022-05-08 12:38:00 +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
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
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