homeassistant-stubs 2024.2.5__py3-none-any.whl → 2024.3.0__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 (302) hide show
  1. homeassistant-stubs/bootstrap.pyi +20 -5
  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/api/__init__.pyi +0 -1
  12. homeassistant-stubs/components/apple_tv/__init__.pyi +68 -0
  13. homeassistant-stubs/components/apple_tv/browse_media.pyi +5 -0
  14. homeassistant-stubs/components/apple_tv/config_flow.pyi +63 -0
  15. homeassistant-stubs/components/apple_tv/const.pyi +4 -0
  16. homeassistant-stubs/components/apple_tv/media_player.pyi +93 -0
  17. homeassistant-stubs/components/apple_tv/remote.pyi +23 -0
  18. homeassistant-stubs/components/assist_pipeline/__init__.pyi +1 -1
  19. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -1
  20. homeassistant-stubs/components/assist_pipeline/error.pyi +4 -0
  21. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +5 -5
  22. homeassistant-stubs/components/asterisk_mbox/__init__.pyi +1 -0
  23. homeassistant-stubs/components/asuswrt/router.pyi +1 -1
  24. homeassistant-stubs/components/auth/__init__.pyi +2 -2
  25. homeassistant-stubs/components/automation/__init__.pyi +2 -1
  26. homeassistant-stubs/components/axis/binary_sensor.pyi +4 -0
  27. homeassistant-stubs/components/backup/manager.pyi +5 -3
  28. homeassistant-stubs/components/backup/websocket.pyi +4 -2
  29. homeassistant-stubs/components/blue_current/__init__.pyi +4 -3
  30. homeassistant-stubs/components/blue_current/entity.pyi +5 -2
  31. homeassistant-stubs/components/bluetooth/manager.pyi +2 -2
  32. homeassistant-stubs/components/bluetooth/match.pyi +3 -0
  33. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +1 -0
  34. homeassistant-stubs/components/braviatv/coordinator.pyi +2 -0
  35. homeassistant-stubs/components/braviatv/media_player.pyi +5 -0
  36. homeassistant-stubs/components/brother/sensor.pyi +3 -3
  37. homeassistant-stubs/components/bthome/config_flow.pyi +4 -4
  38. homeassistant-stubs/components/calendar/trigger.pyi +2 -1
  39. homeassistant-stubs/components/camera/media_source.pyi +1 -0
  40. homeassistant-stubs/components/camera/prefs.pyi +2 -0
  41. homeassistant-stubs/components/cert_expiry/sensor.pyi +0 -1
  42. homeassistant-stubs/components/climate/__init__.pyi +3 -1
  43. homeassistant-stubs/components/cloud/const.pyi +2 -0
  44. homeassistant-stubs/components/cloud/google_config.pyi +7 -5
  45. homeassistant-stubs/components/cloud/http_api.pyi +1 -1
  46. homeassistant-stubs/components/cloud/prefs.pyi +6 -2
  47. homeassistant-stubs/components/cloud/tts.pyi +3 -2
  48. homeassistant-stubs/components/config/area_registry.pyi +1 -1
  49. homeassistant-stubs/components/config/auth.pyi +2 -2
  50. homeassistant-stubs/components/config/auth_provider_homeassistant.pyi +2 -2
  51. homeassistant-stubs/components/config/automation.pyi +2 -2
  52. homeassistant-stubs/components/config/config_entries.pyi +5 -4
  53. homeassistant-stubs/components/config/core.pyi +2 -2
  54. homeassistant-stubs/components/config/device_registry.pyi +1 -1
  55. homeassistant-stubs/components/config/entity_registry.pyi +1 -1
  56. homeassistant-stubs/components/config/floor_registry.pyi +12 -0
  57. homeassistant-stubs/components/config/label_registry.pyi +12 -0
  58. homeassistant-stubs/components/config/scene.pyi +2 -2
  59. homeassistant-stubs/components/config/script.pyi +2 -2
  60. homeassistant-stubs/components/cpuspeed/sensor.pyi +0 -1
  61. homeassistant-stubs/components/crownstone/light.pyi +1 -1
  62. homeassistant-stubs/components/deconz/light.pyi +1 -1
  63. homeassistant-stubs/components/demo/fan.pyi +1 -0
  64. homeassistant-stubs/components/dhcp/__init__.pyi +24 -32
  65. homeassistant-stubs/components/dlna_dmr/media_player.pyi +8 -3
  66. homeassistant-stubs/components/dnsip/sensor.pyi +1 -1
  67. homeassistant-stubs/components/dunehd/media_player.pyi +5 -2
  68. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +3 -3
  69. homeassistant-stubs/components/ecovacs/button.pyi +5 -5
  70. homeassistant-stubs/components/ecovacs/controller.pyi +6 -3
  71. homeassistant-stubs/components/ecovacs/entity.pyi +11 -9
  72. homeassistant-stubs/components/ecovacs/image.pyi +2 -2
  73. homeassistant-stubs/components/ecovacs/lawn_mower.pyi +28 -0
  74. homeassistant-stubs/components/ecovacs/number.pyi +3 -3
  75. homeassistant-stubs/components/ecovacs/select.pyi +3 -3
  76. homeassistant-stubs/components/ecovacs/sensor.pyi +6 -6
  77. homeassistant-stubs/components/ecovacs/switch.pyi +4 -4
  78. homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -3
  79. homeassistant-stubs/components/emulated_hue/config.pyi +1 -1
  80. homeassistant-stubs/components/enphase_envoy/sensor.pyi +39 -4
  81. homeassistant-stubs/components/esphome/bluetooth.pyi +1 -1
  82. homeassistant-stubs/components/esphome/camera.pyi +2 -2
  83. homeassistant-stubs/components/esphome/entry_data.pyi +3 -5
  84. homeassistant-stubs/components/esphome/manager.pyi +6 -7
  85. homeassistant-stubs/components/esphome/sensor.pyi +4 -2
  86. homeassistant-stubs/components/esphome/update.pyi +0 -1
  87. homeassistant-stubs/components/esphome/voice_assistant.pyi +1 -1
  88. homeassistant-stubs/components/fastdotcom/sensor.pyi +0 -1
  89. homeassistant-stubs/components/filesize/sensor.pyi +0 -1
  90. homeassistant-stubs/components/flexit_bacnet/climate.pyi +4 -2
  91. homeassistant-stubs/components/flexit_bacnet/number.pyi +31 -0
  92. homeassistant-stubs/components/flux_led/__init__.pyi +2 -2
  93. homeassistant-stubs/components/fritz/common.pyi +2 -1
  94. homeassistant-stubs/components/fully_kiosk/media_player.pyi +2 -1
  95. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -1
  96. homeassistant-stubs/components/goalzero/__init__.pyi +1 -0
  97. homeassistant-stubs/components/gpsd/sensor.pyi +15 -9
  98. homeassistant-stubs/components/group/__init__.pyi +1 -1
  99. homeassistant-stubs/components/group/light.pyi +3 -3
  100. homeassistant-stubs/components/hardkernel/__init__.pyi +1 -1
  101. homeassistant-stubs/components/hardware/hardware.pyi +2 -2
  102. homeassistant-stubs/components/hardware/websocket_api.pyi +1 -1
  103. homeassistant-stubs/components/homeassistant_green/__init__.pyi +1 -1
  104. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +2 -1
  105. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +3 -2
  106. homeassistant-stubs/components/homekit/__init__.pyi +1 -1
  107. homeassistant-stubs/components/homekit/accessories.pyi +1 -1
  108. homeassistant-stubs/components/homekit/config_flow.pyi +13 -4
  109. homeassistant-stubs/components/homekit/type_cameras.pyi +1 -1
  110. homeassistant-stubs/components/homekit/type_covers.pyi +1 -1
  111. homeassistant-stubs/components/homekit/type_humidifiers.pyi +1 -1
  112. homeassistant-stubs/components/homekit/type_triggers.pyi +3 -1
  113. homeassistant-stubs/components/homekit_controller/__init__.pyi +1 -0
  114. homeassistant-stubs/components/homekit_controller/alarm_control_panel.pyi +0 -1
  115. homeassistant-stubs/components/homekit_controller/button.pyi +8 -4
  116. homeassistant-stubs/components/homekit_controller/utils.pyi +4 -0
  117. homeassistant-stubs/components/http/__init__.pyi +3 -3
  118. homeassistant-stubs/components/http/auth.pyi +1 -1
  119. homeassistant-stubs/components/http/ban.pyi +0 -1
  120. homeassistant-stubs/components/http/const.pyi +1 -1
  121. homeassistant-stubs/components/http/request_context.pyi +1 -2
  122. homeassistant-stubs/components/http/view.pyi +1 -29
  123. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +0 -6
  124. homeassistant-stubs/components/huawei_lte/switch.pyi +0 -4
  125. homeassistant-stubs/components/idasen_desk/sensor.pyi +2 -1
  126. homeassistant-stubs/components/image/__init__.pyi +13 -3
  127. homeassistant-stubs/components/image/media_source.pyi +18 -0
  128. homeassistant-stubs/components/imap/coordinator.pyi +8 -0
  129. homeassistant-stubs/components/imap/diagnostics.pyi +13 -0
  130. homeassistant-stubs/components/intent/__init__.pyi +7 -2
  131. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +1 -1
  132. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  133. homeassistant-stubs/components/knx/schema.pyi +3 -18
  134. homeassistant-stubs/components/knx/validation.pyi +19 -0
  135. homeassistant-stubs/components/lamarzocco/calendar.pyi +21 -0
  136. homeassistant-stubs/components/lamarzocco/entity.pyi +7 -4
  137. homeassistant-stubs/components/lamarzocco/number.pyi +26 -1
  138. homeassistant-stubs/components/light/__init__.pyi +3 -0
  139. homeassistant-stubs/components/local_todo/todo.pyi +3 -1
  140. homeassistant-stubs/components/logbook/__init__.pyi +1 -1
  141. homeassistant-stubs/components/logbook/helpers.pyi +2 -2
  142. homeassistant-stubs/components/logbook/models.pyi +2 -2
  143. homeassistant-stubs/components/mailbox/__init__.pyi +1 -0
  144. homeassistant-stubs/components/matter/light.pyi +6 -5
  145. homeassistant-stubs/components/media_player/intent.pyi +11 -0
  146. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -1
  147. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  148. homeassistant-stubs/components/modbus/climate.pyi +1 -0
  149. homeassistant-stubs/components/modbus/validators.pyi +4 -4
  150. homeassistant-stubs/components/mqtt/__init__.pyi +3 -3
  151. homeassistant-stubs/components/mqtt/climate.pyi +1 -8
  152. homeassistant-stubs/components/mqtt/const.pyi +2 -0
  153. homeassistant-stubs/components/mqtt/event.pyi +1 -1
  154. homeassistant-stubs/components/mqtt/image.pyi +1 -1
  155. homeassistant-stubs/components/mqtt/mixins.pyi +2 -2
  156. homeassistant-stubs/components/mqtt/models.pyi +10 -0
  157. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  158. homeassistant-stubs/components/myuplink/__init__.pyi +2 -1
  159. homeassistant-stubs/components/myuplink/binary_sensor.pyi +24 -0
  160. homeassistant-stubs/components/myuplink/config_flow.pyi +7 -0
  161. homeassistant-stubs/components/myuplink/coordinator.pyi +1 -2
  162. homeassistant-stubs/components/myuplink/diagnostics.pyi +11 -0
  163. homeassistant-stubs/components/myuplink/helpers.pyi +6 -0
  164. homeassistant-stubs/components/myuplink/number.pyi +30 -0
  165. homeassistant-stubs/components/myuplink/sensor.pyi +20 -3
  166. homeassistant-stubs/components/myuplink/switch.pyi +29 -0
  167. homeassistant-stubs/components/myuplink/update.pyi +20 -0
  168. homeassistant-stubs/components/notion/__init__.pyi +10 -6
  169. homeassistant-stubs/components/notion/config_flow.pyi +11 -3
  170. homeassistant-stubs/components/notion/const.pyi +2 -0
  171. homeassistant-stubs/components/notion/diagnostics.pyi +2 -2
  172. homeassistant-stubs/components/notion/model.pyi +1 -1
  173. homeassistant-stubs/components/notion/util.pyi +7 -0
  174. homeassistant-stubs/components/overkiz/climate.pyi +1 -1
  175. homeassistant-stubs/components/overkiz/climate_entities/__init__.pyi +8 -0
  176. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heating_zone.pyi +1 -1
  177. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_zone_control.pyi +5 -1
  178. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_zone_control_zone.pyi +33 -0
  179. homeassistant-stubs/components/overkiz/climate_entities/hitachi_air_to_air_heat_pump_ovp.pyi +61 -0
  180. homeassistant-stubs/components/overkiz/number.pyi +7 -1
  181. homeassistant-stubs/components/proximity/config_flow.pyi +1 -1
  182. homeassistant-stubs/components/rainmachine/util.pyi +1 -1
  183. homeassistant-stubs/components/raspberry_pi/__init__.pyi +1 -1
  184. homeassistant-stubs/components/recorder/__init__.pyi +1 -1
  185. homeassistant-stubs/components/recorder/core.pyi +1 -0
  186. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -5
  187. homeassistant-stubs/components/repairs/issue_handler.pyi +1 -1
  188. homeassistant-stubs/components/rfxtrx/__init__.pyi +3 -1
  189. homeassistant-stubs/components/samsungtv/__init__.pyi +1 -1
  190. homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -0
  191. homeassistant-stubs/components/sensor/recorder.pyi +0 -2
  192. homeassistant-stubs/components/shelly/binary_sensor.pyi +1 -1
  193. homeassistant-stubs/components/shelly/button.pyi +1 -1
  194. homeassistant-stubs/components/shelly/climate.pyi +1 -3
  195. homeassistant-stubs/components/shelly/entity.pyi +1 -2
  196. homeassistant-stubs/components/shelly/number.pyi +1 -1
  197. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  198. homeassistant-stubs/components/shelly/switch.pyi +4 -5
  199. homeassistant-stubs/components/shelly/utils.pyi +2 -0
  200. homeassistant-stubs/components/shelly/valve.pyi +1 -1
  201. homeassistant-stubs/components/ssdp/__init__.pyi +1 -0
  202. homeassistant-stubs/components/statistics/sensor.pyi +4 -1
  203. homeassistant-stubs/components/steamist/__init__.pyi +1 -1
  204. homeassistant-stubs/components/system_health/__init__.pyi +1 -1
  205. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -0
  206. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +48 -0
  207. homeassistant-stubs/components/systemmonitor/config_flow.pyi +2 -0
  208. homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
  209. homeassistant-stubs/components/systemmonitor/coordinator.pyi +14 -10
  210. homeassistant-stubs/components/systemmonitor/diagnostics.pyi +7 -0
  211. homeassistant-stubs/components/systemmonitor/repairs.pyi +15 -0
  212. homeassistant-stubs/components/systemmonitor/sensor.pyi +5 -4
  213. homeassistant-stubs/components/systemmonitor/util.pyi +6 -5
  214. homeassistant-stubs/components/technove/helpers.pyi +9 -0
  215. homeassistant-stubs/components/technove/switch.pyi +33 -0
  216. homeassistant-stubs/components/tedee/config_flow.pyi +1 -0
  217. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  218. homeassistant-stubs/components/tibber/sensor.pyi +7 -4
  219. homeassistant-stubs/components/tplink/__init__.pyi +1 -1
  220. homeassistant-stubs/components/tplink/config_flow.pyi +2 -2
  221. homeassistant-stubs/components/tplink/light.pyi +1 -0
  222. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +2 -2
  223. homeassistant-stubs/components/tplink_omada/config_flow.pyi +1 -1
  224. homeassistant-stubs/components/tplink_omada/controller.pyi +1 -1
  225. homeassistant-stubs/components/tplink_omada/coordinator.pyi +1 -1
  226. homeassistant-stubs/components/tplink_omada/update.pyi +1 -1
  227. homeassistant-stubs/components/tractive/device_tracker.pyi +0 -1
  228. homeassistant-stubs/components/unifi/__init__.pyi +1 -1
  229. homeassistant-stubs/components/unifi/button.pyi +1 -1
  230. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  231. homeassistant-stubs/components/unifi/device_tracker.pyi +6 -6
  232. homeassistant-stubs/components/unifi/diagnostics.pyi +1 -1
  233. homeassistant-stubs/components/unifi/entity.pyi +13 -13
  234. homeassistant-stubs/components/unifi/hub/__init__.pyi +2 -0
  235. homeassistant-stubs/components/unifi/hub/api.pyi +10 -0
  236. homeassistant-stubs/components/unifi/{controller.pyi → hub/hub.pyi} +9 -19
  237. homeassistant-stubs/components/unifi/hub/websocket.pyi +25 -0
  238. homeassistant-stubs/components/unifi/image.pyi +4 -4
  239. homeassistant-stubs/components/unifi/sensor.pyi +14 -14
  240. homeassistant-stubs/components/unifi/switch.pyi +14 -14
  241. homeassistant-stubs/components/unifi/update.pyi +1 -1
  242. homeassistant-stubs/components/unifiprotect/__init__.pyi +4 -2
  243. homeassistant-stubs/components/unifiprotect/const.pyi +1 -0
  244. homeassistant-stubs/components/unifiprotect/data.pyi +3 -2
  245. homeassistant-stubs/components/unifiprotect/media_source.pyi +6 -3
  246. homeassistant-stubs/components/unifiprotect/migrate.pyi +3 -5
  247. homeassistant-stubs/components/unifiprotect/repairs.pyi +8 -2
  248. homeassistant-stubs/components/usb/__init__.pyi +1 -1
  249. homeassistant-stubs/components/vacuum/intent.pyi +8 -0
  250. homeassistant-stubs/components/vallox/__init__.pyi +5 -23
  251. homeassistant-stubs/components/vallox/fan.pyi +1 -1
  252. homeassistant-stubs/components/wake_word/models.pyi +4 -2
  253. homeassistant-stubs/components/water_heater/__init__.pyi +2 -0
  254. homeassistant-stubs/components/websocket_api/connection.pyi +1 -1
  255. homeassistant-stubs/components/websocket_api/http.pyi +1 -0
  256. homeassistant-stubs/components/wiz/light.pyi +3 -2
  257. homeassistant-stubs/components/xiaomi_ble/const.pyi +9 -0
  258. homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
  259. homeassistant-stubs/components/xiaomi_ble/event.pyi +1 -1
  260. homeassistant-stubs/components/yalexs_ble/__init__.pyi +1 -1
  261. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +1 -1
  262. homeassistant-stubs/components/zwave_js/climate.pyi +4 -0
  263. homeassistant-stubs/components/zwave_js/sensor.pyi +0 -1
  264. homeassistant-stubs/config.pyi +4 -2
  265. homeassistant-stubs/config_entries.pyi +40 -26
  266. homeassistant-stubs/const.pyi +1 -0
  267. homeassistant-stubs/core.pyi +11 -7
  268. homeassistant-stubs/data_entry_flow.pyi +1 -0
  269. homeassistant-stubs/helpers/area_registry.pyi +9 -4
  270. homeassistant-stubs/helpers/collection.pyi +19 -0
  271. homeassistant-stubs/helpers/config_validation.pyi +5 -0
  272. homeassistant-stubs/helpers/data_entry_flow.pyi +2 -1
  273. homeassistant-stubs/helpers/debounce.pyi +3 -1
  274. homeassistant-stubs/helpers/device_registry.pyi +13 -6
  275. homeassistant-stubs/helpers/entity.pyi +4 -2
  276. homeassistant-stubs/helpers/entity_component.pyi +1 -1
  277. homeassistant-stubs/helpers/entity_platform.pyi +7 -3
  278. homeassistant-stubs/helpers/entity_registry.pyi +10 -4
  279. homeassistant-stubs/helpers/event.pyi +28 -2
  280. homeassistant-stubs/helpers/floor_registry.pyi +59 -0
  281. homeassistant-stubs/helpers/frame.pyi +3 -1
  282. homeassistant-stubs/helpers/http.pyi +32 -0
  283. homeassistant-stubs/helpers/icon.pyi +1 -1
  284. homeassistant-stubs/helpers/integration_platform.pyi +12 -8
  285. homeassistant-stubs/helpers/intent.pyi +20 -6
  286. homeassistant-stubs/helpers/json.pyi +1 -0
  287. homeassistant-stubs/helpers/label_registry.pyi +59 -0
  288. homeassistant-stubs/helpers/redact.pyi +13 -0
  289. homeassistant-stubs/helpers/service.pyi +1 -0
  290. homeassistant-stubs/helpers/storage.pyi +7 -3
  291. homeassistant-stubs/helpers/template.pyi +7 -0
  292. homeassistant-stubs/helpers/translation.pyi +18 -4
  293. homeassistant-stubs/helpers/update_coordinator.pyi +1 -0
  294. homeassistant-stubs/loader.pyi +35 -13
  295. homeassistant-stubs/setup.pyi +9 -3
  296. homeassistant-stubs/util/async_.pyi +3 -3
  297. homeassistant-stubs/util/file.pyi +2 -2
  298. homeassistant-stubs/util/yaml/loader.pyi +3 -0
  299. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0.dist-info}/METADATA +2 -2
  300. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0.dist-info}/RECORD +302 -264
  301. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0.dist-info}/LICENSE +0 -0
  302. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0.dist-info}/WHEEL +0 -0
