VideoWebRTC

homey.video_web_rtc

A video using a WebRTC stream.

Example:

# In your device.py file
async def on_init(self):
    await super().on_init()

    video = self.homey.videos.create_video_web_rtc()

    video.register_offer_listener(self.handle_web_rtc_offer)
    video.register_keep_alive_listener(self.refresh_stream)

    await self.set_camera_video('front_door', 'Front Door', video)

This class must not be initialized by the developer, but retrieved by calling ManagerVideos.create_video_web_rtc().

Ancestors

Methods

register_offer_listener

def register_offer_listener(self,
listener: Callable[[str], Coroutine[Any, Any, WebRTCAnswer]])
‑> Self

Register a listener for WebRTC offer events. This is invoked when Homey requests an SDP answer for a WebRTC offer.

Args

NameTypeDescription
listener Callable[[str], Coroutine[Any, Any, WebRTCAnswer]] An async listener that receives an SDP string and returns a dict containing answerSdp and, if a keep-alive listener is used, streamId.

register_keep_alive_listener

def register_keep_alive_listener(self, listener: Callable[[str], Coroutine[Any, Any, None]]) ‑> Self

Register a listener for WebRTC keep alive events. This is invoked when Homey sends keep alive signals for active WebRTC streams.

Args

NameTypeDescription
listener Callable[[str], Coroutine[Any, Any, None]] An async listener that receives a stream ID.

Inherited members

WebRTCAnswer

class WebRTCAnswer

Ancestors

  • builtins.dict

Instance variables

answerSdp

var answerSdp : str

streamId

var streamId : str | None

The stream identifier used for the keep-alive listener.