Home Assistant Unofficial Reference 2024.12.1
camera.py
Go to the documentation of this file.
1 """Support for Dremel 3D45 Camera."""
2 
3 from __future__ import annotations
4 
5 from homeassistant.components.camera import CameraEntityDescription
6 from homeassistant.components.mjpeg import MjpegCamera
7 from homeassistant.core import HomeAssistant
8 from homeassistant.helpers.entity_platform import AddEntitiesCallback
9 
10 from .coordinator import Dremel3DPrinterDataUpdateCoordinator, DremelConfigEntry
11 from .entity import Dremel3DPrinterEntity
12 
14  key="camera",
15  name="Camera",
16 )
17 
18 
20  hass: HomeAssistant,
21  config_entry: DremelConfigEntry,
22  async_add_entities: AddEntitiesCallback,
23 ) -> None:
24  """Set up a MJPEG IP Camera for the 3D45 Model. The 3D20 and 3D40 models don't have built in cameras."""
25  async_add_entities([Dremel3D45Camera(config_entry.runtime_data, CAMERA_TYPE)])
26 
27 
29  """Dremel 3D45 Camera."""
30 
31  def __init__(
32  self,
33  coordinator: Dremel3DPrinterDataUpdateCoordinator,
34  description: CameraEntityDescription,
35  ) -> None:
36  """Initialize a new Dremel 3D Printer integration camera for the 3D45 model."""
37  super().__init__(coordinator, description)
38  MjpegCamera.__init__(
39  self,
40  mjpeg_url=coordinator.api.get_stream_url(),
41  still_image_url=coordinator.api.get_snapshot_url(),
42  )
None __init__(self, Dremel3DPrinterDataUpdateCoordinator coordinator, CameraEntityDescription description)
Definition: camera.py:35
None async_setup_entry(HomeAssistant hass, DremelConfigEntry config_entry, AddEntitiesCallback async_add_entities)
Definition: camera.py:23