@@ -1,9 +1,13 @@
1
1
  from .const import CONTROLLER as CONTROLLER
2
2
  from .storage import async_get_entity_storage as async_get_entity_storage
3
+ from _typeshed import Incomplete
3
4
  from aiohomekit import Controller
4
5
  from homeassistant.components import bluetooth as bluetooth, zeroconf as zeroconf
5
6
  from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
6
7
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
7
8
 
9
+ IidTuple: Incomplete
10
+
11
+ def unique_id_to_iids(unique_id: str) -> IidTuple | None: ...
8
12
  def folded_name(name: str) -> str: ...
9
13
  async def async_get_controller(hass: HomeAssistant) -> Controller: ...
@@ -2,15 +2,14 @@ import asyncio
2
2
  import ssl
3
3
  from .auth import async_setup_auth as async_setup_auth
4
4
  from .ban import setup_bans as setup_bans
5
- from .const import KEY_AUTHENTICATED as KEY_AUTHENTICATED, KEY_HASS as KEY_HASS, KEY_HASS_REFRESH_TOKEN_ID as KEY_HASS_REFRESH_TOKEN_ID, KEY_HASS_USER as KEY_HASS_USER
5
+ from .const import KEY_HASS as KEY_HASS, KEY_HASS_REFRESH_TOKEN_ID as KEY_HASS_REFRESH_TOKEN_ID, KEY_HASS_USER as KEY_HASS_USER
6
6
  from .cors import setup_cors as setup_cors
