Files
enocean2knx-gw/enocean/enocean/protocol/constants.py
T
2026-06-21 18:42:39 +00:00

149 lines
2.6 KiB
Python

# -*- encoding: utf-8 -*-
from __future__ import print_function, unicode_literals, division, absolute_import
from enum import IntEnum
# EnOceanSerialProtocol3.pdf / 12
class PACKET(IntEnum):
RESERVED = 0x00
# RADIO == RADIO_ERP1
# Kept for backwards compatibility reasons, for example custom packet
# generation shouldn't be affected...
RADIO = 0x01
RADIO_ERP1 = 0x01
RESPONSE = 0x02
RADIO_SUB_TEL = 0x03
EVENT = 0x04
COMMON_COMMAND = 0x05
SMART_ACK_COMMAND = 0x06
REMOTE_MAN_COMMAND = 0x07
RADIO_MESSAGE = 0x09
# RADIO_ADVANCED == RADIO_ERP2
# Kept for backwards compatibility reasons
RADIO_ADVANCED = 0x0A
RADIO_ERP2 = 0x0A
RADIO_802_15_4 = 0x10
COMMAND_2_4 = 0x11
# EnOceanSerialProtocol3.pdf / 18
class RETURN_CODE(IntEnum):
OK = 0x00
ERROR = 0x01
NOT_SUPPORTED = 0x02
WRONG_PARAM = 0x03
OPERATION_DENIED = 0x04
# EnOceanSerialProtocol3.pdf / 20
class EVENT_CODE(IntEnum):
SA_RECLAIM_NOT_SUCCESFUL = 0x01
SA_CONFIRM_LEARN = 0x02
SA_LEARN_ACK = 0x03
CO_READY = 0x04
CO_EVENT_SECUREDEVICES = 0x05
# EnOcean_Equipment_Profiles_EEP_V2.61_public.pdf / 8
class RORG(IntEnum):
UNDEFINED = 0x00
RPS = 0xF6
BS1 = 0xD5
BS4 = 0xA5
VLD = 0xD2
MSC = 0xD1
ADT = 0xA6
SM_LRN_REQ = 0xC6
SM_LRN_ANS = 0xC7
SM_REC = 0xA7
SYS_EX = 0xC5
SEC = 0x30
SEC_ENCAPS = 0x31
UTE = 0xD4
# Results for message parsing
class PARSE_RESULT(IntEnum):
OK = 0x00
INCOMPLETE = 0x01
CRC_MISMATCH = 0x03
# Data byte indexing
# Starts from the end, so works on messages of all length.
class DB0(object):
BIT_0 = -1
BIT_1 = -2
BIT_2 = -3
BIT_3 = -4
BIT_4 = -5
BIT_5 = -6
BIT_6 = -7
BIT_7 = -8
class DB1(object):
BIT_0 = -9
BIT_1 = -10
BIT_2 = -11
BIT_3 = -12
BIT_4 = -13
BIT_5 = -14
BIT_6 = -15
BIT_7 = -16
class DB2(object):
BIT_0 = -17
BIT_1 = -18
BIT_2 = -19
BIT_3 = -20
BIT_4 = -21
BIT_5 = -22
BIT_6 = -23
BIT_7 = -24
class DB3(object):
BIT_0 = -25
BIT_1 = -26
BIT_2 = -27
BIT_3 = -28
BIT_4 = -29
BIT_5 = -30
BIT_6 = -31
BIT_7 = -32
class DB4(object):
BIT_0 = -33
BIT_1 = -34
BIT_2 = -35
BIT_3 = -36
BIT_4 = -37
BIT_5 = -38
BIT_6 = -39
BIT_7 = -40
class DB5(object):
BIT_0 = -41
BIT_1 = -42
BIT_2 = -43
BIT_3 = -44
BIT_4 = -45
BIT_5 = -46
BIT_6 = -47
BIT_7 = -48
class DB6(object):
BIT_0 = -49
BIT_1 = -50
BIT_2 = -51
BIT_3 = -52
BIT_4 = -53
BIT_5 = -54
BIT_6 = -55
BIT_7 = -56