"""GeckoConfigStruct - A class to manage the ConfigStruct for 'InYT v82'."""  # noqa: N999

from . import (
    GeckoAsyncStructure,
    GeckoBoolStructAccessor,
    GeckoByteStructAccessor,
    GeckoEnumStructAccessor,
    GeckoStructAccessor,
    GeckoTempStructAccessor,
    GeckoTimeStructAccessor,
    GeckoWordStructAccessor,
)


class GeckoConfigStruct:
    """Config Struct Class."""

    def __init__(self, struct_: GeckoAsyncStructure) -> None:
        """Initialize the config struct class."""
        self.struct = struct_

    @property
    def version(self) -> int:
        """Get the config struct class version."""
        return 82

    @property
    def output_keys(self) -> list[str]:
        """Output keys property."""
        return [
            "Out1",
            "Out2",
            "Out3",
            "Out4",
            "Out5",
            "OutHtr",
            "HeatPumpCurrent",
            "HeatPumpFuse",
            "Out6",
            "Out7",
            "Out8",
            "Out9",
            "Out10",
            "Out11",
            "Out12",
            "Direct",
            "Direct2",
            "OutLi",
            "LightActivationSafety",
        ]

    @property
    def accessors(self) -> dict[str, GeckoStructAccessor]:
        """The structure accessors."""
        return {
            "ConfigNumber": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/ConfigNumber", 0, "ALL"
            ),
            "Out1": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/HCOutputConfig/Out1",
                12,
                None,
                [
                    "NA",
                    "P1H",
                    "P1L",
                    "P2H",
                    "P2L",
                    "P3H",
                    "P3L",
                    "P4H",
                    "P4L",
                    "P5",
                    "BLO",
                    "CP",
                    "O3",
                    "L120",
                    "HTR",
                    "",
                    "Fan",
                    "",
                    "",
                    "FullOn",
                    "",
                    "",
                    "",
                    "ONZEN",
                    "Protection",
                    "HTR2",
                    "Waterfall",
                    "AUX",
                ],
                None,
                None,
                "ALL",
            ),
            "Out2": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/HCOutputConfig/Out2",
                13,
                None,
                [
                    "NA",
                    "P1H",
                    "P1L",
                    "P2H",
                    "P2L",
                    "P3H",
                    "P3L",
                    "P4H",
                    "P4L",
                    "P5",
                    "BLO",
                    "CP",
                    "O3",
                    "L120",
                    "HTR",
                    "",
                    "Fan",
                    "",
                    "",
                    "FullOn",
                    "",
                    "",
                    "",
                    "ONZEN",
                    "Protection",
                    "HTR2",
                    "Waterfall",
                    "AUX",
                ],
                None,
                None,
                "ALL",
            ),
            "Out3": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/HCOutputConfig/Out3",
                14,
                None,
                [
                    "NA",
                    "P1H",
                    "P1L",
                    "P2H",
                    "P2L",
                    "P3H",
                    "P3L",
                    "P4H",
                    "P4L",
                    "P5",
                    "BLO",
                    "CP",
                    "O3",
                    "L120",
                    "HTR",
                    "",
                    "Fan",
                    "",
                    "",
                    "FullOn",
                    "",
                    "",
                    "",
                    "ONZEN",
                    "Protection",
                    "HTR2",
                    "Waterfall",
                    "AUX",
                ],
                None,
                None,
                "ALL",
            ),
            "Out4": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/HCOutputConfig/Out4",
                15,
                None,
                [
                    "NA",
                    "P1H",
                    "P1L",
                    "P2H",
                    "P2L",
                    "P3H",
                    "P3L",
                    "P4H",
                    "P4L",
                    "P5",
                    "BLO",
                    "CP",
                    "O3",
                    "L120",
                    "HTR",
                    "",
                    "Fan",
                    "",
                    "",
                    "FullOn",
                    "",
                    "",
                    "",
                    "ONZEN",
                    "Protection",
                    "HTR2",
                    "Waterfall",
                    "AUX",
                ],
                None,
                None,
                "ALL",
            ),
            "Out5": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/HCOutputConfig/Out5",
                16,
                None,
                [
                    "NA",
                    "P1H",
                    "P1L",
                    "P2H",
                    "P2L",
                    "P3H",
                    "P3L",
                    "P4H",
                    "P4L",
                    "P5",
                    "BLO",
                    "CP",
                    "O3",
                    "L120",
                    "HTR",
                    "",
                    "Fan",
                    "",
                    "",
                    "FullOn",
                    "",
                    "",
                    "",
                    "ONZEN",
                    "Protection",
                    "HTR2",
                    "Waterfall",
                    "AUX",
                ],
                None,
                None,
                "ALL",
            ),
            "OutHtr": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/HCOutputConfig/OutHtr",
                26,
                None,
                [
                    "NA",
                    "P1H",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "HTR",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "HTR2",
                ],
                None,
                None,
                "ALL",
            ),
            "Out1Cur": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/HCOutputConfig/Out1Cur", 36, "ALL"
            ),
            "Out2Cur": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/HCOutputConfig/Out2Cur", 37, "ALL"
            ),
            "Out3Cur": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/HCOutputConfig/Out3Cur", 38, "ALL"
            ),
            "Out4Cur": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/HCOutputConfig/Out4Cur", 39, "ALL"
            ),
            "Out5Cur": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/HCOutputConfig/Out5Cur", 40, "ALL"
            ),
            "OutHtRCur": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/HCOutputConfig/OutHtRCur", 50, "ALL"
            ),
            "HeatPumpCurrent": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/HCOutputConfig/HeatPumpCurrent",
                161,
                None,
                [
                    "Not_Set",
                    "0A",
                    "1A",
                    "2A",
                    "3A",
                    "4A",
                    "5A",
                    "6A",
                    "7A",
                    "8A",
                    "9A",
                    "10A",
                    "11A",
                    "12A",
                    "13A",
                    "14A",
                    "15A",
                ],
                None,
                None,
                "ALL",
            ),
            "HeatPumpFuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/HCOutputConfig/HeatPumpFuse",
                163,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "Out6": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/LCOutputConfig/Out6",
                17,
                None,
                [
                    "NA",
                    "P1H",
                    "P1L",
                    "P2H",
                    "P2L",
                    "P3H",
                    "P3L",
                    "P4H",
                    "P4L",
                    "P5",
                    "BLO",
                    "CP",
                    "O3",
                    "L120",
                    "HTR",
                    "",
                    "Fan",
                    "",
                    "",
                    "FullOn",
                    "",
                    "",
                    "",
                    "ONZEN",
                    "Protection",
                    "HTR2",
                    "Waterfall",
                    "AUX",
                ],
                None,
                None,
                "ALL",
            ),
            "Out7": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/LCOutputConfig/Out7",
                18,
                None,
                [
                    "NA",
                    "P1H",
                    "P1L",
                    "P2H",
                    "P2L",
                    "P3H",
                    "P3L",
                    "P4H",
                    "P4L",
                    "P5",
                    "BLO",
                    "CP",
                    "O3",
                    "L120",
                    "HTR",
                    "",
                    "Fan",
                    "",
                    "",
                    "FullOn",
                    "",
                    "",
                    "",
                    "ONZEN",
                    "Protection",
                    "HTR2",
                    "Waterfall",
                    "AUX",
                ],
                None,
                None,
                "ALL",
            ),
            "Out8": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/LCOutputConfig/Out8",
                19,
                None,
                [
                    "NA",
                    "P1H",
                    "P1L",
                    "P2H",
                    "P2L",
                    "P3H",
                    "P3L",
                    "P4H",
                    "P4L",
                    "P5",
                    "BLO",
                    "CP",
                    "O3",
                    "L120",
                    "HTR",
                    "",
                    "Fan",
                    "",
                    "",
                    "FullOn",
                    "",
                    "",
                    "",
                    "ONZEN",
                    "Protection",
                    "HTR2",
                    "Waterfall",
                    "AUX",
                ],
                None,
                None,
                "ALL",
            ),
            "Out9": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/LCOutputConfig/Out9",
                20,
                None,
                [
                    "NA",
                    "P1H",
                    "P1L",
                    "P2H",
                    "P2L",
                    "P3H",
                    "P3L",
                    "P4H",
                    "P4L",
                    "P5",
                    "BLO",
                    "CP",
                    "O3",
                    "L120",
                    "HTR",
                    "",
                    "Fan",
                    "",
                    "",
                    "FullOn",
                    "",
                    "",
                    "",
                    "ONZEN",
                    "Protection",
                    "HTR2",
                    "Waterfall",
                    "AUX",
                ],
                None,
                None,
                "ALL",
            ),
            "Out10": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/LCOutputConfig/Out10",
                21,
                None,
                [
                    "NA",
                    "P1H",
                    "P1L",
                    "P2H",
                    "P2L",
                    "P3H",
                    "P3L",
                    "P4H",
                    "P4L",
                    "P5",
                    "BLO",
                    "CP",
                    "O3",
                    "L120",
                    "HTR",
                    "",
                    "Fan",
                    "",
                    "",
                    "FullOn",
                    "",
                    "",
                    "",
                    "ONZEN",
                    "Protection",
                    "HTR2",
                    "Waterfall",
                    "AUX",
                ],
                None,
                None,
                "ALL",
            ),
            "Out11": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/LCOutputConfig/Out11",
                22,
                None,
                [
                    "NA",
                    "P1H",
                    "P1L",
                    "P2H",
                    "P2L",
                    "P3H",
                    "P3L",
                    "P4H",
                    "P4L",
                    "P5",
                    "BLO",
                    "CP",
                    "O3",
                    "L120",
                    "HTR",
                    "",
                    "Fan",
                    "",
                    "",
                    "FullOn",
                    "",
                    "",
                    "",
                    "ONZEN",
                    "Protection",
                    "HTR2",
                    "Waterfall",
                    "AUX",
                ],
                None,
                None,
                "ALL",
            ),
            "Out12": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/LCOutputConfig/Out12",
                23,
                None,
                [
                    "NA",
                    "P1H",
                    "P1L",
                    "P2H",
                    "P2L",
                    "P3H",
                    "P3L",
                    "P4H",
                    "P4L",
                    "P5",
                    "BLO",
                    "CP",
                    "O3",
                    "L120",
                    "HTR",
                    "",
                    "Fan",
                    "",
                    "",
                    "FullOn",
                    "",
                    "",
                    "",
                    "ONZEN",
                    "Protection",
                    "HTR2",
                    "Waterfall",
                    "AUX",
                ],
                None,
                None,
                "ALL",
            ),
            "Direct": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/LCOutputConfig/Direct",
                24,
                None,
                ["NA", "", "", "", "", "", "", "", "", "", "", "CP"],
                None,
                None,
                "ALL",
            ),
            "Direct2": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/LCOutputConfig/Direct2",
                25,
                None,
                ["NA", "", "", "", "", "", "", "", "", "", "", "CP"],
                None,
                None,
                "ALL",
            ),
            "Out6Cur": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/LCOutputConfig/Out6Cur", 41, "ALL"
            ),
            "Out7Cur": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/LCOutputConfig/Out7Cur", 42, "ALL"
            ),
            "Out8Cur": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/LCOutputConfig/Out8Cur", 43, "ALL"
            ),
            "Out9Cur": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/LCOutputConfig/Out9Cur", 44, "ALL"
            ),
            "Out10Cur": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/LCOutputConfig/Out10Cur", 45, "ALL"
            ),
            "Out11Cur": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/LCOutputConfig/Out11Cur", 46, "ALL"
            ),
            "Out12Cur": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/LCOutputConfig/Out12Cur", 47, "ALL"
            ),
            "DirectCur": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/LCOutputConfig/DirectCur", 48, "ALL"
            ),
            "Direct2Cur": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/LCOutputConfig/Direct2Cur", 49, "ALL"
            ),
            "WaterfallAsCP": GeckoBoolStructAccessor(
                self.struct,
                "ConfigStructure/LCOutputConfig/WaterfallAsCP",
                119,
                2,
                "ALL",
            ),
            "WaterfallValveOnCP": GeckoBoolStructAccessor(
                self.struct,
                "ConfigStructure/LCOutputConfig/WaterfallValveOnCP",
                119,
                4,
                "ALL",
            ),
            "OutLi": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/LVOutputConfig/OutLi",
                79,
                None,
                ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "LI"],
                None,
                None,
                None,
            ),
            "LightInts": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/LVOutputConfig/LightInts", 80, None
            ),
            "LightActivationSafety": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/LVOutputConfig/LightActivationSafety",
                180,
                None,
                ["Disable", "Enable"],
                None,
                None,
                None,
            ),
            "PumpTimeOut": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/TimeOut/PumpTimeOut", 54, "ALL"
            ),
            "LightTimeOut": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/TimeOut/LightTimeOut", 55, "ALL"
            ),
            "L120TimeOut": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/TimeOut/L120TimeOut", 56, "ALL"
            ),
            "L120Timer": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/TimeOut/L120Timer",
                81,
                0,
                ["Shared", "Own"],
                None,
                2,
                "ALL",
            ),
            "WaterfallTimeOut": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/TimeOut/WaterfallTimeOut", 118, "ALL"
            ),
            "AuxTimeOut": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/TimeOut/AuxTimeOut", 120, "ALL"
            ),
            "FiltInterface": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/FilterConfig/FiltInterface",
                32,
                None,
                ["PurgeOnly", "FiltCP", "FiltP1", "FiltP1DurOnly"],
                None,
                None,
                "ALL",
            ),
            "CpUsage": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/FilterConfig/CpUsage",
                27,
                None,
                ["STANDARD", "ALWAYS_ON"],
                None,
                None,
                "ALL",
            ),
            "OtOption": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/FilterConfig/OtOption",
                57,
                None,
                ["Disabled", "AlwaysEnabled", "WithSPOver95F"],
                None,
                None,
                "ALL",
            ),
            "PurgeSpeed": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/FilterConfig/PurgeSpeed",
                81,
                2,
                ["Lo", "Hi"],
                None,
                2,
                "ALL",
            ),
            "AuxAsBubbleGen": GeckoBoolStructAccessor(
                self.struct,
                "ConfigStructure/FilterConfig/AuxAsBubbleGen",
                119,
                1,
                "ALL",
            ),
            "OTTriggerG": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/AdvanceFilterConfig/OTTriggerG", 58, "ALL"
            ),
            "CpOnTimeDuringOT": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/AdvanceFilterConfig/CpOnTimeDuringOT",
                59,
                "ALL",
            ),
            "CpOffTimeDuringOT": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/AdvanceFilterConfig/CpOffTimeDuringOT",
                60,
                "ALL",
            ),
            "FiltOnTimeDuringOT": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/AdvanceFilterConfig/FiltOnTimeDuringOT",
                61,
                "ALL",
            ),
            "FiltSuspendTime": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/AdvanceFilterConfig/FiltSuspendTime",
                62,
                "ALL",
            ),
            "DrainMode": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/AdvanceFilterConfig/DrainMode",
                78,
                None,
                ["NA", "P1", "CP"],
                None,
                None,
                "ALL",
            ),
            "O3Usage": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/O3Config/O3Usage",
                28,
                None,
                ["Filter", "Always"],
                None,
                None,
                "ALL",
            ),
            "O3Pump": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/O3Config/O3Pump",
                29,
                None,
                ["CP", "P1"],
                None,
                None,
                "ALL",
            ),
            "O3Type": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/O3Config/O3Type",
                30,
                None,
                ["Standard", "Toggle"],
                None,
                None,
                "ALL",
            ),
            "O3SuspendTime": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/O3Config/O3SuspendTime", 63, "ALL"
            ),
            "SetpointG": GeckoTempStructAccessor(
                self.struct,
                "ConfigStructure/WaterTemperatureControl/SetpointG",
                1,
                "ALL",
            ),
            "TempUnits": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/WaterTemperatureControl/TempUnits",
                33,
                None,
                ["F", "C"],
                None,
                None,
                "ALL",
            ),
            "HeaterPump": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/WaterTemperatureControl/HeaterPump",
                31,
                None,
                ["CP", "P1"],
                None,
                None,
                "ALL",
            ),
            "FlowDetector": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/WaterTemperatureControl/FlowDetector",
                164,
                None,
                ["inFlo", "NotInstalled", "PressureSwitch"],
                None,
                None,
                "ALL",
            ),
            "ProbeLocation": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/WaterTemperatureControl/ProbeLocation",
                81,
                3,
                ["IntoPiping", "IntoTub"],
                None,
                2,
                "ALL",
            ),
            "CooldownTime": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/WaterTemperatureControl/CooldownTime",
                35,
                "ALL",
            ),
            "MinSetpointG": GeckoTempStructAccessor(
                self.struct,
                "ConfigStructure/WaterTemperatureControl/MinSetpointG",
                66,
                "ALL",
            ),
            "MaxSetpointG": GeckoTempStructAccessor(
                self.struct,
                "ConfigStructure/WaterTemperatureControl/MaxSetpointG",
                68,
                "ALL",
            ),
            "EconType": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/WaterTemperatureControl/EconType",
                70,
                None,
                ["Standard", "Night"],
                None,
                None,
                "ALL",
            ),
            "NoHeatPeriod": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/WaterTemperatureControl/NoHeatPeriod",
                77,
                "ALL",
            ),
            "CoolZoneMode": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/WaterTemperatureControl/CoolZoneMode",
                115,
                None,
                [
                    "CHILL",
                    "HEAT_W_BOOST",
                    "HEAT_SAVER",
                    "AUTO_W_BOOST",
                    "AUTO_SAVER",
                    "INTERNAL_HEAT",
                    "BOTH_HEAT",
                ],
                None,
                None,
                "ALL",
            ),
            "GenericHeatPumpID": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/WaterTemperatureControl/GenericHeatPumpID",
                162,
                "ALL",
            ),
            "UL_CE": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/UL_CE",
                51,
                None,
                ["UL", "CE"],
                None,
                None,
                "ALL",
            ),
            "MaxNumberOfPhases": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/InputSupply/MaxNumberOfPhases", 114, "ALL"
            ),
            "NbPhases": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/InputSupply/NbPhases", 52, "ALL"
            ),
            "Max1phaseSinglePackCurrent": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Max1phaseSinglePackCurrent",
                165,
                "ALL",
            ),
            "Max2phaseSinglePackCurrent": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Max2phaseSinglePackCurrent",
                166,
                "ALL",
            ),
            "Max3phaseSinglePackCurrent": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Max3phaseSinglePackCurrent",
                167,
                "ALL",
            ),
            "Max1phaseDualPackCurrent": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Max1phaseDualPackCurrent",
                168,
                "ALL",
            ),
            "Max2phaseDualPackCurrent": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Max2phaseDualPackCurrent",
                169,
                "ALL",
            ),
            "Max3phaseDualPackCurrent": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Max3phaseDualPackCurrent",
                170,
                "ALL",
            ),
            "RealPackType": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/RealPackType",
                171,
                None,
                ["", "", "", "", "", "", "", "", "", "", "inYT", "", "inYJ"],
                None,
                None,
                None,
            ),
            "InputCurrent": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/InputSupply/InputCurrent", 53, "ALL"
            ),
            "MinimumInputCurrent": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/MinimumInputCurrent",
                122,
                "ALL",
            ),
            "InputMenu": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/InputMenu",
                74,
                None,
                ["Standard", "DualPack"],
                None,
                None,
                "ALL",
            ),
            "Out1Fuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Out1Fuse",
                83,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "Out2Fuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Out2Fuse",
                84,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "Out3Fuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Out3Fuse",
                85,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "Out4Fuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Out4Fuse",
                86,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "Out5Fuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Out5Fuse",
                87,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "Out6Fuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Out6Fuse",
                88,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "Out7Fuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Out7Fuse",
                89,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "Out8Fuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Out8Fuse",
                90,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "Out9Fuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Out9Fuse",
                91,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "Out10Fuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Out10Fuse",
                92,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "Out11Fuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Out11Fuse",
                93,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "Out12Fuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Out12Fuse",
                94,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "Direct1Fuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Direct1Fuse",
                95,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "Direct2Fuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/Direct2Fuse",
                96,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "OutHtrFuse": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/OutHtrFuse",
                97,
                None,
                ["F1", "F2", "F3", "F21", "F22", "F23", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "F1Current": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/InputSupply/F1Current", 98, "ALL"
            ),
            "F2Current": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/InputSupply/F2Current", 99, "ALL"
            ),
            "F3Current": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/InputSupply/F3Current", 100, "ALL"
            ),
            "F21Current": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/InputSupply/F21Current", 101, "ALL"
            ),
            "F22Current": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/InputSupply/F22Current", 102, "ALL"
            ),
            "F23Current": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/InputSupply/F23Current", 103, "ALL"
            ),
            "F1Line": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/F1Line",
                104,
                None,
                ["", "", "", "", "", "", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "F2Line": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/F2Line",
                105,
                None,
                ["", "", "", "", "", "", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "F3Line": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/F3Line",
                106,
                None,
                ["", "", "", "", "", "", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "F21Line": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/F21Line",
                107,
                None,
                ["", "", "", "", "", "", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "F22Line": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/F22Line",
                108,
                None,
                ["", "", "", "", "", "", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "F23Line": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/InputSupply/F23Line",
                109,
                None,
                ["", "", "", "", "", "", "Line1", "Line2", "Line3"],
                None,
                None,
                "ALL",
            ),
            "FiltFreq": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/SpaPackInternalOptions/FiltFreq", 3, "ALL"
            ),
            "FiltStart": GeckoTimeStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/FiltStart",
                4,
                "ALL",
            ),
            "FiltDur": GeckoTimeStructAccessor(
                self.struct, "ConfigStructure/SpaPackInternalOptions/FiltDur", 6, "ALL"
            ),
            "FiltDur2": GeckoTimeStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/FiltDur2",
                116,
                "ALL",
            ),
            "EconStart": GeckoTimeStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/EconStart",
                8,
                "ALL",
            ),
            "EconDur": GeckoTimeStructAccessor(
                self.struct, "ConfigStructure/SpaPackInternalOptions/EconDur", 10, "ALL"
            ),
            "EconProgAvailable": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/EconProgAvailable",
                71,
                None,
                ["NA", "STANDARD", "OUTSIDE_FILTER"],
                None,
                None,
                "ALL",
            ),
            "UDProgEcon": GeckoBoolStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/UDProgEcon",
                82,
                0,
                "ALL",
            ),
            "EconControlableManually": GeckoBoolStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/EconControlableManually",
                72,
                2,
                "ALL",
            ),
            "SoakOnCustomKey": GeckoBoolStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/SoakOnCustomKey",
                72,
                0,
                "ALL",
            ),
            "OffOnCustomKey": GeckoBoolStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/OffOnCustomKey",
                72,
                1,
                "ALL",
            ),
            "CleanupOnCustomKey": GeckoBoolStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/CleanupOnCustomKey",
                72,
                3,
                "ALL",
            ),
            "AuxOnCustomKey": GeckoBoolStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/AuxOnCustomKey",
                72,
                4,
                "ALL",
            ),
            "QuickOnOffCustomKey": GeckoBoolStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/QuickOnOffCustomKey",
                72,
                5,
                "ALL",
            ),
            "MultiKeyOption": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/MultiKeyOption",
                76,
                None,
                ["NoBlowerOnI2C", "BlowerOnI2C"],
                None,
                None,
                "ALL",
            ),
            "MasterSlave": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/MasterSlave",
                73,
                None,
                ["", "Master", "Slave"],
                None,
                None,
                "ALL",
            ),
            "SlaveConfig": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/SlaveConfig",
                75,
                "ALL",
            ),
            "ProgOutAccessory": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/ProgOutAccessory",
                160,
                None,
                [
                    "NA",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "L120",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "ONZEN",
                    "",
                    "",
                    "",
                    "AUX",
                ],
                None,
                None,
                "ALL",
            ),
            "ProgOutStart": GeckoTimeStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/ProgOutStart",
                128,
                "ALL",
            ),
            "ProgOutDur": GeckoTimeStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/ProgOutDur",
                130,
                "ALL",
            ),
            "ProgOutFreq": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/ProgOutFreq",
                132,
                "ALL",
            ),
            "SilentMode": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/SilentMode",
                157,
                None,
                ["NA", "OFF", "ECONOMY", "SLEEP", "NIGHT"],
                None,
                None,
                "ALL",
            ),
            "SilentDuration": GeckoTimeStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/SilentDuration",
                158,
                "ALL",
            ),
            "SuspendSilentToRegulate": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/SpaPackInternalOptions/SuspendSilentToRegulate",
                119,
                3,
                ["NOT_ALLOWED", "ALLOWED"],
                None,
                2,
                "ALL",
            ),
            "TimeFormat": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/MiscCfg/TimeFormat",
                34,
                None,
                ["NA", "AmPm", "24h"],
                None,
                None,
                "ALL",
            ),
            "AmbiantOHTrigADC": GeckoWordStructAccessor(
                self.struct, "ConfigStructure/MiscCfg/AmbiantOHTrigADC", 64, "ALL"
            ),
            "Pump1UserAccess": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/MiscCfg/Pump1UserAccess",
                81,
                1,
                ["BothSpeeds", "HighSpeedOnly"],
                None,
                2,
                "ALL",
            ),
            "SelfCleanMsg": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/MiscCfg/SelfCleanMsg", 81, 4, "ALL"
            ),
            "BlowerKeyOption": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/MiscCfg/BlowerKeyOption",
                81,
                5,
                ["FreePumpKey", "LastPumpKey"],
                None,
                2,
                "ALL",
            ),
            "HeaterSoftStart": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/MiscCfg/HeaterSoftStart", 81, 6, "ALL"
            ),
            "HeaterSoftStop": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/MiscCfg/HeaterSoftStop", 81, 7, "ALL"
            ),
            "KeypadTherapySupport": GeckoBoolStructAccessor(
                self.struct,
                "ConfigStructure/MiscCfg/KeypadTherapySupport",
                110,
                0,
                "ALL",
            ),
            "CustomKeyEnabled": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/MiscCfg/CustomKeyEnabled", 110, 1, "ALL"
            ),
            "ConfigChange": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/MiscCfg/ConfigChange",
                110,
                2,
                ["NO_RESTRICTION", "PASSWORD_PROTECTED"],
                None,
                2,
                "ALL",
            ),
            "BreakerChange": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/MiscCfg/BreakerChange",
                110,
                3,
                ["NO_RESTRICTION", "PASSWORD_PROTECTED"],
                None,
                2,
                "ALL",
            ),
            "KeypadBacklightColor": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/MiscCfg/KeypadBacklightColor",
                110,
                4,
                ["OFF", "RED", "GREEN", "YELLOW", "BLUE", "MAGENTA", "CYAN", "WHITE"],
                None,
                8,
                "ALL",
            ),
            "KeypadBacklightEdit": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/MiscCfg/KeypadBacklightEdit",
                110,
                7,
                ["Disable", "Enable"],
                None,
                2,
                "ALL",
            ),
            "CustomerID": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/MiscCfg/CustomerID",
                111,
                None,
                [
                    "Generic",
                    "Hydropool",
                    "EndlessPools",
                    "Wellis",
                    "Alps",
                    "Artesian",
                    "Arctic",
                    "Barefoot",
                    "Beachcomber",
                    "Bellagio",
                    "Leisure_Prod_Ind",
                    "Bullfrog",
                    "Coast",
                    "Dimension_one",
                    "Dynasty",
                    "Four_Wind",
                    "Hotspring",
                    "Jacuzzi",
                    "Jazzi",
                    "LA",
                    "Pro_Float",
                    "MAAX",
                    "Marquis",
                    "PDC",
                    "Premium_Leisure",
                    "Strong",
                    "Sunrans",
                    "Sunrise",
                    "SuperiorSpas",
                    "Spa_Industries",
                    "Viking",
                    "WWO_Whirlcare",
                    "Okeanos",
                    "Clearwater",
                    "Deluxe",
                    "Idol",
                    "Aspen",
                    "ThermoSpas",
                    "Titan_Spas",
                    "IberSpa",
                    "Master_Spas",
                ],
                None,
                None,
                "ALL",
            ),
            "ModeKeyAsInvertDisplayKey": GeckoBoolStructAccessor(
                self.struct,
                "ConfigStructure/MiscCfg/ModeKeyAsInvertDisplayKey",
                112,
                1,
                "ALL",
            ),
            "InfoMsgConfig": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/MiscCfg/InfoMsgConfig",
                112,
                2,
                ["HIDE_DETAILED_MSG", "SHOW_ALL_MSG", "", ""],
                None,
                4,
                "ALL",
            ),
            "LowerSetpointMenu": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/MiscCfg/LowerSetpointMenu", 112, 4, "ALL"
            ),
            "SinglePumpKey": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/MiscCfg/SinglePumpKey",
                112,
                6,
                ["NA", "ForSpeeds", "ForZones", ""],
                None,
                4,
                "ALL",
            ),
            "KeypadOptions4": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/MiscCfg/KeypadOptions4", 113, "ALL"
            ),
            "DealerLockSupport": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/MiscCfg/DealerLockSupport", 119, 0, "ALL"
            ),
            "LockEnabled": GeckoByteStructAccessor(
                self.struct, "ConfigStructure/MiscCfg/LockEnabled", 121, "ALL"
            ),
            "AssignVSP1": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/VSP/AssignVSP1",
                173,
                None,
                ["NA", "P1", "P2", "P3", "P4", "P5"],
                None,
                None,
                "ALL",
            ),
            "AssignVSP2": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/VSP/AssignVSP2",
                174,
                None,
                ["NA", "P1", "P2", "P3", "P4", "P5"],
                None,
                None,
                "ALL",
            ),
            "AssignVSP3": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/VSP/AssignVSP3",
                175,
                None,
                ["NA", "P1", "P2", "P3", "P4", "P5"],
                None,
                None,
                "ALL",
            ),
            "AssignVSP4": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/VSP/AssignVSP4",
                176,
                None,
                ["NA", "P1", "P2", "P3", "P4", "P5"],
                None,
                None,
                "ALL",
            ),
            "AssignVSP5": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/VSP/AssignVSP5",
                177,
                None,
                ["NA", "P1", "P2", "P3", "P4", "P5"],
                None,
                None,
                "ALL",
            ),
            "ExerciseType": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExerciseType",
                133,
                None,
                ["NO_EXERCISE", "SWIM_EXERCISE"],
                None,
                None,
                "ALL",
            ),
            "ExerciseControl": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExerciseControl",
                134,
                None,
                ["USE_STANDARD_PUMPS", "USE_VARIABLE_SPEED_PUMPS"],
                None,
                None,
                "ALL",
            ),
            "ExercisePumpsUsed": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExercisePumpsUsed",
                135,
                0,
                [
                    "NO_PUMP",
                    "ALL_PUMPS",
                    "P2_TO_P5",
                    "P3_TO_P5",
                    "P4_AND_P5",
                    "P5_ONLY",
                    "",
                    "",
                ],
                None,
                8,
                "ALL",
            ),
            "ExerciseDedicatedPumps": GeckoBoolStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExerciseDedicatedPumps",
                135,
                7,
                "ALL",
            ),
            "ExerciseBuoyancyPump": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExerciseBuoyancyPump",
                178,
                None,
                ["NA", "P1", "P2", "P3", "P4", "P5"],
                None,
                None,
                "ALL",
            ),
            "ExerciseNumberOfIntensity": GeckoByteStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExerciseNumberOfIntensity",
                136,
                "ALL",
            ),
            "ExcercisePumpIntensity1": GeckoWordStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExcercisePumpIntensity1",
                137,
                "ALL",
            ),
            "ExcercisePumpIntensity2": GeckoWordStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExcercisePumpIntensity2",
                139,
                "ALL",
            ),
            "ExcercisePumpIntensity3": GeckoWordStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExcercisePumpIntensity3",
                141,
                "ALL",
            ),
            "ExcercisePumpIntensity4": GeckoWordStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExcercisePumpIntensity4",
                143,
                "ALL",
            ),
            "ExcercisePumpIntensity5": GeckoWordStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExcercisePumpIntensity5",
                145,
                "ALL",
            ),
            "ExcercisePumpIntensity6": GeckoWordStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExcercisePumpIntensity6",
                147,
                "ALL",
            ),
            "ExcercisePumpIntensity7": GeckoWordStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExcercisePumpIntensity7",
                149,
                "ALL",
            ),
            "ExcercisePumpIntensity8": GeckoWordStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExcercisePumpIntensity8",
                151,
                "ALL",
            ),
            "ExcercisePumpIntensity9": GeckoWordStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExcercisePumpIntensity9",
                153,
                "ALL",
            ),
            "ExcercisePumpIntensity10": GeckoWordStructAccessor(
                self.struct,
                "ConfigStructure/Exercise/ExcercisePumpIntensity10",
                155,
                "ALL",
            ),
            "Zone1Led": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/inMixConfig/Zone1Led",
                123,
                0,
                ["RGB", "WHITE"],
                None,
                2,
                None,
            ),
            "Zone1Type": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/inMixConfig/Zone1Type",
                123,
                1,
                ["NORMAL", "STATUS"],
                None,
                2,
                None,
            ),
            "Zone2Led": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/inMixConfig/Zone2Led",
                124,
                0,
                ["RGB", "WHITE"],
                None,
                2,
                None,
            ),
            "Zone2Type": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/inMixConfig/Zone2Type",
                124,
                1,
                ["NORMAL", "STATUS"],
                None,
                2,
                None,
            ),
            "Zone3Led": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/inMixConfig/Zone3Led",
                125,
                0,
                ["RGB", "WHITE"],
                None,
                2,
                None,
            ),
            "Zone3Type": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/inMixConfig/Zone3Type",
                125,
                1,
                ["NORMAL", "STATUS"],
                None,
                2,
                None,
            ),
            "Zone4Led": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/inMixConfig/Zone4Led",
                126,
                0,
                ["RGB", "WHITE"],
                None,
                2,
                None,
            ),
            "Zone4Type": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/inMixConfig/Zone4Type",
                126,
                1,
                ["NORMAL", "STATUS"],
                None,
                2,
                None,
            ),
            "NumberOfZones": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/inMixConfig/NumberOfZones",
                127,
                0,
                ["", "1", "2", "3", "4"],
                None,
                8,
                None,
            ),
            "StatusLightNormalColor": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/inMixConfig/StatusLightNormalColor",
                127,
                3,
                ["BLUE", "WHITE", "GREEN", "PURPLE", "YELLOW", "CYAN", "ORANGE", "OFF"],
                None,
                8,
                "ALL",
            ),
            "MappingEnable": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MappingEnable", 127, 7, None
            ),
            "MapZone1ToOut1": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone1ToOut1", 123, 4, None
            ),
            "MapZone1ToOut2": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone1ToOut2", 123, 5, None
            ),
            "MapZone1ToOut3": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone1ToOut3", 123, 6, None
            ),
            "MapZone1ToOut4": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone1ToOut4", 123, 7, None
            ),
            "MapZone2ToOut1": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone2ToOut1", 124, 4, None
            ),
            "MapZone2ToOut2": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone2ToOut2", 124, 5, None
            ),
            "MapZone2ToOut3": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone2ToOut3", 124, 6, None
            ),
            "MapZone2ToOut4": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone2ToOut4", 124, 7, None
            ),
            "MapZone3ToOut1": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone3ToOut1", 125, 4, None
            ),
            "MapZone3ToOut2": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone3ToOut2", 125, 5, None
            ),
            "MapZone3ToOut3": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone3ToOut3", 125, 6, None
            ),
            "MapZone3ToOut4": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone3ToOut4", 125, 7, None
            ),
            "MapZone4ToOut1": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone4ToOut1", 126, 4, None
            ),
            "MapZone4ToOut2": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone4ToOut2", 126, 5, None
            ),
            "MapZone4ToOut3": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone4ToOut3", 126, 6, None
            ),
            "MapZone4ToOut4": GeckoBoolStructAccessor(
                self.struct, "ConfigStructure/inMixConfig/MapZone4ToOut4", 126, 7, None
            ),
            "InMixZoneToFollow": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/inMixConfig/InMixZoneToFollow",
                172,
                None,
                ["ZONE1", "ZONE2", "ZONE3", "ZONE4", "AS_12V_SUPPLY"],
                None,
                None,
                None,
            ),
            "StatusLightRemindersColor": GeckoEnumStructAccessor(
                self.struct,
                "ConfigStructure/inMixConfig/StatusLightRemindersColor",
                179,
                4,
                [
                    "SAME_AS_NORMAL",
                    "WHITE",
                    "GREEN",
                    "PURPLE",
                    "YELLOW",
                    "CYAN",
                    "ORANGE",
                    "OFF",
                ],
                None,
                8,
                "ALL",
            ),
            "RemindersNotBlinkingLED": GeckoBoolStructAccessor(
                self.struct,
                "ConfigStructure/inMixConfig/RemindersNotBlinkingLED",
                179,
                7,
                None,
            ),
        }
