homeassistant-stubs 2025.5.3__py3-none-any.whl → 2025.6.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 (391) hide show
  1. homeassistant-stubs/components/airthings/sensor.pyi +1 -1
  2. homeassistant-stubs/components/amazon_devices/__init__.pyi +9 -0
  3. homeassistant-stubs/components/amazon_devices/binary_sensor.pyi +25 -0
  4. homeassistant-stubs/components/amazon_devices/config_flow.pyi +8 -0
  5. homeassistant-stubs/components/amazon_devices/const.pyi +5 -0
  6. homeassistant-stubs/components/amazon_devices/coordinator.pyi +17 -0
  7. homeassistant-stubs/components/amazon_devices/entity.pyi +19 -0
  8. homeassistant-stubs/components/amazon_devices/notify.pyi +25 -0
  9. homeassistant-stubs/components/amazon_devices/switch.pyi +30 -0
  10. homeassistant-stubs/components/apcupsd/config_flow.pyi +1 -0
  11. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +3 -1
  12. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  13. homeassistant-stubs/components/axis/entity.pyi +1 -0
  14. homeassistant-stubs/components/backup/__init__.pyi +2 -2
  15. homeassistant-stubs/components/backup/coordinator.pyi +3 -0
  16. homeassistant-stubs/components/backup/entity.pyi +5 -2
  17. homeassistant-stubs/components/backup/event.pyi +23 -0
  18. homeassistant-stubs/components/backup/manager.pyi +22 -3
  19. homeassistant-stubs/components/backup/models.pyi +2 -2
  20. homeassistant-stubs/components/blue_current/button.pyi +25 -0
  21. homeassistant-stubs/components/blue_current/entity.pyi +3 -6
  22. homeassistant-stubs/components/bluesound/button.pyi +35 -0
  23. homeassistant-stubs/components/bluesound/media_player.pyi +1 -0
  24. homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -1
  25. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -1
  26. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -1
  27. homeassistant-stubs/components/bmw_connected_drive/notify.pyi +1 -1
  28. homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -1
  29. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
  30. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -1
  31. homeassistant-stubs/components/bosch_alarm/__init__.pyi +8 -4
  32. homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +3 -1
  33. homeassistant-stubs/components/bosch_alarm/binary_sensor.pyi +45 -0
  34. homeassistant-stubs/components/bosch_alarm/config_flow.pyi +9 -3
  35. homeassistant-stubs/components/bosch_alarm/const.pyi +4 -1
  36. homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +1 -1
  37. homeassistant-stubs/components/bosch_alarm/entity.pyi +30 -1
  38. homeassistant-stubs/components/bosch_alarm/sensor.pyi +6 -2
  39. homeassistant-stubs/components/bosch_alarm/services.pyi +15 -0
  40. homeassistant-stubs/components/bosch_alarm/switch.pyi +43 -0
  41. homeassistant-stubs/components/bosch_alarm/types.pyi +4 -0
  42. homeassistant-stubs/components/bring/__init__.pyi +1 -1
  43. homeassistant-stubs/components/bring/coordinator.pyi +21 -3
  44. homeassistant-stubs/components/bring/entity.pyi +3 -3
  45. homeassistant-stubs/components/bring/event.pyi +3 -2
  46. homeassistant-stubs/components/bring/sensor.pyi +1 -0
  47. homeassistant-stubs/components/bring/todo.pyi +1 -0
  48. homeassistant-stubs/components/camera/__init__.pyi +2 -10
  49. homeassistant-stubs/components/camera/webrtc.pyi +1 -22
  50. homeassistant-stubs/components/climate/__init__.pyi +3 -13
  51. homeassistant-stubs/components/climate/const.pyi +0 -3
  52. homeassistant-stubs/components/climate/significant_change.pyi +1 -1
  53. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  54. homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
  55. homeassistant-stubs/components/cloud/client.pyi +2 -1
  56. homeassistant-stubs/components/cloud/const.pyi +0 -1
  57. homeassistant-stubs/components/cloud/google_config.pyi +1 -1
  58. homeassistant-stubs/components/cloud/http_api.pyi +0 -2
  59. homeassistant-stubs/components/comelit/climate.pyi +14 -5
  60. homeassistant-stubs/components/comelit/config_flow.pyi +3 -4
  61. homeassistant-stubs/components/comelit/const.pyi +3 -0
  62. homeassistant-stubs/components/comelit/cover.pyi +3 -1
  63. homeassistant-stubs/components/comelit/humidifier.pyi +6 -1
  64. homeassistant-stubs/components/comelit/light.pyi +2 -0
  65. homeassistant-stubs/components/comelit/switch.pyi +2 -0
  66. homeassistant-stubs/components/comelit/utils.pyi +11 -0
  67. homeassistant-stubs/components/command_line/notify.pyi +3 -1
  68. homeassistant-stubs/components/config/entity_registry.pyi +6 -0
  69. homeassistant-stubs/components/deconz/entity.pyi +1 -0
  70. homeassistant-stubs/components/deconz/hub/hub.pyi +1 -1
  71. homeassistant-stubs/components/deconz/light.pyi +1 -1
  72. homeassistant-stubs/components/demo/media_player.pyi +2 -1
  73. homeassistant-stubs/components/device_automation/trigger.pyi +5 -2
  74. homeassistant-stubs/components/devolo_home_network/__init__.pyi +3 -18
  75. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +1 -2
  76. homeassistant-stubs/components/devolo_home_network/button.pyi +1 -1
  77. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
  78. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +56 -6
  79. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
  80. homeassistant-stubs/components/devolo_home_network/diagnostics.pyi +1 -1
  81. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -2
  82. homeassistant-stubs/components/devolo_home_network/image.pyi +1 -2
  83. homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -2
  84. homeassistant-stubs/components/devolo_home_network/switch.pyi +1 -2
  85. homeassistant-stubs/components/devolo_home_network/update.pyi +1 -2
  86. homeassistant-stubs/components/dhcp/__init__.pyi +2 -0
  87. homeassistant-stubs/components/downloader/__init__.pyi +3 -4
  88. homeassistant-stubs/components/downloader/services.pyi +7 -0
  89. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +1 -1
  90. homeassistant-stubs/components/ecovacs/button.pyi +2 -2
  91. homeassistant-stubs/components/ecovacs/number.pyi +1 -1
  92. homeassistant-stubs/components/ecovacs/select.pyi +1 -1
  93. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  94. homeassistant-stubs/components/ecovacs/switch.pyi +1 -1
  95. homeassistant-stubs/components/ecovacs/util.pyi +1 -1
  96. homeassistant-stubs/components/eheimdigital/climate.pyi +4 -2
  97. homeassistant-stubs/components/eheimdigital/diagnostics.pyi +9 -0
  98. homeassistant-stubs/components/eheimdigital/entity.pyi +5 -0
  99. homeassistant-stubs/components/eheimdigital/light.pyi +3 -2
  100. homeassistant-stubs/components/eheimdigital/number.pyi +3 -1
  101. homeassistant-stubs/components/eheimdigital/select.pyi +34 -0
  102. homeassistant-stubs/components/eheimdigital/switch.pyi +3 -1
  103. homeassistant-stubs/components/eheimdigital/time.pyi +2 -1
  104. homeassistant-stubs/components/elkm1/climate.pyi +0 -6
  105. homeassistant-stubs/components/esphome/entity.pyi +1 -0
  106. homeassistant-stubs/components/esphome/entry_data.pyi +0 -12
  107. homeassistant-stubs/components/esphome/light.pyi +4 -4
  108. homeassistant-stubs/components/esphome/update.pyi +8 -4
  109. homeassistant-stubs/components/feedreader/event.pyi +1 -2
  110. homeassistant-stubs/components/fritz/__init__.pyi +1 -1
  111. homeassistant-stubs/components/fritz/config_flow.pyi +2 -1
  112. homeassistant-stubs/components/fritz/const.pyi +2 -0
  113. homeassistant-stubs/components/fritz/coordinator.pyi +5 -3
  114. homeassistant-stubs/components/frontend/storage.pyi +25 -9
  115. homeassistant-stubs/components/fyta/image.pyi +18 -4
  116. homeassistant-stubs/components/geocaching/__init__.pyi +3 -5
  117. homeassistant-stubs/components/geocaching/coordinator.pyi +3 -2
  118. homeassistant-stubs/components/geocaching/sensor.pyi +2 -3
  119. homeassistant-stubs/components/google/__init__.pyi +7 -8
  120. homeassistant-stubs/components/google/api.pyi +2 -2
  121. homeassistant-stubs/components/google/calendar.pyi +5 -5
  122. homeassistant-stubs/components/google/config_flow.pyi +3 -2
  123. homeassistant-stubs/components/google/const.pyi +0 -2
  124. homeassistant-stubs/components/google/coordinator.pyi +5 -5
  125. homeassistant-stubs/components/google/diagnostics.pyi +2 -3
  126. homeassistant-stubs/components/google/store.pyi +9 -0
  127. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +5 -6
  128. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +3 -3
  129. homeassistant-stubs/components/google_assistant_sdk/const.pyi +0 -2
  130. homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +2 -2
  131. homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +7 -1
  132. homeassistant-stubs/components/google_assistant_sdk/notify.pyi +1 -2
  133. homeassistant-stubs/components/greeneye_monitor/const.pyi +4 -1
  134. homeassistant-stubs/components/guardian/__init__.pyi +11 -18
  135. homeassistant-stubs/components/guardian/binary_sensor.pyi +5 -6
  136. homeassistant-stubs/components/guardian/button.pyi +4 -5
  137. homeassistant-stubs/components/guardian/coordinator.pyi +3 -3
  138. homeassistant-stubs/components/guardian/diagnostics.pyi +3 -4
  139. homeassistant-stubs/components/guardian/entity.pyi +3 -3
  140. homeassistant-stubs/components/guardian/sensor.pyi +3 -4
  141. homeassistant-stubs/components/guardian/services.pyi +28 -0
  142. homeassistant-stubs/components/guardian/switch.pyi +4 -5
  143. homeassistant-stubs/components/guardian/util.pyi +2 -2
  144. homeassistant-stubs/components/guardian/valve.pyi +4 -5
  145. homeassistant-stubs/components/habitica/const.pyi +1 -6
  146. homeassistant-stubs/components/habitica/coordinator.pyi +2 -2
  147. homeassistant-stubs/components/habitica/sensor.pyi +3 -1
  148. homeassistant-stubs/components/habitica/services.pyi +2 -4
  149. homeassistant-stubs/components/habitica/util.pyi +2 -0
  150. homeassistant-stubs/components/hardware/__init__.pyi +3 -1
  151. homeassistant-stubs/components/hardware/const.pyi +4 -0
  152. homeassistant-stubs/components/hardware/hardware.pyi +1 -1
  153. homeassistant-stubs/components/hardware/models.pyi +14 -1
  154. homeassistant-stubs/components/hardware/websocket_api.pyi +2 -12
  155. homeassistant-stubs/components/heos/media_player.pyi +1 -0
  156. homeassistant-stubs/components/here_travel_time/__init__.pyi +4 -5
  157. homeassistant-stubs/components/here_travel_time/coordinator.pyi +5 -4
  158. homeassistant-stubs/components/here_travel_time/sensor.pyi +4 -5
  159. homeassistant-stubs/components/history_stats/config_flow.pyi +1 -1
  160. homeassistant-stubs/components/home_connect/config_flow.pyi +2 -0
  161. homeassistant-stubs/components/home_connect/diagnostics.pyi +1 -2
  162. homeassistant-stubs/components/home_connect/entity.pyi +0 -1
  163. homeassistant-stubs/components/home_connect/light.pyi +2 -2
  164. homeassistant-stubs/components/home_connect/number.pyi +1 -0
  165. homeassistant-stubs/components/home_connect/sensor.pyi +4 -5
  166. homeassistant-stubs/components/home_connect/switch.pyi +1 -19
  167. homeassistant-stubs/components/homeassistant/__init__.pyi +4 -0
  168. homeassistant-stubs/components/homee/alarm_control_panel.pyi +39 -0
  169. homeassistant-stubs/components/homee/const.pyi +2 -0
  170. homeassistant-stubs/components/homee/event.pyi +19 -0
  171. homeassistant-stubs/components/homee/fan.pyi +38 -0
  172. homeassistant-stubs/components/homee/sensor.pyi +5 -1
  173. homeassistant-stubs/components/homekit/const.pyi +1 -0
  174. homeassistant-stubs/components/homekit/util.pyi +1 -1
  175. homeassistant-stubs/components/homeworks/__init__.pyi +5 -5
  176. homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -3
  177. homeassistant-stubs/components/homeworks/button.pyi +2 -3
  178. homeassistant-stubs/components/homeworks/light.pyi +2 -3
  179. homeassistant-stubs/components/http/decorators.pyi +1 -1
  180. homeassistant-stubs/components/huawei_lte/__init__.pyi +0 -1
  181. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +0 -7
  182. homeassistant-stubs/components/hydrawise/__init__.pyi +4 -5
  183. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +3 -4
  184. homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -3
  185. homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
  186. homeassistant-stubs/components/hydrawise/switch.pyi +3 -4
  187. homeassistant-stubs/components/hydrawise/valve.pyi +2 -4
  188. homeassistant-stubs/components/immich/__init__.pyi +10 -0
  189. homeassistant-stubs/components/immich/config_flow.pyi +27 -0
  190. homeassistant-stubs/components/immich/const.pyi +4 -0
  191. homeassistant-stubs/components/immich/coordinator.pyi +27 -0
  192. homeassistant-stubs/components/immich/diagnostics.pyi +10 -0
  193. homeassistant-stubs/components/immich/entity.pyi +10 -0
  194. homeassistant-stubs/components/immich/media_source.pyi +37 -0
  195. homeassistant-stubs/components/immich/sensor.pyi +28 -0
  196. homeassistant-stubs/components/iqvia/__init__.pyi +4 -7
  197. homeassistant-stubs/components/iqvia/coordinator.pyi +16 -0
  198. homeassistant-stubs/components/iqvia/diagnostics.pyi +3 -4
  199. homeassistant-stubs/components/iqvia/entity.pyi +5 -6
  200. homeassistant-stubs/components/iqvia/sensor.pyi +3 -3
  201. homeassistant-stubs/components/isy994/__init__.pyi +6 -7
  202. homeassistant-stubs/components/isy994/binary_sensor.pyi +3 -4
  203. homeassistant-stubs/components/isy994/button.pyi +2 -3
  204. homeassistant-stubs/components/isy994/climate.pyi +3 -4
  205. homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
  206. homeassistant-stubs/components/isy994/cover.pyi +3 -5
  207. homeassistant-stubs/components/isy994/fan.pyi +3 -5
  208. homeassistant-stubs/components/isy994/light.pyi +3 -4
  209. homeassistant-stubs/components/isy994/lock.pyi +2 -5
  210. homeassistant-stubs/components/isy994/models.pyi +2 -0
  211. homeassistant-stubs/components/isy994/number.pyi +3 -4
  212. homeassistant-stubs/components/isy994/select.pyi +3 -4
  213. homeassistant-stubs/components/isy994/sensor.pyi +3 -4
  214. homeassistant-stubs/components/isy994/services.pyi +1 -1
  215. homeassistant-stubs/components/isy994/switch.pyi +2 -4
  216. homeassistant-stubs/components/isy994/system_health.pyi +1 -3
  217. homeassistant-stubs/components/isy994/util.pyi +3 -2
  218. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +3 -2
  219. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -2
  220. homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
  221. homeassistant-stubs/components/jewish_calendar/diagnostics.pyi +11 -0
  222. homeassistant-stubs/components/jewish_calendar/entity.pyi +12 -5
  223. homeassistant-stubs/components/jewish_calendar/sensor.pyi +35 -15
  224. homeassistant-stubs/components/jewish_calendar/service.pyi +1 -0
  225. homeassistant-stubs/components/kaleidescape/entity.pyi +1 -0
  226. homeassistant-stubs/components/kaleidescape/media_player.pyi +1 -0
  227. homeassistant-stubs/components/kaleidescape/remote.pyi +1 -0
  228. homeassistant-stubs/components/kaleidescape/sensor.pyi +1 -0
  229. homeassistant-stubs/components/knocki/config_flow.pyi +2 -0
  230. homeassistant-stubs/components/knx/const.pyi +7 -0
  231. homeassistant-stubs/components/knx/cover.pyi +20 -9
  232. homeassistant-stubs/components/knx/schema.pyi +1 -6
  233. homeassistant-stubs/components/knx/storage/const.pyi +6 -0
  234. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -3
  235. homeassistant-stubs/components/lcn/config_flow.pyi +0 -2
  236. homeassistant-stubs/components/lcn/const.pyi +3 -1
  237. homeassistant-stubs/components/lcn/cover.pyi +7 -2
  238. homeassistant-stubs/components/lcn/entity.pyi +1 -0
  239. homeassistant-stubs/components/lcn/helpers.pyi +0 -1
  240. homeassistant-stubs/components/lcn/schemas.pyi +1 -1
  241. homeassistant-stubs/components/lcn/services.pyi +2 -3
  242. homeassistant-stubs/components/litterrobot/entity.pyi +1 -1
  243. homeassistant-stubs/components/matter/select.pyi +2 -0
  244. homeassistant-stubs/components/matter/sensor.pyi +3 -1
  245. homeassistant-stubs/components/media_player/intent.pyi +11 -1
  246. homeassistant-stubs/components/metoffice/__init__.pyi +3 -5
  247. homeassistant-stubs/components/metoffice/config_flow.pyi +4 -2
  248. homeassistant-stubs/components/metoffice/const.pyi +7 -6
  249. homeassistant-stubs/components/metoffice/helpers.pyi +5 -6
  250. homeassistant-stubs/components/metoffice/sensor.pyi +15 -13
  251. homeassistant-stubs/components/metoffice/weather.pyi +23 -11
  252. homeassistant-stubs/components/miele/__init__.pyi +15 -0
  253. homeassistant-stubs/components/miele/api.pyi +9 -0
  254. homeassistant-stubs/components/miele/application_credentials.pyi +5 -0
  255. homeassistant-stubs/components/miele/binary_sensor.pyi +34 -0
  256. homeassistant-stubs/components/miele/button.pyi +32 -0
  257. homeassistant-stubs/components/miele/climate.pyi +55 -0
  258. homeassistant-stubs/components/miele/config_flow.pyi +17 -0
  259. homeassistant-stubs/components/miele/const.pyi +127 -0
  260. homeassistant-stubs/components/miele/coordinator.pyi +29 -0
  261. homeassistant-stubs/components/miele/diagnostics.pyi +13 -0
  262. homeassistant-stubs/components/miele/entity.pyi +24 -0
  263. homeassistant-stubs/components/miele/fan.pyi +39 -0
  264. homeassistant-stubs/components/miele/light.pyi +39 -0
  265. homeassistant-stubs/components/miele/sensor.pyi +72 -0
  266. homeassistant-stubs/components/miele/switch.pyi +52 -0
  267. homeassistant-stubs/components/miele/vacuum.pyi +84 -0
  268. homeassistant-stubs/components/minecraft_server/api.pyi +1 -1
  269. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  270. homeassistant-stubs/components/modbus/const.pyi +9 -0
  271. homeassistant-stubs/components/modbus/light.pyi +24 -1
  272. homeassistant-stubs/components/modbus/sensor.pyi +5 -3
  273. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -2
  274. homeassistant-stubs/components/mqtt/button.pyi +1 -3
  275. homeassistant-stubs/components/mqtt/config_flow.pyi +25 -8
  276. homeassistant-stubs/components/mqtt/const.pyi +57 -0
  277. homeassistant-stubs/components/mqtt/cover.pyi +1 -25
  278. homeassistant-stubs/components/mqtt/fan.pyi +1 -31
  279. homeassistant-stubs/components/mqtt/switch.pyi +1 -5
  280. homeassistant-stubs/components/music_assistant/media_player.pyi +6 -2
  281. homeassistant-stubs/components/nest/config_flow.pyi +2 -0
  282. homeassistant-stubs/components/number/const.pyi +3 -2
  283. homeassistant-stubs/components/nut/__init__.pyi +1 -1
  284. homeassistant-stubs/components/openai_conversation/conversation.pyi +2 -0
  285. homeassistant-stubs/components/pandora/media_player.pyi +12 -13
  286. homeassistant-stubs/components/paperless_ngx/__init__.pyi +13 -0
  287. homeassistant-stubs/components/paperless_ngx/config_flow.pyi +16 -0
  288. homeassistant-stubs/components/paperless_ngx/const.pyi +4 -0
  289. homeassistant-stubs/components/paperless_ngx/coordinator.pyi +39 -0
  290. homeassistant-stubs/components/{rtsp_to_webrtc → paperless_ngx}/diagnostics.pyi +2 -2
  291. homeassistant-stubs/components/paperless_ngx/entity.pyi +16 -0
  292. homeassistant-stubs/components/paperless_ngx/sensor.pyi +27 -0
  293. homeassistant-stubs/components/plugwise/coordinator.pyi +2 -2
  294. homeassistant-stubs/components/qbus/climate.pyi +1 -0
  295. homeassistant-stubs/components/qbus/entity.pyi +3 -3
  296. homeassistant-stubs/components/qbus/light.pyi +1 -0
  297. homeassistant-stubs/components/qbus/scene.pyi +21 -0
  298. homeassistant-stubs/components/qbus/switch.pyi +1 -0
  299. homeassistant-stubs/components/recorder/services.pyi +7 -1
  300. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  301. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  302. homeassistant-stubs/components/reolink/media_source.pyi +2 -1
  303. homeassistant-stubs/components/repairs/websocket_api.pyi +0 -1
  304. homeassistant-stubs/components/samsungtv/__init__.pyi +5 -5
  305. homeassistant-stubs/components/samsungtv/bridge.pyi +2 -1
  306. homeassistant-stubs/components/samsungtv/config_flow.pyi +4 -4
  307. homeassistant-stubs/components/samsungtv/entity.pyi +1 -1
  308. homeassistant-stubs/components/samsungtv/media_player.pyi +2 -1
  309. homeassistant-stubs/components/sensor/__init__.pyi +1 -0
  310. homeassistant-stubs/components/sensor/const.pyi +5 -2
  311. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  312. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  313. homeassistant-stubs/components/shelly/binary_sensor.pyi +3 -2
  314. homeassistant-stubs/components/shelly/button.pyi +5 -4
  315. homeassistant-stubs/components/shelly/climate.pyi +5 -5
  316. homeassistant-stubs/components/shelly/const.pyi +2 -0
  317. homeassistant-stubs/components/shelly/cover.pyi +2 -0
  318. homeassistant-stubs/components/shelly/entity.pyi +4 -2
  319. homeassistant-stubs/components/shelly/event.pyi +4 -2
  320. homeassistant-stubs/components/shelly/light.pyi +2 -0
  321. homeassistant-stubs/components/shelly/number.pyi +3 -2
  322. homeassistant-stubs/components/shelly/select.pyi +2 -0
  323. homeassistant-stubs/components/shelly/sensor.pyi +9 -2
  324. homeassistant-stubs/components/shelly/switch.pyi +2 -2
  325. homeassistant-stubs/components/shelly/text.pyi +2 -0
  326. homeassistant-stubs/components/shelly/update.pyi +1 -0
  327. homeassistant-stubs/components/shelly/utils.pyi +12 -7
  328. homeassistant-stubs/components/shelly/valve.pyi +2 -0
  329. homeassistant-stubs/components/smlight/button.pyi +3 -2
  330. homeassistant-stubs/components/squeezebox/__init__.pyi +1 -1
  331. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +1 -0
  332. homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
  333. homeassistant-stubs/components/squeezebox/button.pyi +3 -0
  334. homeassistant-stubs/components/squeezebox/const.pyi +12 -2
  335. homeassistant-stubs/components/squeezebox/coordinator.pyi +7 -3
  336. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -1
  337. homeassistant-stubs/components/squeezebox/sensor.pyi +1 -0
  338. homeassistant-stubs/components/squeezebox/switch.pyi +47 -0
  339. homeassistant-stubs/components/squeezebox/update.pyi +50 -0
  340. homeassistant-stubs/components/suez_water/coordinator.pyi +19 -4
  341. homeassistant-stubs/components/suez_water/sensor.pyi +2 -0
  342. homeassistant-stubs/components/sun/condition.pyi +13 -0
  343. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +15 -9
  344. homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +29 -0
  345. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +6 -1
  346. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  347. homeassistant-stubs/components/tibber/notify.pyi +2 -2
  348. homeassistant-stubs/components/tibber/sensor.pyi +1 -1
  349. homeassistant-stubs/components/tts/__init__.pyi +4 -1
  350. homeassistant-stubs/components/tts/const.pyi +1 -0
  351. homeassistant-stubs/components/tts/entity.pyi +4 -0
  352. homeassistant-stubs/components/tts/legacy.pyi +3 -1
  353. homeassistant-stubs/components/tts/media_source.pyi +5 -2
  354. homeassistant-stubs/components/unifi/__init__.pyi +1 -1
  355. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  356. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -0
  357. homeassistant-stubs/components/unifi/services.pyi +1 -0
  358. homeassistant-stubs/components/uptimerobot/coordinator.pyi +0 -1
  359. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -1
  360. homeassistant-stubs/components/wallbox/const.pyi +10 -0
  361. homeassistant-stubs/components/wallbox/coordinator.pyi +4 -1
  362. homeassistant-stubs/components/wallbox/select.pyi +29 -0
  363. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  364. homeassistant-stubs/components/wemo/device_trigger.pyi +1 -1
  365. homeassistant-stubs/components/wemo/light.pyi +1 -0
  366. homeassistant-stubs/components/whois/const.pyi +1 -0
  367. homeassistant-stubs/components/whois/sensor.pyi +2 -1
  368. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  369. homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -1
  370. homeassistant-stubs/config_entries.pyi +0 -1
  371. homeassistant-stubs/const.pyi +5 -0
  372. homeassistant-stubs/core_config.pyi +0 -2
  373. homeassistant-stubs/helpers/condition.pyi +1 -6
  374. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +10 -0
  375. homeassistant-stubs/helpers/config_validation.pyi +7 -2
  376. homeassistant-stubs/helpers/device_registry.pyi +4 -4
  377. homeassistant-stubs/helpers/entity_component.pyi +5 -2
  378. homeassistant-stubs/helpers/entity_platform.pyi +4 -1
  379. homeassistant-stubs/helpers/entity_registry.pyi +7 -6
  380. homeassistant-stubs/helpers/selector.pyi +55 -50
  381. homeassistant-stubs/helpers/service.pyi +3 -3
  382. homeassistant-stubs/helpers/template.pyi +4 -1
  383. homeassistant-stubs/util/aiohttp.pyi +5 -0
  384. homeassistant-stubs/util/unit_conversion.pyi +11 -1
  385. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/METADATA +2 -2
  386. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/RECORD +388 -331
  387. homeassistant-stubs/components/metoffice/data.pyi +0 -10
  388. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +0 -19
  389. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -24
  390. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/WHEEL +0 -0
  391. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,12 +1,11 @@
