Add available state to OctoPrint camera (#104162)

This commit is contained in:
Xitee 2023-11-25 11:34:50 +01:00 committed by GitHub
parent c685d56e82
commit ceb2680185
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,8 +7,8 @@ from homeassistant.components.mjpeg.camera import MjpegCamera
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_VERIFY_SSL
from homeassistant.core import HomeAssistant
from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import OctoprintDataUpdateCoordinator
from .const import DOMAIN
@ -38,7 +38,7 @@ async def async_setup_entry(
[
OctoprintCamera(
camera_info,
coordinator.device_info,
coordinator,
device_id,
verify_ssl,
)
@ -46,19 +46,23 @@ async def async_setup_entry(
)
class OctoprintCamera(MjpegCamera):
class OctoprintCamera(CoordinatorEntity[OctoprintDataUpdateCoordinator], MjpegCamera):
"""Representation of an OctoPrint Camera Stream."""
def __init__(
self,
camera_settings: WebcamSettings,
device_info: DeviceInfo,
coordinator: OctoprintDataUpdateCoordinator,
device_id: str,
verify_ssl: bool,
) -> None:
"""Initialize as a subclass of MjpegCamera."""
super().__init__(
device_info=device_info,
coordinator=coordinator,
)
MjpegCamera.__init__(
self,
device_info=coordinator.device_info,
mjpeg_url=camera_settings.stream_url,
name="OctoPrint Camera",
still_image_url=camera_settings.external_snapshot_url,