-
-
Notifications
You must be signed in to change notification settings - Fork 17
How to support the development of ramses_rf
David Bonnes edited this page Oct 15, 2024
·
4 revisions
By design, ramses_rf is very unforgiving (the reasons why are explained elsewhere).
It is likely that, especially for HVAC systems, the parsers may not support your particular needs, and you may want to submit a PR to resolve that.
To progress, you will need a packet log that includes the (new) behaviour you wish to support. For example:
2024-10-10T18:10:21.527295 073 I --- 29:123150 29:099029 --:------ 22F1 003 000306
> cat packet.log | grep 22F1 | head -1 | python client.py -lf parse
client.py: Starting ramses_rf...
03:26:32.480 Best practice is to provide a known_list and enforce it, configure: enforce_known_list = True
client.py: Starting engine...
03:29:37.177 I --- 29:123150 29:099029 --:------ 22F1 003 000306 < Support the development of ramses_rf by reporting this packet (unknown mode_set: 06)
2024-10-10T18:10:21.527295 ... I --- 29:123150 29:099029 --:------ 22F1 003 000306 # {'fan_mode': 'high', '_scheme': 'orcon', '_mode_idx': '03', '_mode_max': '06'}
client.py: Engine stopped: ended without error (e.g. EOF)
- finished ramses_rf.
The above packet, I|22F1|000306
is not supported by ramses_rf prior to 0.42.x (specifically, the 06
on the end of the payload).
Any PR that extends support for this 06
'mode_set' (also known as a scheme), may need to:
- change the payload regex in src/ramses_tx/ramses.py
- change the payload parser in src/ramses_tx/parser.py
- change the command constructor in src/ramses_tx/command.py ... and:
- extend the tests in tests/.