1
- from .const import DOMAIN as DOMAIN, SERVICE_RESUME as SERVICE_RESUME, SERVICE_START_WATERING as SERVICE_START_WATERING, SERVICE_SUSPEND as SERVICE_SUSPEND
2
- from .coordinator import HydrawiseUpdateCoordinators as HydrawiseUpdateCoordinators
1
+ from .const import SERVICE_RESUME as SERVICE_RESUME, SERVICE_START_WATERING as SERVICE_START_WATERING, SERVICE_SUSPEND as SERVICE_SUSPEND
2
+ from .coordinator import HydrawiseConfigEntry as HydrawiseConfigEntry
3
3
  from .entity import HydrawiseEntity as HydrawiseEntity
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
7
7
  from datetime import datetime
8
8
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
9
  from homeassistant.core import HomeAssistant as HomeAssistant
11
10
  from homeassistant.helpers import entity_platform as entity_platform
12
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -24,7 +23,7 @@ ZONE_BINARY_SENSORS: tuple[HydrawiseBinarySensorEntityDescription, ...]
24
23
  SCHEMA_START_WATERING: VolDictType
25
24
  SCHEMA_SUSPEND: VolDictType
26
25
 
27
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
26
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HydrawiseConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
28
27
 
29
28
  class HydrawiseBinarySensor(HydrawiseEntity, BinarySensorEntity):
