1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318
|
"""Constants for Profile resources."""
from enum import IntEnum
class ResourceObjectType(IntEnum):
"""Enum class for Resource Object Types."""
OBJECT_DEVICE = 0x0000
OBJECT_ADDRESS_TABLE = 0x0001
OBJECT_ASSOCIATION_TABLE = 0x0002
OBJECT_APPLICATION_PROGRAM = 0x0003
OBJECT_INTERFACE_PROGRAM = 0x0004
OBJECT_KNX_OBJECT_ASSOCIATION_TABLE = 0x0005
OBJECT_ROUTER = 0x0006
OBJECT_LTE_ADDRESS_ROUTING_TABLE = 0x0007
OBJECT_CEMI_SERVER = 0x0008
OBJECT_GROUP_OBJECT_TABLE = 0x0009
OBJECT_POLLING_MASTER = 0x000A
OBJECT_KNXNETIP_PARAMETER = 0x000B
OBJECT_FILESERVER = 0x000D
OBJECT_E_MODE_CHANNEL = 0x000E
OBJECT_ADJUSTED_E_MODE_CHANNEL = 0x000F
OBJECT_TEXT_CATALOGUE = 0x0010
OBJECT_SECURITY = 0x0011
OBJECT_E_MODE_DEVICE = 0x0012
OBJECT_RF_MEDIUM_OBJECT = 0x0013
ResourcePropertyId = IntEnum
class ResourceGenericPropertyId(ResourcePropertyId):
"""Enum base class for Property Ids."""
PID_OBJECT_TYPE = 1 # PDT_UNSIGNED_INT
PID_OBJECT_NAME = 2 # PDT_UNSIGNED_CHAR[]
PID_SEMAPHOR = 3
PID_GROUP_OBJECT_REFERENCE = 4
PID_LOAD_STATE_CONTROL = 5 # PDT_CONTROL
PID_RUN_STATE_CONTROL = 6 # PDT_CONTROL
PID_TABLE_REFERENCE = 7 # PDT_UNSIGNED_LONG
PID_SERVICE_CONTROL = 8 # PDT_UNSIGNED_INT
PID_FIRMWARE_REVISION = 9 # PDT_UNSIGNED_CHAR
PID_SERVICES_SUPPORTED = 10
PID_SERIAL_NUMBER = 11 # PDT_GENERIC_06
PID_MANUFACTURER_ID = 12 # PDT_UNSIGNED_INT
PID_PROGRAM_VERSION = 13 # PDT_GENERIC_05
PID_DEVICE_CONTROL = 14 # PDT_BITSET8/PDT_GENERIC_01
PID_ORDER_INFO = 15 # PDT_GENERIC_10
PID_PEI_TYPE = 16 # PDT_UNSIGNED_CHAR
PID_PORT_CONFIGURATION = 17 # PDT_UNSIGNED_CHAR
PID_POLL_GROUP_SETTINGS = 18 # PDT_POLL_GROUP_SETTINGS
PID_MANUFACTURER_DATA = 19 # PDT_GENERIC_04
PID_ENABLE = 20
PID_DESCRIPTION = 21 # PDT_UNSIGNED_CHAR[]
PID_TABLE = 23
PID_ENROL = 24 # PDT_FUNCTION
PID_VERSION = 25 # PDT_VERSION/PDT_GENERIC_02
PID_GROUP_OBJECT_LINK = 26 # PDT_FUNCTION
PID_MCB_TABLE = 27 # PDT_GENERIC_08[]
PID_ERROR_CODE = 28 # PDT_ENUM8/PDT_UNSIGNED_CHAR
PID_OBJECT_INDEX = 29 # PDT_UNSIGNED_CHAR
PID_DOWNLOAD_COUNTER = 30 # PDT_UNSIGNED_INT
class ResourceDevicePropertyId(ResourcePropertyId):
"""Extended class for Device Object (Type 0) Property Ids."""
PID_ROUTING_COUNT = 51 # PDT_UNSIGNED_CHAR
PID_MAX_RETRY_COUNT = 52 # PDT_GENERIC_01
PID_ERROR_FLAGS = 53 # PDT_UNSIGNED_CHAR
PID_PROGMODE = 54 # PDT_GENERIC_01
PID_PRODUCT_ID = 55 # PDT_GENERIC_10
PID_MAX_APDU_LENGTH = 56 # PDT_UNSIGNED_INT
PID_SUBNET_ADDR = 57 # PDT_UNSIGNED_CHAR
PID_DEVICE_ADDR = 58 # PDT_UNSIGNED_CHAR
PID_PB_CONFIG = 59 # PDT_GENERIC_04
PID_ADDR_REPORT = 60 # PDT_GENERIC_06
PID_ADDR_CHECK = 61 # PDT_GENERIC_01
PID_OBJECT_VALUE = 62 # PDT_FUNCTION
PID_OBJECTLINK = 63 # PDT_FUNCTION
PID_APPLICATION = 64 # PDT_FUNCTION
PID_PARAMETER = 65 # PDT_FUNCTION
PID_OBJECTADDRESS = 66 # PDT_FUNCTION
PID_PSU_TYPE = 67 # PDT_UNSIGNED_INT
PID_PSU_STATUS = 68 # PDT_BINARY_INFORMATION
PID_PSU_ENABLE = 69 # PDT_ENUM8
PID_DOMAIN_ADDRESS = 70 # PDT_UNSIGNED_INT
PID_IO_LIST = 71 # PDT_UNSIGNED_INT
PID_MGT_DESCRIPTOR_01 = 72 # PDT_GENERIC_10
PID_PL110_PARAM = 73 # PDT_GENERIC_01
PID_RF_REPEAT_COUNTER = 74 # PDT_UNSIGNED_CHAR
PID_RECEIVE_BLOCK_TABLE = 75 # PDT_UNSIGNED_CHAR[16]
PID_RANDOM_PAUSE_TABLE = 76 # PDT_UNSIGNED_CHAR[12]
PID_RECEIVE_BLOCK_NR = 77 # PDT_UNSIGNED_CHAR
PID_HARDWARE_TYPE = 78 # PDT_GENERIC_06
PID_RETRANSMITTER_NUMBER = 79 # PDT_UNSIGNED_CHAR
PID_SERIAL_NR_TABLE = 80 # PDT_GENERIC_06[]
PID_BIBAT_MASTER_ADDRESS = 81 # PDT_UNSIGNED_INT
PID_RF_DOMAIN_ADDRESS = 82 # PDT_GENERIC_06
PID_DEVICE_DESCRIPTOR = 83 # PDT_GENERIC_02
PID_METERING_FILTER_TABLE = 84 # PDT_GENERIC_08[]
PID_GROUP_TELEGR_RATE_LIMIT_TIME_BASE = 85 # PDT_UNSIGNED_INT
PID_GROUP_TELEGR_RATE_LIMIT_NO_OF_TELEGR = 86 # PDT_UNSIGNED_INT
PID_FEATURES_SUPPORTED = 89 # PDT_GENERIC_10
PID_CHANNEL_01_PARAM = 101 # PDT_GENERIC_01[]
PID_CHANNEL_02_PARAM = 102 # PDT_GENERIC_01[]
PID_CHANNEL_03_PARAM = 103 # PDT_GENERIC_01[]
PID_CHANNEL_04_PARAM = 104 # PDT_GENERIC_01[]
PID_CHANNEL_05_PARAM = 105 # PDT_GENERIC_01[]
PID_CHANNEL_06_PARAM = 106 # PDT_GENERIC_01[]
PID_CHANNEL_07_PARAM = 107 # PDT_GENERIC_01[]
PID_CHANNEL_08_PARAM = 108 # PDT_GENERIC_01[]
PID_CHANNEL_09_PARAM = 109 # PDT_GENERIC_01[]
PID_CHANNEL_10_PARAM = 110 # PDT_GENERIC_01[]
PID_CHANNEL_11_PARAM = 111 # PDT_GENERIC_01[]
PID_CHANNEL_12_PARAM = 112 # PDT_GENERIC_01[]
PID_CHANNEL_13_PARAM = 113 # PDT_GENERIC_01[]
PID_CHANNEL_14_PARAM = 114 # PDT_GENERIC_01[]
PID_CHANNEL_15_PARAM = 115 # PDT_GENERIC_01[]
PID_CHANNEL_16_PARAM = 116 # PDT_GENERIC_01[]
PID_CHANNEL_17_PARAM = 117 # PDT_GENERIC_01[]
PID_CHANNEL_18_PARAM = 118 # PDT_GENERIC_01[]
PID_CHANNEL_19_PARAM = 119 # PDT_GENERIC_01[]
PID_CHANNEL_20_PARAM = 120 # PDT_GENERIC_01[]
PID_CHANNEL_21_PARAM = 121 # PDT_GENERIC_01[]
PID_CHANNEL_22_PARAM = 122 # PDT_GENERIC_01[]
PID_CHANNEL_23_PARAM = 123 # PDT_GENERIC_01[]
PID_CHANNEL_24_PARAM = 124 # PDT_GENERIC_01[]
PID_CHANNEL_25_PARAM = 125 # PDT_GENERIC_01[]
PID_CHANNEL_26_PARAM = 126 # PDT_GENERIC_01[]
PID_CHANNEL_27_PARAM = 127 # PDT_GENERIC_01[]
PID_CHANNEL_28_PARAM = 128 # PDT_GENERIC_01[]
PID_CHANNEL_29_PARAM = 129 # PDT_GENERIC_01[]
PID_CHANNEL_30_PARAM = 130 # PDT_GENERIC_01[]
PID_CHANNEL_31_PARAM = 131 # PDT_GENERIC_01[]
PID_CHANNEL_32_PARAM = 132 # PDT_GENERIC_01[]
class ResourceProgramPropertyId(ResourcePropertyId):
"""Extended class for Program Object (Type 3 & 4) Property Ids."""
PID_OPERATION_MODE = 51 # PDT_FUNCTION/PDT_VARIABLE_LENGTH
class ResourceRouterPropertyId(ResourcePropertyId):
"""Extended class for Router Object (Type 6) Property Ids."""
PID_MEDIUM_STATUS = 51 # PDT_GENERIC_01
PID_MAIN_LCCONFIG = 52
PID_SUB_LCCONFIG = 53
PID_MAIN_LCGRPCONFIG = 54
PID_SUB_LCGRPCONFIG = 55
PID_ROUTETABLE_CONTROL = 56
PID_COUPL_SERV_CONTROL = 57
PID_MAX_APDU_LENGTH_ROUTER = 58 # PDT_UNSIGNED_INT
PID_L2_COUPLER_TYPE = 59 # PDT_BITSET8
PID_HOP_COUNT = 61 # PDT_UNSIGNED_INT
PID_MEDIUM = 63 # PDT_ENUM8
PID_FILTER_TABLE_USE = 67 # PDT_BINARY_INFORMATION
PID_PL110_SBC_CONTROL = 104 # PDT_FUNCTION
PID_RF_SBC_CONTROL = 112 # PDT_FUNCTION
PID_IP_SBC_CONTROL = 120 # PDT_FUNCTION
class ResourceLTERoutingTablePropertyId(ResourcePropertyId):
"""Extended class for LTE Address Routing Table Object (Object Type 7) Property Ids."""
PID_LTE_ROUTESELECT = 51
PID_LTE_ROUTETABLE = 52 # PDT_GENERIC_05
class ResourceCEMIServerPropertyId(ResourcePropertyId):
"""Extended class for cEMI Server Object (Object Type 8) Property Ids."""
PID_MEDIUM_TYPE = 51 # PDT_BITSET16
PID_COMM_MODE = 52 # PDT_ENUM8
PID_MEDIUM_AVAILABILITY = 53 # PDT_BITSET16
PID_ADD_INFO_TYPES = 54 # PDT_ENUM8[]
PID_TIME_BASE = 55 # PDT_UNSIGNED_INT
PID_TRANSP_ENABLE = 56 # PDT_BINARY_INFORMATION
PID_CEMI_SERVER_DEVICE_ADDRESS = 58 # PDT_UNSIGNED_CHAR
PID_BIBAT_NEXTBLOCK = 59 # PDT_UNSIGNED_CHAR
PID_RF_MODE_SELECT = 60 # PDT_ENUM8/PDT_UNSIGNED_CHAR
PID_RF_MODE_SUPPORT = 61 # PDT_BITSET8/PDT_GENERIC_01
PID_RF_FILTERING_MODE_SELECT = 62 # PDT_ENUM8/PDT_UNSIGNED_CHAR
PID_RF_FILTERING_MODE_SUPPORT = 63 # PDT_BITSET8/PDT_GENERIC_01
PID_COMM_MODES_SUPPORTED = 64 # PDT_BITSET16
PID_FILTERING_MODE_SUPPORT = 65 # PDT_BITSET16/PDT_GENERIC_02
PID_FILTERING_MODE_SELECT = 66 # PDT_BITSET16/PDT_GENERIC_02
PID_MAX_INTERFACE_APDU_LENGTH = 68 # PDT_UNSIGNED_INT
PID_MAX_LOCAL_APDU_LENGTH = 69 # PDT_UNSIGNED_INT
class ResourceGroupObjectTablePropertyId(ResourcePropertyId):
"""Extended class for Group Object Table Object (Object Type 9) Property Ids."""
PID_GO_DIAGNOSTICS = 66 # PDT_FUNCTION
class ResourcePollingMasterInterfacePropertyId(ResourcePropertyId):
"""Extended class for Polling Master Interface Object (Object Type 10) Property Ids."""
PID_POLLING_STATE = 51
PID_POLLING_SLAVE_ADDR = 52
PID_POLL_CYCLE = 53
class ResourceKNXNETIPPropertyId(ResourcePropertyId):
"""Extended class for KNXNet/IP Object (Object Type 11) Property Ids."""
PID_PROJECT_INSTALLATION_ID = 51 # PDT_UNSIGNED_INT
PID_KNX_INDIVIDUAL_ADDRESS = 52 # PDT_UNSIGNED_INT
PID_ADDITIONAL_INDIVIDUAL_ADDRESSES = 53 # PDT_UNSIGNED_INT[]
PID_CURRENT_IP_ASSIGNMENT_METHOD = 54 # PDT_UNSIGNED_CHAR
PID_IP_ASSIGNMENT_METHOD = 55 # PDT_UNSIGNED_CHAR
PID_IP_CAPABILITIES = 56 # PDT_BITSET8
PID_CURRENT_IP_ADDRESS = 57 # PDT_UNSIGNED_LONG
PID_CURRENT_SUBNET_MASK = 58 # PDT_UNSIGNED_LONG
PID_CURRENT_DEFAULT_GATEWAY = 59 # PDT_UNSIGNED_LONG
PID_IP_ADDRESS = 60 # PDT_UNSIGNED_LONG
PID_SUBNET_MASK = 61 # PDT_UNSIGNED_LONG
PID_DEFAULT_GATEWAY = 62 # PDT_UNSIGNED_LONG
PID_DHCP_BOOTP_SERVER = 63 # PDT_UNSIGNED_LONG
PID_MAC_ADDRESS = 64 # PDT_GENERIC_06
PID_SYSTEM_SETUP_MULTICAST_ADDRESS = 65 # PDT_UNSIGNED_LONG
PID_ROUTING_MULTICAST_ADDRESS = 66 # PDT_UNSIGNED_LONG
PID_TTL = 67 # PDT_UNSIGNED_CHAR
PID_KNXNETIP_DEVICE_CAPABILITIES = 68 # PDT_BITSET16
PID_KNXNETIP_DEVICE_STATE = 69 # PDT_UNSIGNED_CHAR
PID_KNXNETIP_ROUTING_CAPABILITIES = 70 # PDT_UNSIGNED_CHAR
PID_PRIORITY_FIFO_ENABLED = 71 # PDT_BINARY_INFORMATION
PID_QUEUE_OVERFLOW_TO_IP = 72 # PDT_UNSIGNED_INT
PID_QUEUE_OVERFLOW_TO_KNX = 73 # PDT_UNSIGNED_INT
PID_MSG_TRANSMIT_TO_IP = 74 # PDT_UNSIGNED_LONG
PID_MSG_TRANSMIT_TO_KNX = 75 # PDT_UNSIGNED_LONG
PID_FRIENDLY_NAME = 76 # PDT_UNSIGNED_CHAR[30]
PID_ROUTING_BUSY_WAIT_TIME = 78 # PDT_UNSIGNED_INT
PID_TUNNELLING_ADDRESSES = 79 # PDT_UNSIGNED_CHAR[]
class ResourceEModeChannelPropertyId(ResourcePropertyId):
"""Extended class for E-Mode Channel Object (Object Type 14 & 15) Property Ids."""
PID_CHAN_NUMBER = 51 # PDT_UNSIGNED_INT
PID_CHAN_CODE = 52 # PDT_UNSIGNED_INT
PID_CHAN_FLAGS = 53 # PDT_GENERIC_02
PID_CHAN_FB_LIST = 54 # PDT_UNSIGNED_INT[]
PID_CHAN_ADJ_LISTS = 55 # PDT_UNSIGNED_CHAR[]
PID_GO_CCODES_LIST = 61 # PDT_GENERIC_08[]
PID_GO_CFLAGS_LIST = 62 # PDT_BITSET16[]
PID_OBJECTLINK = 63 # PDT_FUNCTION
PID_GO_SUBUNIT = 64 # PDT_UNSIGNED_CHAR[]
PID_GO_NAME_LIST = 65 # PDT_GENERIC_10[]/PDT_REFERENCE[]
PID_GO_DIAGNOSTICS = 66 # PDT_FUNCTION
PID_PARAM_TYPES = 70 # PDT_GENERIC_10[]
PID_PARAM_FLAGS = 71 # PDT_BITSET16[]
PID_PARAM_NAMES = 72 # PDT_GENERIC_10[]/PDT_REFERENCE[]
PID_PARAM_UNITS = 73 # PDT_GENERIC_10[]/PDT_REFERENCE[]
PID_PARAM_VALUES = (
79 # PDT_GENERIC_01[]/PDT_GENERIC_02[]/PDT_GENERIC_04[]/PDT_GENERIC_010[]
)
class ResourceTextCataloguePropertyId(ResourcePropertyId):
"""Extended class for Text Catalogue Object (Object Type 16) Property Ids."""
PID_LOCALE_LIST = 51 # PDT_GENERIC_04[]
PID_LOCALE_SELECTION = 52 # PDT_GENERIC_04
PID_ACTIVE_LOCALE = 53 # PDT_GENERIC_04
# PID_STRING_001 to PID_STRING_141 is [60-200]
PID_STRING_001 = 60 # PDT_UTF_8
class ResourceSecureInterfacePropertyId(ResourcePropertyId):
"""Extended class for Secure Interface Object (Object Type 17) Property Ids."""
PID_SECURITY_MODE = 51 # PDT_FUNCTION
PID_P2P_KEY_TABLE = 52 # PDT_GENERIC_20[]
PID_GRP_KEY_TABLE = 53 # PDT_GENERIC_18[]
PID_SECURITY_INDIVIDUAL_ADDRESS_TABLE = 54 # PDT_GENERIC_08[]
PID_SECURITY_FAILURES_LOG = 55 # PDT_FUNCTION
PID_TOOL_KEY = 56 # PDT_GENERIC_16
PID_SECURITY_REPORT = 57 # PDT_BITSET8
PID_SECURITY_REPORT_CONTROL = 58 # PDT_BINARY_INFORMATION
PID_SEQUENCE_NUMBER_SENDING = 59 # PDT_GENERIC_06
PID_ZONE_KEY_TABLE = 60 # PDT_GENERIC_19[]
PID_GO_SECURITY_FLAGS = 61 # PDT_GENERIC_01[]
class ResourceEModeDevicePropertyId(ResourcePropertyId):
"""Extended class for E-Mode Device Object (Object Type 18) Property Ids."""
PID_LOCALISATION_MODE = 60 # PDT_BINARY_INFORMATION/PDT_UNSIGNED_CHAR
PID_LOCALISATION_REPORT = 61 # PDT_UNSIGNED_INT
PID_LOCALISATION_COMMAND = 62 # PDT_GENERIC_03
class ResourceRFMediumPropertyId(ResourcePropertyId):
"""Extended class for RF Medium Object (Object Type 19) Property Ids."""
PID_RF_MULTI_TYPE = 51 # PDT_BITSET8
PID_RF_MULTI_PHYSICAL_FEATURES = 52 # PDT_BITSET8
PID_RF_MULTI_CALL_CHANNEL = 53 # PDT_GENERIC_01
PID_RF_MULTI_OBJECT_LINK = 54 # PDT_FUNCTION
PID_RF_MULTI_EXT_GA_REPEATED = 55 # PDT_FUNCTION
PID_RF_RETRANSMITTER = 57 # PDT_BINARY_INFORMATION
PID_RF_BIDIR_TIMEOUT = 60 # PDT_FUNCTION
PID_RF_DIAG_SA_FILTER_TABLE = 61 # PDT_GENERIC_03[]
PID_RF_DIAG_QUALITY_TABLE = 62 # PDT_GENERIC_04[]
PID_RF_DIAG_PROBE = 63 # PDT_FUNCTION
PID_TRANSMISSION_MODE = 70 # PDT_ENUM8
PID_RECEPTION_MODE = 71 # PDT_ENUM8
PID_TEST_SIGNAL = 72 # PDT_GENERIC_02
PID_FAST_ACK = 73 # PDT_GENERIC_02[]
PID_FAST_ACK_ACTIVATE = 74 # PDT_BINARY_INFORMATION
PID_RF_TYPES_SUPPORTED = 75 # PDT_BITSET8/PDT_GENERIC_01
|