homeassistant-stubs 2024.2.5__py3-none-any.whl → 2024.3.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. homeassistant-stubs/bootstrap.pyi +20 -4
  2. homeassistant-stubs/components/aftership/const.pyi +0 -1
  3. homeassistant-stubs/components/aftership/sensor.pyi +2 -2
  4. homeassistant-stubs/components/airthings_ble/config_flow.pyi +1 -0
  5. homeassistant-stubs/components/airzone_cloud/sensor.pyi +1 -1
  6. homeassistant-stubs/components/alexa/config.pyi +2 -0
  7. homeassistant-stubs/components/amberelectric/sensor.pyi +0 -1
  8. homeassistant-stubs/components/androidtv/entity.pyi +30 -0
  9. homeassistant-stubs/components/androidtv/media_player.pyi +5 -23
  10. homeassistant-stubs/components/anthemav/media_player.pyi +0 -1
  11. homeassistant-stubs/components/apple_tv/__init__.pyi +68 -0
  12. homeassistant-stubs/components/apple_tv/browse_media.pyi +5 -0
  13. homeassistant-stubs/components/apple_tv/config_flow.pyi +63 -0
  14. homeassistant-stubs/components/apple_tv/const.pyi +4 -0
  15. homeassistant-stubs/components/apple_tv/media_player.pyi +93 -0
  16. homeassistant-stubs/components/apple_tv/remote.pyi +23 -0
  17. homeassistant-stubs/components/assist_pipeline/__init__.pyi +1 -1
  18. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -1
  19. homeassistant-stubs/components/assist_pipeline/error.pyi +4 -0
  20. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +5 -5
  21. homeassistant-stubs/components/asterisk_mbox/__init__.pyi +1 -0
  22. homeassistant-stubs/components/asuswrt/router.pyi +1 -1
  23. homeassistant-stubs/components/auth/__init__.pyi +2 -2
  24. homeassistant-stubs/components/automation/__init__.pyi +2 -1
  25. homeassistant-stubs/components/axis/binary_sensor.pyi +4 -0
  26. homeassistant-stubs/components/backup/manager.pyi +5 -3
  27. homeassistant-stubs/components/backup/websocket.pyi +4 -2
  28. homeassistant-stubs/components/blue_current/__init__.pyi +4 -3
  29. homeassistant-stubs/components/blue_current/entity.pyi +5 -2
  30. homeassistant-stubs/components/bluetooth/manager.pyi +2 -2
  31. homeassistant-stubs/components/bluetooth/match.pyi +3 -0
  32. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +1 -0
  33. homeassistant-stubs/components/braviatv/coordinator.pyi +2 -0
  34. homeassistant-stubs/components/braviatv/media_player.pyi +5 -0
  35. homeassistant-stubs/components/brother/sensor.pyi +3 -3
  36. homeassistant-stubs/components/camera/media_source.pyi +1 -0
  37. homeassistant-stubs/components/cert_expiry/sensor.pyi +0 -1
  38. homeassistant-stubs/components/climate/__init__.pyi +3 -1
  39. homeassistant-stubs/components/cloud/const.pyi +2 -0
  40. homeassistant-stubs/components/cloud/google_config.pyi +7 -5
  41. homeassistant-stubs/components/cloud/http_api.pyi +1 -1
  42. homeassistant-stubs/components/cloud/prefs.pyi +6 -2
  43. homeassistant-stubs/components/cloud/tts.pyi +3 -2
  44. homeassistant-stubs/components/config/area_registry.pyi +1 -1
  45. homeassistant-stubs/components/config/auth.pyi +2 -2
  46. homeassistant-stubs/components/config/auth_provider_homeassistant.pyi +2 -2
  47. homeassistant-stubs/components/config/automation.pyi +2 -2
  48. homeassistant-stubs/components/config/config_entries.pyi +5 -4
  49. homeassistant-stubs/components/config/core.pyi +2 -2
  50. homeassistant-stubs/components/config/device_registry.pyi +1 -1
  51. homeassistant-stubs/components/config/entity_registry.pyi +1 -1
  52. homeassistant-stubs/components/config/floor_registry.pyi +12 -0
  53. homeassistant-stubs/components/config/label_registry.pyi +12 -0
  54. homeassistant-stubs/components/config/scene.pyi +2 -2
  55. homeassistant-stubs/components/config/script.pyi +2 -2
  56. homeassistant-stubs/components/cover/intent.pyi +2 -2
  57. homeassistant-stubs/components/cpuspeed/sensor.pyi +0 -1
  58. homeassistant-stubs/components/crownstone/light.pyi +1 -1
  59. homeassistant-stubs/components/demo/fan.pyi +1 -0
  60. homeassistant-stubs/components/dhcp/__init__.pyi +24 -32
  61. homeassistant-stubs/components/dlna_dmr/media_player.pyi +8 -3
  62. homeassistant-stubs/components/dnsip/sensor.pyi +1 -1
  63. homeassistant-stubs/components/dunehd/media_player.pyi +5 -2
  64. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +3 -3
  65. homeassistant-stubs/components/ecovacs/button.pyi +5 -5
  66. homeassistant-stubs/components/ecovacs/controller.pyi +6 -3
  67. homeassistant-stubs/components/ecovacs/entity.pyi +11 -9
  68. homeassistant-stubs/components/ecovacs/image.pyi +2 -2
  69. homeassistant-stubs/components/ecovacs/lawn_mower.pyi +28 -0
  70. homeassistant-stubs/components/ecovacs/number.pyi +3 -3
  71. homeassistant-stubs/components/ecovacs/select.pyi +3 -3
  72. homeassistant-stubs/components/ecovacs/sensor.pyi +6 -6
  73. homeassistant-stubs/components/ecovacs/switch.pyi +4 -4
  74. homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -3
  75. homeassistant-stubs/components/emulated_hue/config.pyi +1 -1
  76. homeassistant-stubs/components/enphase_envoy/sensor.pyi +39 -4
  77. homeassistant-stubs/components/esphome/bluetooth.pyi +1 -1
  78. homeassistant-stubs/components/esphome/camera.pyi +2 -2
  79. homeassistant-stubs/components/esphome/entry_data.pyi +3 -5
  80. homeassistant-stubs/components/esphome/manager.pyi +6 -7
  81. homeassistant-stubs/components/esphome/sensor.pyi +4 -2
  82. homeassistant-stubs/components/esphome/update.pyi +0 -1
  83. homeassistant-stubs/components/esphome/voice_assistant.pyi +1 -1
  84. homeassistant-stubs/components/fastdotcom/sensor.pyi +0 -1
  85. homeassistant-stubs/components/filesize/sensor.pyi +0 -1
  86. homeassistant-stubs/components/flexit_bacnet/climate.pyi +4 -2
  87. homeassistant-stubs/components/flexit_bacnet/number.pyi +31 -0
  88. homeassistant-stubs/components/fritz/common.pyi +2 -1
  89. homeassistant-stubs/components/fully_kiosk/media_player.pyi +2 -1
  90. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -1
  91. homeassistant-stubs/components/goalzero/__init__.pyi +1 -0
  92. homeassistant-stubs/components/gpsd/sensor.pyi +15 -9
  93. homeassistant-stubs/components/group/__init__.pyi +1 -1
  94. homeassistant-stubs/components/group/light.pyi +3 -3
  95. homeassistant-stubs/components/hardkernel/__init__.pyi +1 -1
  96. homeassistant-stubs/components/hardware/hardware.pyi +2 -2
  97. homeassistant-stubs/components/hardware/websocket_api.pyi +1 -1
  98. homeassistant-stubs/components/homeassistant_green/__init__.pyi +1 -1
  99. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +2 -1
  100. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +3 -2
  101. homeassistant-stubs/components/homekit/__init__.pyi +1 -1
  102. homeassistant-stubs/components/homekit/accessories.pyi +1 -1
  103. homeassistant-stubs/components/homekit/config_flow.pyi +13 -4
  104. homeassistant-stubs/components/homekit/type_cameras.pyi +1 -1
  105. homeassistant-stubs/components/homekit/type_covers.pyi +1 -1
  106. homeassistant-stubs/components/homekit/type_humidifiers.pyi +1 -1
  107. homeassistant-stubs/components/homekit/type_triggers.pyi +3 -1
  108. homeassistant-stubs/components/homekit_controller/alarm_control_panel.pyi +0 -1
  109. homeassistant-stubs/components/homekit_controller/button.pyi +8 -4
  110. homeassistant-stubs/components/homekit_controller/utils.pyi +4 -0
  111. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +0 -6
  112. homeassistant-stubs/components/huawei_lte/switch.pyi +0 -4
  113. homeassistant-stubs/components/idasen_desk/sensor.pyi +2 -1
  114. homeassistant-stubs/components/image/__init__.pyi +13 -3
  115. homeassistant-stubs/components/image/media_source.pyi +18 -0
  116. homeassistant-stubs/components/imap/coordinator.pyi +8 -0
  117. homeassistant-stubs/components/imap/diagnostics.pyi +13 -0
  118. homeassistant-stubs/components/intent/__init__.pyi +1 -0
  119. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +1 -1
  120. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  121. homeassistant-stubs/components/knx/schema.pyi +3 -18
  122. homeassistant-stubs/components/knx/validation.pyi +19 -0
  123. homeassistant-stubs/components/lamarzocco/calendar.pyi +21 -0
  124. homeassistant-stubs/components/lamarzocco/entity.pyi +7 -4
  125. homeassistant-stubs/components/lamarzocco/number.pyi +26 -1
  126. homeassistant-stubs/components/light/__init__.pyi +3 -0
  127. homeassistant-stubs/components/local_todo/todo.pyi +3 -1
  128. homeassistant-stubs/components/logbook/__init__.pyi +1 -1
  129. homeassistant-stubs/components/logbook/helpers.pyi +2 -2
  130. homeassistant-stubs/components/logbook/models.pyi +2 -2
  131. homeassistant-stubs/components/mailbox/__init__.pyi +1 -0
  132. homeassistant-stubs/components/matter/light.pyi +6 -5
  133. homeassistant-stubs/components/media_player/intent.pyi +11 -0
  134. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  135. homeassistant-stubs/components/modbus/climate.pyi +1 -0
  136. homeassistant-stubs/components/modbus/validators.pyi +4 -4
  137. homeassistant-stubs/components/mqtt/__init__.pyi +3 -3
  138. homeassistant-stubs/components/mqtt/climate.pyi +1 -8
  139. homeassistant-stubs/components/mqtt/const.pyi +2 -0
  140. homeassistant-stubs/components/mqtt/event.pyi +1 -1
  141. homeassistant-stubs/components/mqtt/image.pyi +1 -1
  142. homeassistant-stubs/components/mqtt/mixins.pyi +2 -2
  143. homeassistant-stubs/components/mqtt/models.pyi +10 -0
  144. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  145. homeassistant-stubs/components/myuplink/__init__.pyi +2 -1
  146. homeassistant-stubs/components/myuplink/binary_sensor.pyi +24 -0
  147. homeassistant-stubs/components/myuplink/config_flow.pyi +7 -0
  148. homeassistant-stubs/components/myuplink/coordinator.pyi +1 -2
  149. homeassistant-stubs/components/myuplink/diagnostics.pyi +11 -0
  150. homeassistant-stubs/components/myuplink/helpers.pyi +6 -0
  151. homeassistant-stubs/components/myuplink/number.pyi +30 -0
  152. homeassistant-stubs/components/myuplink/sensor.pyi +20 -3
  153. homeassistant-stubs/components/myuplink/switch.pyi +29 -0
  154. homeassistant-stubs/components/myuplink/update.pyi +20 -0
  155. homeassistant-stubs/components/notion/__init__.pyi +10 -6
  156. homeassistant-stubs/components/notion/config_flow.pyi +11 -3
  157. homeassistant-stubs/components/notion/const.pyi +2 -0
  158. homeassistant-stubs/components/notion/diagnostics.pyi +2 -2
  159. homeassistant-stubs/components/notion/model.pyi +1 -1
  160. homeassistant-stubs/components/notion/util.pyi +7 -0
  161. homeassistant-stubs/components/rainmachine/util.pyi +1 -1
  162. homeassistant-stubs/components/raspberry_pi/__init__.pyi +1 -1
  163. homeassistant-stubs/components/recorder/__init__.pyi +1 -1
  164. homeassistant-stubs/components/recorder/core.pyi +1 -0
  165. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -5
  166. homeassistant-stubs/components/repairs/issue_handler.pyi +1 -1
  167. homeassistant-stubs/components/rfxtrx/__init__.pyi +3 -1
  168. homeassistant-stubs/components/samsungtv/__init__.pyi +1 -1
  169. homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -0
  170. homeassistant-stubs/components/sensor/recorder.pyi +0 -2
  171. homeassistant-stubs/components/shelly/binary_sensor.pyi +1 -1
  172. homeassistant-stubs/components/shelly/button.pyi +1 -1
  173. homeassistant-stubs/components/shelly/climate.pyi +1 -3
  174. homeassistant-stubs/components/shelly/entity.pyi +1 -2
  175. homeassistant-stubs/components/shelly/number.pyi +1 -1
  176. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  177. homeassistant-stubs/components/shelly/switch.pyi +4 -5
  178. homeassistant-stubs/components/shelly/utils.pyi +2 -0
  179. homeassistant-stubs/components/shelly/valve.pyi +1 -1
  180. homeassistant-stubs/components/ssdp/__init__.pyi +1 -0
  181. homeassistant-stubs/components/statistics/sensor.pyi +4 -1
  182. homeassistant-stubs/components/system_health/__init__.pyi +1 -1
  183. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -0
  184. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +48 -0
  185. homeassistant-stubs/components/systemmonitor/config_flow.pyi +2 -0
  186. homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
  187. homeassistant-stubs/components/systemmonitor/coordinator.pyi +14 -10
  188. homeassistant-stubs/components/systemmonitor/diagnostics.pyi +7 -0
  189. homeassistant-stubs/components/systemmonitor/repairs.pyi +15 -0
  190. homeassistant-stubs/components/systemmonitor/sensor.pyi +5 -4
  191. homeassistant-stubs/components/systemmonitor/util.pyi +6 -5
  192. homeassistant-stubs/components/technove/helpers.pyi +9 -0
  193. homeassistant-stubs/components/technove/switch.pyi +33 -0
  194. homeassistant-stubs/components/tedee/config_flow.pyi +1 -0
  195. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  196. homeassistant-stubs/components/tibber/sensor.pyi +3 -4
  197. homeassistant-stubs/components/tplink/config_flow.pyi +2 -2
  198. homeassistant-stubs/components/tplink/light.pyi +1 -0
  199. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +2 -2
  200. homeassistant-stubs/components/tplink_omada/config_flow.pyi +1 -1
  201. homeassistant-stubs/components/tplink_omada/controller.pyi +1 -1
  202. homeassistant-stubs/components/tplink_omada/coordinator.pyi +1 -1
  203. homeassistant-stubs/components/tplink_omada/update.pyi +1 -1
  204. homeassistant-stubs/components/tractive/device_tracker.pyi +0 -1
  205. homeassistant-stubs/components/unifi/__init__.pyi +1 -1
  206. homeassistant-stubs/components/unifi/button.pyi +1 -1
  207. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  208. homeassistant-stubs/components/unifi/device_tracker.pyi +6 -6
  209. homeassistant-stubs/components/unifi/diagnostics.pyi +1 -1
  210. homeassistant-stubs/components/unifi/entity.pyi +13 -13
  211. homeassistant-stubs/components/unifi/hub/__init__.pyi +2 -0
  212. homeassistant-stubs/components/unifi/hub/api.pyi +10 -0
  213. homeassistant-stubs/components/unifi/{controller.pyi → hub/hub.pyi} +9 -19
  214. homeassistant-stubs/components/unifi/hub/websocket.pyi +25 -0
  215. homeassistant-stubs/components/unifi/image.pyi +4 -4
  216. homeassistant-stubs/components/unifi/sensor.pyi +14 -14
  217. homeassistant-stubs/components/unifi/switch.pyi +14 -14
  218. homeassistant-stubs/components/unifi/update.pyi +1 -1
  219. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  220. homeassistant-stubs/components/unifiprotect/const.pyi +1 -0
  221. homeassistant-stubs/components/unifiprotect/data.pyi +3 -2
  222. homeassistant-stubs/components/unifiprotect/media_source.pyi +6 -3
  223. homeassistant-stubs/components/unifiprotect/repairs.pyi +8 -2
  224. homeassistant-stubs/components/usb/__init__.pyi +1 -1
  225. homeassistant-stubs/components/vacuum/intent.pyi +8 -0
  226. homeassistant-stubs/components/vallox/__init__.pyi +5 -23
  227. homeassistant-stubs/components/vallox/fan.pyi +1 -1
  228. homeassistant-stubs/components/valve/intent.pyi +6 -0
  229. homeassistant-stubs/components/wake_word/models.pyi +4 -2
  230. homeassistant-stubs/components/water_heater/__init__.pyi +2 -0
  231. homeassistant-stubs/components/websocket_api/http.pyi +1 -0
  232. homeassistant-stubs/components/wiz/light.pyi +3 -2
  233. homeassistant-stubs/components/xiaomi_ble/const.pyi +9 -0
  234. homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
  235. homeassistant-stubs/components/xiaomi_ble/event.pyi +1 -1
  236. homeassistant-stubs/components/yalexs_ble/__init__.pyi +1 -1
  237. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +1 -1
  238. homeassistant-stubs/components/zwave_js/climate.pyi +4 -0
  239. homeassistant-stubs/components/zwave_js/sensor.pyi +0 -1
  240. homeassistant-stubs/config.pyi +4 -2
  241. homeassistant-stubs/config_entries.pyi +38 -22
  242. homeassistant-stubs/core.pyi +8 -7
  243. homeassistant-stubs/data_entry_flow.pyi +1 -0
  244. homeassistant-stubs/helpers/area_registry.pyi +9 -4
  245. homeassistant-stubs/helpers/collection.pyi +19 -0
  246. homeassistant-stubs/helpers/config_validation.pyi +4 -0
  247. homeassistant-stubs/helpers/data_entry_flow.pyi +2 -1
  248. homeassistant-stubs/helpers/debounce.pyi +3 -1
  249. homeassistant-stubs/helpers/device_registry.pyi +13 -6
  250. homeassistant-stubs/helpers/entity.pyi +4 -2
  251. homeassistant-stubs/helpers/entity_component.pyi +1 -1
  252. homeassistant-stubs/helpers/entity_platform.pyi +7 -3
  253. homeassistant-stubs/helpers/entity_registry.pyi +10 -4
  254. homeassistant-stubs/helpers/event.pyi +28 -2
  255. homeassistant-stubs/helpers/floor_registry.pyi +59 -0
  256. homeassistant-stubs/helpers/icon.pyi +1 -1
  257. homeassistant-stubs/helpers/integration_platform.pyi +12 -8
  258. homeassistant-stubs/helpers/intent.pyi +8 -2
  259. homeassistant-stubs/helpers/json.pyi +1 -0
  260. homeassistant-stubs/helpers/label_registry.pyi +59 -0
  261. homeassistant-stubs/helpers/redact.pyi +13 -0
  262. homeassistant-stubs/helpers/service.pyi +1 -0
  263. homeassistant-stubs/helpers/storage.pyi +7 -3
  264. homeassistant-stubs/helpers/template.pyi +7 -0
  265. homeassistant-stubs/helpers/translation.pyi +18 -4
  266. homeassistant-stubs/helpers/update_coordinator.pyi +1 -0
  267. homeassistant-stubs/loader.pyi +24 -11
  268. homeassistant-stubs/setup.pyi +9 -3
  269. homeassistant-stubs/util/async_.pyi +3 -3
  270. homeassistant-stubs/util/file.pyi +2 -2
  271. homeassistant-stubs/util/yaml/loader.pyi +3 -0
  272. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/METADATA +2 -2
  273. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/RECORD +275 -239
  274. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/LICENSE +0 -0
  275. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/WHEEL +0 -0
