SwitchBot Pan/Tilt Cam Plus Custom Components

Hello everyone,

I have created and released a new custom integration that allows you to view the camera feed from the SwitchBot Pan/Tilt Cam Plus.

This implementation is based on the results of reverse engineering.

Internally, it connects to the SwitchBot cloud service via MQTT to control the camera. The camera feed itself uses Amazon Kinesis Video Stream, so we receive the video through WebRTC using go2rtc.

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.

This is my first time creating a custom component, so if there are any issues with the implementation, I would appreciate your advice.
In particular, I am unsure about the implementation (Coordinator) that internally maintains the MQTT connection for control.

Thank you!