from typing import Any

INFO_DATA_RAW: dict[str, Any] = {
    "name": "DALI-2 Display",
    "version": "v1.14.1/1.4.3",
    "tier": "plus",
    "emergencyLight": False,
    "nodeRed": False,
    "errors": {},
    "descriptor": {
        "lines": 1,
        "bufferSize": 32,
        "tickResolution": 1978,
        "maxYnFrameSize": 32,
        "implementedMacros": [
            132,
            134,
            138,
            140,
            144,
            146,
            148,
            150,
            158,
            164,
            184,
            186,
        ],
        "deviceListSpecifier": 1,
        "protocolVersionMajor": 1,
        "protocolVersionMinor": 6,
        "powerSupplyImplemented": False,
    },
    "device": {
        "serial": 1234,
        "gtin": 9010342013577,
        "pcb": "9a",
        "articleNumber": 86456841,
        "articleInfo": "",
        "productionYear": 2021,
        "productionWeek": 31,
        "deviceType": 67,
    },
    "lines": {
        "0": {
            "sendBlockedInitialize": False,
            "sendBlockedQuiescent": False,
            "sendBlockedMacroRunning": False,
            "sendBufferFull": False,
            "lineStatus": "ok",
            "device": {
                "serial": 1234,
                "gtin": 9010342013577,
                "pcb": "9a",
                "articleNumber": 86456841,
                "articleInfo": "",
                "productionYear": 2021,
                "productionWeek": 31,
                "deviceType": 67,
            },
        }
    },
}
DEVICES_DATA_RAW: dict[str, Any] = {
    "devices": [
        {
            "id": 1,
            "name": "Test Device 1",
            "type": "default",
            "features": {
                "switchable": {"status": True},
                "dimmable": {"status": 0},
                "dimmableWithFade": {"status": {"dimValue": 0, "fadeTime": 1}},
                "scene": True,
                "sceneWithFade": {"status": {"fadeTime": 1}},
                "gotoLastActive": {},
                "gotoLastActiveWithFade": {"status": {"fadeTime": 1}},
                "daliCmd16": True,
                "fadeTime": {"status": 1},
                "fadeRate": {"status": 63.3},
                "saveToScene": True,
                "colorRGB": {"status": {"r": 1, "g": 1, "b": 1}},
                "colorRGBWithFade": {
                    "status": {"color": {"r": 1, "g": 1, "b": 1}, "fadeTime": 1}
                },
                "colorWAF": {"status": {"w": 1, "a": 1, "f": 1}},
                "colorWAFWithFade": {
                    "status": {"color": {"w": 1, "a": 1, "f": 1}, "fadeTime": 1}
                },
                "colorKelvin": {"status": 2700},
                "colorKelvinWithFade": {"status": {"color": 2700, "fadeTime": 1}},
                "colorXY": {"status": {"x": 0, "y": 0}},
                "colorXYWithFade": {
                    "status": {"color": {"x": 0, "y": 0}, "fadeTime": 1}
                },
            },
            "scenes": [],
            "groups": [],
            "address": 0,
            "line": 0,
            "daliTypes": [],
        },
        {
            "id": 2,
            "name": "Test Device 2",
            "type": "default",
            "features": {
                "switchable": {"status": False},
                "dimmable": {"status": 0},
                "dimmableWithFade": {"status": {"dimValue": 0, "fadeTime": 1}},
                "scene": True,
                "sceneWithFade": {"status": {"fadeTime": 1}},
                "gotoLastActive": {},
                "gotoLastActiveWithFade": {"status": {"fadeTime": 1}},
                "daliCmd16": True,
                "fadeTime": {"status": 1},
                "fadeRate": {"status": 63.3},
                "saveToScene": True,
                "colorRGB": {"status": {"r": 1, "g": 1, "b": 1}},
                "colorRGBWithFade": {
                    "status": {"color": {"r": 1, "g": 1, "b": 1}, "fadeTime": 1}
                },
                "colorWAF": {"status": {"w": 1, "a": 1, "f": 1}},
                "colorWAFWithFade": {
                    "status": {"color": {"w": 1, "a": 1, "f": 1}, "fadeTime": 1}
                },
                "colorKelvin": {"status": 2700},
                "colorKelvinWithFade": {"status": {"color": 2700, "fadeTime": 1}},
                "colorXY": {"status": {"x": 0, "y": 0}},
                "colorXYWithFade": {
                    "status": {"color": {"x": 0, "y": 0}, "fadeTime": 1}
                },
            },
            "scenes": [],
            "groups": [],
            "address": 1,
            "line": 0,
            "daliTypes": [],
        },
    ],
    "timeSignature": {"timestamp": 946688334.0687395, "counter": 2028},
}
SENSORS_DATA_RAW: dict[str, Any] = {
    "sensors": [
        {
            "id": 0,
            "name": "Temperature Sensor",
            "unit": "°C",
            "type": "temperature",
            "value": 26.5,
            "timestamp": "2000-01-01T05:32:08.487680",
            "addressType": "internal",
            "daliSensorAddress": None,
        },
        {
            "id": 1,
            "name": "CPU temperature",
            "unit": "°C",
            "type": "temperature",
            "value": 0,
            "timestamp": "0001-01-01T00:00:00",
            "addressType": "internal",
            "daliSensorAddress": None,
        },
        {
            "id": 2,
            "name": "Air humidity",
            "unit": "%",
            "type": "airHumidity",
            "value": 66,
            "timestamp": "2000-01-01T05:18:32.452098",
            "addressType": "internal",
            "daliSensorAddress": None,
        },
        {
            "id": 3,
            "name": "Air pressure",
            "unit": "hPa",
            "type": "airPressure",
            "value": 986.5,
            "timestamp": "2000-01-01T05:31:32.673799",
            "addressType": "internal",
            "daliSensorAddress": None,
        },
        {
            "id": 4,
            "name": "eCO2",
            "unit": "ppm",
            "type": "eCO2",
            "value": 3281.1000000000004,
            "timestamp": "2000-01-01T05:33:56.684759",
            "addressType": "internal",
            "daliSensorAddress": None,
        },
        {
            "id": 5,
            "name": "VOC",
            "unit": "ppb",
            "type": "VOC",
            "value": 0,
            "timestamp": "0001-01-01T00:00:00",
            "addressType": "internal",
            "daliSensorAddress": None,
        },
        {
            "id": 6,
            "name": "Air quality",
            "unit": "AQI",
            "type": "airQuality",
            "value": 328,
            "timestamp": "2000-01-01T05:33:56.611870",
            "addressType": "internal",
            "daliSensorAddress": None,
        },
    ]
}
ZONES_DATA_RAW = {
    "zones": [
        {
            "id": 1,
            "name": "DALI broadcast on lines 0-3",
            "targets": [
                {"type": "broadcast", "id": 0},
                {"type": "broadcast", "id": 1},
                {"type": "broadcast", "id": 2},
                {"type": "broadcast", "id": 3},
            ],
            "features": {
                "switchable": {"status": False},
                "dimmable": {"status": 0},
                "dimUp": True,
                "dimDown": True,
                "scene": True,
                "gotoLastActive": {},
                "daliCmd16": True,
                "saveToScene": True,
                "colorRGB": {"status": {"r": 1, "g": 1, "b": 1}},
                "dimmableRGB": {"status": {"r": 1, "g": 1, "b": 1, "dimmable": 0}},
                "colorWAF": {"status": {"w": 1, "a": 1, "f": 1}},
                "dimmableWAF": {"status": {"w": 1, "a": 1, "f": 1, "dimmable": 0}},
                "colorXY": {"status": {"x": 1, "y": 1}},
                "dimmableXY": {"status": {"x": 1, "y": 1, "dimmable": 0}},
            },
        },
        {
            "id": 2,
            "name": "group 0",
            "targets": [{"type": "group", "id": 0}],
            "features": {
                "switchable": {"status": False},
                "dimmable": {"status": 0},
                "dimmableWithFade": {"status": {"dimValue": 0, "fadeTime": 1}},
                "dimUp": True,
                "dimDown": True,
                "scene": True,
                "sceneWithFade": {"status": {"fadeTime": 1}},
                "gotoLastActive": {},
                "gotoLastActiveWithFade": {"status": {"fadeTime": 1}},
                "daliCmd16": True,
                "fadeTime": {"status": 1},
                "fadeRate": {"status": 22.4},
                "saveToScene": True,
                "colorRGB": {"status": {"r": 1, "g": 1, "b": 1}},
                "dimmableRGB": {"status": {"r": 1, "g": 1, "b": 1, "dimmable": 0}},
                "colorRGBWithFade": {
                    "status": {"color": {"r": 1, "g": 1, "b": 1}, "fadeTime": 1}
                },
                "colorWAF": {"status": {"w": 1, "a": 1, "f": 1}},
                "dimmableWAF": {"status": {"w": 1, "a": 1, "f": 1, "dimmable": 0}},
                "colorWAFWithFade": {
                    "status": {"color": {"w": 1, "a": 1, "f": 1}, "fadeTime": 1}
                },
                "colorKelvin": {"status": 4000},
                "dimmableKelvin": {"status": {"dimmable": 0, "kelvin": 4000}},
                "colorKelvinWithFade": {"status": {"color": 4000, "fadeTime": 1}},
                "colorXY": {"status": {"x": 1, "y": 1}},
                "dimmableXY": {"status": {"x": 1, "y": 1, "dimmable": 0}},
                "colorXYWithFade": {
                    "status": {"color": {"x": 1, "y": 1}, "fadeTime": 1}
                },
            },
        },
        {
            "id": 3,
            "name": "group 1",
            "targets": [{"type": "group", "id": 1}],
            "features": {
                "switchable": {"status": False},
                "dimmable": {"status": 0},
                "dimUp": True,
                "dimDown": True,
                "scene": True,
                "gotoLastActive": {},
                "daliCmd16": True,
                "saveToScene": True,
                "colorRGB": {"status": {"r": 1, "g": 1, "b": 1}},
                "dimmableRGB": {"status": {"r": 1, "g": 1, "b": 1, "dimmable": 0}},
                "colorWAF": {"status": {"w": 1, "a": 1, "f": 1}},
                "dimmableWAF": {"status": {"w": 1, "a": 1, "f": 1, "dimmable": 0}},
                "colorKelvin": {"status": 2700},
                "dimmableKelvin": {"status": {"dimmable": 0, "kelvin": 2700}},
                "colorXY": {"status": {"x": 1, "y": 1}},
                "dimmableXY": {"status": {"x": 1, "y": 1, "dimmable": 0}},
            },
        },
        {
            "id": 4,
            "name": "group 2",
            "targets": [{"type": "group", "id": 2}],
            "features": {
                "switchable": {"status": False},
                "dimmable": {"status": 0},
                "dimmableWithFade": {"status": {"dimValue": 0, "fadeTime": 0.7}},
                "dimUp": True,
                "dimDown": True,
                "scene": True,
                "sceneWithFade": {"status": {"fadeTime": 0.7}},
                "gotoLastActive": {},
                "gotoLastActiveWithFade": {"status": {"fadeTime": 0.7}},
                "daliCmd16": True,
                "fadeTime": {"status": 0.7},
                "fadeRate": {"status": 44.7},
                "saveToScene": True,
                "colorRGB": {"status": {"r": 1, "g": 1, "b": 1}},
                "dimmableRGB": {"status": {"r": 1, "g": 1, "b": 1, "dimmable": 0}},
                "colorRGBWithFade": {
                    "status": {"color": {"r": 1, "g": 1, "b": 1}, "fadeTime": 0.7}
                },
                "colorWAF": {"status": {"w": 1, "a": 1, "f": 1}},
                "dimmableWAF": {"status": {"w": 1, "a": 1, "f": 1, "dimmable": 0}},
                "colorWAFWithFade": {
                    "status": {"color": {"w": 1, "a": 1, "f": 1}, "fadeTime": 0.7}
                },
                "colorKelvin": {"status": 2700},
                "dimmableKelvin": {"status": {"dimmable": 0, "kelvin": 2700}},
                "colorKelvinWithFade": {"status": {"color": 2700, "fadeTime": 0.7}},
                "colorXY": {"status": {"x": 1, "y": 1}},
                "dimmableXY": {"status": {"x": 1, "y": 1, "dimmable": 0}},
                "colorXYWithFade": {
                    "status": {"color": {"x": 1, "y": 1}, "fadeTime": 0.7}
                },
            },
        },
    ],
    "timeSignature": {"timestamp": 946712827.9615544, "counter": 3494},
}