@@ -35,8 +35,6 @@ class HuaweiLteMobileDataSwitch(HuaweiLteBaseSwitch):
35
35
  def is_on(self) -> bool: ...
36
36
  _raw_state: Incomplete
37
37
  def _turn(self, state: bool) -> None: ...
38
- @property
39
- def icon(self) -> str: ...
40
38
 
41
39
  class HuaweiLteWifiGuestNetworkSwitch(HuaweiLteBaseSwitch):
42
40
  _attr_translation_key: str
@@ -49,6 +47,4 @@ class HuaweiLteWifiGuestNetworkSwitch(HuaweiLteBaseSwitch):
49
47
  _raw_state: Incomplete
50
48
  def _turn(self, state: bool) -> None: ...
51
49
  @property
52
- def icon(self) -> str: ...
53
- @property
54
50
  def extra_state_attributes(self) -> dict[str, str | None]: ...
@@ -33,5 +33,6 @@ class IdasenDeskSensor(CoordinatorEntity[IdasenDeskCoordinator], SensorEntity):
33
33
  _address: Incomplete
34
34
  def __init__(self, address: str, device_info: DeviceInfo, coordinator: IdasenDeskCoordinator, description: IdasenDeskSensorDescription) -> None: ...
35
35
  async def async_added_to_hass(self) -> None: ...
