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

1#!/usr/bin/env python3 

2"""RAMSES RF - a RAMSES-II protocol decoder & analyser. 

3`ramses_rf` takes care of the device (upper) layer. 

4 

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""" 

12 

13from __future__ import annotations 

14 

15import logging 

16from typing import TYPE_CHECKING 

17 

18from ramses_tx import Address, Command, Message, Packet # noqa: F401 

19 

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 

25 

26from .const import ( # noqa: F401, isort: skip, pylint: disable=unused-import 

27 I_, 

28 RP, 

29 RQ, 

30 W_, 

31 Code, 

32) 

33 

34if TYPE_CHECKING: 

35 from .const import IndexT, VerbT # noqa: F401, pylint: disable=unused-import 

36 

37 

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] 

62 

63_LOGGER = logging.getLogger(__name__) 

64 

65 

66class GracefulExit(SystemExit): 

67 code = 1