30
29
  entity_description: HydrawiseBinarySensorEntityDescription
@@ -8,6 +8,7 @@ from homeassistant.util.dt import now as now
8
8
  from pydrawise import HydrawiseBase as HydrawiseBase
9
9
  from pydrawise.schema import Controller as Controller, ControllerWaterUseSummary as ControllerWaterUseSummary, Sensor as Sensor, User as User, Zone as Zone
10
10
 
11
+ type HydrawiseConfigEntry = ConfigEntry[HydrawiseUpdateCoordinators]
11
12
  @dataclass
12
13
  class HydrawiseData:
13
14
  user: User
@@ -23,15 +24,15 @@ class HydrawiseUpdateCoordinators:
23
24
 
24
25
  class HydrawiseDataUpdateCoordinator(DataUpdateCoordinator[HydrawiseData]):
25
26
  api: HydrawiseBase
26
- config_entry: ConfigEntry
27
+ config_entry: HydrawiseConfigEntry
27
28
 
28
29
  class HydrawiseMainDataUpdateCoordinator(HydrawiseDataUpdateCoordinator):
29
30
  api: Incomplete
30
- def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, api: HydrawiseBase) -> None: ...
31
+ def __init__(self, hass: HomeAssistant, config_entry: HydrawiseConfigEntry, api: HydrawiseBase) -> None: ...
31
32
  async def _async_update_data(self) -> HydrawiseData: ...