7
7
  from .decorators import require_admin as require_admin
8
8
  from .forwarded import async_setup_forwarded as async_setup_forwarded
9
9
  from .headers import setup_headers as setup_headers
10
- from .request_context import current_request as current_request, setup_request_context as setup_request_context
10
+ from .request_context import setup_request_context as setup_request_context
11
11
  from .security_filter import setup_security_filter as setup_security_filter
12
12
  from .static import CACHE_HEADERS as CACHE_HEADERS, CachingStaticResource as CachingStaticResource
13
- from .view import HomeAssistantView as HomeAssistantView
14
13
  from .web_runner import HomeAssistantTCPSite as HomeAssistantTCPSite
15
14
  from _typeshed import Incomplete
16
15
  from aiohttp import web
@@ -25,6 +24,7 @@ from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_
25
24
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
26
25
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
27
26
  from homeassistant.helpers import storage as storage
27
+ from homeassistant.helpers.http import HomeAssistantView as HomeAssistantView, KEY_AUTHENTICATED as KEY_AUTHENTICATED, current_request as current_request
28
28
  from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError, get_url as get_url
29
29
  from homeassistant.helpers.typing import ConfigType as ConfigType
30
30
  from homeassistant.loader import bind_hass as bind_hass
@@ -1,5 +1,4 @@
1
1
  from .const import KEY_AUTHENTICATED as KEY_AUTHENTICATED, KEY_HASS_REFRESH_TOKEN_ID as KEY_HASS_REFRESH_TOKEN_ID, KEY_HASS_USER as KEY_HASS_USER
