{
    "bridge": {
        "name": "Homebridge",
        "username": "DB:7D:A3:24:AA:69",
        "_username": "DA:7C:A6:27:A7:69",
        "port": 55555,
        "pin": "884-67-467",
        "_pin": "813-65-465"
    },
    "description": "This is an example configuration file. You can use this as a template for creating your own configuration file.",
    "platforms": [
        {
            "platform": "config",
            "name": "Config",
            "port": 8080,
            "sudo": false
        }
    ],
    "disabledAccessories": [
        {
            "type": "lightbulb-Colour",
            "name": "Test lightbulb",
            "url": "homebridge2",
            "mqttPubOptions": {
                "retain": true
            },
            "logMqtt": true,
            "codec": "empty-codec.js",
            "topics": {
                "getOnline": "test/lightbulb/getOnline",
                "getOn": "test/lightbulb/getOn",
                "setOn": "test/lightbulb/setOn",
                "getHue": "test/lightbulb/getHue",
                "setHue": "test/lightbulb/setHue",
                "getSaturation": "test/lightbulb/getSaturation",
                "setSaturation": "test/lightbulb/setSaturation",
                "getBrightness": "test/lightbulb/getBrightness",
                "setBrightness": "test/lightbulb/setBrightness",
                "getColorTemperature": "test/lightbulb/getTemperature",
                "setColorTemperature": "test/lightbulb/setTemperature"
            },
            "startPub": [
                {
                    "topic": "test/lightbulb/setOn",
                    "message": "1"
                },
                {
                    "topic": "test/lightbulb/getOn",
                    "message": "1"
                },
                {
                    "topic": "test/lightbulb/setBrightness",
                    "message": "80"
                },
                {
                    "topic": "test/lightbulb/getBrightness",
                    "message": "80"
                },
                {
                    "topic": "test/lightbulb",
                    "message": "Hello world"
                }
            ],
            "onlineValue": "Online",
            "integerValue": true,
            "accessory": "mqttthing"
        },
        {
            "type": "lightbulb-HSV",
            "name": "Test HSV Light",
            "url": "homebridge2",
            "logMqtt": true,
            "topics": {
                "setHSV": "test/hsvlight/setHSV",
                "getHSV": "test/hsvlight/getHSV"
            },
            "startPub": [
                {
                    "topic": "test/hsvlight/setHSV"
                }
            ],
            "accessory": "mqttthing"
        },
        {
            "accessory": "mqttthing",
            "type": "lightbulb-HSV",
            "name": "Test espurna Light",
            "url": "homebridge2",
            "topics": {
                "getHSV": "test/hsvlight2/hsv",
                "setHSV": "test/hsvlight2/hsv/set",
                "getOn": "test/hsvlight2/on",
                "setOn": "test/hsvlight2/on/set"
            },
            "logMqtt": true,
            "integerValue": true,
            "codec": "keep-alive-codec.js",
            "keepAliveTopic": "keep/alive",
            "keepAlivePeriod": 120,
            "keepAliveMessage": "Keep-alive!"
        },
        {
            "accessory": "mqttthing",
            "type": "lightbulb",
            "name": "Test RGB Light",
            "url": "homebridge2",
            "topics": {
                "getRGB": "test/rgblight/get",
                "setRGB": "test/rgblight/set",
                "getOn": "test/rgblight/get",
                "setOn": "test/rgblight/set"
            },
            "logMqtt": true,
            "integerValue": false,
            "codec": "json",
            "jsonCodec": {
                "properties": {
                    "on": "state.power",
                    "RGB": "state.rgb"
                },
                "fixed": {
                    "version": 1,
                    "sender": "MQTT-Thing"
                }
            }
        },
        {
            "accessory": "mqttthing",
            "type": "lightbulb-RGBW",
            "name": "Test RGBW Light",
            "url": "homebridge2",
            "topics": {
                "getRGBW": "test/rgbwlight/rgb",
                "setRGBW": "test/rgbwlight/rgb/set"
            },
            "logMqtt": true,
            "integerValue": true,
            "hexPrefix": "#"
        },
        {
            "accessory": "mqttthing",
            "type": "lightbulb-RGB",
            "name": "Test RGBW Light 2",
            "url": "homebridge2",
            "topics": {
                "getRGB": "test/rgbwlight2",
                "setRGB": "test/rgbwlight2/set",
                "getWhite": "test/rgbwlight2",
                "setWhite": "test/rgbwlight2/set",
                "getOn": "test/rgbwlight2",
                "setOn": "test/rgbwlight2/set"
            },
            "logMqtt": true,
            "integerValue": true,
            "hexPrefix": "#",
            "codec": "json",
            "jsonCodec": {
                "properties": {
                    "RGB": "state.rgb",
                    "white": "state.white",
                    "on": "state.on"
                }
            }
        },
        {
            "accessory": "mqttthing",
            "type": "lightbulb-RGBWW",
            "name": "Test RGBWW Light",
            "url": "homebridge2",
            "topics": {
                "getRGBWW": "test/rgbwwlight/rgb",
                "setRGBWW": "test/rgbwwlight/rgb/set"
            },
            "logMqtt": true
        },
        {
            "accessory": "mqttthing",
            "type": "lightbulb-White",
            "name": "Test White Light",
            "url": "homebridge2",
            "topics": {
                "getWhite": "test/whitelight/white",
                "setWhite": "test/whitelight/white/set"
            },
            "logMqtt": true
        },
        {
            "accessory": "mqttthing",
            "type": "lightbulb-ColTemp",
            "name": "Test ColorTemperature Light",
            "url": "homebridge2",
            "topics": {
                "getOn": "test/coltemp/getOn",
                "setOn": "test/coltemp/setOn",
                "getBrightness": "test/coltemp/getBrightness",
                "setBrightness": "test/coltemp/setBrightness",
                "getColorTemperature": "test/coltemp/getTemperature",
                "setColorTemperature": "test/coltemp/setTemperature"
            },
            "logMqtt": true,
            "integerValue": true
        },
        {
            "accessory": "mqttthing",
            "type": "lightbulb-Dimmable",
            "name": "Test Dimmable Light",
            "url": "homebridge2",
            "topics": {
                "getOn": "test/dimmable/setOn",
                "setOn": "test/dimmable/setOn",
                "getBrightness": "test/dimmable/getBrightness",
                "setBrightness": "test/dimmable/setBrightness"
            },
            "logMqtt": true,
            "onValue": "DIMMABLE",
            "offValue": "OFF",
            "otherValueOff": true,
            "codec": "test-codec.js"
        },
        {
            "accessory": "mqttthing",
            "type": "lightbulb-OnOff",
            "name": "Alternative Light Mode",
            "url": "homebridge2",
            "topics": {
                "getOn": "test/dimmable/setOn",
                "setOn": "test/dimmable/setOn"
            },
            "logMqtt": true,
            "onValue": "ALTMODE",
            "offValue": "OFF",
            "otherValueOff": true
        },
        {
            "accessory": "mqttthing",
            "type": "switch",
            "name": "Test switch",
            "url": "homebridge2",
            "topics": {
                "getOn": "test/switch/getOn",
                "setOn": "test/switch/setOn"
            },
            "integerValue": true,
            "turnOffAfterms": 2000
        },
        {
            "accessory": "mqttthing",
            "type": "switch",
            "name": "Test switch 2",
            "url": "homebridge2",
            "topics": {
                "getOn": "test/switch2/getOn",
                "setOn": "test/switch2/setOn"
            },
            "integerValue": true,
            "history": true
        },
        {
            "accessory": "mqttthing",
            "type": "outlet",
            "name": "Test outlet",
            "url": "homebridge2",
            "mqttPubOptions": {
                "retain": true
            },
            "topics": {
                "getOn": "test/outlet/getOn",
                "setOn": "test/outlet/setOn",
                "getInUse": "test/outlet/getInUse",
                "getWatts": "test/outlet/getWatts",
                "getVolts": "test/outlet/getVolts",
                "getAmperes": "test/outlet/getAmperes"
            },
            "integerValue": true,
            "history": true,
            "confirmationPeriodms": 2000,
            "retryLimit": 10,
            "logMqtt": true
        },
        {
            "accessory": "mqttthing",
            "confirmationPeriodms": 1000,
            "confirmationIndicateOffline": true,
            "mqttPubOptions": {
                "retain": true
            },
            "name": "WZ Licht Vorne",
            "offValue": "off",
            "onlineValue": "true",
            "onValue": "on",
            "retryLimit": 3,
            "topics": {
                "getOn": "shellies/shelly1-2C6BF0/relay/0",
                "getOnline": "shellies/shelly1-2C6BF0/online",
                "setOn": "shellies/shelly1-2C6BF0/relay/0/command"
            },
            "type": "switch",
            "url": "homebridge2"
        },
        {
            "accessory": "mqttthing",
            "type": "motionSensor",
            "name": "Test motion sensor",
            "url": "homebridge2",
            "topics": {
                "getMotionDetected": "test/motion/detected",
                "getStatusActive": "test/motion/active",
                "getStatusFault": "test/motion/fault",
                "getStatusTampered": "test/motion/tampered",
                "getStatusLowBattery": "test/motion/lowBattery",
                "getBatteryLevel": "test/motion/batteryLevel",
                "getChargingState": "test/motion/chargingState"
            },
            "integerValue": true,
            "chargingStateValues": [
                "NotCharging",
                "Charging",
                "NotChargeable"
            ],
            "logMqtt": true,
            "turnOffAfterms": 3000,
            "history": {
                "mergeInterval": 5
            }
        },
        {
            "accessory": "mqttthing",
            "type": "occupancySensor",
            "name": "Test occupancy sensor",
            "url": "homebridge2",
            "topics": {
                "getOccupancyDetected": "test/occupancy/detected",
                "getStatusActive": "test/occupancy/active",
                "getStatusFault": "test/occupancy/fault",
                "getStatusTampered": "test/occupancy/tampered",
                "getStatusLowBattery": "test/occupancy/lowBattery"
            },
            "integerValue": true
        },
        {
            "accessory": "mqttthing",
            "type": "lightSensor",
            "name": "Test light sensor",
            "url": "homebridge2",
            "logMqtt": true,
            "topics": {
                "getCurrentAmbientLightLevel": "test/light/level"
            }
        },
        {
            "accessory": "mqttthing",
            "type": "temperatureSensor",
            "name": "Test temperature sensor",
            "url": "homebridge2",
            "topics": {
                "getCurrentTemperature": "test/temperature"
            },
            "history": true,
            "logMqtt": true,
            "maxTemperature": 150
        },
        {
            "accessory": "mqttthing",
            "type": "humiditySensor",
            "name": "Test humidity sensor",
            "url": "homebridge2",
            "topics": {
                "getCurrentRelativeHumidity": "test/humidity"
            },
            "history": {
                "size": 1000,
                "autoRepeat": false,
                "persistencePath": "history"
            }
        },
        {
            "accessory": "mqttthing",
            "type": "airPressureSensor",
            "name": "Test air pressure sensor",
            "url": "homebridge2",
            "topics": {
                "getAirPressure": "test/airpressure"
            },
            "history": true
        },
        {
            "accessory": "mqttthing",
            "type": "weatherStation",
            "name": "Test weather station",
            "serviceNames": {
                "temperature": "WS-Temperature",
                "humidity": "WS-Humidity",
                "airPressure": "WS-AirPressure",
                "weather": "WS-WeatherData"
            },
            "url": "homebridge2",
            "topics": {
                "getCurrentAmbientLightLevel": "test/weather/level",
                "getCurrentTemperature": "test/weather/temperature",
                "getCurrentRelativeHumidity": "test/weather/humidity",
                "getAirPressure": "test/weather/airpressure",
                "getWeatherCondition": "test/weather/condition",
                "getRain1h": "test/weather/rain1",
                "getRain24h": "test/weather/rain24",
                "getUVIndex": "test/weather/uv",
                "getVisibility": "test/weather/visibility",
                "getWindDirection": "test/weather/winddirection",
                "getWindSpeed": "test/weather/windspeed"
            },
            "history": false
        },
        {
            "accessory": "mqttthing",
            "type": "contactSensor",
            "name": "Test contact sensor",
            "url": "homebridge2",
            "topics": {
                "getContactSensorState": "test/contact/state"
            },
            "integerValue": true,
            "history": true
        },
        {
            "accessory": "mqttthing",
            "type": "doorbell",
            "name": "Test doorbell",
            "url": "homebridge2",
            "logMqtt": true,
            "topics": {
                "getSwitch": "test/doorbell/ring",
                "getMotionDetected": "test/doorbell/motion/detected",
                "setVolume": "test/doorbell/volume",
                "setBrightness": "test/doorbell/brightness"
            },
            "switchValues": [
                "SINGLE",
                "DOUBLE",
                "LONG"
            ],
            "integerValue": true
        },
        {
            "accessory": "mqttthing",
            "type": "securitySystem",
            "name": "Test Security System",
            "url": "homebridge2",
            "logMqtt": true,
            "topics": {
                "setTargetState": "test/security/target",
                "getTargetState": "test/security/current",
                "getCurrentState": "test/security/current"
            },
            "targetStateValues": [
                "StayArm",
                "AwayArm",
                "NightArm",
                "Disarmed"
            ],
            "currentStateValues": [
                "StayArm",
                "AwayArm",
                "NightArm",
                "Disarmed",
                "Triggered"
            ],
            "restrictTargetState": [
                1,
                2,
                3
            ]
        },
        {
            "accessory": "mqttthing",
            "type": "smokeSensor",
            "name": "Test smoke sensor",
            "url": "homebridge2",
            "logMqtt": true,
            "topics": {
                "getSmokeDetected": "test/smoke/detected"
            },
            "integerValue": true
        },
        {
            "accessory": "mqttthing",
            "type": "leakSensor",
            "name": "Test leak sensor",
            "url": "homebridge2",
            "logMqtt": true,
            "topics": {
                "getLeakDetected": "test/leak/detected"
            },
            "integerValue": true,
            "resetStateAfterms": 5000
        },
        {
            "accessory": "mqttthing",
            "type": "statelessProgrammableSwitch",
            "name": "Test Stateless Programmable Switch",
            "url": "homebridge2",
            "logMqtt": true,
            "topics": {
                "getSwitch": "test/spswitch/state"
            },
            "restrictSwitchValues": [
                0,
                1
            ]
        },
        {
            "accessory": "mqttthing",
            "type": "statelessProgrammableSwitch",
            "name": "Multi-switch",
            "url": "homebridge2",
            "logMqtt": true,
            "topics": {
                "getSwitch": [
                    "test/mspswitch/1",
                    "test/mspswitch/2",
                    "test/mspswitch/3"
                ]
            }
        },
        {
            "accessory": "mqttthing",
            "type": "garageDoorOpener",
            "name": "Test Garage Door",
            "url": "homebridge2",
            "logMqtt": true,
            "topics": {
                "setTargetDoorState": "test/garage/target",
                "getTargetDoorState": "test/garage/target",
                "getCurrentDoorState": "test/garage/current",
                "setLockTargetState": "test/lock/target",
                "getLockTargetState": "test/garagelock/target",
                "getLockCurrentState": "test/garagelock/current",
                "getObstructionDetected": "test/garage/obstruction"
            },
            "doorValues": [
                "Open",
                "Closed",
                "Opening",
                "Closing",
                "Stopped"
            ],
            "lockValues": [
                "Unsecured",
                "Secured",
                "Jammed",
                "Unknown"
            ]
        },
        {
            "accessory": "mqttthing",
            "type": "garageDoorOpener",
            "name": "Simple Garage Door",
            "url": "homebridge2",
            "logMqtt": true,
            "topics": {
                "setTargetDoorState": "test/garage2/target",
                "getTargetDoorState": "test/garage2/target",
                "getDoorMoving": "test/garage2/moving"
            },
            "doorTargetValues": [
                "Open",
                "Closed"
            ]
        },
        {
            "accessory": "mqttthing",
            "type": "lockMechanism",
            "name": "Test Lock",
            "url": "homebridge2",
            "logMqtt": true,
            "topics": {
                "setLockTargetState": "test/lock/target",
                "getLockTargetState": "test/lock/current",
                "getLockCurrentState": "test/lock/current"
            },
            "lockValues": [
                "Unsecured",
                "Secured",
                "Jammed",
                "Unknown"
            ]
        },
        {
            "accessory": "mqttthing",
            "type": "lightbulb",
            "name": "OnOffTest",
            "url": "homebridge2",
            "logMqtt": "true",
            "topics": {
                "getOn": "test/onoff/getOn",
                "setOn": "test/onoff/setOn"
            },
            "onValue": "on",
            "offValue": "off"
        },
        {
            "accessory": "mqttthing",
            "type": "switch",
            "name": "Morning Scene",
            "url": "homebridge2",
            "logMqtt": "true",
            "topics": {
                "getOn": "test/scene/name",
                "setOn": "test/scene/name"
            },
            "onValue": "morning"
        },
        {
            "accessory": "mqttthing",
            "type": "switch",
            "name": "Afternoon Scene",
            "url": "homebridge2",
            "logMqtt": "true",
            "topics": {
                "getOn": "test/scene/name",
                "setOn": "test/scene/name"
            },
            "onValue": "afternoon"
        },
        {
            "accessory": "mqttthing",
            "type": "switch",
            "name": "Evening Scene",
            "url": "homebridge2",
            "logMqtt": "true",
            "topics": {
                "getOn": "test/scene/name",
                "setOn": "test/scene/name"
            },
            "onValue": "evening"
        },
        {
            "accessory": "mqttthing",
            "type": "speaker",
            "name": "Speaker",
            "url": "homebridge2",
            "logMqtt": "true",
            "topics": {
                "getMute": "test/speaker/getMute",
                "setMute": "test/speaker/setMute",
                "getVolume": "test/speaker/getVolume",
                "setVolume": "test/speaker/setVolume"
            }
        },
        {
            "accessory": "mqttthing",
            "type": "microphone",
            "name": "Microphone",
            "url": "homebridge2",
            "logMqtt": "true",
            "topics": {
                "getMute": "test/microphone/getMute",
                "setMute": "test/microphone/setMute",
                "getVolume": "test/microphone/getVolume",
                "setVolume": "test/microphone/setVolume"
            }
        },
        {
            "accessory": "mqttthing",
            "type": "windowCovering",
            "name": "Blind",
            "url": "homebridge2",
            "logMqtt": "true",
            "topics": {
                "getCurrentPosition": "test/blind/getCurrentPosition",
                "setTargetPosition": "test/blind/setTargetPosition",
                "getPositionState": "test/blind/getPositionState",
                "setTargetVerticalTiltAngle": "test/blind/setTargetVerticalTiltAngle",
                "getCurrentVerticalTiltAngle": "test/blind/getCurrentVerticalTiltAngle"
            }
        },
        {
            "accessory": "mqttthing",
            "type": "window",
            "name": "Window",
            "url": "homebridge2",
            "logMqtt": "true",
            "topics": {
                "getCurrentPosition": "test/window/getCurrentPosition",
                "setTargetPosition": "test/window/setTargetPosition",
                "getPositionState": "test/window/getPositionState"
            }
        },
        {
            "accessory": "mqttthing",
            "type": "door",
            "name": "Door",
            "url": "homebridge2",
            "logMqtt": "true",
            "topics": {
                "getCurrentPosition": "test/door/getCurrentPosition",
                "setTargetPosition": "test/door/setTargetPosition",
                "getPositionState": "test/door/getPositionState"
            }
        },
        {
            "accessory": "mqttthing",
            "type": "carbonDioxideSensor",
            "name": "CO2",
            "url": "homebridge2",
            "logMqtt": "true",
            "topics": {
                "getCarbonDioxideDetected": "test/co2/get"
            }
        },
        {
            "accessory": "mqttthing",
            "type": "airQualitySensor",
            "name": "AirQuality",
            "url": "homebridge2",
            "logMqtt": "true",
            "topics": {
                "getAirQuality": "test/airquality/get",
                "getAirQualityPPM": "test/airqualityppm/get",
                "getPM10Density": "test/airquality/pm10",
                "getPM2_5Density": "test/airquality/pm2_5",
                "getOzoneDensity": "test/airquality/ozone",
                "getSulphurDioxideDensity": "test/airquality/so2",
                "getNitrogenDioxideDensity": "test/airquality/no2",
                "getVOCDensity": "test/airquality/voc",
                "getCarbonMonoxideLevel": "test/airquality/co",
                "getCarbonDioxideLevel": "test/airquality/co2",
                "getCurrentTemperature": "test/airquality/temperature",
                "getCurrentRelativeHumidity": "test/airquality/humidity"
            },
            "history": true
        },
        {
            "accessory": "mqttthing",
            "type": "valve",
            "valveType": "sprinkler",
            "name": "Sprinkler",
            "url": "homebridge2",
            "topics": {
                "getActive": "test/sprinkler/getActive",
                "setActive": "test/sprinkler/setActive",
                "getInUse": "test/sprinkler/getInUse",
                "getDuration": "test/sprinkler/getDuration",
                "setDuration": "test/sprinkler/setDuration",
                "getRemainingDuration": "test/sprinkler/getRemainingDuration"
            },
            "integerValue": true,
            "durationTimer": true,
            "maxDuration": 180
        },
        {
            "accessory": "mqttthing",
            "type": "thermostat",
            "name": "Thermostat",
            "url": "homebridge2",
            "logMqtt": "true",
            "topics": {
                "getCurrentHeatingCoolingState": "test/thermostat/getCurrentState",
                "setCurrentHeatingCoolingState": "test/thermostat/setCurrentState",
                "getTargetHeatingCoolingState": "test/thermostat/getTargetState",
                "setTargetHeatingCoolingState": "test/thermostat/setTargetState",
                "getCurrentTemperature": "test/thermostat/getCurrentTemperature",
                "setTargetTemperature": "test/thermostat/setTargetTemperature",
                "getTargetTemperature": "test/thermostat/getTargetTemperature",
                "setTemperatureDisplayUnits": "test/thermostat/setTemperatureDisplayUnits",
                "getTemperatureDisplayUnits": "test/thermostat/getTemperatureDisplayUnits"
            },
            "minTemperature": 5,
            "maxTemperature": 27.5,
            "restrictHeatingCoolingState": [
                0,
                1
            ]
        },
        {
            "accessory": "mqttthing",
            "type": "television",
            "name": "Television",
            "url": "homebridge2",
            "topics": {
                "setActive": "test/television/setActive",
                "getActive": "test/television/getActive",
                "setActiveInput": "test/television/setActiveInput",
                "getActiveInput": "test/television/getActiveInput",
                "setRemoteKey": "test/television/setRemoteKey"
            },
            "inputs": [
                {
                    "name": "Live TV",
                    "value": "TV"
                },
                {
                    "name": "HDMI 1",
                    "value": "HDMI1"
                },
                {
                    "name": "HDMI 2",
                    "value": "HDMI2"
                },
                {
                    "name": "HDMI 3",
                    "value": "HDMI3"
                },
                {
                    "name": "Amazon Prime Video",
                    "value": "AMAZON"
                }
            ],
            "logMqtt": true,
            "integerValue": true
        },
        {
            "accessory": "mqttthing",
            "type": "switch",
            "name": "Ucam Gartenhaus Audio",
            "manufacturer": "INSTAR",
            "model": "IN-9008 FullHD",
            "serialNumber": "1234567890",
            "firmwareRevision": "0.1",
            "url": "homebridge2",
            "username": "USERNAME",
            "password": "PASSWORD",
            "caption": "Audio",
            "mqttOptions": {
                "keepalive": 30
            },
            "mqttPubOptions": {
                "retain": true
            },
            "logMqtt": true,
            "topics": {
                "getOn": {
                    "topic": "instar/local/status/multimedia/audio/enable/high",
                    "apply": "return JSON.parse(message).val;"
                },
                "setOn": {
                    "topic": "instar/local/multimedia/audio/enable/high",
                    "apply": "return JSON.stringify({val: (message)})"
                }
            },
            "onValue": "1",
            "offValue": "0",
            "confirmationPeriodms": 1000,
            "retryLimit": 3
        },
        {
            "accessory": "mqttthing",
            "type": "switch",
            "name": "Hallway Lights",
            "url": "homebridge2",
            "manufacturer": "Sonoff",
            "model": "Touch",
            "serialNumber": "sonoff1",
            "topics": {
                "setOn": "cmnd/sonoff1/power",
                "getOn": "stat/sonoff1/POWER",
                "getOnline": {
                    "topic": "tele/sonoff1/LWT",
                    "apply": "return message == 'Online' ? 'ON' : 'OFF';"
                }
            },
            "onValue": "ON",
            "offValue": "OFF",
            "confirmationPeriodms": 1000,
            "retryLimit": 3,
            "logMqtt": true,
            "startPub": {
                "cmnd/sonoff1/power": ""
            },
            "turnOffAfterms": 6000
        },
        {
            "accessory": "mqttthing",
            "type": "statelessProgrammableSwitch",
            "name": "4 Button Remote",
            "url": "homebridge2",
            "caption": "4 Button Remote",
            "topics": {
                "getSwitch": [
                    { 
                        "topic": "tele/RF/RESULT",
                        "apply": "return JSON.parse( message ).RfReceived.Data;"
                    }, { 
                        "topic": "tele/RF/RESULT",
                        "apply": "return JSON.parse( message ).RfReceived.Data;"
                    }, { 
                        "topic": "tele/RF/RESULT",
                        "apply": "return JSON.parse( message ).RfReceived.Data;"
                    }, { 
                        "topic": "tele/RF/RESULT",
                        "apply": "return JSON.parse( message ).RfReceived.Data;"
                    }
                ]
            },
            "switchValues": [
                [ "A56021" ],
                [ "A56022" ],
                [ "A56028" ],
                [ "A56024" ]
            ],
            "restrictSwitchValues": [
                0
            ],
            "logMqtt": true
        },
        {
            "accessory": "mqttthing",
            "type": "irrigationSystem",
            "name": "Irrigation",
            "url": "homebridge2",
            "topics": {
                "getActive": "test/irrigation/getActive",
                "setActive": "test/irrigation/setActive"
            },
            "zones": [
                {
                    "name": "Zone 1",
                    "topics": {
                        "getActive": "test/irrigation/1/getActive",
                        "setActive": "test/irrigation/1/setActive",
                        "getInUse": "test/irrigation/1/getInUse"
                    }
                },
                {
                    "name": "Zone 2",
                    "topics": {
                        "getActive": "test/irrigation/2/getActive",
                        "setActive": "test/irrigation/2/setActive",
                        "getInUse": "test/irrigation/2/getInUse"
                    }
                },
                {
                    "name": "Zone 3",
                    "topics": {
                        "getActive": "test/irrigation/3/getActive",
                        "setActive": "test/irrigation/3/setActive",
                        "getInUse": "test/irrigation/3/getInUse"
                    }
                }
            ],
            "durationTimer": true,
            "integerValue": true
        },
        {
            "accessory": "mqttthing",
            "type": "airPurifier",
            "name": "Air Purifier",
            "url": "homebridge2",
            "topics": {
                "getActive": "test/airpurifier/getActive",
                "setActive": "test/airpurifier/setActive",
                "getCurrentAirPurifierState": "test/airpurifier/getCurrentState",
                "getTargetAirPurifierState": "test/airpurifier/getTargetState",
                "setTargetAirPurifierState": "test/airpurifier/setTargetState",
                "getRotationSpeed": "test/airpurifier/getRotationSpeed",
                "getSwingMode": "test/airpurifier/getSwingMode",
                "setLockPhysicalControls": "test/airpurifier/setLockPhysicalControls"
            },
            "integerValue": true
        }
    ],
    "accessories": [
        {
            "accessory": "mqttthing",
            "type": "heaterCooler",
            "name": "HeaterCooler",
            "url": "homebridge2",
            "logMqtt": true,
            "topics": {
                "setActive": "test/heatcool/setActive",
                "getActive": "test/heatcool/getActive",
                "getCurrentHeaterCoolerState": "test/heatcool/getCurrentHeaterCoolerState",
                "setTargetHeaterCoolerState": "test/heatcool/setCurrentHeaterCoolerState",
                "getCurrentTemperature": "test/heatcool/getCurrentTemperature",
                "setCoolingThresholdTemperature": "test/heatcool/setCoolingThresholdTemperature",
                "setHeatingThresholdTemperature": "test/heatcool/setHeatingThresholdTemperature",
                "setRotationMode": "test/heatcool/setRotationMode",
                "setSwingMode": "test/heatcool/setSwingMode",
                "setRotationSpeed": {
                    "topic": "test/heatcool/setRotationSpeed",
                    "apply": "return [ 'off', 'min', 'low', 'medium', 'high', 'max' ][ Math.floor( message / 20 ) ];"
                }
            }
        }, {
            "accessory": "mqttthing",
            "type": "fan",
            "name": "Test Fan",
            "url": "homebridge2",
            "logMqtt": true,
            "topics": {
                "getOn": "test/fan/getOn",
                "setOn": "test/fan/setOn",
                "getRotationDirection": "test/fan/getRotationDirection",
                "setRotationDirection": "test/fan/setRotationDirection",
                "getRotationSpeed": { "topic": "test/fan/getRotationSpeed", "apply": "return Math.floor((message+10)/20)*20" },
                "setRotationSpeed": { "topic": "test/fan/setRotationSpeed", "apply": "return Math.floor((message+10)/20)*20" },
                "xgetRotationSpeed": "test/fan/getRotationSpeed",
                "xsetRotationSpeed": "test/fan/setRotationSpeed"
            },
            "integerValue": true
        }, {
            "accessory": "mqttthing",
            "type": "lightbulb-OnOff",
            "name": "Toggle-Light",
            "url": "homebridge2",
            "logMqtt": true,
            "topics": {
                "getOn": "test/toggleLight/getOn",
                "setOn": {
                    "topic": "test/toggleLight/setOn",
                    "apply": "return 1;"
                }
            },
            "integerValue": true
        }, {
            "accessory": "mqttthing",
            "type": "lightbulb",
            "url": "homebridge2",
            "topics": {
                "getOn": "test/DimmerRgb1",
                "setOn": "test/DimmerRgb1",
                "getRGB": "test/DimmerRgb1/rgb",
                "setRGB": "test/DimmerRgb1/rgb"
            },
            "onValue": "on",
            "offValue": "off",
            "name": "RGBTest"
        }
    ]
}
