{
  "pluginAlias": "LogoPlatform",
  "pluginType": "platform",
  "singular": false,
  "schema": {
    "type": "object",
    "properties": {
      "name": {
        "title": "Name",
        "type": "string",
        "required": true,
        "default": "LOGO 1"
      },
      "interface": {
        "title": "Interface for communication, default is: modbus.",
        "type": "string",
        "default": "modbus",
        "oneOf": [
          { "title": "Modbus", "enum": ["modbus"] },
          { "title": "Snap7", "enum": ["snap7"] }
        ]
      },
      "ip": {
        "title": "IP Address",
        "type": "string",
        "required": true,
        "default": "10.0.0.100",
        "format": "ipv4"
      },
      "port": {
        "title": "ModBus Port",
        "type": "number",
        "placeholder": "502",
        "description": "Only required for ModBus interface."
      },
      "logoType": {
        "title": "Must be set to the Type of your LOGO!",
        "type": "string",
        "default": "switch",
        "oneOf": [
          { "title": "0BA7 [0BA7.Standard]", "enum": ["0BA7"] },
          { "title": "0BA8 [LOGO! 8 (0BA8.Standard)]", "enum": ["0BA8"] },
          { "title": "0BA0 [LOGO! 8.1 & 8.2 (LOGO! 8.FS4)]", "enum": ["0BA0"] },
          { "title": "0BA1 [LOGO! 8.3]", "enum": ["0BA1"] }
        ],
        "description": "Only required for Snap7 interface."
      },
      "localTSAP": {
        "title": "Must be set to the local TSAP of your LOGO!, default is: '0x1200'.",
        "type": "String",
        "placeholder": "0x1200",
        "description": "Only required for Snap7 interface."
      },
      "remoteTSAP": {
        "title": "Must be set to the remote TSAP of your LOGO!, default is: 0x2200'.",
        "type": "String",
        "placeholder": "0x2200",
        "description": "Only required for Snap7 interface."
      },
      "queueInterval": {
        "title": "Interval to send queries from Plugin to LOGO!, in milliseconds, default is: 100. Range: 100 - 1000",
        "type": "number",
        "placeholder": "100"
      },
      "queueSize": {
        "title": "Number of items to be hold in send/receive queue, default is: 100. Range: 100 - 1000",
        "type": "number",
        "placeholder": "100"
      },
      "updateInterval": {
        "title": "Auto Update Interval in milliseconds, 0 = Off,  Range: 0 - ...",
        "type": "number",
        "placeholder": "10000"
      },
      "debugMsgLog": {
        "title": "Debug Msg Log (On / Off), Range: 0 - 1",
        "type": "number",
        "placeholder": "0"
      },
      "retryCount": {
        "title": "Retry count for sending the queries messages, default is: 5, Range: 0 - ...",
        "type": "number",
        "placeholder": "5"
      },
      "pushButton": {
        "title": "If e.g. the network input in the LOGO! a hardware button on the LOGO! simulated, default is: 0. (For all Accessories.), Range: 0 - 1",
        "type": "number",
        "placeholder": "0"
      },
      "loggerType": {
        "title": "Activates Logging, default is: no Logging (none).",
        "type": "string",
        "placeholder": "none",
        "oneOf": [
          { "title": "no Logging", "enum": ["none"] },
          { "title": "InfluxDB", "enum": ["influxDB"] },
          { "title": "Fakegato", "enum": ["fakegato"] }
        ]
      },
      "loggerInterval": {
        "title": "Logging Interval in milliseconds, default is: 300000 (5min)",
        "type": "number",
        "placeholder": "300000",
        "description": "Only required for Logging to InfluxDB."
      },
      "influxDBUrl": {
        "title": "IP-Address and Port for InfluxDB",
        "type": "string",
        "placeholder": "http://10.0.0.99:8086",
        "description": "Only required for Logging to InfluxDB."
      },
      "influxDBToken": {
        "title": "InfluxDB API token",
        "type": "string",
        "placeholder": "API Token",
        "description": "Only required for Logging to InfluxDB."
      },
      "influxDBOrg": {
        "title": "InfluxDB organization ID",
        "type": "string",
        "placeholder": "Org",
        "description": "Only required for Logging to InfluxDB."
      },
      "influxDBBucket": {
        "title": "InfluxDB bucket name",
        "type": "string",
        "placeholder": "Bucket",
        "description": "Only required for Logging to InfluxDB."
      },
      "devices": {
        "title": "Devices",
        "type": "object",
        "required": true,
        "properties": {
          "name": {
            "title": "Name",
            "type": "string",
            "required": true,
            "default": "Accessory 1"
          },
          "type": {
            "title": "Accessory or Sensor Type",
            "type": "string",
            "default": "switch",
            "oneOf": [
              { "title": "Switch", "enum": ["switch"] },
              { "title": "Lightbulb", "enum": ["lightbulb"] },
              { "title": "Blind", "enum": ["blind"] },
              { "title": "Window", "enum": ["window"] },
              { "title": "Garage Door Oppener", "enum": ["garagedoor"] },
              { "title": "Thermostat", "enum": ["thermostat"] },
              { "title": "Irrigation System", "enum": ["irrigationSystem"] },
              { "title": "Valve", "enum": ["valve"] },
              { "title": "Fan", "enum": ["fan"] },
              { "title": "Filter Maintenance", "enum": ["filterMaintenance"] },
              { "title": "Outlet", "enum": ["outlet"] },
              { "title": "Light Sensor", "enum": ["lightSensor"] },
              { "title": "Motion Sensor", "enum": ["motionSensor"] },
              { "title": "Contact Sensor", "enum": ["contactSensor"] },
              { "title": "Smoke Sensor", "enum": ["smokeSensor"] },
              { "title": "Temperature Sensor", "enum": ["temperatureSensor"] },
              { "title": "Humidity Sensor", "enum": ["humiditySensor"] },
              { "title": "Carbon Dioxide Sensor", "enum": ["carbonDioxideSensor"] },
              { "title": "Air Quality Sensor", "enum": ["airQualitySensor"] },
              { "title": "Leak Sensor", "enum": ["leakSensor"] },
              { "title": "Watchdog", "enum": ["watchdog"] }
            ],
            "required": true
          },
          "debugMsgLog": {
            "title": "Debug Msg Log (On / Off), Range: 0 - 1",
            "type": "number",
            "placeholder": "0"
          },
          "pushButton": {
            "title": "Push Button (On / Off), Range: 0 - 1",
            "type": "number",
            "placeholder": "0"
          },
          "logging": {
            "title": "Activates Logging only for this Accessory, default is: 0, Range: 0 - 1",
            "type": "number",
            "placeholder": "0"
          },
          "parentAccessory": {
            "title": "Parent accessory name, needed to create this accessory as a sub-accessory of an other accessory. Not for Valve, IrrigationSystem and Other",
            "type": "string",
            "placeholder": ""
          },

          "switchGet": {
            "title": "Switch Get (Required)",
            "type": "string",
            "placeholder": "Q1",
            "condition": {
                "functionBody": "return model.devices.type == 'switch';"
            }
          },
          "switchSetOn": {
            "title": "Switch Set On (Required)",
            "type": "string",
            "placeholder": "V1.0",
            "condition": {
                "functionBody": "return model.devices.type == 'switch';"
            }
          },
          "switchSetOff": {
            "title": "Switch Set Off (Required)",
            "type": "string",
            "placeholder": "V1.1",
            "condition": {
                "functionBody": "return model.devices.type == 'switch';"
            }
          },

          "lightbulbGet": {
            "title": "Lightbulb Get (Required)",
            "type": "string",
            "placeholder": "Q4",
            "condition": {
                "functionBody": "return model.devices.type == 'lightbulb';"
            }
          },
          "lightbulbSetOn": {
            "title": "Lightbulb Set On (Required)",
            "type": "string",
            "placeholder": "V7.0",
            "condition": {
                "functionBody": "return model.devices.type == 'lightbulb';"
            }
          },
          "lightbulbSetOff": {
            "title": "Lightbulb Set Off (Required)",
            "type": "string",
            "placeholder": "V7.1",
            "condition": {
                "functionBody": "return model.devices.type == 'lightbulb';"
            }
          },
          "lightbulbSetBrightness": {
            "title": "Lightbulb Set Brightness (Required)",
            "type": "string",
            "placeholder": "VW70",
            "condition": {
                "functionBody": "return model.devices.type == 'lightbulb';"
            }
          },
          "lightbulbGetBrightness": {
            "title": "Lightbulb Get Brightness (Required)",
            "type": "string",
            "placeholder": "VW72",
            "condition": {
                "functionBody": "return model.devices.type == 'lightbulb';"
            }
          },

          "blindSetTargetPos": {
            "title": "Blind Set Target Pos (Required)",
            "type": "string",
            "placeholder": "VW26",
            "condition": {
                "functionBody": "return model.devices.type == 'blind';"
            }
          },
          "blindGetTargetPos": {
            "title": "Blind Get Target Pos (Required)",
            "type": "string",
            "placeholder": "VW26",
            "condition": {
                "functionBody": "return model.devices.type == 'blind';"
            }
          },
          "blindGetPos": {
            "title": "Blind Get Pos (Required)",
            "type": "string",
            "placeholder": "VW28",
            "condition": {
                "functionBody": "return model.devices.type == 'blind';"
            }
          },
          "blindGetState": {
            "title": "Blind Get State (Required)",
            "type": "string",
            "placeholder": "VW30",
            "condition": {
                "functionBody": "return model.devices.type == 'blind';"
            }
          },
          "blindConvertValue": {
            "title": "Blind Convert Value (Not Required)",
            "type": "number",
            "placeholder": "0",
            "condition": {
                "functionBody": "return model.devices.type == 'blind';"
            }
          },

          "windowSetTargetPos": {
            "title": "Window Set Target Pos (Required)",
            "type": "string",
            "placeholder": "VW32",
            "condition": {
                "functionBody": "return model.devices.type == 'window';"
            }
          },
          "windowGetTargetPos": {
            "title": "Window Get Target Pos (Required)",
            "type": "string",
            "placeholder": "VW34",
            "condition": {
                "functionBody": "return model.devices.type == 'window';"
            }
          },
          "windowGetPos": {
            "title": "Window Get Pos (Required)",
            "type": "string",
            "placeholder": "VW34",
            "condition": {
                "functionBody": "return model.devices.type == 'window';"
            }
          },
          "windowGetState": {
            "title": "Window Get State (Required)",
            "type": "string",
            "placeholder": "VW36",
            "condition": {
                "functionBody": "return model.devices.type == 'window';"
            }
          },
          "windowConvertValue": {
            "title": "Window Convert Value (Not Required)",
            "type": "number",
            "placeholder": "0",
            "condition": {
                "functionBody": "return model.devices.type == 'window';"
            }
          },

          "garagedoorGetState": {
            "title": "Garagedoor Get State (Required)",
            "type": "string",
            "placeholder": "VW40",
            "condition": {
                "functionBody": "return model.devices.type == 'garagedoor';"
            }
          },
          "garagedoorGetTargetState": {
            "title": "Garagedoor Get Target State (Required)",
            "type": "string",
            "placeholder": "VW40",
            "condition": {
                "functionBody": "return model.devices.type == 'garagedoor';"
            }
          },
          "garagedoorSetTargetState": {
            "title": "Garagedoor Set Target State (Required)",
            "type": "string",
            "placeholder": "VW38",
            "condition": {
                "functionBody": "return model.devices.type == 'garagedoor';"
            }
          },
          "garagedoorObstruction": {
            "title": "Garagedoor Obstruction (Not Required)",
            "type": "string",
            "placeholder": "V3.0",
            "condition": {
                "functionBody": "return model.devices.type == 'garagedoor';"
            }
          },

          "thermostatGetHCState": {
            "title": "Thermostat Get HC State (Required)",
            "type": "string",
            "placeholder": "VW42",
            "condition": {
                "functionBody": "return model.devices.type == 'thermostat';"
            }
          },
          "thermostatGetTargetHCState": {
            "title": "Thermostat Get Target HC State (Required)",
            "type": "string",
            "placeholder": "VW44",
            "condition": {
                "functionBody": "return model.devices.type == 'thermostat';"
            }
          },
          "thermostatSetTargetHCState": {
            "title": "Thermostat Set Target HC State (Required)",
            "type": "string",
            "placeholder": "VW46",
            "condition": {
                "functionBody": "return model.devices.type == 'thermostat';"
            }
          },
          "thermostatGetTemp": {
            "title": "Thermostat Get Temp (Required)",
            "type": "string",
            "placeholder": "VW48",
            "condition": {
                "functionBody": "return model.devices.type == 'thermostat';"
            }
          },
          "thermostatGetTargetTemp": {
            "title": "Thermostat Get Target Temp (Required)",
            "type": "string",
            "placeholder": "VW50",
            "condition": {
                "functionBody": "return model.devices.type == 'thermostat';"
            }
          },
          "thermostatSetTargetTemp": {
            "title": "Thermostat Set Target Temp (Required)",
            "type": "string",
            "placeholder": "VW52",
            "condition": {
                "functionBody": "return model.devices.type == 'thermostat';"
            }
          },
          "thermostatTempDisplayUnits": {
            "title": "Thermostat Temp Display Units (Required)",
            "type": "number",
            "placeholder": "0",
            "condition": {
                "functionBody": "return model.devices.type == 'thermostat';"
            }
          },
          "thermostatConvertValue": {
            "title": "Thermostat Convert Value (Not Required)",
            "type": "number",
            "placeholder": "0",
            "condition": {
                "functionBody": "return model.devices.type == 'thermostat';"
            }
          },

          "irrigationSystemGetActive": {
            "title": "Irrigation System Get Active (Required)",
            "type": "string",
            "placeholder": "V4.0",
            "condition": {
                "functionBody": "return model.devices.type == 'irrigationSystem';"
            }
          },
          "irrigationSystemSetActiveOn": {
            "title": "Irrigation System Set Active On (Required)",
            "type": "string",
            "placeholder": "V4.1",
            "condition": {
                "functionBody": "return model.devices.type == 'irrigationSystem';"
            }
          },
          "irrigationSystemSetActiveOff": {
            "title": "Irrigation System Set Active Off (Required)",
            "type": "string",
            "placeholder": "V4.2",
            "condition": {
                "functionBody": "return model.devices.type == 'irrigationSystem';"
            }
          },
          "irrigationSystemGetProgramMode": {
            "title": "Irrigation System Get Program Mode (Required)",
            "type": "string",
            "placeholder": "VW54",
            "condition": {
                "functionBody": "return model.devices.type == 'irrigationSystem';"
            }
          },
          "irrigationSystemGetInUse": {
            "title": "Irrigation System Get InUse (Required)",
            "type": "string",
            "placeholder": "V4.3",
            "condition": {
                "functionBody": "return model.devices.type == 'irrigationSystem';"
            }
          },
          "irrigationSystemGetRemainingDuration": {
            "title": "Irrigation System Get RemainingDuration (Not Required)",
            "type": "string",
            "placeholder": "VW56",
            "condition": {
                "functionBody": "return model.devices.type == 'irrigationSystem';"
            }
          },
          "irrigationSystemGetWaterLevel": {
            "title": "Irrigation System Get WaterLevel (Not Required)",
            "type": "string",
            "placeholder": "VW58",
            "condition": {
                "functionBody": "return model.devices.type == 'irrigationSystem';"
            }
          },
          "irrigationSystemAutoUpdate": {
            "title": "Irrigation System Auto Update (Not Required)",
            "type": "string",
            "placeholder": "1",
            "condition": {
                "functionBody": "return model.devices.type == 'irrigationSystem';"
            }
          },

          "valveGetActive": {
            "title": "Valve Get Active (Required)",
            "type": "string",
            "placeholder": "V5.0",
            "condition": {
                "functionBody": "return model.devices.type == 'valve';"
            }
          },
          "valveSetActiveOn": {
            "title": "Valve Set Active On (Required)",
            "type": "string",
            "placeholder": "V5.1",
            "condition": {
                "functionBody": "return model.devices.type == 'valve';"
            }
          },
          "valveSetActiveOff": {
            "title": "Valve Set Active Off (Required)",
            "type": "string",
            "placeholder": "V5.2",
            "condition": {
                "functionBody": "return model.devices.type == 'valve';"
            }
          },
          "valveGetInUse": {
            "title": "Valve Get InUse (Required)",
            "type": "string",
            "placeholder": "V5.3",
            "condition": {
                "functionBody": "return model.devices.type == 'valve';"
            }
          },
          "valveType": {
            "title": "Valve Type (Required)",
            "type": "number",
            "placeholder": "0",
            "condition": {
                "functionBody": "return model.devices.type == 'valve';"
            }
          },
          "valveSetDuration": {
            "title": "Valve Set Duration (Not Required)",
            "type": "string",
            "placeholder": "VW56",
            "condition": {
                "functionBody": "return model.devices.type == 'valve';"
            }
          },
          "valveGetDuration": {
            "title": "Valve Get Duration (Not Required)",
            "type": "string",
            "placeholder": "VW56",
            "condition": {
                "functionBody": "return model.devices.type == 'valve';"
            }
          },
          "valveGetRemainingDuration": {
            "title": "Valve Get Remaining Duration (Not Required)",
            "type": "string",
            "placeholder": "VW58",
            "condition": {
                "functionBody": "return model.devices.type == 'valve';"
            }
          },
          "valveSetIsConfiguredOn": {
            "title": "Valve Set Is Configured On - Enabled (Not Required)",
            "type": "string",
            "placeholder": "V5.4",
            "condition": {
                "functionBody": "return model.devices.type == 'valve';"
            }
          },
          "valveSetIsConfiguredOff": {
            "title": "Valve Set Is Configured Off - Enabled (Not Required)",
            "type": "string",
            "placeholder": "V5.4",
            "condition": {
                "functionBody": "return model.devices.type == 'valve';"
            }
          },
          "valveGetIsConfigured": {
            "title": "Valve Get Is Configured - Enabled (Not Required)",
            "type": "string",
            "placeholder": "V5.5",
            "condition": {
                "functionBody": "return model.devices.type == 'valve';"
            }
          },
          "valveParentIrrigationSystem": {
            "title": "Valve parent Irrigation System accessory (Not Required)",
            "type": "string",
            "placeholder": "IrrigationSystem1",
            "condition": {
                "functionBody": "return model.devices.type == 'valve';"
            }
          },
          "valveZone": {
            "title": "Valve zone, needed when valve is part of an Irrigation System accessory (Not Required)",
            "type": "string",
            "placeholder": "IrrigationSystem1",
            "condition": {
                "functionBody": "return model.devices.type == 'valve';"
            }
          },

          "fanGet": {
            "title": "Fan Get (Required)",
            "type": "string",
            "placeholder": "V6.0",
            "condition": {
                "functionBody": "return model.devices.type == 'fan';"
            }
          },
          "fanSetOn": {
            "title": "Fan Set On (Required)",
            "type": "string",
            "placeholder": "V6.1",
            "condition": {
                "functionBody": "return model.devices.type == 'fan';"
            }
          },
          "fanSetOff": {
            "title": "Fan Set Off (Required)",
            "type": "string",
            "placeholder": "V6.2",
            "condition": {
                "functionBody": "return model.devices.type == 'fan';"
            }
          },
          "fanGetRotationDirection": {
            "title": "Fan Get Rotation Direction (Not Required)",
            "type": "string",
            "placeholder": "V6.3",
            "condition": {
                "functionBody": "return model.devices.type == 'fan';"
            }
          },
          "fanSetRotationDirectionCW": {
            "title": "Fan Set Rotation Direction CW (Not Required)",
            "type": "string",
            "placeholder": "V6.4",
            "condition": {
                "functionBody": "return model.devices.type == 'fan';"
            }
          },
          "fanSetRotationDirectionCCW": {
            "title": "Fan Set Rotation Direction CCW (Not Required)",
            "type": "string",
            "placeholder": "V6.5",
            "condition": {
                "functionBody": "return model.devices.type == 'fan';"
            }
          },
          "fanGetRotationSpeed": {
            "title": "Fan Get Rotation Speed (Not Required)",
            "type": "string",
            "placeholder": "VW60",
            "condition": {
                "functionBody": "return model.devices.type == 'fan';"
            }
          },
          "fanSetRotationSpeed": {
            "title": "Fan Set Rotation Speed (Not Required)",
            "type": "string",
            "placeholder": "VW62",
            "condition": {
                "functionBody": "return model.devices.type == 'fan';"
            }
          },

          "filterChangeIndication": {
            "title": "Filter Change Indication (Required)",
            "type": "string",
            "placeholder": "V7.0",
            "condition": {
                "functionBody": "return model.devices.type == 'filterMaintenance';"
            }
          },
          "filterLifeLevel": {
            "title": "Filter Life Level (Not Required)",
            "type": "string",
            "placeholder": "VW64",
            "condition": {
                "functionBody": "return model.devices.type == 'filterMaintenance';"
            }
          },
          "filterResetFilterIndication": {
            "title": "Filter Reset Filter Indication (Not Required)",
            "type": "string",
            "placeholder": "V7.1",
            "condition": {
                "functionBody": "return model.devices.type == 'filterMaintenance';"
            }
          },

          "outletGet": {
            "title": "Outlet Get (Required)",
            "type": "string",
            "placeholder": "Q1",
            "condition": {
                "functionBody": "return model.devices.type == 'outlet';"
            }
          },
          "outletSetOn": {
            "title": "Outlet Set On (Required)",
            "type": "string",
            "placeholder": "V1.0",
            "condition": {
                "functionBody": "return model.devices.type == 'outlet';"
            }
          },
          "outletSetOff": {
            "title": "Outlet Set Off (Required)",
            "type": "string",
            "placeholder": "V1.1",
            "condition": {
                "functionBody": "return model.devices.type == 'outlet';"
            }
          },

          "light": {
            "title": "Light (Required)",
            "type": "string",
            "placeholder": "VW66",
            "condition": {
                "functionBody": "return model.devices.type == 'lightSensor';"
            }
          },

          "motion": {
            "title": "Motion (Required)",
            "type": "string",
            "placeholder": "V8.0",
            "condition": {
                "functionBody": "return model.devices.type == 'motionSensor';"
            }
          },

          "contact": {
            "title": "Contact (Required)",
            "type": "string",
            "placeholder": "V8.1",
            "condition": {
                "functionBody": "return model.devices.type == 'contactSensor';"
            }
          },

          "smoke": {
            "title": "Smoke (Required)",
            "type": "string",
            "placeholder": "V8.2",
            "condition": {
                "functionBody": "return model.devices.type == 'smokeSensor';"
            }
          },

          "temperature": {
            "title": "Temperature (Required)",
            "type": "string",
            "placeholder": "VW68",
            "condition": {
                "functionBody": "return model.devices.type == 'temperatureSensor';"
            }
          },

          "humidity": {
            "title": "Humidity (Required)",
            "type": "string",
            "placeholder": "VW70",
            "condition": {
                "functionBody": "return model.devices.type == 'humiditySensor';"
            }
          },
          "convertValue": {
            "title": "Convert Value (Not Required)",
            "type": "number",
            "placeholder": "0",
            "condition": {
                "functionBody": "return ((model.devices.type == 'temperatureSensor') || (model.devices.type == 'humiditySensor'));"
            }
          },

          "carbonDioxide": {
            "title": "Carbon Dioxide (Required)",
            "type": "string",
            "placeholder": "V9.0",
            "condition": {
                "functionBody": "return model.devices.type == 'carbonDioxideSensor';"
            }
          },
          "carbonDioxideLevel": {
            "title": "Carbon Dioxide Level (Not Required)",
            "type": "string",
            "placeholder": "VW72",
            "condition": {
                "functionBody": "return model.devices.type == 'carbonDioxideSensor';"
            }
          },
          "carbonDioxidePeakLevel": {
            "title": "Carbon Dioxide Peak Level (Not Required)",
            "type": "string",
            "placeholder": "VW74",
            "condition": {
                "functionBody": "return model.devices.type == 'carbonDioxideSensor';"
            }
          },

          "airQuality": {
            "title": "Air Quality (Required)",
            "type": "string",
            "placeholder": "V7.0",
            "condition": {
                "functionBody": "return model.devices.type == 'airQualitySensor';"
            }
          },

          "leak": {
            "title": "Leak (Required)",
            "type": "string",
            "placeholder": "V9.1",
            "condition": {
                "functionBody": "return model.devices.type == 'leakSensor';"
            }
          },
          "waterLevel": {
            "title": "Water Level (Not Required)",
            "type": "string",
            "placeholder": "VW78",
            "condition": {
                "functionBody": "return model.devices.type == 'leakSensor';"
            }
          },

          "watchdog": {
            "title": "Watchdog (Required)",
            "type": "string",
            "placeholder": "VW79",
            "condition": {
                "functionBody": "return model.devices.type == 'watchdog';"
            }
          },
          "expectedValue": {
            "title": "Expected Value (Required)",
            "type": "string",
            "placeholder": "1234",
            "condition": {
                "functionBody": "return model.devices.type == 'watchdog';"
            }
          },
          "disconnect": {
            "title": "Disconnect (Not Required)",
            "type": "string",
            "placeholder": "0",
            "condition": {
                "functionBody": "return model.devices.type == 'watchdog';"
            }
          }

        }
      }
    }
  }
}