2
- from .request_context import current_request as current_request
3
2
  from _typeshed import Incomplete
4
3
  from aiohttp.web import Application as Application, Request as Request, StreamResponse as StreamResponse
5
4
  from collections.abc import Callable as Callable
@@ -9,6 +8,7 @@ from homeassistant.auth.const import GROUP_ID_READ_ONLY as GROUP_ID_READ_ONLY
9
8
  from homeassistant.auth.models import User as User
10
9
  from homeassistant.components import websocket_api as websocket_api
11
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
+ from homeassistant.helpers.http import current_request as current_request
12
12
  from homeassistant.helpers.json import json_bytes as json_bytes
13
13
  from homeassistant.helpers.network import is_cloud_connection as is_cloud_connection
14
14
  from homeassistant.helpers.storage import Store as Store
@@ -3,7 +3,6 @@ from _typeshed import Incomplete
3
3
  from aiohttp.web import Application as Application, Request as Request, Response as Response, StreamResponse as StreamResponse
4
4
  from collections.abc import Awaitable, Callable as Callable, Coroutine
5
5
  from datetime import datetime
6
- from homeassistant.components import persistent_notification as persistent_notification
7
6
  from homeassistant.config import load_yaml_config_file as load_yaml_config_file
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -1,6 +1,6 @@
1
+ from homeassistant.helpers.http import KEY_AUTHENTICATED as KEY_AUTHENTICATED
1
2
  from typing import Final
