mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Add available state to OctoPrint camera (#104162)
This commit is contained in:
parent
c685d56e82
commit
ceb2680185
@ -7,8 +7,8 @@ from homeassistant.components.mjpeg.camera import MjpegCamera
|
|||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import CONF_VERIFY_SSL
|
from homeassistant.const import CONF_VERIFY_SSL
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.device_registry import DeviceInfo
|
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||||
|
|
||||||
from . import OctoprintDataUpdateCoordinator
|
from . import OctoprintDataUpdateCoordinator
|
||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
@ -38,7 +38,7 @@ async def async_setup_entry(
|
|||||||
[
|
[
|
||||||
OctoprintCamera(
|
OctoprintCamera(
|
||||||
camera_info,
|
camera_info,
|
||||||
coordinator.device_info,
|
coordinator,
|
||||||
device_id,
|
device_id,
|
||||||
verify_ssl,
|
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."""
|
"""Representation of an OctoPrint Camera Stream."""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
camera_settings: WebcamSettings,
|
camera_settings: WebcamSettings,
|
||||||
device_info: DeviceInfo,
|
coordinator: OctoprintDataUpdateCoordinator,
|
||||||
device_id: str,
|
device_id: str,
|
||||||
verify_ssl: bool,
|
verify_ssl: bool,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize as a subclass of MjpegCamera."""
|
"""Initialize as a subclass of MjpegCamera."""
|
||||||
super().__init__(
|
super().__init__(
|
||||||
device_info=device_info,
|
coordinator=coordinator,
|
||||||
|
)
|
||||||
|
MjpegCamera.__init__(
|
||||||
|
self,
|
||||||
|
device_info=coordinator.device_info,
|
||||||
mjpeg_url=camera_settings.stream_url,
|
mjpeg_url=camera_settings.stream_url,
|
||||||
name="OctoPrint Camera",
|
name="OctoPrint Camera",
|
||||||
still_image_url=camera_settings.external_snapshot_url,
|
still_image_url=camera_settings.external_snapshot_url,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user