32
33
 
33
34
  class HydrawiseWaterUseDataUpdateCoordinator(HydrawiseDataUpdateCoordinator):
34
35
  _main_coordinator: HydrawiseMainDataUpdateCoordinator
35
36
  api: Incomplete
36
- def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, api: HydrawiseBase, main_coordinator: HydrawiseMainDataUpdateCoordinator) -> None: ...
37
+ def __init__(self, hass: HomeAssistant, config_entry: HydrawiseConfigEntry, api: HydrawiseBase, main_coordinator: HydrawiseMainDataUpdateCoordinator) -> None: ...
37
38
  async def _async_update_data(self) -> HydrawiseData: ...
@@ -1,11 +1,9 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import HydrawiseUpdateCoordinators as HydrawiseUpdateCoordinators
1
+ from .coordinator import HydrawiseConfigEntry as HydrawiseConfigEntry
3
2
  from .entity import HydrawiseEntity as HydrawiseEntity
4
3
  from _typeshed import Incomplete
5
4
  from collections.abc import Callable as Callable
6
5
  from dataclasses import dataclass
7
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
7
  from homeassistant.const import UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume
10
8
  from homeassistant.core import HomeAssistant as HomeAssistant
11
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -25,7 +23,7 @@ FLOW_ZONE_SENSORS: tuple[SensorEntityDescription, ...]
25
23
  ZONE_SENSORS: tuple[HydrawiseSensorEntityDescription, ...]
26
24
  FLOW_MEASUREMENT_KEYS: Incomplete
27
25
 
28
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
26
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HydrawiseConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
29
27
 
30
28
  class HydrawiseSensor(HydrawiseEntity, SensorEntity):
31
29
  entity_description: HydrawiseSensorEntityDescription
@@ -1,10 +1,9 @@
1
- from .const import DEFAULT_WATERING_TIME as DEFAULT_WATERING_TIME, DOMAIN as DOMAIN
2
- from .coordinator import HydrawiseUpdateCoordinators as HydrawiseUpdateCoordinators
1
+ from .const import DEFAULT_WATERING_TIME as DEFAULT_WATERING_TIME
2
+ from .coordinator import HydrawiseConfigEntry as HydrawiseConfigEntry
3
3
  from .entity import HydrawiseEntity as HydrawiseEntity
4
4
  from collections.abc import Callable as Callable, Coroutine
5
5
  from dataclasses import dataclass
6
6
  from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
9
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
9
  from pydrawise import HydrawiseBase as HydrawiseBase, Zone as Zone
@@ -19,7 +18,7 @@ class HydrawiseSwitchEntityDescription(SwitchEntityDescription):
19
18
  SWITCH_TYPES: tuple[HydrawiseSwitchEntityDescription, ...]
20
19
  SWITCH_KEYS: list[str]
21
20
 
22
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
21
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HydrawiseConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
22
 
24
23
  class HydrawiseSwitch(HydrawiseEntity, SwitchEntity):
25
24
  entity_description: HydrawiseSwitchEntityDescription
@@ -1,9 +1,7 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import HydrawiseUpdateCoordinators as HydrawiseUpdateCoordinators
1
+ from .coordinator import HydrawiseConfigEntry as HydrawiseConfigEntry
3
2
  from .entity import HydrawiseEntity as HydrawiseEntity
4
3
  from _typeshed import Incomplete
5
4
  from homeassistant.components.valve import ValveDeviceClass as ValveDeviceClass, ValveEntity as ValveEntity, ValveEntityDescription as ValveEntityDescription, ValveEntityFeature as ValveEntityFeature
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
5
  from homeassistant.core import HomeAssistant as HomeAssistant
8
6
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
7
  from pydrawise.schema import Zone as Zone
@@ -11,7 +9,7 @@ from typing import Any
11
9
 
