ramses-rf 0.22.40__py3-none-any.whl → 0.51.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ramses_cli/__init__.py +18 -0
- ramses_cli/client.py +597 -0
- ramses_cli/debug.py +20 -0
- ramses_cli/discovery.py +405 -0
- ramses_cli/utils/cat_slow.py +17 -0
- ramses_cli/utils/convert.py +60 -0
- ramses_rf/__init__.py +31 -10
- ramses_rf/binding_fsm.py +787 -0
- ramses_rf/const.py +124 -105
- ramses_rf/database.py +297 -0
- ramses_rf/device/__init__.py +69 -39
- ramses_rf/device/base.py +187 -376
- ramses_rf/device/heat.py +540 -552
- ramses_rf/device/hvac.py +279 -171
- ramses_rf/dispatcher.py +153 -177
- ramses_rf/entity_base.py +478 -361
- ramses_rf/exceptions.py +82 -0
- ramses_rf/gateway.py +377 -513
- ramses_rf/helpers.py +57 -19
- ramses_rf/py.typed +0 -0
- ramses_rf/schemas.py +148 -194
- ramses_rf/system/__init__.py +16 -23
- ramses_rf/system/faultlog.py +363 -0
- ramses_rf/system/heat.py +295 -302
- ramses_rf/system/schedule.py +312 -198
- ramses_rf/system/zones.py +318 -238
- ramses_rf/version.py +2 -8
- ramses_rf-0.51.2.dist-info/METADATA +72 -0
- ramses_rf-0.51.2.dist-info/RECORD +55 -0
- {ramses_rf-0.22.40.dist-info → ramses_rf-0.51.2.dist-info}/WHEEL +1 -2
- ramses_rf-0.51.2.dist-info/entry_points.txt +2 -0
- {ramses_rf-0.22.40.dist-info → ramses_rf-0.51.2.dist-info/licenses}/LICENSE +1 -1
- ramses_tx/__init__.py +160 -0
- {ramses_rf/protocol → ramses_tx}/address.py +65 -59
- ramses_tx/command.py +1454 -0
- ramses_tx/const.py +903 -0
- ramses_tx/exceptions.py +92 -0
- {ramses_rf/protocol → ramses_tx}/fingerprints.py +56 -15
- {ramses_rf/protocol → ramses_tx}/frame.py +132 -131
- ramses_tx/gateway.py +338 -0
- ramses_tx/helpers.py +883 -0
- {ramses_rf/protocol → ramses_tx}/logger.py +67 -53
- {ramses_rf/protocol → ramses_tx}/message.py +155 -191
- ramses_tx/opentherm.py +1260 -0
- ramses_tx/packet.py +210 -0
- {ramses_rf/protocol → ramses_tx}/parsers.py +1266 -1003
- ramses_tx/protocol.py +801 -0
- ramses_tx/protocol_fsm.py +672 -0
- ramses_tx/py.typed +0 -0
- {ramses_rf/protocol → ramses_tx}/ramses.py +262 -185
- {ramses_rf/protocol → ramses_tx}/schemas.py +150 -133
- ramses_tx/transport.py +1471 -0
- ramses_tx/typed_dicts.py +492 -0
- ramses_tx/typing.py +181 -0
- ramses_tx/version.py +4 -0
- ramses_rf/discovery.py +0 -398
- ramses_rf/protocol/__init__.py +0 -59
- ramses_rf/protocol/backports.py +0 -42
- ramses_rf/protocol/command.py +0 -1576
- ramses_rf/protocol/const.py +0 -697
- ramses_rf/protocol/exceptions.py +0 -111
- ramses_rf/protocol/helpers.py +0 -390
- ramses_rf/protocol/opentherm.py +0 -1170
- ramses_rf/protocol/packet.py +0 -235
- ramses_rf/protocol/protocol.py +0 -613
- ramses_rf/protocol/transport.py +0 -1011
- ramses_rf/protocol/version.py +0 -10
- ramses_rf/system/hvac.py +0 -82
- ramses_rf-0.22.40.dist-info/METADATA +0 -64
- ramses_rf-0.22.40.dist-info/RECORD +0 -42
- ramses_rf-0.22.40.dist-info/top_level.txt +0 -1
ramses_rf/exceptions.py
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""RAMSES RF - exceptions above the packet/protocol/transport layer."""
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
|
|
6
|
+
from ramses_tx.exceptions import (
|
|
7
|
+
PacketAddrSetInvalid as PacketAddrSetInvalid,
|
|
8
|
+
PacketInvalid as PacketInvalid,
|
|
9
|
+
PacketPayloadInvalid as PacketPayloadInvalid,
|
|
10
|
+
ProtocolError as ProtocolError,
|
|
11
|
+
RamsesException as RamsesException,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class _RamsesUpperError(RamsesException):
|
|
16
|
+
"""A failure in the upper layer (state/schema, gateway, bindings, schedule)."""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
########################################################################################
|
|
20
|
+
# Errors above the protocol/transport layer, incl. message processing, state & schema
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class BindingError(_RamsesUpperError):
|
|
24
|
+
"""An error occurred when binding."""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class BindingFsmError(BindingError):
|
|
28
|
+
"""The binding FSM was/became inconsistent (this shouldn't happen)."""
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class BindingFlowFailed(BindingError):
|
|
32
|
+
"""The binding failed due to a timeout or retry limit being exceeded."""
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
########################################################################################
|
|
36
|
+
# Errors above the protocol/transport layer, incl. message processing, state & schema
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class ScheduleError(_RamsesUpperError):
|
|
40
|
+
"""An error occurred when getting/setting a schedule."""
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class ScheduleFsmError(ScheduleError):
|
|
44
|
+
"""The schedule FSM was/became inconsistent (this shouldn't happen)."""
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class ScheduleFlowError(ScheduleError):
|
|
48
|
+
"""The get/set schedule failed due to a timeout or retry limit being exceeded."""
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
########################################################################################
|
|
52
|
+
# Errors above the protocol/transport layer, incl. message processing, state & schema
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class ExpiredCallbackError(_RamsesUpperError):
|
|
56
|
+
"""Raised when the callback has expired."""
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class SystemInconsistent(_RamsesUpperError):
|
|
60
|
+
"""Base class for exceptions in this module."""
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class SystemSchemaInconsistent(SystemInconsistent):
|
|
64
|
+
"""Raised when the system state (usu. schema) is inconsistent."""
|
|
65
|
+
|
|
66
|
+
HINT = "try restarting the client library"
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
class DeviceNotFaked(SystemInconsistent):
|
|
70
|
+
"""Raised when the device does not have faking enabled."""
|
|
71
|
+
|
|
72
|
+
HINT = "faking is configured in the known_list"
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
class ForeignGatewayError(_RamsesUpperError):
|
|
76
|
+
"""Raised when a foreign gateway is detected.
|
|
77
|
+
|
|
78
|
+
These devices may not be gateways (set a class), or belong to a neighbour (exclude
|
|
79
|
+
via block_list/known_list), or should be allowed (known_list).
|
|
80
|
+
"""
|
|
81
|
+
|
|
82
|
+
HINT = "consider enforcing a known_list"
|