@switchbot/homebridge-switchbot

The [Homebridge](https://homebridge.io) SwitchBot plugin allows you to access your [SwitchBot](https://www.switch-bot.com) device(s) from HomeKit.

Usage no npm install needed!

<script type="module">
  import switchbotHomebridgeSwitchbot from 'https://cdn.skypack.dev/@switchbot/homebridge-switchbot';
</script>

README

homebridge-verified

@switchbot/homebridge-switchbot

npm version npm downloads discord-switchbot

The Homebridge SwitchBot OpenAPI plugin allows you to access your SwitchBot Device(s) from HomeKit with Homebridge.

Installation

  1. Search for "SwitchBot" on the plugin screen of Homebridge Config UI X
  2. Find: @switchbot/homebridge-switchbot
    • See noble prerequisites for your OS. (This is used for BLE connection.)
  3. Click Install

Configuration

  • If using OpenAPI Connection

    1. Download SwitchBot App on App Store or Google Play Store
    2. Register a SwitchBot account and log in into your account
    3. Generate an Open Token within the App
      • Click Bottom Profile Tab
      • Click Preference
      • Click App version 10 Times, this will enable Developer Options
      • Click Developer Options
      • Click Copy to Clipboard
    4. Input your openToken into the config paramter
  • If using BLE Connection

    1. Download SwitchBot App on App Store or Google Play Store
    2. Register a SwitchBot account and log in into your account
    3. Click on Device wanting to connect too plugin
      • Click the Settings Gear
      • Click Device Info
      • Copy BLE Mac aka deviceId
    4. Input your deviceId into the Device Config

Supported SwitchBot Devices

  • SwitchBot Humidifier
    • Supports OpenAPI & Bluetooth Low Energy (BLE) Connections
      • Can Push Updates over OpenAPI
      • Can Receive Udpates over BLE and OpenAPI
  • SwitchBot Meter
  • SwitchBot Meter Plus (US)
  • SwitchBot Meter Plus (JP)
    • Supports OpenAPI & Bluetooth Low Energy (BLE) Connections
    • If using OpenAPI:
    • If using Bluetooth Low Energy (BLE) only:
      • Must supply deviceId & deviceName to Device Config
      • Check Enable Bluetooth Low Energy (BLE) Connection on Device Config
  • SwitchBot Motion Sensor
    • Supports OpenAPI & Bluetooth Low Energy (BLE) Connections
    • If using OpenAPI:
    • If using Bluetooth Low Energy (BLE) only:
      • Must supply deviceId & deviceName to Device Config
      • Check Enable Bluetooth Low Energy (BLE) Connection on Device Config
  • SwitchBot Contact Sensor
    • Supports OpenAPI & Bluetooth Low Energy (BLE) Connections
    • If using OpenAPI:
    • If using Bluetooth Low Energy (BLE) only:
      • Must supply deviceId & deviceName to Device Config
      • Check Enable Bluetooth Low Energy (BLE) Connection on Device Config
  • SwitchBot Curtain
    • Supports OpenAPI & Bluetooth Low Energy (BLE) Connections
    • If using OpenAPI:
    • If using Bluetooth Low Energy (BLE) only:
      • Must supply deviceId & deviceName to Device Config
      • Check Enable Bluetooth Low Energy (BLE) Connection on Device Config
  • SwitchBot Bulb
  • SwitchBot Light Strip
  • SwitchBot Plug
  • SwitchBot Plug Mini (US)
  • SwitchBot Plug Mini (JP)
  • SwitchBot Bot
    • Supports OpenAPI & Bluetooth Low Energy (BLE) Connections
    • If using OpenAPI:
      • SwitchBot Hub Mini or SwitchBot Hub Plus Required
      • Enable Cloud Services for Device on SwitchBot App
      • You must set your Bot's Device ID in the Press Mode or Switch Mode Bot Settings (Advanced Settings > Device Settings > Bot Settings)
        • Press Mode - Turns on then instantly turn it off
        • Switch Mode - Turns on and keep it on until it is turned off
          • This can get out of sync, since API doesn't give me a status
          • To Correct you must go into the SwitchBot App and correct the status of either On or Off
    • If using Bluetooth Low Energy (BLE) only:
      • Must supply deviceId & deviceName to Device Config
      • Check Enable Bluetooth Low Energy (BLE) Connection on Device Config
  • SwitchBot Plug
    • Supports OpenAPI Connection Only

Supported IR Devices

(All IR Devices require Hub Plus or Hub Mini)

  • TV
    • Allows for On/Off and Volume Controls
    • Optional Disable Sending Power Command
  • Projector (Displayed as TV)
    • Allows for On/Off and Volume Controls
  • Set Top Box (Displayed as Set Top Box)
    • Allows for On/Off and Volume Controls
  • DVD (Displayed as Set Top Box)
    • Allows for On/Off and Volume Controls
  • Streamer (Displayed as Streaming Stick)
    • Allows for On/Off and Volume Controls
  • Speaker (Displayed as Speaker)
    • Allows for On/Off and Volume Controls
  • Fans
    • Allows for On/Off Controls
    • Optional Rotation Speed
    • Optional Swing Mode
  • Lights
    • Allows for On/Off Controls
  • Air Purifiers
    • Allows for On/Off Controls
  • Air Conditioners
    • Allows for On/Off, Tempeture, and Mode Controls
    • Optional Disable Auto Mode
  • Cameras
    • Allows for On/Off Controls
  • Vacuum Cleaners
    • Allows for On/Off Controls
  • Water Heaters
    • Allows for On/Off Controls
  • Others
    • Option to Dispaly as differenet Device Type
      • Supports Fan Device Type
    • Allows for On/Off Controls

SwitchBotAPI

Community