Home Assistant Unofficial Reference 2024.12.1
image.py
Go to the documentation of this file.
1 """Demo image platform."""
2 
3 from __future__ import annotations
4 
5 from pathlib import Path
6 
7 from homeassistant.components.image import ImageEntity
8 from homeassistant.config_entries import ConfigEntry
9 from homeassistant.core import HomeAssistant
10 from homeassistant.helpers.entity_platform import AddEntitiesCallback
11 from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
12 from homeassistant.util import dt as dt_util
13 
14 
16  hass: HomeAssistant,
17  config: ConfigType,
18  async_add_entities: AddEntitiesCallback,
19  discovery_info: DiscoveryInfoType | None = None,
20 ) -> None:
21  """Set up image entities."""
23  [
24  DemoImage(
25  hass,
26  "kitchen_sink_image_001",
27  "QR Code",
28  "image/png",
29  "qr_code.png",
30  ),
31  ]
32  )
33 
34 
36  hass: HomeAssistant,
37  config_entry: ConfigEntry,
38  async_add_entities: AddEntitiesCallback,
39 ) -> None:
40  """Set up the Everything but the Kitchen Sink config entry."""
41  await async_setup_platform(hass, {}, async_add_entities)
42 
43 
45  """Representation of an image entity."""
46 
47  def __init__(
48  self,
49  hass: HomeAssistant,
50  unique_id: str,
51  name: str,
52  content_type: str,
53  image: str,
54  ) -> None:
55  """Initialize the image entity."""
56  super().__init__(hass)
57  self._attr_content_type_attr_content_type_attr_content_type = content_type
58  self._attr_name_attr_name = name
59  self._attr_unique_id_attr_unique_id = unique_id
60  self._image_filename_image_filename = image
61 
62  async def async_added_to_hass(self):
63  """Set the update time."""
64  self._attr_image_last_updated_attr_image_last_updated = dt_util.utcnow()
65 
66  async def async_image(self) -> bytes | None:
67  """Return bytes of image."""
68  image_path = Path(__file__).parent / self._image_filename_image_filename
69  return await self.hasshass.async_add_executor_job(image_path.read_bytes)
None __init__(self, HomeAssistant hass, str unique_id, str name, str content_type, str image)
Definition: image.py:54
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
Definition: image.py:39
None async_setup_platform(HomeAssistant hass, ConfigType config, AddEntitiesCallback async_add_entities, DiscoveryInfoType|None discovery_info=None)
Definition: image.py:20