2
3
 
3
- KEY_AUTHENTICATED: Final[str]
4
4
  KEY_HASS: Final[str]
5
5
  KEY_HASS_USER: Final[str]
6
6
  KEY_HASS_REFRESH_TOKEN_ID: Final[str]
@@ -2,7 +2,6 @@ from aiohttp.web import Application as Application, Request as Request, StreamRe
2
2
  from collections.abc import Callable as Callable
3
3
  from contextvars import ContextVar
4
4
  from homeassistant.core import callback as callback
5
-
6
- current_request: ContextVar[Request | None]
5
+ from homeassistant.helpers.http import current_request as current_request
7
6
 
8
7
  def setup_request_context(app: Application, context: ContextVar[Request | None]) -> None: ...
@@ -1,29 +1 @@
1
- from .const import KEY_AUTHENTICATED as KEY_AUTHENTICATED
2
- from _typeshed import Incomplete
3
- from aiohttp import web
4
- from aiohttp.typedefs import LooseHeaders as LooseHeaders
5
- from aiohttp.web_urldispatcher import AbstractRoute as AbstractRoute
6
- from collections.abc import Awaitable, Callable as Callable
7
- from homeassistant import exceptions as exceptions
8
- from homeassistant.const import CONTENT_TYPE_JSON as CONTENT_TYPE_JSON
9
- from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, is_callback as is_callback
10
- from homeassistant.helpers.json import find_paths_unserializable_data as find_paths_unserializable_data, json_bytes as json_bytes, json_dumps as json_dumps
11
- from homeassistant.util.json import JSON_ENCODE_EXCEPTIONS as JSON_ENCODE_EXCEPTIONS, format_unserializable_data as format_unserializable_data
12
- from http import HTTPStatus
13
- from typing import Any
14
-
15
- _LOGGER: Incomplete
16
-
17
- class HomeAssistantView:
18
- url: str | None
19
- extra_urls: list[str]
20
- requires_auth: bool
21
- cors_allowed: bool
22
- @staticmethod
23
- def context(request: web.Request) -> Context: ...
24
- @staticmethod
25
- def json(result: Any, status_code: HTTPStatus | int = ..., headers: LooseHeaders | None = None) -> web.Response: ...
26
- def json_message(self, message: str, status_code: HTTPStatus | int = ..., message_code: str | None = None, headers: LooseHeaders | None = None) -> web.Response: ...
27
- def register(self, hass: HomeAssistant, app: web.Application, router: web.UrlDispatcher) -> None: ...
28
-
29
- def request_handler_factory(hass: HomeAssistant, view: HomeAssistantView, handler: Callable) -> Callable[[web.Request], Awaitable[web.StreamResponse]]: ...
1
+ from homeassistant.helpers.http import HomeAssistantView as HomeAssistantView, request_handler_factory as request_handler_factory
@@ -36,8 +36,6 @@ class HuaweiLteMobileConnectionBinarySensor(HuaweiLteBaseBinarySensor):
36
36
  @property
