{
  "pluginAlias": "google-smarthome",
  "pluginType": "platform",
  "singular": true,
  "customUi": true,
  "customUiPath": "./dist/homebridge-ui",
  "customUiDevServer": "http://localhost:4500",
  "headerDisplay": "## Homebridge Config UI X Upgrade Required\nhomebridge-config-ui-x v4.6.0 or later is required to configure this plugin correctly. If you are seeing this message you need to upgrade (or reload the UI).\n",
  "footerDisplay": "Search for [Homebridge in the Google Home app](https://assistant.google.com/services/a/uid/000000b558f0d5d1?hl=en) and link the action to complete setup.",
  "schema": {
    "type": "object",
    "properties": {
      "name": {
        "title": "Name",
        "type": "string",
        "default": "Google Smart Home",
        "minLength": 1,
        "required": true
      },
      "token": {
        "title": "Token",
        "type": "string",
        "required": true
      },
      "notice": {
        "title": "Notice",
        "type": "string",
        "required": true,
        "default": "Keep your token a secret!"
      },
      "twoFactorAuthPin": {
        "placeholder": "Pin Code",
        "type": "string",
        "pattern": "^[0-9]*$"
      },
      "disablePinCodeRequirement": {
        "title": "Disable Pin Code Requirement",
        "type": "boolean"
      },
      "debug": {
        "title": "Enable Debug Logging",
        "type": "boolean"
      },
      "instanceDenylist": {
        "title": "Instance",
        "type": "array",
        "items": {
          "title": "Instance Username",
          "type": "string",
          "pattern": "^([A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2}$"
        }
      },
      "accessoryFilter": {
        "title": "Accessory",
        "type": "array",
        "items": {
          "title": "Accessory Name",
          "type": "string"
        }
      },
      "accessoryFilterInverse": {
        "title": "Invert Accessory Filter ( Change Accessory filter to only allow the names accessories, rather than deny them )",
        "type": "boolean"
      },
      "accessorySerialFilter": {
        "title": "Accessory",
        "type": "array",
        "items": {
          "title": "Accessory Serial",
          "type": "string"
        }
      },
      "forceFahrenheit": {
        "title": "Force Degrees Fahrenheit",
        "type": "boolean"
      },
      "betaServer": {
        "title": "Use beta cloud server",
        "type": "boolean",
        "default": false
      },
      "showHeaterCoolerAsACUnit": {
        "title": "Force Heater-Cooler devices to show as AC_UNIT",
        "type": "boolean"
      }
    }
  },
  "layout": [
    {
      "type": "fieldset",
      "title": "Advanced Settings",
      "expandable": true,
      "expanded": false,
      "items": [
        {
          "type": "help",
          "helpvalue": "<h5><B>Debug Mode</b></h5><em class='primary-text'>Enabling debug mode can help troubleshoot problems. If you are experiencing problems with this plugin you should enable debug logging and include the results in your support request.</em>"
        },
        "debug",
        {
          "type": "help",
          "helpvalue": "<h5><B>Pin Code</b></h5><em class='primary-text'>If you provide a pin code, the Google Assistant will prompt you for your code before performing certain actions. e.g. unlocking a Lock Mechanism.</em>"
        },
        {
          "notitle": true,
          "key": "twoFactorAuthPin"
        },
        {
          "type": "help",
          "helpvalue": "<em class='primary-text'>Certain devices require a pin code to be set before they will be registered with Google Home. To overide this behaviour, check the box below. Use at your own risk.</em>"
        },
        {
          "key": "disablePinCodeRequirement"
        },
        {
          "type": "help",
          "helpvalue": "<h5><B>Instance deny list</b></h5><em class='primary-text'>Enter the usernames of any Homebridge instances or child bridges on your network that you don't want to be able to control from the Google Assistant.</em>"
        },
        {
          "nodescription": true,
          "notitle": true,
          "key": "instanceDenylist",
          "type": "array",
          "items": [
            {
              "type": "div",
              "displayFlex": true,
              "flex-direction": "row",
              "items": [
                {
                  "key": "instanceDenylist[]",
                  "flex": "1 1 50px",
                  "notitle": true,
                  "placeholder": "Enter homebridge username..."
                }
              ]
            }
          ]
        },
        {
          "type": "help",
          "helpvalue": "<h5><B>Accessory Filter - by name</b></h5><em class='primary-text'>Enter the names (as displayed in the Google Home app) of the accessories you don't want to control from the Google Assistant.</em>"
        },
        {
          "nodescription": true,
          "notitle": true,
          "key": "accessoryFilter",
          "type": "array",
          "items": [
            {
              "type": "div",
              "displayFlex": true,
              "flex-direction": "row",
              "items": [
                {
                  "key": "accessoryFilter[]",
                  "flex": "1 1 50px",
                  "notitle": true,
                  "placeholder": "Enter accessory name..."
                }
              ]
            }
          ]
        },
        {
          "type": "help",
          "helpvalue": "<h5><B>Invert Accessory list</b></h5><em class='primary-text'>Rather than deny access to Accessory Filter names, allow only them.</em>"
        },
        "accessoryFilterInverse",
        {
          "type": "help",
          "helpvalue": "<h5><B>Accessory Filter - by serial number</b></h5><em class='primary-text'>Enter the serial of the accessories you don't want to control from the Google Assistant.</em>"
        },
        {
          "nodescription": true,
          "notitle": true,
          "key": "accessorySerialFilter",
          "type": "array",
          "items": [
            {
              "type": "div",
              "displayFlex": true,
              "flex-direction": "row",
              "items": [
                {
                  "key": "accessorySerialFilter[]",
                  "flex": "1 1 50px",
                  "notitle": true,
                  "placeholder": "Enter accessory serial..."
                }
              ]
            }
          ]
        },
        {
          "type": "help",
          "helpvalue": "<h5><B>Force Fahrenheit</b></h5><em class='primary-text'>Some Homebridge thermostat plugins do not correctly report they are using Fahrenheit temperature units. Enabling this option will force all thermostats accessories to display temperature units in Fahrenheit.</em>"
        },
        "forceFahrenheit",
        {
          "type": "help",
          "helpvalue": "<h5><B>Beta Cloud</b></h5><em class='primary-text'>Used for cloud server testing only.  Change plugin cloud endpoint to beta test server.</em>"
        },
        "betaServer",
        {
          "type": "help",
          "helpvalue": "<h5><B>Force Heater-Cooler devices to show as AC_UNIT</b></h5><em class='primary-text'>This makes heater cooler advertise as an air conditioning unit.</em>"
        },
        "showHeaterCoolerAsACUnit"
      ]
    }
  ]
}