Custom Component for Integrating SwitchBot Pan/Tilt Cam Plus with Home Assistant
| Device(ProductPage) | Support |
|---|---|
| Outdoor Spotlight Cam 1080P [JP] | - |
| Outdoor Spotlight Cam 2K(3MP) [JP] | - |
| Pan/Tilt Cam [JP] | - |
| Pan/Tilt Cam 2K(3MP) [JP] | - |
| Pan/Tilt Cam Plus 2K(3MP) [JP] | ✅ |
| Pan/Tilt Cam Plus 3K(5MP) [JP] | ✅ |
| Indoor Cam [JP] | - |
| Video Doorbell [JP] | ✅ |
Tip
If you want to integrate unsupported devices into Home Assistant:
- These devices use TuyaSDK.
- Remove the camera from the SwitchBot app.
- Register the camera in the Smart Life app.
- You can use the Tuya integration.
Important
The following support documentation has been published.
How to View My SwitchBot Camera's Videos via Home Assistant? – SwitchBot Help Center [JP]
It appears that an official feature enabling operation as an ONVIF/RTSP camera will be offered in the future.
(As of now—June 10, 2025—it was not yet configurable.)
| Feature | Description |
|---|---|
| Camera Stream | Displays the camera Stream |
Currently, Audio is not supported. This is due to two reasons:
- Specifying an audio codec other than AAC causes the camera to respond with a broken SDP.
- go2rtc (pion?) does not support the AAC codec in WebRTC.
| Feature | Description |
|---|---|
| Camera Stream | Displays the camera Stream |
| Pan/Tilt | Currently, pressing the button once behaves the same as tapping in the smartphone app |
| Pan/Tilt Calibration | |
| Motion Tracking | Sets motion tracking |
| Night Vision | Sets night vision |
| Night Full Color | Sets night full color |
| Privacy Mode | Sets privacy mode |
| Time Watermark | Sets the display of date, time, and logo |
| Anti Flicker | Select anti-flicker mode |
| Preset | -- |
| Create Preset | Saves the current Pan/Tilt position as a preset with a name |
| Remove Preset | Removes the selected preset from the dropdown |
| Move To Preset | Moves to the selected preset from the dropdown |
| Recording | -- |
| Local Recording | Sets recording to the SD card |
| Recording Mode | Select recording mode |
| Mute Recording | Sets whether to record audio during recording |
| Configuration | -- |
| Auto Upgrade | Sets whether to perform automatic firmware updates |
| Intercom Mode | Sets the direction of communication |
| Volume Level | Sets the communication volume |
| Cruise Mode | Sets cruise mode |
| Flip View | Sets the inversion of the video |
| Motion Detection | Sets motion detection |
| Sensitivity Level | Sets the sensitivity level of motion detection |
| Detect Human | Sets human detection for motion detection |
| Indicator Light | Sets the indicator light |
| Diagnostics | -- |
| IP Address | Displays the camera's IP address |
| WiFi Signal | Displays the WiFi signal strength |
| WiFi Name | Displays the SSID of the connected WiFi |
| SdCard Free(GB) | Displays the free space on the SD card |
| SdCard Total(GB) | Displays the total space of the SD card |
| SdCard Used(GB) | Displays the used space on the SD card |
Currently, Audio is not supported. This is due to two reasons:
- Specifying an audio codec other than AAC causes the camera to respond with a broken SDP.
- go2rtc (pion?) does not support the AAC codec in WebRTC.
The following features are not currently implemented. Pull requests are welcome:
- Triggering alerts
- Enumerating events
- Viewing event and recorded footage
- Setting detection time zones, detection areas, and detection alerts for motion detection
- Setting preset points
- Cloud storage-related operations (requires a paid subscription)
- Ensure that the version of Home Assistant Core is 2025.4.1 or later.
- Ensure that the version of Home Assistant Core is 2025.11.0 or later.
- Copy the
switchbot_cameradirectory fromcustom_componentsin this repository and place inside your Home Assistant'scustom_componentsdirectory. - Restart Home Assistant
- Follow the instructions in the
Setupsection
-
Configure the integration via UI Config Flow.
- Enter your SwitchBot account ID and password.
-
Optionally, you can configure the following settings:
Option Description Camera Resolution Sets the camera resolution. You can choose between SD and HD. Snapshot Enable Specifies whether to generate snapshots for display on cards, etc.
However, frequent snapshot retrieval may affect connection stability as it also establishes a WebRTC connection.Snapshot Cache Expires Regardless of the card update frequency, the component internally caches snapshots and responds.
Specify the cache duration in seconds.