36
- _attr_native_value: Incomplete
37
36
  def _handle_coordinator_update(self, *args: Any) -> None: ...
37
+ _attr_native_value: Incomplete
38
+ def _update_native_value(self) -> None: ...
@@ -7,15 +7,15 @@ from datetime import datetime
7
7
  from functools import cached_property as cached_property
8
8
  from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_AUTHENTICATED as KEY_AUTHENTICATED
9
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
- from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
10
+ from homeassistant.const import CONTENT_TYPE_MULTIPART as CONTENT_TYPE_MULTIPART, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
11
11
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
12
12
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
13
  from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE
14
14
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
15
15
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
16
- from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
16
+ from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_state_change_event as async_track_state_change_event, async_track_time_interval as async_track_time_interval
17
17
  from homeassistant.helpers.httpx_client import get_async_client as get_async_client
18
- from homeassistant.helpers.typing import ConfigType as ConfigType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
18
+ from homeassistant.helpers.typing import ConfigType as ConfigType, EventType as EventType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
19
19
  from typing import Final
20
20
 
21
21
  _LOGGER: Incomplete
@@ -26,6 +26,9 @@ ENTITY_IMAGE_URL: Final[str]
26
26
  TOKEN_CHANGE_INTERVAL: Final[Incomplete]
27
27
  _RND: Final[Incomplete]
28
28
  GET_IMAGE_TIMEOUT: Final[int]
29
+ FRAME_BOUNDARY: str
30
+ FRAME_SEPARATOR: Incomplete
31
+ LAST_FRAME_MARKER: Incomplete
29
32
 
30
33
  class ImageEntityDescription(EntityDescription, frozen_or_thawed=True):
31
34
  def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement) -> None: ...
@@ -83,3 +86,10 @@ class ImageView(HomeAssistantView):
83
86
  def __init__(self, component: EntityComponent[ImageEntity]) -> None: ...
84
87
  async def get(self, request: web.Request, entity_id: str) -> web.StreamResponse: ...
85
88
  async def handle(self, request: web.Request, image_entity: ImageEntity) -> web.StreamResponse: ...
89
+
90
+ async def async_get_still_stream(request: web.Request, image_entity: ImageEntity) -> web.StreamResponse: ...
91
+
92
+ class ImageStreamView(ImageView):
93
+ url: str
94
+ name: str
95
+ async def handle(self, request: web.Request, image_entity: ImageEntity) -> web.StreamResponse: ...
@@ -0,0 +1,18 @@
1
+ from . import ImageEntity as ImageEntity
2
+ from .const import DOMAIN as DOMAIN
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.media_player import BrowseError as BrowseError, MediaClass as MediaClass
5
+ from homeassistant.components.media_source.error import Unresolvable as Unresolvable
6
+ from homeassistant.components.media_source.models import BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia
7
+ from homeassistant.const import ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME
8
+ from homeassistant.core import HomeAssistant as HomeAssistant, State as State
9
+ from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
10
+
11
+ async def async_get_media_source(hass: HomeAssistant) -> ImageMediaSource: ...
12
+
13
+ class ImageMediaSource(MediaSource):
14
+ name: str
15
+ hass: Incomplete
16
+ def __init__(self, hass: HomeAssistant) -> None: ...
17
+ async def async_resolve_media(self, item: MediaSourceItem) -> PlayMedia: ...
18
+ async def async_browse_media(self, item: MediaSourceItem) -> BrowseMediaSource: ...
@@ -4,6 +4,7 @@ from _typeshed import Incomplete
4
4
  from aioimaplib import IMAP4_SSL
5
5
  from collections.abc import Mapping
6
6
  from datetime import datetime, timedelta
7
+ from email.message import Message
7
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
9
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL, CONTENT_TYPE_TEXT_PLAIN as CONTENT_TYPE_TEXT_PLAIN
9
10
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -19,12 +20,15 @@ BACKOFF_TIME: int
19
20
  EVENT_IMAP: str
20
21
  MAX_ERRORS: int
21
22
  MAX_EVENT_DATA_BYTES: int
23
+ DIAGNOSTICS_ATTRIBUTES: Incomplete
22
24
 
23
25
  async def connect_to_server(data: Mapping[str, Any]) -> IMAP4_SSL: ...
24
26
 
25
27
  class ImapMessage:
26
28
  email_message: Incomplete
27
29
  def __init__(self, raw_message: bytes) -> None: ...
30
+ @staticmethod
31
+ def _decode_payload(part: Message) -> str: ...
28
32
  @property
29
33
  def headers(self) -> dict[str, tuple[str]]: ...
30
34
  @property
@@ -45,6 +49,7 @@ class ImapDataUpdateCoordinator(DataUpdateCoordinator[int | None]):
45
49
  auth_errors: int
46
50
  _last_message_uid: Incomplete
47
51
  _last_message_id: Incomplete
52
+ _diagnostics_data: Incomplete
48
53
  def __init__(self, hass: HomeAssistant, imap_client: IMAP4_SSL, entry: ConfigEntry, update_interval: timedelta | None) -> None: ...
49
54
  async def async_start(self) -> None: ...
50
55
  async def _async_reconnect_if_needed(self) -> None: ...
@@ -52,6 +57,9 @@ class ImapDataUpdateCoordinator(DataUpdateCoordinator[int | None]):
52
57
  async def _async_fetch_number_of_messages(self) -> int | None: ...
53
58
  async def _cleanup(self, log_error: bool = False) -> None: ...
54
59
  async def shutdown(self, *_: Any) -> None: ...
60
+ def _update_diagnostics(self, data: dict[str, Any]) -> None: ...
61
+ @property
62
+ def diagnostics_data(self) -> dict[str, Any]: ...
55
63
 
56
64
  class ImapPollingDataUpdateCoordinator(ImapDataUpdateCoordinator):
57
65
  def __init__(self, hass: HomeAssistant, imap_client: IMAP4_SSL, entry: ConfigEntry) -> None: ...
@@ -0,0 +1,13 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import ImapDataUpdateCoordinator as ImapDataUpdateCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
7
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
+ from typing import Any
9
+
10
+ REDACT_CONFIG: Incomplete
11
+
12
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]: ...
13
+ def _async_get_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]: ...
@@ -5,6 +5,7 @@ from homeassistant.components import http as http
5
5
  from homeassistant.components.cover import SERVICE_CLOSE_COVER as SERVICE_CLOSE_COVER, SERVICE_OPEN_COVER as SERVICE_OPEN_COVER
