Skip to content

Configuration

Donavan Becker edited this page Dec 16, 2021 · 6 revisions

Configuration

Work In Progress (WIP)

  • "credentials.consumerKey",
  • "credentials.consumerSecret",
  • "credentials.refreshToken"
  • "options.devices[].deviceID",
  • "options.devices[].hide_device",
  • "options.devices[].deviceClass",
  • "options.devices[].thermostat.hide_fan",
  • "options.devices[].thermostat.hide_humidity",
  • "options.devices[].thermostat.thermostatSetpointStatus",
  • "options.devices[].leaksensor.hide_leak",
  • "options.devices[].leaksensor.hide_temperature",
  • "options.devices[].leaksensor.hide_humidity",
  • "options.devices[].roomsensor.hide_temperature",
  • "options.devices[].roomsensor.hide_humidity",
  • "options.devices[].roomsensor.hide_occupancy",
  • "options.devices[].roompriority.deviceType",
  • "options.devices[].roompriority.priorityType"
  • "options.refreshRate"
  • "options.pushRate"
  • "options.debug",
  • "disablePlugin"

Breakdown of each Config option:

Name: defaults SwitchBot, what will show up in the log to identify the plugin, and is not an option in the Plugin Config UI

credentials: object that holds openToken

  • openToken: input your openToken you get from the SwitchBot App.

options: object that holds all optional settings

  • devices: array that holds config for each different device setting that is set.

    • Breakdown of each device config option:
      • deviceId: this can be found either on the Devices Tab of the Plugin Config UI for each Device, or in the SwitchBot app under each device info.
        • this is used for matching up the device config with the device found through the OpenAPI
        • if doing Bluetooth Low Enegery (BLE) only, then this will be used to scan for the device over BLE Connection
      • configDeviceName: this is only used and required when doing Bluetooth Low Enegery (BLE) connection only
        • this is the name of the device
      • hide_device: this is used to hide devices from the Home App (HomeKit)
        • this is the name of the device
      • configDeviceType: this is used only for Plugin Config UI
      • ble: this is used for BLE Connection
        • if doing Bluetooth Low Enegery (BLE) only, then this will be used and required to enable BLE Connection
      • bot: Object that holds Bot device config options
        • mode: either press or switch this sets the Mode to Send to OpenAPI/BLE that Bot is using
        • deviceType: either outlet or switch this always you to change how you want the device to be displayed in the Home App (HomeKit)
      • curtain: Object that holds Curtain device config options
        • disable_group: will disable the automatic grouping of curtains
        • hide_lightsensor: allows you to hide the light sensor service from displaying in the Home App (HomeKit)
        • set_minlux: sets the min lux value which would match up with dim/level 1
        • set_maxlux: sets the min lux value which would match up with bright/level 10
        • refreshRate: sets the curtain refreshRate on how quick the changes are refreshed on.
        • set_minStep: allows you to set the minSteps that you can set. So if set to 20, the curtain can be set to 0, 20, 40, 60, 80, or 100.
        • set_min: sets the level of what the plugin will look at to set the curtain to closed.
        • set_max: sets the level of what the plugin will look at to set the curtain to open.
      • meter: Object that holds Meter device config options
        • hide_temperature: allows you to hide the temperature sensor service from displaying in the Home App (HomeKit)
        • hide_humidity: allows you to hide the humidity sensor service from displaying in the Home App (HomeKit)
      • contact: Object that holds Contact device config options
        • hide_lightsensor: allows you to hide the light sensor service from displaying in the Home App (HomeKit)
        • hide_motionsensor: allows you to hide the motion sensor service from displaying in the Home App (HomeKit)
      • colorbulb: Object that holds ColorBulb device config options
        • set_minStep: allows you to set the minSteps that you can set. So if set to 20, the ColorBulb's brightness levels can be set to 0, 20, 40, 60, 80, or 100.
        • adaptiveLightingShift: The mired for each Adaptive Lighting update will be increased by this value, making the light appear warmer. Set to -1 to remove Adaptive Lighting feature. Must be -1 or more.
      • humidifier: Object that holds Humidifier device config options
        • hide_temperature: allows you to hide the temperature sensor service from displaying in the Home App (HomeKit)
        • set_minStep: allows you to set the minSteps that you can set. So if set to 20, the humidifier's humidity levels can be set to 0, 20, 40, 60, 80, or 100.
  • irdevices: array that holds config for each different device setting that is set.

    • Breakdown of each device config option:
      • deviceId: this can be found either on the Devices Tab of the Plugin Config UI for each Device, or in the SwitchBot app under each device info.
        • this is used for matching up the device config with the device found through the OpenAPI
      • hide_device: this is used to hide devices from the Home App (HomeKit)
        • this is the name of the device
      • configRemoteType: this is used only for Plugin Config UI
      • irair: Object that holds Bot device config options
        • hide_automode: allows you to hide the Auto Mode on Air Conditioner (IR) from displaying in the Home App (HomeKit)
        • rotation_speed: enables Rotation Speed on the Air Conditioner (IR)
        • swing_mode: enables Swing Mode on the Air Conditioner (IR)
        • set_minStep: allows you to set the minSteps that you can set. So if set to 20, the rotation speed levels can be set to 0, 20, 40, 60, 80, or 100.
      • irtv: Object that holds TV (IR) device config options
        • disable_power: allows you to disable sending the the 'On' or 'Off' command to the TV
      • other: Object that holds Others (IR) device config options
        • deviceType: allows you to set which deviceType the device will display in the Home App (Required for Other)
        • commandOn: the command that is sent for powering 'On' (Required for Other)
        • commandOff: the command that is sent for powering 'Off' (Required for Other)

Sample Configuration

{
  "name": "HoneywellHome",
  "credentials": {
    "consumerKey": "aB1cDEF2g3hIJKL4M5n6o78pQ9rs0TUv",
    "consumerSecret": "ab1bcDefGHiJKLmn",
    "refreshToken": "aB1cDEF2g3hIJKL4M5n6o78pQ9rs0TUv",
    "notice": "Keep your tokens a secret!"
  },
  "options": {
    "devices": [
      {
        "deviceID": "LCC-12A3B4567890",
        "hide_device": true
      },
      {
        "deviceID": "LCC-12A3B4567890",
        "deviceClass": "Thermostat",
        "thermostat": {
          "hide_fan": true,
          "hide_humidity": true,
          "thermostatSetpointStatus": "PermanentHold"
        }
      },
      {
        "deviceID": "ab1c2345-d6ef-789g-h012-34ij0k56l78m",
        "deviceClass": "LeakDetector",
        "roomsensor": {
          "hide_temperature": true,
          "hide_humidity": true,
          "hide_occupancy": true
        }
      },
      {
        "deviceID": "123456",
        "deviceClass": "Roomsensor",
        "leaksensor": {
          "hide_leak": true,
          "hide_temperature": true,
          "hide_humidity": true
        }
      },
      {
        "deviceID": "123456",
        "deviceClass": "Roompriority",
        "roompriority": {
          "deviceType": "Thermostat",
          "priorityType": "PickARoom"
        }
      }
    ],
    "refreshRate": 120,
    "pushRate": 1,
    "debug": "device"
  },
  "disablePlugin": true,
  "platform": "HoneywellHome"
}