12
10
  VALVE_TYPES: tuple[ValveEntityDescription, ...]
13
11
 
14
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
12
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HydrawiseConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
13
 
16
14
  class HydrawiseValve(HydrawiseEntity, ValveEntity):
17
15
  _attr_name: Incomplete
@@ -0,0 +1,10 @@
1
+ from .coordinator import ImmichConfigEntry as ImmichConfigEntry, ImmichDataUpdateCoordinator as ImmichDataUpdateCoordinator
2
+ from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL, CONF_VERIFY_SSL as CONF_VERIFY_SSL, Platform as Platform
3
+ from homeassistant.core import HomeAssistant as HomeAssistant
4
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
5
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
6
+
7
+ PLATFORMS: list[Platform]
8
+
9
+ async def async_setup_entry(hass: HomeAssistant, entry: ImmichConfigEntry) -> bool: ...
10
+ async def async_unload_entry(hass: HomeAssistant, entry: ImmichConfigEntry) -> bool: ...
@@ -0,0 +1,27 @@
1
+ from .const import DEFAULT_VERIFY_SSL as DEFAULT_VERIFY_SSL, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from aioimmich.users.models import ImmichUser as ImmichUser
4
+ from collections.abc import Mapping
5
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
+ from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL, CONF_URL as CONF_URL, CONF_VERIFY_SSL as CONF_VERIFY_SSL
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
10
+ from homeassistant.helpers.selector import TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
11
+ from typing import Any
12
+
13
+ class InvalidUrl(HomeAssistantError): ...
14
+
15
+ _LOGGER: Incomplete
16
+ STEP_USER_DATA_SCHEMA: Incomplete
17
+
18
+ def _parse_url(url: str) -> tuple[str, int, bool]: ...
19
+ async def check_user_info(hass: HomeAssistant, host: str, port: int, ssl: bool, verify_ssl: bool, api_key: str) -> ImmichUser: ...
20
+
21
+ class ImmichConfigFlow(ConfigFlow, domain=DOMAIN):
22
+ VERSION: int
23
+ _name: str
24
+ _current_data: Mapping[str, Any]
25
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
27
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,4 @@
1
+ DOMAIN: str
2
+ DEFAULT_PORT: int
3
+ DEFAULT_USE_SSL: bool
4
+ DEFAULT_VERIFY_SSL: bool
@@ -0,0 +1,27 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from aioimmich import Immich as Immich
4
+ from aioimmich.server.models import ImmichServerAbout as ImmichServerAbout, ImmichServerStatistics as ImmichServerStatistics, ImmichServerStorage as ImmichServerStorage
5
+ from dataclasses import dataclass
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
10
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
11
+
12
+ _LOGGER: Incomplete
13
+
14
+ @dataclass
15
+ class ImmichData:
16
+ server_about: ImmichServerAbout
17
+ server_storage: ImmichServerStorage
18
+ server_usage: ImmichServerStatistics | None
19
+ type ImmichConfigEntry = ConfigEntry[ImmichDataUpdateCoordinator]
20
+
21
+ class ImmichDataUpdateCoordinator(DataUpdateCoordinator[ImmichData]):
22
+ config_entry: ImmichConfigEntry
23
+ api: Incomplete
24
+ is_admin: Incomplete
25
+ configuration_url: Incomplete
26
+ def __init__(self, hass: HomeAssistant, entry: ConfigEntry, api: Immich, is_admin: bool) -> None: ...
27
+ async def _async_update_data(self) -> ImmichData: ...
@@ -0,0 +1,10 @@
1
+ from .coordinator import ImmichConfigEntry as ImmichConfigEntry
2
+ from _typeshed import Incomplete
3
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
+ from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_HOST as CONF_HOST
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from typing import Any
7
+
8
+ TO_REDACT: Incomplete
9
+
10
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ImmichConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,10 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import ImmichDataUpdateCoordinator as ImmichDataUpdateCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
5
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
6
+
7
+ class ImmichEntity(CoordinatorEntity[ImmichDataUpdateCoordinator]):
8
+ _attr_has_entity_name: bool
9
+ _attr_device_info: Incomplete
10
+ def __init__(self, coordinator: ImmichDataUpdateCoordinator) -> None: ...
@@ -0,0 +1,37 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import ImmichConfigEntry as ImmichConfigEntry
3
+ from _typeshed import Incomplete
4
+ from aiohttp.web import Request as Request, Response, StreamResponse
5
+ from homeassistant.components.http import HomeAssistantView as HomeAssistantView
6
+ from homeassistant.components.media_player import MediaClass as MediaClass
7
+ from homeassistant.components.media_source import BrowseError as BrowseError, BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia, Unresolvable as Unresolvable
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.helpers.aiohttp_client import ChunkAsyncStreamIterator as ChunkAsyncStreamIterator
11
+
12
+ LOGGER: Incomplete
13
+
14
+ async def async_get_media_source(hass: HomeAssistant) -> MediaSource: ...
15
+
16
+ class ImmichMediaSourceIdentifier:
17
+ unique_id: Incomplete
18
+ album_id: Incomplete
19
+ asset_id: Incomplete
20
+ file_name: Incomplete
21
+ def __init__(self, identifier: str) -> None: ...
22
+
23
+ class ImmichMediaSource(MediaSource):
24
+ name: str
25
+ hass: Incomplete
26
+ entries: Incomplete
27
+ def __init__(self, hass: HomeAssistant, entries: list[ConfigEntry]) -> None: ...
28
+ async def async_browse_media(self, item: MediaSourceItem) -> BrowseMediaSource: ...
29
+ async def _async_build_immich(self, item: MediaSourceItem) -> list[BrowseMediaSource]: ...
30
+ async def async_resolve_media(self, item: MediaSourceItem) -> PlayMedia: ...
31
+
32
+ class ImmichMediaView(HomeAssistantView):
33
+ url: str
34
+ name: str
35
+ hass: Incomplete
36
+ def __init__(self, hass: HomeAssistant) -> None: ...
37
+ async def get(self, request: Request, source_dir_id: str, location: str) -> Response | StreamResponse: ...
@@ -0,0 +1,28 @@
1
+ from .coordinator import ImmichConfigEntry as ImmichConfigEntry, ImmichData as ImmichData, ImmichDataUpdateCoordinator as ImmichDataUpdateCoordinator
2
+ from .entity import ImmichEntity as ImmichEntity
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
7
+ from homeassistant.const import PERCENTAGE as PERCENTAGE, UnitOfInformation as UnitOfInformation
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+ from homeassistant.helpers.typing import StateType as StateType
11
+
12
+ PARALLEL_UPDATES: int
13
+
14
+ @dataclass(frozen=True, kw_only=True)
15
+ class ImmichSensorEntityDescription(SensorEntityDescription):
16
+ value: Callable[[ImmichData], StateType]
17
+ is_suitable: Callable[[ImmichData], bool] = ...
18
+
19
+ SENSOR_TYPES: tuple[ImmichSensorEntityDescription, ...]
20
+
21
+ async def async_setup_entry(hass: HomeAssistant, entry: ImmichConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
22
+
23
+ class ImmichSensorEntity(ImmichEntity, SensorEntity):
24
+ entity_description: ImmichSensorEntityDescription
25
+ _attr_unique_id: Incomplete
26
+ def __init__(self, coordinator: ImmichDataUpdateCoordinator, description: ImmichSensorEntityDescription) -> None: ...
27
+ @property
28
+ def native_value(self) -> StateType: ...
@@ -1,16 +1,13 @@
1
- from .const import CONF_ZIP_CODE as CONF_ZIP_CODE, DOMAIN as DOMAIN, LOGGER as LOGGER, TYPE_ALLERGY_FORECAST as TYPE_ALLERGY_FORECAST, TYPE_ALLERGY_INDEX as TYPE_ALLERGY_INDEX, TYPE_ALLERGY_OUTLOOK as TYPE_ALLERGY_OUTLOOK, TYPE_ASTHMA_FORECAST as TYPE_ASTHMA_FORECAST, TYPE_ASTHMA_INDEX as TYPE_ASTHMA_INDEX, TYPE_DISEASE_FORECAST as TYPE_DISEASE_FORECAST, TYPE_DISEASE_INDEX as TYPE_DISEASE_INDEX
1
+ from .const import CONF_ZIP_CODE as CONF_ZIP_CODE, TYPE_ALLERGY_FORECAST as TYPE_ALLERGY_FORECAST, TYPE_ALLERGY_INDEX as TYPE_ALLERGY_INDEX, TYPE_ALLERGY_OUTLOOK as TYPE_ALLERGY_OUTLOOK, TYPE_ASTHMA_FORECAST as TYPE_ASTHMA_FORECAST, TYPE_ASTHMA_INDEX as TYPE_ASTHMA_INDEX, TYPE_DISEASE_FORECAST as TYPE_DISEASE_FORECAST, TYPE_DISEASE_INDEX as TYPE_DISEASE_INDEX
2
+ from .coordinator import IqviaConfigEntry as IqviaConfigEntry, IqviaUpdateCoordinator as IqviaUpdateCoordinator
2
3
  from _typeshed import Incomplete
3
- from collections.abc import Callable as Callable
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
4
  from homeassistant.const import Platform as Platform
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant
7
6
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
8
7
  from homeassistant.helpers import aiohttp_client as aiohttp_client
9
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
10
8
 
11
9
  DEFAULT_ATTRIBUTION: str
12
- DEFAULT_SCAN_INTERVAL: Incomplete
13
10
  PLATFORMS: Incomplete
14
11
 
15
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
16
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
12
+ async def async_setup_entry(hass: HomeAssistant, entry: IqviaConfigEntry) -> bool: ...
13
+ async def async_unload_entry(hass: HomeAssistant, entry: IqviaConfigEntry) -> bool: ...
@@ -0,0 +1,16 @@
1
+ from .const import LOGGER as LOGGER
2
+ from _typeshed import Incomplete
3
+ from collections.abc import Callable as Callable, Coroutine
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
7
+ from typing import Any
8
+
9
+ DEFAULT_SCAN_INTERVAL: Incomplete
10
+ type IqviaConfigEntry = ConfigEntry[dict[str, IqviaUpdateCoordinator]]
11
+
12
+ class IqviaUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
13
+ config_entry: IqviaConfigEntry
14
+ _update_method: Incomplete
15
+ def __init__(self, hass: HomeAssistant, config_entry: IqviaConfigEntry, name: str, update_method: Callable[[], Coroutine[Any, Any, dict[str, Any]]]) -> None: ...
16
+ async def _async_update_data(self) -> dict[str, Any]: ...
@@ -1,10 +1,9 @@
1
- from .const import CONF_ZIP_CODE as CONF_ZIP_CODE, DOMAIN as DOMAIN
1
+ from .const import CONF_ZIP_CODE as CONF_ZIP_CODE
2
+ from .coordinator import IqviaConfigEntry as IqviaConfigEntry
2
3
  from _typeshed import Incomplete
3
4
  from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import CONF_UNIQUE_ID as CONF_UNIQUE_ID
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
8
7
  from typing import Any
9
8
 
10
9
  CONF_CITY: str
@@ -15,4 +14,4 @@ CONF_ZIP_CAP: str
15
14
  CONF_STATE_CAP: str
16
15
  TO_REDACT: Incomplete
17
16
 
18
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]: ...
17
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: IqviaConfigEntry) -> dict[str, Any]: ...
@@ -1,18 +1,17 @@
1
- from .const import CONF_ZIP_CODE as CONF_ZIP_CODE, DOMAIN as DOMAIN, TYPE_ALLERGY_FORECAST as TYPE_ALLERGY_FORECAST, TYPE_ALLERGY_OUTLOOK as TYPE_ALLERGY_OUTLOOK
1
+ from .const import CONF_ZIP_CODE as CONF_ZIP_CODE, TYPE_ALLERGY_FORECAST as TYPE_ALLERGY_FORECAST, TYPE_ALLERGY_OUTLOOK as TYPE_ALLERGY_OUTLOOK
2
+ from .coordinator import IqviaConfigEntry as IqviaConfigEntry, IqviaUpdateCoordinator as IqviaUpdateCoordinator
2
3
  from _typeshed import Incomplete
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
4
  from homeassistant.core import callback as callback