6
6
  from homeassistant.components.http.data_validator import RequestDataValidator as RequestDataValidator
7
7
  from homeassistant.components.lock import SERVICE_LOCK as SERVICE_LOCK, SERVICE_UNLOCK as SERVICE_UNLOCK
8
+ from homeassistant.components.valve import SERVICE_CLOSE_VALVE as SERVICE_CLOSE_VALVE, SERVICE_OPEN_VALVE as SERVICE_OPEN_VALVE
8
9
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON
9
10
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State
10
11
  from homeassistant.helpers import integration_platform as integration_platform, intent as intent
@@ -7,7 +7,7 @@ from homeassistant.data_entry_flow import FlowResult as FlowResult
7
7
  from homeassistant.helpers.selector import LocationSelector as LocationSelector, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, TextSelector as TextSelector
8
8
  from typing import Any
9
9
 
10
- async def async_validate_location(hass: HomeAssistant, lon: float, lat: float) -> dict[str, str]: ...
10
+ async def async_validate_location(hass: HomeAssistant, lat: float, lon: float) -> dict[str, str]: ...
11
11
 
12
12
  class IslamicPrayerFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
13
13
  VERSION: int
@@ -1,7 +1,7 @@
1
1
  import abc
2
2
  from .const import CONF_KNX_AUTOMATIC as CONF_KNX_AUTOMATIC, CONF_KNX_CONNECTION_TYPE as CONF_KNX_CONNECTION_TYPE, CONF_KNX_DEFAULT_RATE_LIMIT as CONF_KNX_DEFAULT_RATE_LIMIT, CONF_KNX_DEFAULT_STATE_UPDATER as CONF_KNX_DEFAULT_STATE_UPDATER, CONF_KNX_INDIVIDUAL_ADDRESS as CONF_KNX_INDIVIDUAL_ADDRESS, CONF_KNX_KNXKEY_PASSWORD as CONF_KNX_KNXKEY_PASSWORD, CONF_KNX_LOCAL_IP as CONF_KNX_LOCAL_IP, CONF_KNX_MCAST_GRP as CONF_KNX_MCAST_GRP, CONF_KNX_MCAST_PORT as CONF_KNX_MCAST_PORT, CONF_KNX_RATE_LIMIT as CONF_KNX_RATE_LIMIT, CONF_KNX_ROUTE_BACK as CONF_KNX_ROUTE_BACK, CONF_KNX_ROUTING as CONF_KNX_ROUTING, CONF_KNX_ROUTING_BACKBONE_KEY as CONF_KNX_ROUTING_BACKBONE_KEY, CONF_KNX_ROUTING_SECURE as CONF_KNX_ROUTING_SECURE, CONF_KNX_ROUTING_SYNC_LATENCY_TOLERANCE as CONF_KNX_ROUTING_SYNC_LATENCY_TOLERANCE, CONF_KNX_SECURE_DEVICE_AUTHENTICATION as CONF_KNX_SECURE_DEVICE_AUTHENTICATION, CONF_KNX_SECURE_USER_ID as CONF_KNX_SECURE_USER_ID, CONF_KNX_SECURE_USER_PASSWORD as CONF_KNX_SECURE_USER_PASSWORD, CONF_KNX_STATE_UPDATER as CONF_KNX_STATE_UPDATER, CONF_KNX_TELEGRAM_LOG_SIZE as CONF_KNX_TELEGRAM_LOG_SIZE, CONF_KNX_TUNNELING as CONF_KNX_TUNNELING, CONF_KNX_TUNNELING_TCP as CONF_KNX_TUNNELING_TCP, CONF_KNX_TUNNELING_TCP_SECURE as CONF_KNX_TUNNELING_TCP_SECURE, CONF_KNX_TUNNEL_ENDPOINT_IA as CONF_KNX_TUNNEL_ENDPOINT_IA, DEFAULT_ROUTING_IA as DEFAULT_ROUTING_IA, DOMAIN as DOMAIN, KNXConfigEntryData as KNXConfigEntryData, TELEGRAM_LOG_DEFAULT as TELEGRAM_LOG_DEFAULT, TELEGRAM_LOG_MAX as TELEGRAM_LOG_MAX
3
3
  from .helpers.keyring import DEFAULT_KNX_KEYRING_FILENAME as DEFAULT_KNX_KEYRING_FILENAME, save_uploaded_knxkeys_file as save_uploaded_knxkeys_file
4
- from .schema import ia_validator as ia_validator, ip_v4_validator as ip_v4_validator
4
+ from .validation import ia_validator as ia_validator, ip_v4_validator as ip_v4_validator
5
5
  from _typeshed import Incomplete
6
6
  from abc import ABC, abstractmethod
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, OptionsFlow as OptionsFlow
@@ -1,44 +1,29 @@
1
1
  import voluptuous as vol
2
2
  from .const import CONF_INVERT as CONF_INVERT, CONF_KNX_EXPOSE as CONF_KNX_EXPOSE, CONF_PAYLOAD_LENGTH as CONF_PAYLOAD_LENGTH, CONF_RESET_AFTER as CONF_RESET_AFTER, CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, CONTROLLER_MODES as CONTROLLER_MODES, ColorTempModes as ColorTempModes, KNX_ADDRESS as KNX_ADDRESS, PRESET_MODES as PRESET_MODES
3
+ from .validation import ga_list_validator as ga_list_validator, ga_validator as ga_validator, numeric_type_validator as numeric_type_validator, sensor_type_validator as sensor_type_validator, string_type_validator as string_type_validator, sync_state_validator as sync_state_validator
3
4
  from _typeshed import Incomplete
4
5
  from abc import ABC
5
6
  from collections import OrderedDict
6
- from collections.abc import Callable as Callable
7
7
  from homeassistant.components.climate import HVACMode as HVACMode
8
8
  from homeassistant.components.number import NumberMode as NumberMode
9
9
  from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, STATE_CLASSES_SCHEMA as STATE_CLASSES_SCHEMA
10
10
  from homeassistant.components.text import TextMode as TextMode
11
11
  from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_EVENT as CONF_EVENT, CONF_MODE as CONF_MODE, CONF_NAME as CONF_NAME, CONF_PAYLOAD as CONF_PAYLOAD, CONF_TYPE as CONF_TYPE, Platform as Platform
12
12
  from homeassistant.helpers.entity import ENTITY_CATEGORIES_SCHEMA as ENTITY_CATEGORIES_SCHEMA
13
- from typing import Any, ClassVar, Final
14
- from xknx.dpt import DPTBase
13
+ from typing import ClassVar, Final
15
14
 
16
- def dpt_subclass_validator(dpt_base_class: type[DPTBase]) -> Callable[[Any], str | int]: ...
17
-
18
- numeric_type_validator: Incomplete
19
- sensor_type_validator: Incomplete
20
- string_type_validator: Incomplete
21
-
22
- def ga_validator(value: Any) -> str | int: ...
23
-
24
- ga_list_validator: Incomplete
25
- ia_validator: Incomplete
26
-
27
- def ip_v4_validator(value: Any, multicast: bool | None = None) -> str: ...
28
15
  def number_limit_sub_validator(entity_config: OrderedDict) -> OrderedDict: ...
29
16
  def _max_payload_value(payload_length: int) -> int: ...
30
17
  def button_payload_sub_validator(entity_config: OrderedDict) -> OrderedDict: ...
31
18
  def select_options_sub_validator(entity_config: OrderedDict) -> OrderedDict: ...
32
19
 
33
- sync_state_validator: Incomplete
34
-
35
20
  class EventSchema:
36
21
  KNX_EVENT_FILTER_SCHEMA: Incomplete
37
22
  SCHEMA: Incomplete
38
23
 
39
24
  class KNXPlatformSchema(ABC):
40
25
  PLATFORM: ClassVar[Platform | str]
41
- ENTITY_SCHEMA: ClassVar[vol.Schema]
26
+ ENTITY_SCHEMA: ClassVar[vol.Schema | vol.All | vol.Any]
42
27
  @classmethod
43
28
  def platform_node(cls) -> dict[vol.Optional, vol.All]: ...
44
29
 
