Coverage for src/ramses_rf/__init__.py: 100%
14 statements
« prev ^ index » next coverage.py v7.11.3, created at 2026-01-05 21:44 +0100
« prev ^ index » next coverage.py v7.11.3, created at 2026-01-05 21:44 +0100
1#!/usr/bin/env python3
2"""RAMSES RF - a RAMSES-II protocol decoder & analyser.
3`ramses_rf` takes care of the device (upper) layer.
5Works with (amongst others):
6- evohome (up to 12 zones)
7- sundial (up to 2 zones)
8- chronotherm (CM60xNG can do 4 zones)
9- hometronics (16? zones)
10- vision pro
11"""
13from __future__ import annotations
15import logging
16from typing import TYPE_CHECKING
18from ramses_tx import Address, Command, Message, Packet # noqa: F401
20from . import exceptions # noqa: F401
21from .device import Device # noqa: F401
22from .exceptions import CommandInvalid # noqa: F401
23from .gateway import Gateway # noqa: F401
24from .version import VERSION # noqa: F401
26from .const import ( # noqa: F401, isort: skip, pylint: disable=unused-import
27 I_,
28 RP,
29 RQ,
30 W_,
31 Code,
32)
34if TYPE_CHECKING:
35 from .const import IndexT, VerbT # noqa: F401, pylint: disable=unused-import
38__all__ = [
39 "VERSION",
40 "Gateway",
41 #
42 "Address",
43 "Command",
44 "CommandInvalid",
45 "Device",
46 "Message",
47 "Packet",
48 #
49 "I_",
50 "RP",
51 "RQ",
52 "W_",
53 #
54 "Code",
55 "IndexT",
56 "VerbT",
57 #
58 "exceptions",
59 #
60 "GracefulExit",
61]
63_LOGGER = logging.getLogger(__name__)
66class GracefulExit(SystemExit):
67 code = 1