5
5
  from homeassistant.helpers.entity import EntityDescription as EntityDescription
6
- from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
7
- from typing import Any
6
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
8
7
 
9
- class IQVIAEntity(CoordinatorEntity[DataUpdateCoordinator[dict[str, Any]]]):
8
+ class IQVIAEntity(CoordinatorEntity[IqviaUpdateCoordinator]):
10
9
  _attr_has_entity_name: bool
11
10
  _attr_extra_state_attributes: Incomplete
12
11
  _attr_unique_id: Incomplete
13
12
  _entry: Incomplete
14
13
  entity_description: Incomplete
15
- def __init__(self, coordinator: DataUpdateCoordinator[dict[str, Any]], entry: ConfigEntry, description: EntityDescription) -> None: ...
14
+ def __init__(self, coordinator: IqviaUpdateCoordinator, entry: IqviaConfigEntry, description: EntityDescription) -> None: ...
16
15
  @callback
17
16
  def _handle_coordinator_update(self) -> None: ...
18
17
  async def async_added_to_hass(self) -> None: ...
@@ -1,8 +1,8 @@
1
- from .const import DOMAIN as DOMAIN, TYPE_ALLERGY_FORECAST as TYPE_ALLERGY_FORECAST, TYPE_ALLERGY_INDEX as TYPE_ALLERGY_INDEX, TYPE_ALLERGY_OUTLOOK as TYPE_ALLERGY_OUTLOOK, TYPE_ALLERGY_TODAY as TYPE_ALLERGY_TODAY, TYPE_ALLERGY_TOMORROW as TYPE_ALLERGY_TOMORROW, TYPE_ASTHMA_FORECAST as TYPE_ASTHMA_FORECAST, TYPE_ASTHMA_INDEX as TYPE_ASTHMA_INDEX, TYPE_ASTHMA_TODAY as TYPE_ASTHMA_TODAY, TYPE_ASTHMA_TOMORROW as TYPE_ASTHMA_TOMORROW, TYPE_DISEASE_FORECAST as TYPE_DISEASE_FORECAST, TYPE_DISEASE_INDEX as TYPE_DISEASE_INDEX, TYPE_DISEASE_TODAY as TYPE_DISEASE_TODAY
1
+ from .const import TYPE_ALLERGY_FORECAST as TYPE_ALLERGY_FORECAST, TYPE_ALLERGY_INDEX as TYPE_ALLERGY_INDEX, TYPE_ALLERGY_OUTLOOK as TYPE_ALLERGY_OUTLOOK, TYPE_ALLERGY_TODAY as TYPE_ALLERGY_TODAY, TYPE_ALLERGY_TOMORROW as TYPE_ALLERGY_TOMORROW, TYPE_ASTHMA_FORECAST as TYPE_ASTHMA_FORECAST, TYPE_ASTHMA_INDEX as TYPE_ASTHMA_INDEX, TYPE_ASTHMA_TODAY as TYPE_ASTHMA_TODAY, TYPE_ASTHMA_TOMORROW as TYPE_ASTHMA_TOMORROW, TYPE_DISEASE_FORECAST as TYPE_DISEASE_FORECAST, TYPE_DISEASE_INDEX as TYPE_DISEASE_INDEX, TYPE_DISEASE_TODAY as TYPE_DISEASE_TODAY
2
+ from .coordinator import IqviaConfigEntry as IqviaConfigEntry
2
3
  from .entity import IQVIAEntity as IQVIAEntity
3
4
  from _typeshed import Incomplete
4
5
  from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.const import ATTR_STATE as ATTR_STATE
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -32,7 +32,7 @@ TREND_SUBSIDING: str
32
32
  FORECAST_SENSOR_DESCRIPTIONS: Incomplete
33
33
  INDEX_SENSOR_DESCRIPTIONS: Incomplete
34
34
 
