ALLOWED_PARAMSET_TYPES = ["MASTER", "VALUES"]
ALLOWED_PARAMSET_DESCRIPTION_TYPES = ALLOWED_PARAMSET_TYPES + ["LINK", "SERVICE"]
SUPPORTED_DEVICE_TYPES = [
    "HmIP-eTRV-2",
    "HmIP-eTRV-C",
    "HmIP-eTRV-C-2",
    "HmIP-FSM",
    "HmIP-MIOB",
    "HMIP-PS",
    "HMIP-PSM",
    "HmIP-RCV-1",
    "HmIP-STH",
    "HmIP-STHD",
    "HmIP-STHO",
    "HmIP-STE2-PCB",
    "HmIP-SWD",
    "HMIP-SWDO",
    "HmIP-SWSD",
    "HmIP-SWO-PL",
    "HmIP-SWO-PR",
    "HmIP-WTH-2",
    "HmIP-BSL",
    "HM-CC-RT-DN",
    "HM-Dis-EP-WM55",
    "HM-Dis-WM55",
    "HM-ES-PMSw1-Pl-DN-R5",
    "HM-ES-TX-WM",
    "HM-LC-Bl1-FM",
    "HM-LC-Dim1PWM-CV",
    "HM-LC-Dim1T-FM",
    "HM-LC-RGBW-WM",
    "HM-LC-Sw1-Pl-DN-R5",
    "HM-LC-Sw1-FM",
    "HM-LC-Sw2-FM",
    "HM-OU-CFM-Pl",
    "HM-OU-CFM-TW",
    "HM-PBI-4-FM",
    "HM-PB-2-WM55",
    "HM-PB-6-WM55",
    "HM-RC-P1",
    "HM-RC-4-2",
    "HM-RC-8",
    "HM-Sec-MDIR-2",
    "HM-Sec-SCo",
    "HM-Sec-SC-2",
    "HM-Sec-SD-2",
    "HM-Sec-TiS",
    "HM-Sen-LI-O",
    "HM-Sen-MDIR-O",
    "HM-Sen-MDIR-WM55",
    "HM-SwI-3-FM",
    "HM-TC-IT-WM-W-EU",
    "HM-WDS10-TH-O",
    "HM-WDS100-C6-O-2",
    "HM-WDS30-OT2-SM",
    "HM-WDS40-TH-I",
    "HM-WDS40-TH-I-2",
]

# A list with channel numbers for devices where getParamset
# never works, or only sometimes works (e.g. if the device sent
# no data since the last CCU reboot).
CHANNELS_WITH_ERRORS_ALLOWED = {
    "HM-ES-PMSw1-Pl-DN-R5": [1, 2],
    "HM-ES-TX-WM": [1],
    "HM-LC-Bl1-FM": [1],
    "HM-LC-Dim1PWM-CV": [1, 2, 3],
    "HM-LC-Dim1T-FM": [1],
    "HM-LC-RGBW-WM": [1, 2, 3],
    "HM-LC-Sw1-Pl-DN-R5": [1],
    "HM-LC-Sw1-FM": [1, 2],
    "HM-LC-Sw2-FM": [1, 2],
    "HM-OU-CFM-Pl": [1, 2],
    "HM-OU-CFM-TW": [1, 2],
    "HM-Sen-MDIR-O": [1],
    "HM-Sen-MDIR-WM55": [3],
    "HM-TC-IT-WM-W-EU": [7],
    "HM-WDS30-OT2-SM": [1, 2, 3, 4, 5],
}
