{
  "pluginAlias": "BoschControlPanel_BGSeries",
  "pluginType": "platform",
  "singular": true,
  "schema": {
    "type": "object",
    "properties": {
      "Host":{
        "title":"Host",
        "type":"string",
        "required": true
      },
      "Port":{
        "title":"Port",
        "type": "integer",
        "required": true,
        "default" : 7700
      },
      "Passcode":{
        "title":"Passcode",
        "type": "string",
        "required": true,
        "default": ""
      },
      "ForceLegacyMode":{
        "title":"Legacy Mode",
        "type": "boolean",
        "required": true,
        "default": false
      },
      "MasterFireAlarm":{
        "title":"Master Fire Alarm",
        "type": "boolean",
        "required": true,
        "default": false
      },
      "MasterPersonnalAlarm":{
        "title":"Master Personnal Alarm",
        "type": "boolean",
        "required": true,
        "default": false
      },
      "MasterGazAlarm":{
        "title":"Master Gaz Alarm",
        "type": "boolean",
        "required": true,
        "default": false
      },
      "MasterBurglaryAlarm":{
        "title":"Master Burglary Alarm",
        "type": "boolean",
        "required": true,
        "default": false
      },
      "LogConfidenceMessage":{
        "type": "boolean",
        "title": "Panel Confidence Message Notifications (Keep Alive)",
        "default": false
      },
      "LogPoint":{
        "type": "boolean",
        "title": "Points Notifications",
        "default": false
      },
      "LogOutput":{
        "type": "boolean",
        "title": "Output Notifications",
        "default": true
      },
      "LogAreaAlarm":{
        "type": "boolean",
        "title": "Area Alarm Notifications",
        "default": true
      },
      "LogAreaArmingStatus":{
        "type": "boolean",
        "title": "Area Arming Status Notifications",
        "default": true
      },
      "Areas":{
        "required":false,
        "type": "array",
        "items":{
          "type":"object",
          "properties":{
            "AreaNumber":{
              "type": "integer",
               "title": "Number",
               "required": true
            },
            "AreaInScope":{
              "type": "string",
               "title": "Area(s) in Scope",
               "required": false
            },
            "PasscodeFollowsScope":{
              "type": "boolean",
               "title": "Passcode Follows Scope",
               "default": false,
               "required": true
            },
            "Active":{
              "title": "Show Accessory in Home App",
              "type": "boolean",
              "default": true,
              "required": true
           }
        }
      }
    },
    "Outputs":{
      "required":false,
      "type": "array",
      "items":{
        "type":"object",
        "properties":{
          "OutputNumber":{
            "type": "integer",
             "title": "Number",
             "required": true
          },
          "Active":{
            "title": "Show Accessory in Home App",
            "type": "boolean",
            "default": true
         }
      }
    }
  },
  "Points" :{
        "required": false,
         "type": "array",
           "items":{
             "type": "object",
             "properties":{
             "PointNumber": {
               "type": "integer",
               "title": "Number",
               "required": true
             },
            "SensorType":{
              "type": "string",
              "title": "Sensor Type",
              "required": true,
              "default": "MotionSensor",
              "oneOf": [
                {
                  "title": "Motion Sensor",
                  "enum": ["MotionSensor"]
                  },
                  {
                    "title": "Contact Sensor",
                    "enum": ["ContactSensor"]
                    },
                    {
                      "title": "Leak Sensor",
                      "enum": ["LeakSensor"]
                    },
                    {
                      "title": "CO Sensor",
                      "enum": ["COSensor"]
                    },
                    {
                      "title": "Smoke Sensor",
                      "enum": ["SmokeSensor"]
                    }
              ]
            },
            "Active":{
              "title": "Show Accessory in Home App",
              "type": "boolean",
              "default": true
            }
            }
          }
      }
    }
  },
  "layout": [
    {
      "title": "<h4><b>Bosch Control Panel Configuration</b></h4>",
      "type": "flex",
      "flex-flow": "column wrap",
      "items":[
        {
          "type": "help",
          "helpvalue": "<em class='primary-text'>Please read </em> <a href='https://github.com/EHylands/homebridge-boschcontrolpanel_bgseries#bosch-control-panel-configuration'> Bosch Control Panel Configuration</a> <em class='primary-text'>to configure your panel for Homebridge operation </em>"
        },
        {
          "type": "flex",
          "flex-flow": "row wrap",
          "items": [
            "Host", 
            "Port",
            "Passcode"
          ]
        },
        "ForceLegacyMode"
      ]
    },
    {
      "type": "help",
      "helpvalue": "<em class='primary-text'>For plugin configuration options, please check </em> <a href='https://github.com/EHylands/homebridge-boschcontrolpanel_bgseries#homebride-pluging-configuration-file'> Config File Options</a>"
    },
    {
      "key": "Areas",
      "type": "array",
      "title":"Areas (HomeKit Security System Accessory)",
      "expandable": true,
      "expanded": false,
      "buttonText": "Add Area",
      "items": [
        {
          "type": "div",
          "displayFlex": true,
          "flex-direction": "column",
          "items": [
            {
              "type": "div",
              "displayFlex": true,
              "flex-direction": "row",
              "items": [
                {"key": "Areas[].AreaNumber", "flex": "2 2 25px"}
              ]
            },
            {
              "type": "div",
              "displayFlex": true,
              "flex-direction": "row",
              "items": [
                {"key": "Areas[].AreaInScope", "flex": "2 2 10px"}
              ]
            },
            {
              "type": "div",
              "displayFlex": true,
              "flex-direction": "row",
              "items": [
                {"key": "Areas[].PasscodeFollowsScope", "flex": "2 2 10px"}
              ]
            },
            {
              "type": "div",
              "displayFlex": true,
              "flex-direction": "row",
              "items": [
                {"key": "Areas[].Active", "flex": "2 2 10px"}
              ]
            }
          ]
        }
      ]
    },
    {
      "key": "Points",
      "type": "array",
      "title":"Points (Homekit Sensors)",
      "expandable": true,
      "expanded": false,
      "buttonText": "Add Point",
      "items": [
        {
          "type": "div",
          "displayFlex": true,
          "flex-direction": "column",
          "items": [
            {
              "type": "div",
              "displayFlex": true,
              "flex-direction": "row",
              "items": [
                {"key": "Points[].PointNumber", "flex": "1 1 25px"},
                {"key": "Points[].SensorType", "flex": "3 3 50px"}
              ]
            },
            {
              "type": "div",
              "displayFlex": true,
              "flex-direction": "row",
              "items": [
                {"key": "Points[].Active", "flex": "2 2 10px"}
              ]
            }
          ]
        }
      ]
    },
    {
      "key": "Outputs",
      "type": "array",
      "title":"Outputs (Homekit Switch)",
      "expandable": true,
      "expanded": false,
      "buttonText": "Add Output",
      "items": [
        {
          "type": "div",
          "displayFlex": true,
          "flex-direction": "column",
          "items": [
            {
              "type": "div",
              "displayFlex": true,
              "flex-direction": "row",
              "items": [
                {"key": "Outputs[].OutputNumber", "flex": "2 2 25px"}
              ]
            },
            {
              "type": "div",
              "displayFlex": true,
              "flex-direction": "row",
              "items": [
                {"key": "Outputs[].Active", "flex": "2 2 10px"}
              ]
            }
          ]
        }
      ]
    },
    {
      "title": "Master Alarm Accessories",
      "expandable": true,
      "expanded": true,
      "type": "array",
      "flex-flow": "column wrap",
      "items": [
        "MasterFireAlarm",
        "MasterGazAlarm",
        "MasterBurglaryAlarm",
        "MasterPersonnalAlarm"
      ]
    },
    {
      "title": "Homebridge Log File Configuration",
      "expandable": true,
      "expanded": true,
      "type": "array",
      "flex-flow": "column wrap",
      "items": [
        "LogConfidenceMessage",
        "LogPoint",
        "LogOutput",
        "LogAreaAlarm",
        "LogAreaArmingStatus"
      ]
    }
  ]
}



           