home-assistant.io/source/_integrations/switchbot_cloud.markdown
Samuel Xiao 31ef951fc7
Update: reformat mk for switchbot cloud (#39723)
Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
2025-06-26 15:18:16 +02:00

5.3 KiB

title, description, ha_category, ha_release, ha_iot_class, ha_codeowners, ha_domain, ha_platforms, ha_config_flow, ha_integration_type
title description ha_category ha_release ha_iot_class ha_codeowners ha_domain ha_platforms ha_config_flow ha_integration_type
SwitchBot Cloud Instructions on how to set up SwitchBot Devices.
Binary Sensor
Button
Hub
Lock
Plug
Remote
Sensor
Switch
Vacuum
2023.10 Cloud Polling
@SeraphicRav
@laurence-presland
@Gigatrappeur
switchbot_cloud
binary_sensor
button
climate
lock
sensor
switch
vacuum
true hub

The SwitchBot Cloud integration allows you to control SwitchBot devices connected through the SwitchBot hub.

Prerequisites

In order to use this integration, you will need at least a SwitchBot Hub and a SwitchBot account to get a token and secret key from the SwitchBot mobile app in Profiles > Preferences > Developer Options. If Developer Options is not present in preferences, tap the App Version (e.g. 6.24) several times (5~15 times) in succession to open the Developer Options. See also SwitchBot's blog for more information specific to the app.

Please note, device names configured in the SwitchBot app are transferred into Home Assistant.

{% include integrations/config_flow.md %}

Supported devices

Plugs and switches

Locks

Sensors

Hubs

  • Hub 2 (WoHub2) (currently only supports retrieving sensor data, does not yet support device control)
  • IR appliances exposed through the different hubs:
    • ON/OFF for all appliance types except for Others
    • Change temperature and mode for Air Conditioner

Vacuums

Supported functionality

Plugs and switches

Bot

Features:

  • acted as a Switch in switchMode and customizeMode, as a Button in pressMode
  • turn on or off
  • press
  • get battery level

Plug Mini

Features:

  • turn on or off
  • get power consumption readings

Relay Switch 1

Features:

  • turn on or off

Relay Switch 1PM

Features:

  • turn on or off
  • get power
  • get voltage
  • get current

Plug

Features:

  • turn on or off

Sensors

Meter

Features:

  • get temperature
  • get humidity
  • get battery level

Meter Plus

Features:

  • get temperature
  • get humidity
  • get battery level

Indoor/Outdoor Meter

Features:

  • get temperature
  • get humidity
  • get battery level

Meter Pro

Features:

  • get temperature
  • get humidity
  • get battery level

Meter Pro CO2 Monitor

Features:

  • get temperature
  • get humidity
  • get carbon dioxide
  • get battery level

Locks

Lock

Features:

  • Lock or unlock
  • open or closed state
  • calibration state
  • get battery level

Lock Pro

Features:

  • Lock or unlock
  • open or closed state
  • calibration state
  • get battery level

Hubs

Some of the hubs can be served as a bridge while the sensor data can be retrieved. Hub 2 displays temperature and humidity through a sensor cable. Without a digital display, Hub Mini Matter Enabled can also read from a sensor cable.

Hub 2

Features:

  • get temperature
  • get humidity

Vacuums

Vacuum entities are added for K10+, K10+ Pro, S1, S1 Plus.

Features:

  • get states
  • start/clean
  • pause
  • set cleaning mode
  • return to base
  • get battery

Important considerations

{% note %} Each sensor will request a status update from the SwitchBot Cloud API once every 10 minutes (600 seconds). The SwitchBot Cloud API limits users to 10,000 requests per day. {% endnote %}

{% warning %} For IR Appliances, the state is inferred from previous commands in Home Assistant and might not reflect reality if you use other ways to control the device. {% endwarning %}

Webhook support

For vacuums, the states are updated from SwitchBot's cloud.

{% warning %} Only ONE webhook URL seems to be accepted by the SwitchBot's cloud. So, if you want several applications notified, you need to use a “proxy” to re-dispatch the message to the other applications. {% endwarning %}