Jan-Jonas Sämann
a33c49fd35
Fix mqtt broker config disable attribute
3 years ago
Jan-Jonas Sämann
fcdf9a8b37
Fix ahoy.yml.sample zero byte serial
Turns out, serial numbers can't have zero bytes.
3 years ago
Jan-Jonas Sämann
9026dfa4bc
Prepare decoder template for HM-1500
3 years ago
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.
3 years ago
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.
3 years ago
Martin Grill
8030acd283
No delay
3 years ago
Martin Grill
f1ed0e486c
More sensible order in main loop: rx, then tx. More consistent output (no more duplicates: JSON only)
3 years ago
Jan-Jonas Sämann
0309dcb41a
Update ahoy.py split and relocate code
Split on_receive from actual device specific decoder.
Rename decoder to hm600 because thats my dut.
Alters debug prints, remove json dump from console, makes it more readable.
Move Tx before Rx in main loop, change timing
3 years ago
Jan-Jonas Sämann
fe4719bada
Update ahoy.py add 0x80 subtype argument
Add a subtype parameter for mesage composer, allowing for dynamic
request more registers
3 years ago
Thomas Basler
cfc7ff3d2c
Added possibility to connect to MqTT Broker with username and password
3 years ago
Martin Grill
abd0629072
Include raw data and some more metadata in .json
3 years ago
Jan-Jonas Sämann
030af13c96
Update ahoy.py channel hopping and logging
* Improve channel hopping
by rotating rx start channel for each transaction
* Set autoack True
gives nearly 100% transmission success rate
* Cleanup unused lines
3 years ago
Jan-Jonas Sämann
5c7168b984
Update ahoy.py decode cmd 131, 132
* cmd=131 seem to appear on HM-600
* cmd=132 seem to appear in HM-1200
3 years ago
Jan-Jonas Sämann
ec18712583
Update ahoy.py decode cmd 129 as error response
3 years ago
Jan-Jonas Sämann
86715ac116
Update ahoy.py implement poor channel hopping
This will catch alot more packes
3 years ago
Jan-Jonas Sämann
1425d46b7e
Update ahoy.py add timestamps
3 years ago
Jan-Jonas Sämann
d83b9e1a8d
Update ahoy.py alter mqtt topics
Refine mqtt topic's to be more usable. Make message layout kind of compatible
with shelly EM's.
3 years ago
Jan-Jonas Sämann
0fdce24a51
Update ahoy.py make dtu and inverter serial configurable
Adds config file support for dtu and inverter serial numbers to keep them
outside this repo
3 years ago
Jan-Jonas Sämann
51afd1298d
Update python requirements add crcmod
3 years ago
Jan-Jonas Sämann
141d53ff9c
Update ahoy.py decode cmd=131
CMD 131 seem to contain temperatures
3 years ago
Martin Grill
3562f1eac6
Now outputs received acdata and dcdata to MQTT. No error handling yet.
3 years ago
Martin Grill
3ba0d0f3b1
fixed minor formatting issues
3 years ago
Martin Grill
686d4b6a22
Initial documentation for ahoy.py
3 years ago
Martin Grill
270cb4aaae
added example log
3 years ago
Martin Grill
5eed17b8c1
minor formatting improvements
3 years ago
Martin Grill
8ec61d40db
Can now interpret contents of cmds 1 and 2
3 years ago
Martin Grill
a19a392448
Success! This version manages to elicit the occasional response from my inverter!
3 years ago
Martin Grill
ddb7a97a87
fixed dynamic payload retrieval
3 years ago
Martin Grill
62286fb3b1
Serial numbers similar to of22's for initial testing.
3 years ago
Martin Grill
48b7b50cab
First attempt at querying an inverter using Python. Not yet functional.
3 years ago
grindylow
82ce2c9d88
Update README.md
3 years ago
Martin Grill
59aa635ebe
working discovery tool
3 years ago
Martin Grill
d8ce70fd53
a working pretender
3 years ago
Martin Grill
122e4567b1
switched to dynamic payload mode, added a pretender
3 years ago
Martin Grill
c0abc8daae
initial skeleton for discovery tool
3 years ago