37
37
  def assumed_state(self) -> bool: ...
38
38
  @property
39
- def icon(self) -> str: ...
40
- @property
41
39
  def extra_state_attributes(self) -> dict[str, Any] | None: ...
42
40
 
43
41
  class HuaweiLteBaseWifiStatusBinarySensor(HuaweiLteBaseBinarySensor):
@@ -45,8 +43,6 @@ class HuaweiLteBaseWifiStatusBinarySensor(HuaweiLteBaseBinarySensor):
45
43
  def is_on(self) -> bool: ...
46
44
  @property
47
45
  def assumed_state(self) -> bool: ...
48
- @property
49
- def icon(self) -> str: ...
50
46
 
51
47
  class HuaweiLteWifiStatusBinarySensor(HuaweiLteBaseWifiStatusBinarySensor):
52
48
  _attr_translation_key: str
@@ -71,5 +67,3 @@ class HuaweiLteSmsStorageFullBinarySensor(HuaweiLteBaseBinarySensor):
71
67
  def is_on(self) -> bool: ...
72
68
  @property
73
69
  def assumed_state(self) -> bool: ...
74
- @property
75
- def icon(self) -> str: ...
@@ -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]: ...
@@ -2,9 +2,10 @@ from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from aiohttp import web as web
4
4
  from homeassistant.components import http as http