@@ -0,0 +1,19 @@
1
+ from _typeshed import Incomplete
2
+ from collections.abc import Callable as Callable
3
+ from typing import Any
4
+ from xknx.dpt import DPTBase
5
+
6
+ def dpt_subclass_validator(dpt_base_class: type[DPTBase]) -> Callable[[Any], str | int]: ...
7
+
8
+ numeric_type_validator: Incomplete
9
+ sensor_type_validator: Incomplete
10
+ string_type_validator: Incomplete
11
+
12
+ def ga_validator(value: Any) -> str | int: ...
13
+
14
+ ga_list_validator: Incomplete
15
+ ia_validator: Incomplete
16
+
17
+ def ip_v4_validator(value: Any, multicast: bool | None = None) -> str: ...
18
+
19
+ sync_state_validator: Incomplete
@@ -0,0 +1,21 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .entity import LaMarzoccoBaseEntity as LaMarzoccoBaseEntity
3
+ from collections.abc import Iterator
4
+ from datetime import datetime
5
+ from homeassistant.components.calendar import CalendarEntity as CalendarEntity, CalendarEvent as CalendarEvent
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
+
10
+ CALENDAR_KEY: str
11
+
12
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
+
14
+ class LaMarzoccoCalendarEntity(LaMarzoccoBaseEntity, CalendarEntity):
15
+ _attr_translation_key = CALENDAR_KEY
16
+ @property
17
+ def event(self) -> CalendarEvent | None: ...
18
+ async def async_get_events(self, hass: HomeAssistant, start_date: datetime, end_date: datetime) -> list[CalendarEvent]: ...
19
+ def _get_events(self, start_date: datetime, end_date: datetime) -> list[CalendarEvent]: ...
20
+ def _get_date_range(self, start_date: datetime, end_date: datetime) -> Iterator[datetime]: ...
21
+ def _async_get_calendar_event(self, date: datetime) -> CalendarEvent | None: ...
@@ -14,11 +14,14 @@ class LaMarzoccoEntityDescription(EntityDescription):
14
14
  supported_fn: Callable[[LaMarzoccoUpdateCoordinator], bool] = ...
15
15
  def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, available_fn, supported_fn) -> None: ...
16
16
 
17
- class LaMarzoccoEntity(CoordinatorEntity[LaMarzoccoUpdateCoordinator]):
18
- entity_description: LaMarzoccoEntityDescription
17
+ class LaMarzoccoBaseEntity(CoordinatorEntity[LaMarzoccoUpdateCoordinator]):
19
18
  _attr_has_entity_name: bool
20
- @property
21
- def available(self) -> bool: ...
22
19
  _attr_unique_id: Incomplete
23
20
  _attr_device_info: Incomplete
21
+ def __init__(self, coordinator: LaMarzoccoUpdateCoordinator, key: str) -> None: ...
22
+
23
+ class LaMarzoccoEntity(LaMarzoccoBaseEntity):
24
+ entity_description: LaMarzoccoEntityDescription
24
25
  def __init__(self, coordinator: LaMarzoccoUpdateCoordinator, entity_description: LaMarzoccoEntityDescription) -> None: ...
26
+ @property
27
+ def available(self) -> bool: ...
@@ -1,11 +1,12 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import LaMarzoccoUpdateCoordinator as LaMarzoccoUpdateCoordinator
3
3
  from .entity import LaMarzoccoEntity as LaMarzoccoEntity, LaMarzoccoEntityDescription as LaMarzoccoEntityDescription
4
+ from _typeshed import Incomplete
4
5
  from collections.abc import Callable as Callable, Coroutine
5
6
  from dataclasses import dataclass
6
7
  from homeassistant.components.number import NumberDeviceClass as NumberDeviceClass, NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
7
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
- from homeassistant.const import PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
9
+ from homeassistant.const import EntityCategory as EntityCategory, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
9
10
  from homeassistant.core import HomeAssistant as HomeAssistant
10
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
12
  from lmcloud import LMCloud as LaMarzoccoClient
@@ -17,8 +18,20 @@ class LaMarzoccoNumberEntityDescription(LaMarzoccoEntityDescription, NumberEntit
17
18
  set_value_fn: Callable[[LaMarzoccoUpdateCoordinator, float | int], Coroutine[Any, Any, bool]]
18
19
  def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, available_fn, supported_fn, native_value_fn, set_value_fn) -> None: ...
19
20
 
21
+ @dataclass(frozen=True, kw_only=True)
22
+ class LaMarzoccoKeyNumberEntityDescription(LaMarzoccoEntityDescription, NumberEntityDescription):
23
+ native_value_fn: Callable[[LaMarzoccoClient, int], float | int]
24
+ set_value_fn: Callable[[LaMarzoccoClient, float | int, int], Coroutine[Any, Any, bool]]
25
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, available_fn, supported_fn, native_value_fn, set_value_fn) -> None: ...
26
+
20
27
  ENTITIES: tuple[LaMarzoccoNumberEntityDescription, ...]
21
28
 
29
+ async def _set_prebrew_on(lm: LaMarzoccoClient, value: float, key: int) -> bool: ...
30
+ async def _set_prebrew_off(lm: LaMarzoccoClient, value: float, key: int) -> bool: ...
31
+ async def _set_preinfusion(lm: LaMarzoccoClient, value: float, key: int) -> bool: ...
32
+
33
+ KEY_ENTITIES: tuple[LaMarzoccoKeyNumberEntityDescription, ...]
34
+
22
35
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
23
36
 
24
37
  class LaMarzoccoNumberEntity(LaMarzoccoEntity, NumberEntity):
@@ -26,3 +39,15 @@ class LaMarzoccoNumberEntity(LaMarzoccoEntity, NumberEntity):
26
39
  @property
27
40
  def native_value(self) -> float: ...
28
41
  async def async_set_native_value(self, value: float) -> None: ...