35
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
35
+ async def async_setup_entry(hass: HomeAssistant, entry: IqviaConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
36
36
  @callback
37
37
  def calculate_trend(indices: list[float]) -> str: ...
38
38
 
@@ -1,10 +1,9 @@
1
1
  from .const import CONF_IGNORE_STRING as CONF_IGNORE_STRING, CONF_NETWORK as CONF_NETWORK, CONF_SENSOR_STRING as CONF_SENSOR_STRING, CONF_TLS_VER as CONF_TLS_VER, DEFAULT_IGNORE_STRING as DEFAULT_IGNORE_STRING, DEFAULT_SENSOR_STRING as DEFAULT_SENSOR_STRING, DOMAIN as DOMAIN, ISY_CONF_FIRMWARE as ISY_CONF_FIRMWARE, ISY_CONF_MODEL as ISY_CONF_MODEL, ISY_CONF_NAME as ISY_CONF_NAME, MANUFACTURER as MANUFACTURER, PLATFORMS as PLATFORMS, SCHEME_HTTP as SCHEME_HTTP, SCHEME_HTTPS as SCHEME_HTTPS, _LOGGER as _LOGGER
2
2
  from .helpers import _categorize_nodes as _categorize_nodes, _categorize_programs as _categorize_programs
3
- from .models import IsyData as IsyData
3
+ from .models import IsyConfigEntry as IsyConfigEntry, IsyData as IsyData
4
4
  from .services import async_setup_services as async_setup_services, async_unload_services as async_unload_services
5
5
  from .util import _async_cleanup_registry_entries as _async_cleanup_registry_entries
6
6
  from _typeshed import Incomplete
7
- from homeassistant import config_entries as config_entries
8
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, CONF_VARIABLES as CONF_VARIABLES, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
9
8
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
10
9
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
@@ -14,10 +13,10 @@ from pyisy import ISY
14
13
 
15
14
  CONFIG_SCHEMA: Incomplete
16
15
 
17
- async def async_setup_entry(hass: HomeAssistant, entry: config_entries.ConfigEntry) -> bool: ...
18
- async def _async_update_listener(hass: HomeAssistant, entry: config_entries.ConfigEntry) -> None: ...
16
+ async def async_setup_entry(hass: HomeAssistant, entry: IsyConfigEntry) -> bool: ...
17
+ async def _async_update_listener(hass: HomeAssistant, entry: IsyConfigEntry) -> None: ...
19
18
  @callback
20
- def _async_get_or_create_isy_device_in_registry(hass: HomeAssistant, entry: config_entries.ConfigEntry, isy: ISY) -> None: ...
19
+ def _async_get_or_create_isy_device_in_registry(hass: HomeAssistant, entry: IsyConfigEntry, isy: ISY) -> None: ...
21
20
  def _create_service_device_info(isy: ISY, name: str, unique_id: str) -> DeviceInfo: ...
22
- async def async_unload_entry(hass: HomeAssistant, entry: config_entries.ConfigEntry) -> bool: ...
23
- async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
21
+ async def async_unload_entry(hass: HomeAssistant, entry: IsyConfigEntry) -> bool: ...
22
+ async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: IsyConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
@@ -1,9 +1,8 @@
1
- from .const import BINARY_SENSOR_DEVICE_TYPES_ISY as BINARY_SENSOR_DEVICE_TYPES_ISY, BINARY_SENSOR_DEVICE_TYPES_ZWAVE as BINARY_SENSOR_DEVICE_TYPES_ZWAVE, DOMAIN as DOMAIN, SUBNODE_CLIMATE_COOL as SUBNODE_CLIMATE_COOL, SUBNODE_CLIMATE_HEAT as SUBNODE_CLIMATE_HEAT, SUBNODE_DUSK_DAWN as SUBNODE_DUSK_DAWN, SUBNODE_HEARTBEAT as SUBNODE_HEARTBEAT, SUBNODE_LOW_BATTERY as SUBNODE_LOW_BATTERY, SUBNODE_MOTION_DISABLED as SUBNODE_MOTION_DISABLED, SUBNODE_NEGATIVE as SUBNODE_NEGATIVE, SUBNODE_TAMPER as SUBNODE_TAMPER, TYPE_CATEGORY_CLIMATE as TYPE_CATEGORY_CLIMATE, TYPE_INSTEON_MOTION as TYPE_INSTEON_MOTION, _LOGGER as _LOGGER
1
+ from .const import BINARY_SENSOR_DEVICE_TYPES_ISY as BINARY_SENSOR_DEVICE_TYPES_ISY, BINARY_SENSOR_DEVICE_TYPES_ZWAVE as BINARY_SENSOR_DEVICE_TYPES_ZWAVE, SUBNODE_CLIMATE_COOL as SUBNODE_CLIMATE_COOL, SUBNODE_CLIMATE_HEAT as SUBNODE_CLIMATE_HEAT, SUBNODE_DUSK_DAWN as SUBNODE_DUSK_DAWN, SUBNODE_HEARTBEAT as SUBNODE_HEARTBEAT, SUBNODE_LOW_BATTERY as SUBNODE_LOW_BATTERY, SUBNODE_MOTION_DISABLED as SUBNODE_MOTION_DISABLED, SUBNODE_NEGATIVE as SUBNODE_NEGATIVE, SUBNODE_TAMPER as SUBNODE_TAMPER, TYPE_CATEGORY_CLIMATE as TYPE_CATEGORY_CLIMATE, TYPE_INSTEON_MOTION as TYPE_INSTEON_MOTION, _LOGGER as _LOGGER
2
2
  from .entity import ISYNodeEntity as ISYNodeEntity, ISYProgramEntity as ISYProgramEntity
3
- from .models import IsyData as IsyData
3
+ from .models import IsyConfigEntry as IsyConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import Platform as Platform, STATE_ON as STATE_ON
8
7
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
9
8
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -16,7 +15,7 @@ from typing import Any
16
15
 
17
16
  DEVICE_PARENT_REQUIRED: Incomplete
18
17
 
19
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
+ async def async_setup_entry(hass: HomeAssistant, entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
20
19
  def _detect_device_type_and_class(node: Group | Node) -> tuple[BinarySensorDeviceClass | None, str | None]: ...
21
20
 
22
21
  class ISYBinarySensorEntity(ISYNodeEntity, BinarySensorEntity):
@@ -1,8 +1,7 @@
1
1
  from .const import CONF_NETWORK as CONF_NETWORK, DOMAIN as DOMAIN
2
- from .models import IsyData as IsyData
2
+ from .models import IsyConfigEntry as IsyConfigEntry
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.button import ButtonEntity as ButtonEntity
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
5
  from homeassistant.const import EntityCategory as EntityCategory, Platform as Platform
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
7
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -12,7 +11,7 @@ from pyisy.helpers import EventListener as EventListener, NodeProperty as NodePr
12
11
  from pyisy.networking import NetworkCommand as NetworkCommand
13
12
  from pyisy.nodes import Node as Node
14
13
 
15
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
+ async def async_setup_entry(hass: HomeAssistant, config_entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
15
 
17
16
  class ISYNodeButtonEntity(ButtonEntity):
18
17
  _attr_should_poll: bool
@@ -1,10 +1,9 @@
1
- from .const import DOMAIN as DOMAIN, HA_FAN_TO_ISY as HA_FAN_TO_ISY, HA_HVAC_TO_ISY as HA_HVAC_TO_ISY, ISY_HVAC_MODES as ISY_HVAC_MODES, UOM_FAN_MODES as UOM_FAN_MODES, UOM_HVAC_ACTIONS as UOM_HVAC_ACTIONS, UOM_HVAC_MODE_GENERIC as UOM_HVAC_MODE_GENERIC, UOM_HVAC_MODE_INSTEON as UOM_HVAC_MODE_INSTEON, UOM_ISYV4_NONE as UOM_ISYV4_NONE, UOM_ISY_CELSIUS as UOM_ISY_CELSIUS, UOM_ISY_FAHRENHEIT as UOM_ISY_FAHRENHEIT, UOM_TO_STATES as UOM_TO_STATES, _LOGGER as _LOGGER
1
+ from .const import HA_FAN_TO_ISY as HA_FAN_TO_ISY, HA_HVAC_TO_ISY as HA_HVAC_TO_ISY, ISY_HVAC_MODES as ISY_HVAC_MODES, UOM_FAN_MODES as UOM_FAN_MODES, UOM_HVAC_ACTIONS as UOM_HVAC_ACTIONS, UOM_HVAC_MODE_GENERIC as UOM_HVAC_MODE_GENERIC, UOM_HVAC_MODE_INSTEON as UOM_HVAC_MODE_INSTEON, UOM_ISYV4_NONE as UOM_ISYV4_NONE, UOM_ISY_CELSIUS as UOM_ISY_CELSIUS, UOM_ISY_FAHRENHEIT as UOM_ISY_FAHRENHEIT, UOM_TO_STATES as UOM_TO_STATES, _LOGGER as _LOGGER
2
2
  from .entity import ISYNodeEntity as ISYNodeEntity
3
3
  from .helpers import convert_isy_value_to_hass as convert_isy_value_to_hass
4
- from .models import IsyData as IsyData
4
+ from .models import IsyConfigEntry as IsyConfigEntry
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant.components.climate import ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, HVACAction as HVACAction, HVACMode as HVACMode
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
7
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS, Platform as Platform, UnitOfTemperature as UnitOfTemperature
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -13,7 +12,7 @@ from homeassistant.util.enum import try_parse_enum as try_parse_enum
13
12
  from pyisy.nodes import Node as Node
14
13
  from typing import Any
15
14
 
16
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
+ async def async_setup_entry(hass: HomeAssistant, entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
16
 
18
17
  class ISYThermostatEntity(ISYNodeEntity, ClimateEntity):
19
18
  _attr_hvac_modes = ISY_HVAC_MODES
@@ -1,8 +1,9 @@
1
1
  import voluptuous as vol
2
2
  from .const import CONF_IGNORE_STRING as CONF_IGNORE_STRING, CONF_RESTORE_LIGHT_STATE as CONF_RESTORE_LIGHT_STATE, CONF_SENSOR_STRING as CONF_SENSOR_STRING, CONF_TLS_VER as CONF_TLS_VER, CONF_VAR_SENSOR_STRING as CONF_VAR_SENSOR_STRING, DEFAULT_IGNORE_STRING as DEFAULT_IGNORE_STRING, DEFAULT_RESTORE_LIGHT_STATE as DEFAULT_RESTORE_LIGHT_STATE, DEFAULT_SENSOR_STRING as DEFAULT_SENSOR_STRING, DEFAULT_TLS_VERSION as DEFAULT_TLS_VERSION, DEFAULT_VAR_SENSOR_STRING as DEFAULT_VAR_SENSOR_STRING, DOMAIN as DOMAIN, HTTPS_PORT as HTTPS_PORT, HTTP_PORT as HTTP_PORT, ISY_CONF_NAME as ISY_CONF_NAME, ISY_CONF_UUID as ISY_CONF_UUID, ISY_URL_POSTFIX as ISY_URL_POSTFIX, SCHEME_HTTP as SCHEME_HTTP, SCHEME_HTTPS as SCHEME_HTTPS, UDN_UUID_PREFIX as UDN_UUID_PREFIX
3
+ from .models import IsyConfigEntry as IsyConfigEntry
3
4
  from _typeshed import Incomplete
4
5
  from collections.abc import Mapping
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_IGNORE as SOURCE_IGNORE
6
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_IGNORE as SOURCE_IGNORE
6
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
7
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
9
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow
@@ -20,11 +21,11 @@ async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> dict[str,
20
21
  class Isy994ConfigFlow(ConfigFlow, domain=DOMAIN):
21
22
  VERSION: int
22
23
  discovered_conf: dict[str, str]
23
- _existing_entry: ConfigEntry | None
24
+ _existing_entry: IsyConfigEntry | None
24
25
  def __init__(self) -> None: ...
25
26
  @staticmethod
26
27
  @callback
27
- def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
28
+ def async_get_options_flow(config_entry: IsyConfigEntry) -> OptionsFlow: ...
28
29
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
29
30
  async def _async_set_unique_id_or_update(self, isy_mac: str, ip_address: str, port: int | None) -> None: ...
30
31
  async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
@@ -1,16 +1,14 @@
1
- from .const import DOMAIN as DOMAIN, UOM_8_BIT_RANGE as UOM_8_BIT_RANGE, _LOGGER as _LOGGER
1
+ from .const import UOM_8_BIT_RANGE as UOM_8_BIT_RANGE, _LOGGER as _LOGGER
2
2
  from .entity import ISYNodeEntity as ISYNodeEntity, ISYProgramEntity as ISYProgramEntity
3
- from .models import IsyData as IsyData
3
+ from .models import IsyConfigEntry as IsyConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.cover import ATTR_POSITION as ATTR_POSITION, CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import Platform as Platform
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
10
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
9
  from typing import Any
12
10
 
13
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
11
+ async def async_setup_entry(hass: HomeAssistant, entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
12
 
15
13
  class ISYCoverEntity(ISYNodeEntity, CoverEntity):
16
14
  _attr_supported_features: Incomplete
@@ -1,12 +1,10 @@
1
- from .const import DOMAIN as DOMAIN, _LOGGER as _LOGGER
1
+ from .const import _LOGGER as _LOGGER
2
2
  from .entity import ISYNodeEntity as ISYNodeEntity, ISYProgramEntity as ISYProgramEntity
3
- from .models import IsyData as IsyData
3
+ from .models import IsyConfigEntry as IsyConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.fan import FanEntity as FanEntity, FanEntityFeature as FanEntityFeature
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import Platform as Platform
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
10
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
9
  from homeassistant.util.percentage import percentage_to_ranged_value as percentage_to_ranged_value, ranged_value_to_percentage as ranged_value_to_percentage
12
10
  from homeassistant.util.scaling import int_states_in_range as int_states_in_range
@@ -14,7 +12,7 @@ from typing import Any
14
12
 
15
13
  SPEED_RANGE: Incomplete
16
14
 
17
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
+ async def async_setup_entry(hass: HomeAssistant, entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
16
 
19
17
  class ISYFanEntity(ISYNodeEntity, FanEntity):
20
18
  _attr_supported_features: Incomplete
@@ -1,9 +1,8 @@
1
- from .const import CONF_RESTORE_LIGHT_STATE as CONF_RESTORE_LIGHT_STATE, DOMAIN as DOMAIN, UOM_PERCENTAGE as UOM_PERCENTAGE, _LOGGER as _LOGGER
1
+ from .const import CONF_RESTORE_LIGHT_STATE as CONF_RESTORE_LIGHT_STATE, UOM_PERCENTAGE as UOM_PERCENTAGE, _LOGGER as _LOGGER
2
2
  from .entity import ISYNodeEntity as ISYNodeEntity
3
- from .models import IsyData as IsyData
3
+ from .models import IsyConfigEntry as IsyConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import Platform as Platform
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
8
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -15,7 +14,7 @@ from typing import Any
15
14
 
16
15
  ATTR_LAST_BRIGHTNESS: str
17
16
 
18
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
+ async def async_setup_entry(hass: HomeAssistant, entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
18
 
20
19
  class ISYLightEntity(ISYNodeEntity, LightEntity, RestoreEntity):
21
20
  _attr_color_mode: Incomplete
@@ -1,14 +1,11 @@
1
- from .const import DOMAIN as DOMAIN
2
1
  from .entity import ISYNodeEntity as ISYNodeEntity, ISYProgramEntity as ISYProgramEntity
3
- from .models import IsyData as IsyData
2
+ from .models import IsyConfigEntry as IsyConfigEntry
4
3
  from .services import SERVICE_DELETE_USER_CODE_SCHEMA as SERVICE_DELETE_USER_CODE_SCHEMA, SERVICE_DELETE_ZWAVE_LOCK_USER_CODE as SERVICE_DELETE_ZWAVE_LOCK_USER_CODE, SERVICE_SET_USER_CODE_SCHEMA as SERVICE_SET_USER_CODE_SCHEMA, SERVICE_SET_ZWAVE_LOCK_USER_CODE as SERVICE_SET_ZWAVE_LOCK_USER_CODE
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant.components.lock import LockEntity as LockEntity
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
6
  from homeassistant.const import Platform as Platform
9
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
12
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, async_get_current_platform as async_get_current_platform
13
10
  from typing import Any
14
11
 
@@ -16,7 +13,7 @@ VALUE_TO_STATE: Incomplete
16
13
 
17
14
  @callback
18
15
  def async_setup_lock_services(hass: HomeAssistant) -> None: ...
19
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
+ async def async_setup_entry(hass: HomeAssistant, entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
20
17
 
21
18
  class ISYLockEntity(ISYNodeEntity, LockEntity):
22
19
  @property
@@ -1,5 +1,6 @@
1
1
  from .const import CONF_NETWORK as CONF_NETWORK, NODE_AUX_PROP_PLATFORMS as NODE_AUX_PROP_PLATFORMS, NODE_PLATFORMS as NODE_PLATFORMS, PROGRAM_PLATFORMS as PROGRAM_PLATFORMS, ROOT_NODE_PLATFORMS as ROOT_NODE_PLATFORMS, VARIABLE_PLATFORMS as VARIABLE_PLATFORMS
2
2
  from dataclasses import dataclass
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
4
  from homeassistant.const import Platform as Platform
4
5
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
5
6
  from pyisy import ISY as ISY
@@ -8,6 +9,7 @@ from pyisy.nodes import Group as Group, Node as Node
8
9
  from pyisy.programs import Program as Program
9
10
  from pyisy.variables import Variable as Variable
10
11
 
12
+ type IsyConfigEntry = ConfigEntry[IsyData]
11
13
  @dataclass
12
14
  class IsyData:
13
15
  root: ISY