5
- from homeassistant.components.cover import SERVICE_CLOSE_COVER as SERVICE_CLOSE_COVER, SERVICE_OPEN_COVER as SERVICE_OPEN_COVER
5
+ from homeassistant.components.cover import ATTR_POSITION as ATTR_POSITION, SERVICE_CLOSE_COVER as SERVICE_CLOSE_COVER, SERVICE_OPEN_COVER as SERVICE_OPEN_COVER, SERVICE_SET_COVER_POSITION as SERVICE_SET_COVER_POSITION
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, SERVICE_SET_VALVE_POSITION as SERVICE_SET_VALVE_POSITION
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
@@ -20,7 +21,7 @@ class IntentPlatformProtocol(Protocol):
20
21
  async def async_setup_intents(self, hass: HomeAssistant) -> None: ...
21
22
 
22
23
  class OnOffIntentHandler(intent.ServiceIntentHandler):
23
- async def async_call_service(self, intent_obj: intent.Intent, state: State) -> None: ...
24
+ async def async_call_service(self, domain: str, service: str, intent_obj: intent.Intent, state: State) -> None: ...
24
25
 
25
26
  class GetStateIntentHandler(intent.IntentHandler):
26
27
  intent_type: Incomplete
@@ -31,6 +32,10 @@ class NevermindIntentHandler(intent.IntentHandler):
31
32
  intent_type: Incomplete
32
33
  async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
33
34
 
35
+ class SetPositionIntentHandler(intent.DynamicServiceIntentHandler):
36
+ def __init__(self) -> None: ...
37
+ def get_domain_and_service(self, intent_obj: intent.Intent, state: State) -> tuple[str, str]: ...
38
+
34
39
  async def _async_process_intent(hass: HomeAssistant, domain: str, platform: IntentPlatformProtocol) -> None: ...
35
40
 
36
41
  class IntentHandleView(http.HomeAssistantView):
@@ -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: ...