42
+
43
+ class LaMarzoccoKeyNumberEntity(LaMarzoccoEntity, NumberEntity):
44
+ entity_description: LaMarzoccoKeyNumberEntityDescription
45
+ _attr_translation_key: Incomplete
46
+ _attr_translation_placeholders: Incomplete
47
+ _attr_unique_id: Incomplete
48
+ _attr_entity_registry_enabled_default: bool
49
+ pyhsical_key: Incomplete
50
+ def __init__(self, coordinator: LaMarzoccoUpdateCoordinator, description: LaMarzoccoKeyNumberEntityDescription, pyhsical_key: int) -> None: ...
51
+ @property
52
+ def native_value(self) -> float: ...
53
+ async def async_set_native_value(self, value: float) -> None: ...
@@ -164,6 +164,7 @@ class LightEntity(ToggleEntity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
164
164
  _attr_supported_color_modes: set[ColorMode] | set[str] | None
165
165
  _attr_supported_features: LightEntityFeature
166
166
  _attr_xy_color: tuple[float, float] | None
167
+ __color_mode_reported: bool
167
168
  @cached_property
168
169
  def brightness(self) -> int | None: ...
169
170
  @cached_property
@@ -202,6 +203,7 @@ class LightEntity(ToggleEntity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
202
203
  def capability_attributes(self) -> dict[str, Any]: ...
203
204
  def _light_internal_convert_color(self, color_mode: ColorMode | str) -> dict[str, tuple[float, ...]]: ...
204
205
  def __validate_color_mode(self, color_mode: ColorMode | str | None, supported_color_modes: set[ColorMode] | set[str], effect: str | None) -> None: ...
206
+ def __validate_supported_color_modes(self, supported_color_modes: set[ColorMode] | set[str]) -> None: ...
205
207
  @property
206
208
  def state_attributes(self) -> dict[str, Any] | None: ...
207
209
  @property
@@ -213,3 +215,4 @@ class LightEntity(ToggleEntity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
213
215
  _deprecated_supported_features_reported: bool
214
216
  @property
215
217
  def supported_features_compat(self) -> LightEntityFeature: ...
218
+ def __should_report_light_issue(self) -> bool: ...
@@ -11,9 +11,11 @@ from ical.todo import Todo
11
11
 
12
12
  _LOGGER: Incomplete
13
13
  PRODID: str
14
+ PRODID_REQUIRES_MIGRATION: str
14
15
  ICS_TODO_STATUS_MAP: Incomplete
15
16
  ICS_TODO_STATUS_MAP_INV: Incomplete
16
17
 
18
+ def _migrate_calendar(calendar: Calendar) -> bool: ...
17
19
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
18
20
  def _convert_item(item: TodoItem) -> Todo: ...
19
21
 
@@ -32,4 +34,4 @@ class LocalTodoListEntity(TodoListEntity):
32
34
  async def async_update_todo_item(self, item: TodoItem) -> None: ...
33
35
  async def async_delete_todo_items(self, uids: list[str]) -> None: ...
34
36
  async def async_move_todo_item(self, uid: str, previous_uid: str | None = None) -> None: ...
35
- async def _async_save(self) -> None: ...
37
+ async def async_save(self) -> None: ...
@@ -19,4 +19,4 @@ LOG_MESSAGE_SCHEMA: Incomplete
19
19
  def log_entry(hass: HomeAssistant, name: str, message: str, domain: str | None = None, entity_id: str | None = None, context: Context | None = None) -> None: ...
20
20
  def async_log_entry(hass: HomeAssistant, name: str, message: str, domain: str | None = None, entity_id: str | None = None, context: Context | None = None) -> None: ...
21
21
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
22
- async def _process_logbook_platform(hass: HomeAssistant, domain: str, platform: Any) -> None: ...
22
+ def _process_logbook_platform(hass: HomeAssistant, domain: str, platform: Any) -> None: ...
@@ -1,6 +1,6 @@
1
1
  from .const import ALWAYS_CONTINUOUS_DOMAINS as ALWAYS_CONTINUOUS_DOMAINS, AUTOMATION_EVENTS as AUTOMATION_EVENTS, BUILT_IN_EVENTS as BUILT_IN_EVENTS, DOMAIN as DOMAIN
2
2
  from .models import LogbookConfig as LogbookConfig
3
- from collections.abc import Callable as Callable
3
+ from collections.abc import Callable as Callable, Mapping
4
4
  from homeassistant.components.sensor import ATTR_STATE_CLASS as ATTR_STATE_CLASS
5
5
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_DOMAIN as ATTR_DOMAIN, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, EVENT_LOGBOOK_ENTRY as EVENT_LOGBOOK_ENTRY, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED
6
6
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback, is_callback as is_callback, split_entity_id as split_entity_id
@@ -12,7 +12,7 @@ from typing import Any
12
12
  def async_filter_entities(hass: HomeAssistant, entity_ids: list[str]) -> list[str]: ...
13
13
  def _async_config_entries_for_ids(hass: HomeAssistant, entity_ids: list[str] | None, device_ids: list[str] | None) -> set[str]: ...
14
14
  def async_determine_event_types(hass: HomeAssistant, entity_ids: list[str] | None, device_ids: list[str] | None) -> tuple[str, ...]: ...
15
- def extract_attr(source: dict[str, Any], attr: str) -> list[str]: ...
15
+ def extract_attr(source: Mapping[str, Any], attr: str) -> list[str]: ...
16
16
  def event_forwarder_filtered(target: Callable[[Event], None], entities_filter: Callable[[str], bool] | None, entity_ids: list[str] | None, device_ids: list[str] | None) -> Callable[[Event], None]: ...
17
17
  def async_subscribe_events(hass: HomeAssistant, subscriptions: list[CALLBACK_TYPE], target: Callable[[Event], None], event_types: tuple[str, ...], entities_filter: Callable[[str], bool] | None, entity_ids: list[str] | None, device_ids: list[str] | None) -> None: ...
18
18
  def is_sensor_continuous(hass: HomeAssistant, ent_reg: er.EntityRegistry, entity_id: str) -> bool: ...
@@ -1,5 +1,5 @@
1
1
  from _typeshed import Incomplete
2
- from collections.abc import Callable as Callable
2
+ from collections.abc import Callable as Callable, Mapping
3
3
  from dataclasses import dataclass
4
4
  from functools import cached_property as cached_property
5
5
  from homeassistant.components.recorder.filters import Filters as Filters
@@ -39,7 +39,7 @@ class LazyEventPartialState:
39
39
 
40
40
  @dataclass(slots=True, frozen=True)
41
41
  class EventAsRow:
42
- data: dict[str, Any]
42
+ data: Mapping[str, Any]
43
43
  context: Context
44
44
  context_id_bin: bytes
45
45
  time_fired_ts: float
@@ -8,6 +8,7 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
8
  from homeassistant.helpers import discovery as discovery
9
9
  from homeassistant.helpers.entity import Entity as Entity
10
10
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
11
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
11
12
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
12
13
  from homeassistant.setup import async_prepare_setup_platform as async_prepare_setup_platform
13
14
  from typing import Any, Final
@@ -4,7 +4,7 @@ from .helpers import get_matter as get_matter
4
4
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
5
5
  from .util import convert_to_hass_hs as convert_to_hass_hs, convert_to_hass_xy as convert_to_hass_xy, convert_to_matter_hs as convert_to_matter_hs, convert_to_matter_xy as convert_to_matter_xy, renormalize as renormalize
6
6
  from _typeshed import Incomplete
7
- from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP as ATTR_COLOR_TEMP, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_XY_COLOR as ATTR_XY_COLOR, ColorMode as ColorMode, LightEntity as LightEntity, LightEntityDescription as LightEntityDescription, filter_supported_color_modes as filter_supported_color_modes
7
+ from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP as ATTR_COLOR_TEMP, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_TRANSITION as ATTR_TRANSITION, ATTR_XY_COLOR as ATTR_XY_COLOR, ColorMode as ColorMode, LightEntity as LightEntity, LightEntityDescription as LightEntityDescription, LightEntityFeature as LightEntityFeature, filter_supported_color_modes as filter_supported_color_modes
8
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
9
  from homeassistant.const import Platform as Platform
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -12,6 +12,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
12
12
  from typing import Any
13
13
 
14
14
  COLOR_MODE_MAP: Incomplete
15
+ DEFAULT_TRANSITION: float
15
16
 
16
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
18
 
@@ -20,10 +21,10 @@ class MatterLight(MatterEntity, LightEntity):
20
21
  _supports_brightness: bool
21
22
  _supports_color: bool
22
23
  _supports_color_temperature: bool
23
- async def _set_xy_color(self, xy_color: tuple[float, float]) -> None: ...
24
- async def _set_hs_color(self, hs_color: tuple[float, float]) -> None: ...
25
- async def _set_color_temp(self, color_temp: int) -> None: ...
26
- async def _set_brightness(self, brightness: int) -> None: ...
24
+ async def _set_xy_color(self, xy_color: tuple[float, float], transition: float = 0.0) -> None: ...
25
+ async def _set_hs_color(self, hs_color: tuple[float, float], transition: float = 0.0) -> None: ...
26
+ async def _set_color_temp(self, color_temp: int, transition: float = 0.0) -> None: ...
27
+ async def _set_brightness(self, brightness: int, transition: float = 0.0) -> None: ...
27
28
  def _get_xy_color(self) -> tuple[float, float]: ...
28
29
  def _get_hs_color(self) -> tuple[float, float]: ...
29
30
  def _get_color_temperature(self) -> int: ...
@@ -0,0 +1,11 @@
1
+ from . import ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, DOMAIN as DOMAIN
2
+ from homeassistant.const import SERVICE_MEDIA_NEXT_TRACK as SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PAUSE as SERVICE_MEDIA_PAUSE, SERVICE_MEDIA_PLAY as SERVICE_MEDIA_PLAY, SERVICE_VOLUME_SET as SERVICE_VOLUME_SET
3
+ from homeassistant.core import HomeAssistant as HomeAssistant
4
+ from homeassistant.helpers import intent as intent
5
+
6
+ INTENT_MEDIA_PAUSE: str
7
+ INTENT_MEDIA_UNPAUSE: str
8
+ INTENT_MEDIA_NEXT: str
9
+ INTENT_SET_VOLUME: str
10
+
11
+ async def async_setup_intents(hass: HomeAssistant) -> None: ...
@@ -1,6 +1,6 @@
1
1
  from .const import CALL_TYPE_COIL as CALL_TYPE_COIL, CALL_TYPE_DISCRETE as CALL_TYPE_DISCRETE, CALL_TYPE_REGISTER_HOLDING as CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_REGISTER_INPUT as CALL_TYPE_REGISTER_INPUT, CALL_TYPE_X_COILS as CALL_TYPE_X_COILS, CALL_TYPE_X_REGISTER_HOLDINGS as CALL_TYPE_X_REGISTER_HOLDINGS, CONF_BAUDRATE as CONF_BAUDRATE, CONF_BYTESIZE as CONF_BYTESIZE, CONF_CLIMATES as CONF_CLIMATES, CONF_CLOSE_COMM_ON_ERROR as CONF_CLOSE_COMM_ON_ERROR, CONF_DATA_TYPE as CONF_DATA_TYPE, CONF_DEVICE_ADDRESS as CONF_DEVICE_ADDRESS, CONF_FANS as CONF_FANS, CONF_FAN_MODE_AUTO as CONF_FAN_MODE_AUTO, CONF_FAN_MODE_DIFFUSE as CONF_FAN_MODE_DIFFUSE, CONF_FAN_MODE_FOCUS as CONF_FAN_MODE_FOCUS, CONF_FAN_MODE_HIGH as CONF_FAN_MODE_HIGH, CONF_FAN_MODE_LOW as CONF_FAN_MODE_LOW, CONF_FAN_MODE_MEDIUM as CONF_FAN_MODE_MEDIUM, CONF_FAN_MODE_MIDDLE as CONF_FAN_MODE_MIDDLE, CONF_FAN_MODE_OFF as CONF_FAN_MODE_OFF, CONF_FAN_MODE_ON as CONF_FAN_MODE_ON, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_TOP as CONF_FAN_MODE_TOP, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_MODE_AUTO as CONF_HVAC_MODE_AUTO, CONF_HVAC_MODE_COOL as CONF_HVAC_MODE_COOL, CONF_HVAC_MODE_DRY as CONF_HVAC_MODE_DRY, CONF_HVAC_MODE_FAN_ONLY as CONF_HVAC_MODE_FAN_ONLY, CONF_HVAC_MODE_HEAT as CONF_HVAC_MODE_HEAT, CONF_HVAC_MODE_HEAT_COOL as CONF_HVAC_MODE_HEAT_COOL, CONF_HVAC_MODE_OFF as CONF_HVAC_MODE_OFF, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_HVAC_MODE_VALUES as CONF_HVAC_MODE_VALUES, CONF_HVAC_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_INPUT_TYPE as CONF_INPUT_TYPE, CONF_LAZY_ERROR as CONF_LAZY_ERROR, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MAX_VALUE as CONF_MAX_VALUE, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_MIN_VALUE as CONF_MIN_VALUE, CONF_MSG_WAIT as CONF_MSG_WAIT, CONF_NAN_VALUE as CONF_NAN_VALUE, CONF_PARITY as CONF_PARITY, CONF_PRECISION as CONF_PRECISION, CONF_RETRIES as CONF_RETRIES, CONF_RETRY_ON_EMPTY as CONF_RETRY_ON_EMPTY, CONF_SCALE as CONF_SCALE, CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, CONF_STATE_CLOSED as CONF_STATE_CLOSED, CONF_STATE_CLOSING as CONF_STATE_CLOSING, CONF_STATE_OFF as CONF_STATE_OFF, CONF_STATE_ON as CONF_STATE_ON, CONF_STATE_OPEN as CONF_STATE_OPEN, CONF_STATE_OPENING as CONF_STATE_OPENING, CONF_STATUS_REGISTER as CONF_STATUS_REGISTER, CONF_STATUS_REGISTER_TYPE as CONF_STATUS_REGISTER_TYPE, CONF_STEP as CONF_STEP, CONF_STOPBITS as CONF_STOPBITS, CONF_SWAP as CONF_SWAP, CONF_SWAP_BYTE as CONF_SWAP_BYTE, CONF_SWAP_WORD as CONF_SWAP_WORD, CONF_SWAP_WORD_BYTE as CONF_SWAP_WORD_BYTE, CONF_TARGET_TEMP as CONF_TARGET_TEMP, CONF_TARGET_TEMP_WRITE_REGISTERS as CONF_TARGET_TEMP_WRITE_REGISTERS, CONF_VERIFY as CONF_VERIFY, CONF_VIRTUAL_COUNT as CONF_VIRTUAL_COUNT, CONF_WRITE_REGISTERS as CONF_WRITE_REGISTERS, CONF_WRITE_TYPE as CONF_WRITE_TYPE, CONF_ZERO_SUPPRESS as CONF_ZERO_SUPPRESS, DEFAULT_HUB as DEFAULT_HUB, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DEFAULT_TEMP_UNIT as DEFAULT_TEMP_UNIT, DataType as DataType, RTUOVERTCP as RTUOVERTCP, SERIAL as SERIAL, TCP as TCP, UDP as UDP
2
2
  from .modbus import ModbusHub as ModbusHub, async_modbus_setup as async_modbus_setup
3
- from .validators import check_config as check_config, duplicate_fan_mode_validator as duplicate_fan_mode_validator, nan_validator as nan_validator, register_int_list_validator as register_int_list_validator, struct_validator as struct_validator
3
+ from .validators import check_config as check_config, check_hvac_target_temp_registers as check_hvac_target_temp_registers, duplicate_fan_mode_validator as duplicate_fan_mode_validator, hvac_fixedsize_reglist_validator as hvac_fixedsize_reglist_validator, nan_validator as nan_validator, register_int_list_validator as register_int_list_validator, struct_validator as struct_validator
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS
6
6
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_BINARY_SENSORS as CONF_BINARY_SENSORS, CONF_COMMAND_OFF as CONF_COMMAND_OFF, CONF_COMMAND_ON as CONF_COMMAND_ON, CONF_COUNT as CONF_COUNT, CONF_COVERS as CONF_COVERS, CONF_DELAY as CONF_DELAY, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_HOST as CONF_HOST, CONF_LIGHTS as CONF_LIGHTS, CONF_METHOD as CONF_METHOD, CONF_NAME as CONF_NAME, CONF_OFFSET as CONF_OFFSET, CONF_PORT as CONF_PORT, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_SENSORS as CONF_SENSORS, CONF_SLAVE as CONF_SLAVE, CONF_STRUCTURE as CONF_STRUCTURE, CONF_SWITCHES as CONF_SWITCHES, CONF_TEMPERATURE_UNIT as CONF_TEMPERATURE_UNIT, CONF_TIMEOUT as CONF_TIMEOUT, CONF_TYPE as CONF_TYPE, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT
@@ -13,6 +13,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfo
13
13
  from typing import Any
14
14
 
15
15
  PARALLEL_UPDATES: int
16
+ HVACMODE_TO_TARG_TEMP_REG_INDEX_ARRAY: Incomplete
16
17
 
17
18
  async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
18
19
 
@@ -1,5 +1,6 @@
1
- from .const import CONF_DATA_TYPE as CONF_DATA_TYPE, CONF_DEVICE_ADDRESS as CONF_DEVICE_ADDRESS, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_INPUT_TYPE as CONF_INPUT_TYPE, CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, CONF_SWAP as CONF_SWAP, CONF_SWAP_BYTE as CONF_SWAP_BYTE, CONF_SWAP_WORD as CONF_SWAP_WORD, CONF_SWAP_WORD_BYTE as CONF_SWAP_WORD_BYTE, CONF_TARGET_TEMP as CONF_TARGET_TEMP, CONF_VIRTUAL_COUNT as CONF_VIRTUAL_COUNT, CONF_WRITE_TYPE as CONF_WRITE_TYPE, DEFAULT_HUB as DEFAULT_HUB, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DataType as DataType, PLATFORMS as PLATFORMS, SERIAL as SERIAL
1
+ from .const import CONF_DATA_TYPE as CONF_DATA_TYPE, CONF_DEVICE_ADDRESS as CONF_DEVICE_ADDRESS, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_HVAC_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_INPUT_TYPE as CONF_INPUT_TYPE, CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, CONF_SWAP as CONF_SWAP, CONF_SWAP_BYTE as CONF_SWAP_BYTE, CONF_SWAP_WORD as CONF_SWAP_WORD, CONF_SWAP_WORD_BYTE as CONF_SWAP_WORD_BYTE, CONF_TARGET_TEMP as CONF_TARGET_TEMP, CONF_VIRTUAL_COUNT as CONF_VIRTUAL_COUNT, CONF_WRITE_TYPE as CONF_WRITE_TYPE, DEFAULT_HUB as DEFAULT_HUB, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DataType as DataType, PLATFORMS as PLATFORMS, SERIAL as SERIAL
2
2
  from _typeshed import Incomplete
3
+ from homeassistant.components.climate import HVACMode as HVACMode
3
4
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_COMMAND_OFF as CONF_COMMAND_OFF, CONF_COMMAND_ON as CONF_COMMAND_ON, CONF_COUNT as CONF_COUNT, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_SLAVE as CONF_SLAVE, CONF_STRUCTURE as CONF_STRUCTURE, CONF_TIMEOUT as CONF_TIMEOUT, CONF_TYPE as CONF_TYPE
4
5
  from typing import Any, NamedTuple
5
6
 
@@ -24,10 +25,9 @@ class PARM_IS_LEGAL(NamedTuple):
24
25
  DEFAULT_STRUCT_FORMAT: Incomplete
25
26
 
26
27
  def struct_validator(config: dict[str, Any]) -> dict[str, Any]: ...
28
+ def hvac_fixedsize_reglist_validator(value: Any) -> list: ...
27
29
  def nan_validator(value: Any) -> int: ...
28
30
  def duplicate_fan_mode_validator(config: dict[str, Any]) -> dict: ...
29
- def scan_interval_validator(config: dict) -> dict: ...
30
- def duplicate_entity_validator(config: dict) -> dict: ...
31
- def duplicate_modbus_validator(config: dict) -> dict: ...
31
+ def check_hvac_target_temp_registers(config: dict) -> dict: ...
32
32
  def register_int_list_validator(value: Any) -> Any: ...
33
33
  def check_config(config: dict) -> dict: ...
@@ -2,8 +2,8 @@ from . import debug_info as debug_info, discovery as discovery
2
2
  from .client import MQTT as MQTT, async_publish as async_publish, async_subscribe as async_subscribe, publish as publish, subscribe as subscribe
3
3
  from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA, MQTT_RO_SCHEMA as MQTT_RO_SCHEMA, MQTT_RW_SCHEMA as MQTT_RW_SCHEMA
4
4
  from .config_integration import CONFIG_SCHEMA_BASE as CONFIG_SCHEMA_BASE
5
- from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_QOS as CONF_QOS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TOPIC as CONF_TOPIC, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, DATA_MQTT as DATA_MQTT, DATA_MQTT_AVAILABLE as DATA_MQTT_AVAILABLE, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_QOS as DEFAULT_QOS, DEFAULT_RETAIN as DEFAULT_RETAIN, DOMAIN as DOMAIN, MQTT_CONNECTED as MQTT_CONNECTED, MQTT_DISCONNECTED as MQTT_DISCONNECTED, PLATFORMS as PLATFORMS, RELOADABLE_PLATFORMS as RELOADABLE_PLATFORMS
6
- from .models import MqttCommandTemplate as MqttCommandTemplate, MqttData as MqttData, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
5
+ from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_QOS as CONF_QOS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TOPIC as CONF_TOPIC, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, DATA_MQTT as DATA_MQTT, DATA_MQTT_AVAILABLE as DATA_MQTT_AVAILABLE, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_QOS as DEFAULT_QOS, DEFAULT_RETAIN as DEFAULT_RETAIN, DOMAIN as DOMAIN, MQTT_CONNECTED as MQTT_CONNECTED, MQTT_DISCONNECTED as MQTT_DISCONNECTED, PLATFORMS as PLATFORMS, RELOADABLE_PLATFORMS as RELOADABLE_PLATFORMS, TEMPLATE_ERRORS as TEMPLATE_ERRORS
6
+ from .models import MqttCommandTemplate as MqttCommandTemplate, MqttData as MqttData, MqttValueTemplate as MqttValueTemplate, PayloadSentinel as PayloadSentinel, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
7
7
  from .util import async_create_certificate_temp_files as async_create_certificate_temp_files, async_wait_for_mqtt_client as async_wait_for_mqtt_client, get_mqtt_data as get_mqtt_data, mqtt_config_entry_enabled as mqtt_config_entry_enabled, valid_publish_topic as valid_publish_topic, valid_qos_schema as valid_qos_schema, valid_subscribe_topic as valid_subscribe_topic
8
8
  from _typeshed import Incomplete
9
9
  from collections.abc import Callable
@@ -11,7 +11,7 @@ from homeassistant.components import websocket_api as websocket_api
11
11
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
12
12
  from homeassistant.const import CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_DISCOVERY as CONF_DISCOVERY, CONF_PASSWORD as CONF_PASSWORD, CONF_PAYLOAD as CONF_PAYLOAD, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_USERNAME as CONF_USERNAME, SERVICE_RELOAD as SERVICE_RELOAD
13
13
  from homeassistant.core import HassJob as HassJob, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
14
- from homeassistant.exceptions import ConfigValidationError as ConfigValidationError, ServiceValidationError as ServiceValidationError, TemplateError as TemplateError, Unauthorized as Unauthorized
14
+ from homeassistant.exceptions import ConfigValidationError as ConfigValidationError, ServiceValidationError as ServiceValidationError, Unauthorized as Unauthorized
15
15
  from homeassistant.helpers import template as template
16
16
  from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
17
17
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
@@ -2,7 +2,7 @@ import abc
2
2
  import voluptuous as vol
3
3
  from . import subscription as subscription
4
4
  from .config import DEFAULT_RETAIN as DEFAULT_RETAIN, MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
5
- from .const import CONF_ACTION_TEMPLATE as CONF_ACTION_TEMPLATE, CONF_ACTION_TOPIC as CONF_ACTION_TOPIC, CONF_CURRENT_HUMIDITY_TEMPLATE as CONF_CURRENT_HUMIDITY_TEMPLATE, CONF_CURRENT_HUMIDITY_TOPIC as CONF_CURRENT_HUMIDITY_TOPIC, CONF_CURRENT_TEMP_TEMPLATE as CONF_CURRENT_TEMP_TEMPLATE, CONF_CURRENT_TEMP_TOPIC as CONF_CURRENT_TEMP_TOPIC, CONF_ENCODING as CONF_ENCODING, CONF_MODE_COMMAND_TEMPLATE as CONF_MODE_COMMAND_TEMPLATE, CONF_MODE_COMMAND_TOPIC as CONF_MODE_COMMAND_TOPIC, CONF_MODE_LIST as CONF_MODE_LIST, CONF_MODE_STATE_TEMPLATE as CONF_MODE_STATE_TEMPLATE, CONF_MODE_STATE_TOPIC as CONF_MODE_STATE_TOPIC, CONF_POWER_COMMAND_TEMPLATE as CONF_POWER_COMMAND_TEMPLATE, CONF_POWER_COMMAND_TOPIC as CONF_POWER_COMMAND_TOPIC, CONF_PRECISION as CONF_PRECISION, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_TEMP_COMMAND_TEMPLATE as CONF_TEMP_COMMAND_TEMPLATE, CONF_TEMP_COMMAND_TOPIC as CONF_TEMP_COMMAND_TOPIC, CONF_TEMP_INITIAL as CONF_TEMP_INITIAL, CONF_TEMP_MAX as CONF_TEMP_MAX, CONF_TEMP_MIN as CONF_TEMP_MIN, CONF_TEMP_STATE_TEMPLATE as CONF_TEMP_STATE_TEMPLATE, CONF_TEMP_STATE_TOPIC as CONF_TEMP_STATE_TOPIC, DEFAULT_OPTIMISTIC as DEFAULT_OPTIMISTIC, DOMAIN as DOMAIN, PAYLOAD_NONE as PAYLOAD_NONE
5
+ from .const import CONF_ACTION_TEMPLATE as CONF_ACTION_TEMPLATE, CONF_ACTION_TOPIC as CONF_ACTION_TOPIC, CONF_CURRENT_HUMIDITY_TEMPLATE as CONF_CURRENT_HUMIDITY_TEMPLATE, CONF_CURRENT_HUMIDITY_TOPIC as CONF_CURRENT_HUMIDITY_TOPIC, CONF_CURRENT_TEMP_TEMPLATE as CONF_CURRENT_TEMP_TEMPLATE, CONF_CURRENT_TEMP_TOPIC as CONF_CURRENT_TEMP_TOPIC, CONF_ENCODING as CONF_ENCODING, CONF_MODE_COMMAND_TEMPLATE as CONF_MODE_COMMAND_TEMPLATE, CONF_MODE_COMMAND_TOPIC as CONF_MODE_COMMAND_TOPIC, CONF_MODE_LIST as CONF_MODE_LIST, CONF_MODE_STATE_TEMPLATE as CONF_MODE_STATE_TEMPLATE, CONF_MODE_STATE_TOPIC as CONF_MODE_STATE_TOPIC, CONF_POWER_COMMAND_TEMPLATE as CONF_POWER_COMMAND_TEMPLATE, CONF_POWER_COMMAND_TOPIC as CONF_POWER_COMMAND_TOPIC, CONF_PRECISION as CONF_PRECISION, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_TEMP_COMMAND_TEMPLATE as CONF_TEMP_COMMAND_TEMPLATE, CONF_TEMP_COMMAND_TOPIC as CONF_TEMP_COMMAND_TOPIC, CONF_TEMP_INITIAL as CONF_TEMP_INITIAL, CONF_TEMP_MAX as CONF_TEMP_MAX, CONF_TEMP_MIN as CONF_TEMP_MIN, CONF_TEMP_STATE_TEMPLATE as CONF_TEMP_STATE_TEMPLATE, CONF_TEMP_STATE_TOPIC as CONF_TEMP_STATE_TOPIC, DEFAULT_OPTIMISTIC as DEFAULT_OPTIMISTIC, PAYLOAD_NONE as PAYLOAD_NONE
6
6
  from .debug_info import log_messages as log_messages
7
7
  from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper, write_state_on_attr_change as write_state_on_attr_change
8
8
  from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
@@ -16,14 +16,12 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
16
16
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, CONF_NAME as CONF_NAME, CONF_OPTIMISTIC as CONF_OPTIMISTIC, CONF_PAYLOAD_OFF as CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON, CONF_TEMPERATURE_UNIT as CONF_TEMPERATURE_UNIT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, PRECISION_HALVES as PRECISION_HALVES, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, UnitOfTemperature as UnitOfTemperature
17
17
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
18
18
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
19
- from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
20
19
  from homeassistant.helpers.template import Template as Template
21
20
  from homeassistant.helpers.typing import ConfigType as ConfigType
22
21
  from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
23
22
  from typing import Any
24
23
 
25
24
  _LOGGER: Incomplete
26
- MQTT_CLIMATE_AUX_DOCS: str
27
25
  DEFAULT_NAME: str
28
26
  CONF_AUX_COMMAND_TOPIC: str
29
27
  CONF_AUX_STATE_TEMPLATE: str
@@ -99,7 +97,6 @@ class MqttTemperatureControlEntity(MqttEntity, ABC, metaclass=abc.ABCMeta):
99
97
  class MqttClimate(MqttTemperatureControlEntity, ClimateEntity):
100
98
  _attr_fan_mode: str | None
101
99
  _attr_hvac_mode: HVACMode | None
102
- _attr_is_aux_heat: bool | None
103
100
  _attr_swing_mode: str | None
104
101
  _default_name = DEFAULT_NAME
105
102
  _entity_id_format: Incomplete
@@ -130,7 +127,6 @@ class MqttClimate(MqttTemperatureControlEntity, ClimateEntity):
130
127
  _command_templates: Incomplete
131
128
  _attr_supported_features: Incomplete
132
129
  def _setup_from_config(self, config: ConfigType) -> None: ...
133
- async def mqtt_async_added_to_hass(self) -> None: ...
134
130
  _attr_hvac_action: Incomplete
135
131
  def _prepare_subscribe_topics(self) -> None: ...
136
132
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
@@ -139,8 +135,5 @@ class MqttClimate(MqttTemperatureControlEntity, ClimateEntity):
139
135
  async def async_set_fan_mode(self, fan_mode: str) -> None: ...
140
136
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
141
137
  async def async_set_preset_mode(self, preset_mode: str) -> None: ...
142
- async def _set_aux_heat(self, state: bool) -> None: ...
143
- async def async_turn_aux_heat_on(self) -> None: ...
144
- async def async_turn_aux_heat_off(self) -> None: ...
145
138
  async def async_turn_on(self) -> None: ...
146
139
  async def async_turn_off(self) -> None: ...
@@ -1,5 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from homeassistant.const import CONF_PAYLOAD as CONF_PAYLOAD, Platform as Platform
3
+ from homeassistant.exceptions import TemplateError as TemplateError
3
4
 
4
5
  ATTR_DISCOVERY_HASH: str
5
6
  ATTR_DISCOVERY_PAYLOAD: str
@@ -112,3 +113,4 @@ PAYLOAD_EMPTY_JSON: str
112
113
  PAYLOAD_NONE: str
113
114
  PLATFORMS: Incomplete
114
115
  RELOADABLE_PLATFORMS: Incomplete
116
+ TEMPLATE_ERRORS: Incomplete