homeassistant-stubs 2024.9.3__py3-none-any.whl → 2024.10.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 (858) hide show
  1. homeassistant-stubs/components/__init__.pyi +0 -8
  2. homeassistant-stubs/components/abode/binary_sensor.pyi +1 -1
  3. homeassistant-stubs/components/accuweather/sensor.pyi +1 -1
  4. homeassistant-stubs/components/acmeda/__init__.pyi +1 -0
  5. homeassistant-stubs/components/acmeda/cover.pyi +2 -2
  6. homeassistant-stubs/components/acmeda/{base.pyi → entity.pyi} +1 -1
  7. homeassistant-stubs/components/acmeda/sensor.pyi +2 -2
  8. homeassistant-stubs/components/actiontec/device_tracker.pyi +1 -1
  9. homeassistant-stubs/components/air_quality/__init__.pyi +2 -0
  10. homeassistant-stubs/components/airgradient/__init__.pyi +2 -10
  11. homeassistant-stubs/components/airgradient/button.pyi +4 -4
  12. homeassistant-stubs/components/airgradient/coordinator.pyi +13 -11
  13. homeassistant-stubs/components/airgradient/diagnostics.pyi +5 -0
  14. homeassistant-stubs/components/airgradient/number.pyi +2 -3
  15. homeassistant-stubs/components/airgradient/select.pyi +2 -3
  16. homeassistant-stubs/components/airgradient/sensor.pyi +9 -9
  17. homeassistant-stubs/components/airgradient/switch.pyi +2 -3
  18. homeassistant-stubs/components/airgradient/update.pyi +2 -3
  19. homeassistant-stubs/components/airnow/__init__.pyi +0 -1
  20. homeassistant-stubs/components/airnow/const.pyi +4 -1
  21. homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
  22. homeassistant-stubs/components/airnow/sensor.pyi +2 -1
  23. homeassistant-stubs/components/airvisual/__init__.pyi +6 -14
  24. homeassistant-stubs/components/airvisual/diagnostics.pyi +3 -4
  25. homeassistant-stubs/components/airvisual/entity.pyi +13 -0
  26. homeassistant-stubs/components/airvisual/sensor.pyi +4 -3
  27. homeassistant-stubs/components/airvisual_pro/__init__.pyi +2 -11
  28. homeassistant-stubs/components/airvisual_pro/entity.pyi +12 -0
  29. homeassistant-stubs/components/airvisual_pro/sensor.pyi +2 -1
  30. homeassistant-stubs/components/airzone/diagnostics.pyi +1 -1
  31. homeassistant-stubs/components/airzone_cloud/diagnostics.pyi +1 -1
  32. homeassistant-stubs/components/airzone_cloud/sensor.pyi +1 -1
  33. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +2 -0
  34. homeassistant-stubs/components/alert/__init__.pyi +3 -43
  35. homeassistant-stubs/components/alert/entity.pyi +45 -0
  36. homeassistant-stubs/components/alexa/capabilities.pyi +2 -1
  37. homeassistant-stubs/components/alexa/config.pyi +1 -1
  38. homeassistant-stubs/components/alexa/smart_home.pyi +1 -1
  39. homeassistant-stubs/components/amazon_polly/tts.pyi +3 -1
  40. homeassistant-stubs/components/amberelectric/__init__.pyi +5 -3
  41. homeassistant-stubs/components/amberelectric/binary_sensor.pyi +3 -3
  42. homeassistant-stubs/components/amberelectric/sensor.pyi +3 -3
  43. homeassistant-stubs/components/ambient_network/__init__.pyi +3 -3
  44. homeassistant-stubs/components/ambient_network/sensor.pyi +2 -3
  45. homeassistant-stubs/components/androidtv_remote/media_player.pyi +1 -2
  46. homeassistant-stubs/components/anova/__init__.pyi +3 -5
  47. homeassistant-stubs/components/anova/models.pyi +3 -0
  48. homeassistant-stubs/components/anova/sensor.pyi +2 -4
  49. homeassistant-stubs/components/anthemav/__init__.pyi +4 -3
  50. homeassistant-stubs/components/anthemav/media_player.pyi +2 -3
  51. homeassistant-stubs/components/apcupsd/__init__.pyi +3 -4
  52. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +2 -4
  53. homeassistant-stubs/components/apcupsd/diagnostics.pyi +2 -4
  54. homeassistant-stubs/components/apcupsd/sensor.pyi +3 -3
  55. homeassistant-stubs/components/apple_tv/__init__.pyi +2 -19
  56. homeassistant-stubs/components/apple_tv/const.pyi +2 -0
  57. homeassistant-stubs/components/apple_tv/entity.pyi +21 -0
  58. homeassistant-stubs/components/apple_tv/media_player.pyi +2 -1
  59. homeassistant-stubs/components/apple_tv/remote.pyi +2 -1
  60. homeassistant-stubs/components/arcam_fmj/media_player.pyi +1 -2
  61. homeassistant-stubs/components/arris_tg2492lg/device_tracker.pyi +1 -1
  62. homeassistant-stubs/components/aruba/device_tracker.pyi +1 -1
  63. homeassistant-stubs/components/assist_pipeline/__init__.pyi +4 -3
  64. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
  65. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
  66. homeassistant-stubs/components/assist_pipeline/repair_flows.pyi +11 -0
  67. homeassistant-stubs/components/assist_pipeline/select.pyi +1 -3
  68. homeassistant-stubs/components/assist_satellite/__init__.pyi +5 -0
  69. homeassistant-stubs/components/assist_satellite/connection_test.pyi +15 -0
  70. homeassistant-stubs/components/assist_satellite/const.pyi +12 -0
  71. homeassistant-stubs/components/assist_satellite/entity.pyi +88 -0
  72. homeassistant-stubs/components/assist_satellite/errors.pyi +4 -0
  73. homeassistant-stubs/components/assist_satellite/websocket_api.pyi +16 -0
  74. homeassistant-stubs/components/asuswrt/bridge.pyi +8 -1
  75. homeassistant-stubs/components/asuswrt/const.pyi +3 -0
  76. homeassistant-stubs/components/asuswrt/device_tracker.pyi +1 -3
  77. homeassistant-stubs/components/asuswrt/sensor.pyi +3 -2
  78. homeassistant-stubs/components/autarco/coordinator.pyi +6 -4
  79. homeassistant-stubs/components/autarco/sensor.pyi +18 -2
  80. homeassistant-stubs/components/automation/__init__.pyi +5 -3
  81. homeassistant-stubs/components/automation/config.pyi +6 -2
  82. homeassistant-stubs/components/automation/const.pyi +2 -0
  83. homeassistant-stubs/components/axis/hub/__init__.pyi +2 -0
  84. homeassistant-stubs/components/axis/hub/event_source.pyi +1 -1
  85. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +1 -0
  86. homeassistant-stubs/components/bang_olufsen/const.pyi +6 -0
  87. homeassistant-stubs/components/bang_olufsen/media_player.pyi +21 -4
  88. homeassistant-stubs/components/bang_olufsen/util.pyi +1 -0
  89. homeassistant-stubs/components/bang_olufsen/websocket.pyi +2 -1
  90. homeassistant-stubs/components/bayesian/binary_sensor.pyi +9 -4
  91. homeassistant-stubs/components/bayesian/const.pyi +1 -0
  92. homeassistant-stubs/components/bayesian/helpers.pyi +2 -1
  93. homeassistant-stubs/components/binary_sensor/__init__.pyi +2 -0
  94. homeassistant-stubs/components/blueprint/__init__.pyi +1 -1
  95. homeassistant-stubs/components/blueprint/importer.pyi +1 -1
  96. homeassistant-stubs/components/blueprint/models.pyi +4 -3
  97. homeassistant-stubs/components/blueprint/websocket_api.pyi +1 -0
  98. homeassistant-stubs/components/bluesound/__init__.pyi +25 -0
  99. homeassistant-stubs/components/bluesound/config_flow.pyi +24 -0
  100. homeassistant-stubs/components/bluesound/const.pyi +8 -0
  101. homeassistant-stubs/components/bluesound/media_player.pyi +136 -0
  102. homeassistant-stubs/components/bluesound/utils.pyi +3 -0
  103. homeassistant-stubs/components/bluetooth/manager.pyi +3 -0
  104. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +1 -3
  105. homeassistant-stubs/components/bmw_connected_drive/diagnostics.pyi +1 -1
  106. homeassistant-stubs/components/braviatv/entity.pyi +1 -1
  107. homeassistant-stubs/components/braviatv/media_player.pyi +1 -2
  108. homeassistant-stubs/components/bryant_evolution/config_flow.pyi +3 -1
  109. homeassistant-stubs/components/bthome/device_trigger.pyi +4 -3
  110. homeassistant-stubs/components/button/__init__.pyi +2 -0
  111. homeassistant-stubs/components/calendar/__init__.pyi +7 -5
  112. homeassistant-stubs/components/calendar/const.pyi +5 -0
  113. homeassistant-stubs/components/calendar/trigger.pyi +2 -1
  114. homeassistant-stubs/components/camera/__init__.pyi +4 -4
  115. homeassistant-stubs/components/camera/const.pyi +12 -2
  116. homeassistant-stubs/components/camera/media_source.pyi +2 -4
  117. homeassistant-stubs/components/cert_expiry/entity.pyi +8 -0
  118. homeassistant-stubs/components/cert_expiry/sensor.pyi +3 -8
  119. homeassistant-stubs/components/climate/__init__.pyi +6 -2
  120. homeassistant-stubs/components/climate/const.pyi +1 -0
  121. homeassistant-stubs/components/climate/intent.pyi +1 -3
  122. homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
  123. homeassistant-stubs/components/cloud/google_config.pyi +1 -1
  124. homeassistant-stubs/components/co2signal/__init__.pyi +0 -1
  125. homeassistant-stubs/components/co2signal/config_flow.pyi +2 -1
  126. homeassistant-stubs/components/config/automation.pyi +1 -1
  127. homeassistant-stubs/components/config/category_registry.pyi +1 -1
  128. homeassistant-stubs/components/config/device_registry.pyi +1 -1
  129. homeassistant-stubs/components/config/entity_registry.pyi +1 -2
  130. homeassistant-stubs/components/config/floor_registry.pyi +1 -1
  131. homeassistant-stubs/components/config/label_registry.pyi +1 -1
  132. homeassistant-stubs/components/config/scene.pyi +1 -1
  133. homeassistant-stubs/components/config/script.pyi +0 -1
  134. homeassistant-stubs/components/cover/__init__.pyi +3 -1
  135. homeassistant-stubs/components/cover/const.pyi +2 -0
  136. homeassistant-stubs/components/cover/intent.pyi +1 -4
  137. homeassistant-stubs/components/crownstone/{devices.pyi → entity.pyi} +1 -1
  138. homeassistant-stubs/components/crownstone/light.pyi +2 -2
  139. homeassistant-stubs/components/deako/__init__.pyi +14 -0
  140. homeassistant-stubs/components/deako/config_flow.pyi +6 -0
  141. homeassistant-stubs/components/deako/const.pyi +2 -0
  142. homeassistant-stubs/components/deako/light.pyi +32 -0
  143. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +3 -3
  144. homeassistant-stubs/components/deconz/binary_sensor.pyi +3 -3
  145. homeassistant-stubs/components/deconz/button.pyi +4 -4
  146. homeassistant-stubs/components/deconz/climate.pyi +3 -3
  147. homeassistant-stubs/components/deconz/cover.pyi +3 -3
  148. homeassistant-stubs/components/deconz/deconz_event.pyi +1 -1
  149. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -2
  150. homeassistant-stubs/components/deconz/fan.pyi +3 -3
  151. homeassistant-stubs/components/deconz/hub/__init__.pyi +2 -0
  152. homeassistant-stubs/components/deconz/light.pyi +3 -3
  153. homeassistant-stubs/components/deconz/lock.pyi +3 -3
  154. homeassistant-stubs/components/deconz/number.pyi +3 -3
  155. homeassistant-stubs/components/deconz/scene.pyi +3 -3
  156. homeassistant-stubs/components/deconz/select.pyi +6 -6
  157. homeassistant-stubs/components/deconz/sensor.pyi +6 -5
  158. homeassistant-stubs/components/deconz/siren.pyi +3 -3
  159. homeassistant-stubs/components/deconz/switch.pyi +3 -3
  160. homeassistant-stubs/components/demo/lock.pyi +1 -2
  161. homeassistant-stubs/components/demo/notify.pyi +1 -1
  162. homeassistant-stubs/components/derivative/sensor.pyi +1 -1
  163. homeassistant-stubs/components/device_automation/__init__.pyi +1 -1
  164. homeassistant-stubs/components/device_tracker/__init__.pyi +1 -1
  165. homeassistant-stubs/components/device_tracker/config_entry.pyi +30 -4
  166. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
  167. homeassistant-stubs/components/devolo_home_control/devolo_multi_level_switch.pyi +1 -1
  168. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
  169. homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
  170. homeassistant-stubs/components/devolo_home_network/__init__.pyi +1 -1
  171. homeassistant-stubs/components/devolo_home_network/const.pyi +1 -0
  172. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -6
  173. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -1
  174. homeassistant-stubs/components/devolo_home_network/sensor.pyi +19 -14
  175. homeassistant-stubs/components/dhcp/__init__.pyi +7 -1
  176. homeassistant-stubs/components/discovergy/config_flow.pyi +1 -0
  177. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -1
  178. homeassistant-stubs/components/dlna_dms/dms.pyi +1 -2
  179. homeassistant-stubs/components/dlna_dms/media_source.pyi +1 -2
  180. homeassistant-stubs/components/downloader/__init__.pyi +1 -9
  181. homeassistant-stubs/components/downloader/config_flow.pyi +0 -1
  182. homeassistant-stubs/components/dsmr/const.pyi +1 -0
  183. homeassistant-stubs/components/dsmr/sensor.pyi +4 -2
  184. homeassistant-stubs/components/efergy/__init__.pyi +0 -9
  185. homeassistant-stubs/components/efergy/entity.pyi +11 -0
  186. homeassistant-stubs/components/efergy/sensor.pyi +2 -1
  187. homeassistant-stubs/components/elevenlabs/__init__.pyi +1 -0
  188. homeassistant-stubs/components/elevenlabs/config_flow.pyi +8 -2
  189. homeassistant-stubs/components/elevenlabs/const.pyi +11 -0
  190. homeassistant-stubs/components/elevenlabs/tts.pyi +7 -3
  191. homeassistant-stubs/components/elkm1/__init__.pyi +1 -34
  192. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -1
  193. homeassistant-stubs/components/elkm1/binary_sensor.pyi +2 -1
  194. homeassistant-stubs/components/elkm1/climate.pyi +4 -1
  195. homeassistant-stubs/components/elkm1/entity.pyi +43 -0
  196. homeassistant-stubs/components/elkm1/light.pyi +2 -1
  197. homeassistant-stubs/components/elkm1/scene.pyi +2 -1
  198. homeassistant-stubs/components/elkm1/sensor.pyi +2 -1
  199. homeassistant-stubs/components/elkm1/switch.pyi +19 -1
  200. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +3 -1
  201. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +2 -0
  202. homeassistant-stubs/components/enphase_envoy/sensor.pyi +13 -1
  203. homeassistant-stubs/components/enphase_envoy/switch.pyi +1 -1
  204. homeassistant-stubs/components/esphome/__init__.pyi +3 -2
  205. homeassistant-stubs/components/esphome/assist_satellite.pyi +75 -0
  206. homeassistant-stubs/components/esphome/binary_sensor.pyi +3 -0
  207. homeassistant-stubs/components/esphome/const.pyi +1 -0
  208. homeassistant-stubs/components/esphome/entry_data.pyi +3 -2
  209. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +49 -0
  210. homeassistant-stubs/components/esphome/manager.pyi +2 -9
  211. homeassistant-stubs/components/esphome/media_player.pyi +7 -1
  212. homeassistant-stubs/components/esphome/repairs.pyi +5 -0
  213. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +0 -7
  214. homeassistant-stubs/components/evil_genius_labs/entity.pyi +9 -0
  215. homeassistant-stubs/components/evil_genius_labs/light.pyi +1 -1
  216. homeassistant-stubs/components/evil_genius_labs/util.pyi +1 -1
  217. homeassistant-stubs/components/evohome/const.pyi +5 -5
  218. homeassistant-stubs/components/fan/__init__.pyi +2 -0
  219. homeassistant-stubs/components/forecast_solar/coordinator.pyi +1 -1
  220. homeassistant-stubs/components/fritz/device_tracker.pyi +1 -3
  221. homeassistant-stubs/components/fritz/switch.pyi +1 -1
  222. homeassistant-stubs/components/fritzbox/__init__.pyi +1 -27
  223. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +1 -1
  224. homeassistant-stubs/components/fritzbox/button.pyi +1 -1
  225. homeassistant-stubs/components/fritzbox/climate.pyi +1 -1
  226. homeassistant-stubs/components/fritzbox/cover.pyi +1 -1
  227. homeassistant-stubs/components/fritzbox/entity.pyi +29 -0
  228. homeassistant-stubs/components/fritzbox/light.pyi +2 -2
  229. homeassistant-stubs/components/fritzbox/sensor.pyi +1 -1
  230. homeassistant-stubs/components/fritzbox/switch.pyi +1 -1
  231. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  232. homeassistant-stubs/components/frontend/storage.pyi +1 -1
  233. homeassistant-stubs/components/fujitsu_fglair/__init__.pyi +2 -1
  234. homeassistant-stubs/components/fujitsu_fglair/config_flow.pyi +3 -1
  235. homeassistant-stubs/components/fujitsu_fglair/const.pyi +3 -1
  236. homeassistant-stubs/components/fully_kiosk/diagnostics.pyi +1 -1
  237. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +6 -6
  238. homeassistant-stubs/components/geo_location/__init__.pyi +2 -0
  239. homeassistant-stubs/components/google/calendar.pyi +20 -6
  240. homeassistant-stubs/components/google_cloud/__init__.pyi +10 -0
  241. homeassistant-stubs/components/google_cloud/config_flow.pyi +27 -0
  242. homeassistant-stubs/components/google_cloud/const.pyi +19 -0
  243. homeassistant-stubs/components/google_cloud/helpers.pyi +14 -0
  244. homeassistant-stubs/components/google_cloud/stt.pyi +34 -0
  245. homeassistant-stubs/components/google_cloud/tts.pyi +47 -0
  246. homeassistant-stubs/components/google_photos/__init__.pyi +3 -0
  247. homeassistant-stubs/components/google_photos/api.pyi +15 -0
  248. homeassistant-stubs/components/google_photos/application_credentials.pyi +6 -0
  249. homeassistant-stubs/components/google_photos/config_flow.pyi +19 -0
  250. homeassistant-stubs/components/google_photos/const.pyi +8 -0
  251. homeassistant-stubs/components/google_photos/coordinator.pyi +17 -0
  252. homeassistant-stubs/components/google_photos/media_source.pyi +54 -0
  253. homeassistant-stubs/components/google_photos/services.pyi +15 -0
  254. homeassistant-stubs/components/google_photos/types.pyi +4 -0
  255. homeassistant-stubs/components/group/__init__.pyi +1 -3
  256. homeassistant-stubs/components/group/button.pyi +1 -1
  257. homeassistant-stubs/components/group/const.pyi +7 -3
  258. homeassistant-stubs/components/group/cover.pyi +1 -1
  259. homeassistant-stubs/components/group/entity.pyi +1 -1
  260. homeassistant-stubs/components/group/event.pyi +1 -1
  261. homeassistant-stubs/components/group/fan.pyi +1 -1
  262. homeassistant-stubs/components/group/lock.pyi +2 -2
  263. homeassistant-stubs/components/group/media_player.pyi +1 -1
  264. homeassistant-stubs/components/group/notify.pyi +1 -1
  265. homeassistant-stubs/components/group/registry.pyi +2 -1
  266. homeassistant-stubs/components/group/sensor.pyi +1 -1
  267. homeassistant-stubs/components/group/switch.pyi +1 -1
  268. homeassistant-stubs/components/guardian/__init__.pyi +0 -24
  269. homeassistant-stubs/components/guardian/binary_sensor.pyi +2 -1
  270. homeassistant-stubs/components/guardian/button.pyi +2 -1
  271. homeassistant-stubs/components/guardian/entity.pyi +29 -0
  272. homeassistant-stubs/components/guardian/sensor.pyi +2 -1
  273. homeassistant-stubs/components/guardian/switch.pyi +2 -1
  274. homeassistant-stubs/components/guardian/util.pyi +1 -1
  275. homeassistant-stubs/components/guardian/valve.pyi +2 -1
  276. homeassistant-stubs/components/history/websocket_api.pyi +1 -2
  277. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -1
  278. homeassistant-stubs/components/homeassistant/triggers/time.pyi +9 -1
  279. homeassistant-stubs/components/homekit/config_flow.pyi +3 -3
  280. homeassistant-stubs/components/homekit/type_covers.pyi +1 -1
  281. homeassistant-stubs/components/homekit/type_fans.pyi +1 -1
  282. homeassistant-stubs/components/homekit/type_humidifiers.pyi +1 -1
  283. homeassistant-stubs/components/homekit/type_lights.pyi +1 -1
  284. homeassistant-stubs/components/homekit/type_locks.pyi +1 -1
  285. homeassistant-stubs/components/homekit/type_media_players.pyi +1 -1
  286. homeassistant-stubs/components/homekit/type_security_systems.pyi +1 -1
  287. homeassistant-stubs/components/homekit/type_switches.pyi +0 -1
  288. homeassistant-stubs/components/homekit/util.pyi +1 -0
  289. homeassistant-stubs/components/homekit_controller/config_flow.pyi +0 -1
  290. homeassistant-stubs/components/homekit_controller/lock.pyi +3 -3
  291. homeassistant-stubs/components/homeworks/__init__.pyi +0 -15
  292. homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -1
  293. homeassistant-stubs/components/homeworks/button.pyi +2 -1
  294. homeassistant-stubs/components/homeworks/config_flow.pyi +6 -2
  295. homeassistant-stubs/components/homeworks/entity.pyi +16 -0
  296. homeassistant-stubs/components/homeworks/light.pyi +2 -1
  297. homeassistant-stubs/components/homeworks/util.pyi +1 -0
  298. homeassistant-stubs/components/http/__init__.pyi +1 -1
  299. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -24
  300. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +1 -1
  301. homeassistant-stubs/components/huawei_lte/button.pyi +1 -1
  302. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +3 -4
  303. homeassistant-stubs/components/huawei_lte/entity.pyi +31 -0
  304. homeassistant-stubs/components/huawei_lte/select.pyi +2 -1
  305. homeassistant-stubs/components/huawei_lte/sensor.pyi +2 -1
  306. homeassistant-stubs/components/huawei_lte/switch.pyi +1 -1
  307. homeassistant-stubs/components/humidifier/__init__.pyi +7 -2
  308. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -0
  309. homeassistant-stubs/components/husqvarna_automower/button.pyi +20 -6
  310. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +21 -0
  311. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -0
  312. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +1 -3
  313. homeassistant-stubs/components/husqvarna_automower/entity.pyi +16 -2
  314. homeassistant-stubs/components/husqvarna_automower/number.pyi +4 -10
  315. homeassistant-stubs/components/husqvarna_automower/switch.pyi +12 -1
  316. homeassistant-stubs/components/image/__init__.pyi +1 -1
  317. homeassistant-stubs/components/image/const.pyi +4 -0
  318. homeassistant-stubs/components/image/media_source.pyi +2 -5
  319. homeassistant-stubs/components/ios/__init__.pyi +1 -15
  320. homeassistant-stubs/components/ios/const.pyi +16 -0
  321. homeassistant-stubs/components/ios/notify.pyi +1 -1
  322. homeassistant-stubs/components/ios/sensor.pyi +2 -2
  323. homeassistant-stubs/components/iotty/cover.pyi +36 -0
  324. homeassistant-stubs/components/iotty/entity.pyi +19 -0
  325. homeassistant-stubs/components/iotty/switch.pyi +2 -11
  326. homeassistant-stubs/components/iqvia/__init__.pyi +2 -15
  327. homeassistant-stubs/components/iqvia/entity.pyi +18 -0
  328. homeassistant-stubs/components/iqvia/sensor.pyi +1 -1
  329. homeassistant-stubs/components/isy994/const.pyi +2 -1
  330. homeassistant-stubs/components/jellyfin/browse_media.pyi +1 -2
  331. homeassistant-stubs/components/jellyfin/media_player.pyi +1 -2
  332. homeassistant-stubs/components/jellyfin/media_source.pyi +1 -1
  333. homeassistant-stubs/components/jellyfin/sensor.pyi +1 -0
  334. homeassistant-stubs/components/knx/__init__.pyi +4 -2
  335. homeassistant-stubs/components/knx/binary_sensor.pyi +2 -2
  336. homeassistant-stubs/components/knx/button.pyi +2 -2
  337. homeassistant-stubs/components/knx/climate.pyi +9 -3
  338. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  339. homeassistant-stubs/components/knx/const.pyi +9 -3
  340. homeassistant-stubs/components/knx/cover.pyi +2 -2
  341. homeassistant-stubs/components/knx/date.pyi +2 -2
  342. homeassistant-stubs/components/knx/datetime.pyi +2 -2
  343. homeassistant-stubs/components/knx/device_trigger.pyi +3 -5
  344. homeassistant-stubs/components/knx/diagnostics.pyi +1 -1
  345. homeassistant-stubs/components/knx/fan.pyi +2 -2
  346. homeassistant-stubs/components/knx/light.pyi +2 -2
  347. homeassistant-stubs/components/knx/notify.pyi +2 -2
  348. homeassistant-stubs/components/knx/number.pyi +2 -2
  349. homeassistant-stubs/components/knx/scene.pyi +2 -2
  350. homeassistant-stubs/components/knx/schema.pyi +8 -2
  351. homeassistant-stubs/components/knx/select.pyi +2 -2
  352. homeassistant-stubs/components/knx/sensor.pyi +2 -2
  353. homeassistant-stubs/components/knx/services.pyi +1 -1
  354. homeassistant-stubs/components/knx/switch.pyi +2 -2
  355. homeassistant-stubs/components/knx/text.pyi +2 -2
  356. homeassistant-stubs/components/knx/time.pyi +2 -2
  357. homeassistant-stubs/components/knx/weather.pyi +2 -2
  358. homeassistant-stubs/components/knx/websocket.pyi +1 -1
  359. homeassistant-stubs/components/lamarzocco/config_flow.pyi +5 -1
  360. homeassistant-stubs/components/laundrify/__init__.pyi +2 -0
  361. homeassistant-stubs/components/laundrify/binary_sensor.pyi +0 -1
  362. homeassistant-stubs/components/laundrify/config_flow.pyi +1 -0
  363. homeassistant-stubs/components/laundrify/sensor.pyi +41 -0
  364. homeassistant-stubs/components/lawn_mower/__init__.pyi +2 -0
  365. homeassistant-stubs/components/lcn/__init__.pyi +8 -30
  366. homeassistant-stubs/components/lcn/binary_sensor.pyi +7 -7
  367. homeassistant-stubs/components/lcn/climate.pyi +5 -5
  368. homeassistant-stubs/components/lcn/config_flow.pyi +8 -3
  369. homeassistant-stubs/components/lcn/const.pyi +1 -0
  370. homeassistant-stubs/components/lcn/cover.pyi +6 -6
  371. homeassistant-stubs/components/lcn/entity.pyi +28 -0
  372. homeassistant-stubs/components/lcn/helpers.pyi +2 -2
  373. homeassistant-stubs/components/lcn/light.pyi +6 -6
  374. homeassistant-stubs/components/lcn/scene.pyi +4 -5
  375. homeassistant-stubs/components/lcn/sensor.pyi +6 -6
  376. homeassistant-stubs/components/lcn/services.pyi +16 -0
  377. homeassistant-stubs/components/lcn/switch.pyi +6 -6
  378. homeassistant-stubs/components/lcn/websocket.pyi +3 -1
  379. homeassistant-stubs/components/lektrico/__init__.pyi +12 -0
  380. homeassistant-stubs/components/lektrico/button.pyi +27 -0
  381. homeassistant-stubs/components/lektrico/config_flow.pyi +24 -0
  382. homeassistant-stubs/components/lektrico/const.pyi +4 -0
  383. homeassistant-stubs/components/lektrico/coordinator.pyi +19 -0
  384. homeassistant-stubs/components/lektrico/entity.pyi +10 -0
  385. homeassistant-stubs/components/lektrico/number.pyi +29 -0
  386. homeassistant-stubs/components/lektrico/select.pyi +30 -0
  387. homeassistant-stubs/components/lektrico/sensor.pyi +34 -0
  388. homeassistant-stubs/components/lidarr/__init__.pyi +2 -11
  389. homeassistant-stubs/components/lidarr/entity.pyi +13 -0
  390. homeassistant-stubs/components/lidarr/sensor.pyi +2 -1
  391. homeassistant-stubs/components/light/__init__.pyi +4 -2
  392. homeassistant-stubs/components/linkplay/const.pyi +1 -1
  393. homeassistant-stubs/components/linkplay/media_player.pyi +9 -3
  394. homeassistant-stubs/components/linkplay/utils.pyi +1 -1
  395. homeassistant-stubs/components/local_todo/todo.pyi +1 -0
  396. homeassistant-stubs/components/lock/__init__.pyi +4 -2
  397. homeassistant-stubs/components/lock/const.pyi +11 -0
  398. homeassistant-stubs/components/lock/device_condition.pyi +2 -2
  399. homeassistant-stubs/components/lock/device_trigger.pyi +2 -2
  400. homeassistant-stubs/components/lock/reproduce_state.pyi +2 -2
  401. homeassistant-stubs/components/logbook/websocket_api.pyi +1 -2
  402. homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
  403. homeassistant-stubs/components/madvr/__init__.pyi +1 -1
  404. homeassistant-stubs/components/madvr/config_flow.pyi +2 -1
  405. homeassistant-stubs/components/madvr/diagnostics.pyi +10 -0
  406. homeassistant-stubs/components/matter/button.pyi +25 -0
  407. homeassistant-stubs/components/matter/entity.pyi +1 -4
  408. homeassistant-stubs/components/matter/light.pyi +0 -1
  409. homeassistant-stubs/components/matter/models.pyi +5 -3
  410. homeassistant-stubs/components/matter/number.pyi +2 -2
  411. homeassistant-stubs/components/matter/sensor.pyi +9 -0
  412. homeassistant-stubs/components/matter/valve.pyi +33 -0
  413. homeassistant-stubs/components/media_player/__init__.pyi +11 -4
  414. homeassistant-stubs/components/media_player/const.pyi +67 -63
  415. homeassistant-stubs/components/mikrotik/device_tracker.pyi +1 -3
  416. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -0
  417. homeassistant-stubs/components/minecraft_server/diagnostics.pyi +1 -1
  418. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -1
  419. homeassistant-stubs/components/modbus/climate.pyi +1 -1
  420. homeassistant-stubs/components/modbus/cover.pyi +1 -1
  421. homeassistant-stubs/components/modbus/fan.pyi +1 -1
  422. homeassistant-stubs/components/modbus/light.pyi +1 -1
  423. homeassistant-stubs/components/modbus/sensor.pyi +1 -1
  424. homeassistant-stubs/components/modbus/switch.pyi +1 -1
  425. homeassistant-stubs/components/mold_indicator/__init__.pyi +10 -0
  426. homeassistant-stubs/components/mold_indicator/config_flow.pyi +20 -0
  427. homeassistant-stubs/components/mold_indicator/const.pyi +6 -0
  428. homeassistant-stubs/components/mold_indicator/sensor.pyi +60 -0
  429. homeassistant-stubs/components/mopeka/__init__.pyi +1 -1
  430. homeassistant-stubs/components/motionmount/entity.pyi +3 -0
  431. homeassistant-stubs/components/motionmount/number.pyi +1 -0
  432. homeassistant-stubs/components/motionmount/select.pyi +5 -0
  433. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -1
  434. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -1
  435. homeassistant-stubs/components/mqtt/button.pyi +1 -1
  436. homeassistant-stubs/components/mqtt/camera.pyi +1 -1
  437. homeassistant-stubs/components/mqtt/climate.pyi +1 -6
  438. homeassistant-stubs/components/mqtt/config_flow.pyi +1 -2
  439. homeassistant-stubs/components/mqtt/cover.pyi +1 -1
  440. homeassistant-stubs/components/mqtt/device_automation.pyi +1 -1
  441. homeassistant-stubs/components/mqtt/device_tracker.pyi +3 -3
  442. homeassistant-stubs/components/mqtt/device_trigger.pyi +1 -1
  443. homeassistant-stubs/components/mqtt/discovery.pyi +1 -1
  444. homeassistant-stubs/components/mqtt/{mixins.pyi → entity.pyi} +0 -3
  445. homeassistant-stubs/components/mqtt/event.pyi +1 -1
  446. homeassistant-stubs/components/mqtt/fan.pyi +1 -1
  447. homeassistant-stubs/components/mqtt/humidifier.pyi +1 -1
  448. homeassistant-stubs/components/mqtt/image.pyi +1 -1
  449. homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -1
  450. homeassistant-stubs/components/mqtt/light/__init__.pyi +1 -1
  451. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +1 -1
  452. homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -1
  453. homeassistant-stubs/components/mqtt/light/schema_template.pyi +1 -1
  454. homeassistant-stubs/components/mqtt/lock.pyi +1 -1
  455. homeassistant-stubs/components/mqtt/notify.pyi +1 -1
  456. homeassistant-stubs/components/mqtt/number.pyi +1 -1
  457. homeassistant-stubs/components/mqtt/scene.pyi +1 -1
  458. homeassistant-stubs/components/mqtt/select.pyi +1 -1
  459. homeassistant-stubs/components/mqtt/sensor.pyi +1 -1
  460. homeassistant-stubs/components/mqtt/siren.pyi +1 -1
  461. homeassistant-stubs/components/mqtt/switch.pyi +1 -1
  462. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  463. homeassistant-stubs/components/mqtt/text.pyi +1 -1
  464. homeassistant-stubs/components/mqtt/trigger.pyi +3 -2
  465. homeassistant-stubs/components/mqtt/update.pyi +1 -1
  466. homeassistant-stubs/components/mqtt/vacuum.pyi +1 -1
  467. homeassistant-stubs/components/mqtt/valve.pyi +3 -3
  468. homeassistant-stubs/components/mqtt/water_heater.pyi +1 -1
  469. homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
  470. homeassistant-stubs/components/mysensors/binary_sensor.pyi +3 -2
  471. homeassistant-stubs/components/mysensors/climate.pyi +3 -2
  472. homeassistant-stubs/components/mysensors/cover.pyi +3 -2
  473. homeassistant-stubs/components/mysensors/device_tracker.pyi +5 -10
  474. homeassistant-stubs/components/mysensors/handler.pyi +1 -1
  475. homeassistant-stubs/components/mysensors/light.pyi +3 -3
  476. homeassistant-stubs/components/mysensors/remote.pyi +1 -1
  477. homeassistant-stubs/components/mysensors/sensor.pyi +4 -3
  478. homeassistant-stubs/components/mysensors/switch.pyi +1 -1
  479. homeassistant-stubs/components/mysensors/text.pyi +2 -2
  480. homeassistant-stubs/components/nanoleaf/device_trigger.pyi +1 -2
  481. homeassistant-stubs/components/nest/device_trigger.pyi +1 -2
  482. homeassistant-stubs/components/nest/media_source.pyi +1 -2
  483. homeassistant-stubs/components/netatmo/device_trigger.pyi +1 -2
  484. homeassistant-stubs/components/netatmo/media_source.pyi +1 -2
  485. homeassistant-stubs/components/network/websocket.pyi +1 -1
  486. homeassistant-stubs/components/nextdns/__init__.pyi +1 -1
  487. homeassistant-stubs/components/nextdns/config_flow.pyi +11 -1
  488. homeassistant-stubs/components/nextdns/coordinator.pyi +1 -0
  489. homeassistant-stubs/components/nissan_leaf/__init__.pyi +3 -14
  490. homeassistant-stubs/components/nissan_leaf/binary_sensor.pyi +2 -1
  491. homeassistant-stubs/components/nissan_leaf/button.pyi +2 -1
  492. homeassistant-stubs/components/nissan_leaf/const.pyi +1 -0
  493. homeassistant-stubs/components/nissan_leaf/entity.pyi +18 -0
  494. homeassistant-stubs/components/nissan_leaf/sensor.pyi +2 -1
  495. homeassistant-stubs/components/nissan_leaf/switch.pyi +2 -1
  496. homeassistant-stubs/components/notify/__init__.pyi +3 -2
  497. homeassistant-stubs/components/notify/legacy.pyi +5 -6
  498. homeassistant-stubs/components/notify/repairs.pyi +1 -2
  499. homeassistant-stubs/components/notion/__init__.pyi +1 -23
  500. homeassistant-stubs/components/notion/binary_sensor.pyi +1 -2
  501. homeassistant-stubs/components/notion/entity.pyi +33 -0
  502. homeassistant-stubs/components/notion/sensor.pyi +1 -2
  503. homeassistant-stubs/components/onewire/binary_sensor.pyi +1 -1
  504. homeassistant-stubs/components/onewire/sensor.pyi +1 -1
  505. homeassistant-stubs/components/onewire/switch.pyi +1 -1
  506. homeassistant-stubs/components/onkyo/media_player.pyi +84 -0
  507. homeassistant-stubs/components/onkyo/receiver.pyi +19 -0
  508. homeassistant-stubs/components/openuv/__init__.pyi +0 -11
  509. homeassistant-stubs/components/openuv/binary_sensor.pyi +1 -1
  510. homeassistant-stubs/components/openuv/entity.pyi +14 -0
  511. homeassistant-stubs/components/openuv/sensor.pyi +1 -1
  512. homeassistant-stubs/components/otbr/config_flow.pyi +3 -2
  513. homeassistant-stubs/components/overkiz/{climate_entities → climate}/__init__.pyi +9 -0
  514. homeassistant-stubs/components/overkiz/{water_heater.pyi → cover/__init__.pyi} +5 -4
  515. homeassistant-stubs/components/overkiz/executor.pyi +1 -1
  516. homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +17 -0
  517. homeassistant-stubs/components/pi_hole/__init__.pyi +1 -10
  518. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +2 -1
  519. homeassistant-stubs/components/pi_hole/entity.pyi +13 -0
  520. homeassistant-stubs/components/pi_hole/sensor.pyi +2 -1
  521. homeassistant-stubs/components/pi_hole/switch.pyi +2 -1
  522. homeassistant-stubs/components/pi_hole/update.pyi +2 -1
  523. homeassistant-stubs/components/ping/binary_sensor.pyi +0 -8
  524. homeassistant-stubs/components/ping/device_tracker.pyi +1 -3
  525. homeassistant-stubs/components/plugwise/binary_sensor.pyi +1 -1
  526. homeassistant-stubs/components/prusalink/__init__.pyi +1 -8
  527. homeassistant-stubs/components/prusalink/binary_sensor.pyi +1 -1
  528. homeassistant-stubs/components/prusalink/button.pyi +1 -1
  529. homeassistant-stubs/components/prusalink/camera.pyi +1 -1
  530. homeassistant-stubs/components/prusalink/entity.pyi +9 -0
  531. homeassistant-stubs/components/prusalink/sensor.pyi +1 -1
  532. homeassistant-stubs/components/purpleair/__init__.pyi +1 -17
  533. homeassistant-stubs/components/purpleair/entity.pyi +21 -0
  534. homeassistant-stubs/components/purpleair/sensor.pyi +1 -1
  535. homeassistant-stubs/components/qnap_qsw/diagnostics.pyi +1 -1
  536. homeassistant-stubs/components/radarr/__init__.pyi +2 -15
  537. homeassistant-stubs/components/radarr/binary_sensor.pyi +2 -1
  538. homeassistant-stubs/components/radarr/calendar.pyi +2 -1
  539. homeassistant-stubs/components/radarr/entity.pyi +16 -0
  540. homeassistant-stubs/components/radarr/sensor.pyi +2 -1
  541. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -18
  542. homeassistant-stubs/components/rainmachine/binary_sensor.pyi +2 -2
  543. homeassistant-stubs/components/rainmachine/button.pyi +2 -2
  544. homeassistant-stubs/components/rainmachine/entity.pyi +30 -0
  545. homeassistant-stubs/components/rainmachine/select.pyi +2 -2
  546. homeassistant-stubs/components/rainmachine/sensor.pyi +2 -2
  547. homeassistant-stubs/components/rainmachine/switch.pyi +2 -2
  548. homeassistant-stubs/components/rainmachine/update.pyi +2 -2
  549. homeassistant-stubs/components/recorder/const.pyi +2 -2
  550. homeassistant-stubs/components/recorder/core.pyi +3 -7
  551. homeassistant-stubs/components/recorder/history/legacy.pyi +9 -10
  552. homeassistant-stubs/components/recorder/history/modern.pyi +1 -1
  553. homeassistant-stubs/components/recorder/migration.pyi +28 -25
  554. homeassistant-stubs/components/recorder/models/__init__.pyi +2 -2
  555. homeassistant-stubs/components/recorder/models/legacy.pyi +1 -37
  556. homeassistant-stubs/components/recorder/models/time.pyi +0 -1
  557. homeassistant-stubs/components/recorder/statistics.pyi +2 -1
  558. homeassistant-stubs/components/recorder/tasks.pyi +4 -17
  559. homeassistant-stubs/components/recorder/util.pyi +6 -2
  560. homeassistant-stubs/components/recorder/websocket_api.pyi +6 -3
  561. homeassistant-stubs/components/remote/__init__.pyi +2 -0
  562. homeassistant-stubs/components/renault/device_tracker.pyi +8 -4
  563. homeassistant-stubs/components/renault/renault_hub.pyi +1 -1
  564. homeassistant-stubs/components/renault/renault_vehicle.pyi +2 -0
  565. homeassistant-stubs/components/renault/services.pyi +4 -0
  566. homeassistant-stubs/components/rfxtrx/__init__.pyi +2 -27
  567. homeassistant-stubs/components/rfxtrx/binary_sensor.pyi +2 -1
  568. homeassistant-stubs/components/rfxtrx/const.pyi +1 -0
  569. homeassistant-stubs/components/rfxtrx/cover.pyi +2 -1
  570. homeassistant-stubs/components/rfxtrx/device_action.pyi +1 -1
  571. homeassistant-stubs/components/rfxtrx/device_trigger.pyi +1 -2
  572. homeassistant-stubs/components/rfxtrx/entity.pyi +33 -0
  573. homeassistant-stubs/components/rfxtrx/event.pyi +2 -1
  574. homeassistant-stubs/components/rfxtrx/light.pyi +2 -1
  575. homeassistant-stubs/components/rfxtrx/sensor.pyi +2 -1
  576. homeassistant-stubs/components/rfxtrx/siren.pyi +2 -1
  577. homeassistant-stubs/components/rfxtrx/switch.pyi +3 -2
  578. homeassistant-stubs/components/ring/__init__.pyi +10 -9
  579. homeassistant-stubs/components/ring/binary_sensor.pyi +24 -20
  580. homeassistant-stubs/components/ring/button.pyi +2 -4
  581. homeassistant-stubs/components/ring/camera.pyi +2 -4
  582. homeassistant-stubs/components/ring/config_flow.pyi +2 -1
  583. homeassistant-stubs/components/ring/const.pyi +1 -1
  584. homeassistant-stubs/components/ring/coordinator.pyi +22 -7
  585. homeassistant-stubs/components/ring/diagnostics.pyi +2 -4
  586. homeassistant-stubs/components/ring/entity.pyi +27 -7
  587. homeassistant-stubs/components/ring/event.pyi +30 -0
  588. homeassistant-stubs/components/ring/light.pyi +2 -4
  589. homeassistant-stubs/components/ring/number.pyi +33 -0
  590. homeassistant-stubs/components/ring/sensor.pyi +6 -8
  591. homeassistant-stubs/components/ring/siren.pyi +30 -14
  592. homeassistant-stubs/components/ring/switch.pyi +25 -17
  593. homeassistant-stubs/components/roborock/binary_sensor.pyi +1 -1
  594. homeassistant-stubs/components/roborock/button.pyi +1 -1
  595. homeassistant-stubs/components/roborock/diagnostics.pyi +1 -1
  596. homeassistant-stubs/components/roborock/image.pyi +1 -1
  597. homeassistant-stubs/components/roborock/number.pyi +3 -2
  598. homeassistant-stubs/components/roborock/select.pyi +2 -1
  599. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  600. homeassistant-stubs/components/roborock/switch.pyi +3 -2
  601. homeassistant-stubs/components/roborock/time.pyi +3 -2
  602. homeassistant-stubs/components/roborock/vacuum.pyi +1 -1
  603. homeassistant-stubs/components/samsungtv/device_trigger.pyi +1 -2
  604. homeassistant-stubs/components/scene/__init__.pyi +2 -0
  605. homeassistant-stubs/components/schedule/__init__.pyi +5 -1
  606. homeassistant-stubs/components/schedule/const.pyi +1 -0
  607. homeassistant-stubs/components/script/helpers.pyi +1 -1
  608. homeassistant-stubs/components/sensibo/diagnostics.pyi +1 -1
  609. homeassistant-stubs/components/sensor/device_condition.pyi +1 -2
  610. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -2
  611. homeassistant-stubs/components/sensor/recorder.pyi +10 -6
  612. homeassistant-stubs/components/sensoterra/__init__.pyi +10 -0
  613. homeassistant-stubs/components/sensoterra/config_flow.pyi +11 -0
  614. homeassistant-stubs/components/sensoterra/const.pyi +9 -0
  615. homeassistant-stubs/components/sensoterra/coordinator.pyi +15 -0
  616. homeassistant-stubs/components/sensoterra/sensor.pyi +39 -0
  617. homeassistant-stubs/components/shelly/cover.pyi +7 -1
  618. homeassistant-stubs/components/shelly/device_trigger.pyi +1 -2
  619. homeassistant-stubs/components/shelly/update.pyi +1 -0
  620. homeassistant-stubs/components/simplisafe/__init__.pyi +4 -38
  621. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +2 -1
  622. homeassistant-stubs/components/simplisafe/binary_sensor.pyi +2 -1
  623. homeassistant-stubs/components/simplisafe/button.pyi +2 -1
  624. homeassistant-stubs/components/simplisafe/const.pyi +6 -0
  625. homeassistant-stubs/components/simplisafe/entity.pyi +38 -0
  626. homeassistant-stubs/components/simplisafe/lock.pyi +2 -1
  627. homeassistant-stubs/components/simplisafe/sensor.pyi +2 -1
  628. homeassistant-stubs/components/siren/__init__.pyi +2 -0
  629. homeassistant-stubs/components/slack/__init__.pyi +1 -13
  630. homeassistant-stubs/components/slack/entity.pyi +15 -0
  631. homeassistant-stubs/components/slack/sensor.pyi +1 -1
  632. homeassistant-stubs/components/smlight/__init__.pyi +18 -0
  633. homeassistant-stubs/components/smlight/binary_sensor.pyi +46 -0
  634. homeassistant-stubs/components/smlight/button.pyi +32 -0
  635. homeassistant-stubs/components/smlight/config_flow.pyi +27 -0
  636. homeassistant-stubs/components/smlight/const.pyi +11 -0
  637. homeassistant-stubs/components/smlight/coordinator.pyi +49 -0
  638. homeassistant-stubs/components/smlight/diagnostics.pyi +5 -0
  639. homeassistant-stubs/components/smlight/entity.pyi +10 -0
  640. homeassistant-stubs/components/smlight/sensor.pyi +56 -0
  641. homeassistant-stubs/components/smlight/switch.pyi +39 -0
  642. homeassistant-stubs/components/smlight/update.pyi +48 -0
  643. homeassistant-stubs/components/solarlog/__init__.pyi +14 -0
  644. homeassistant-stubs/components/solarlog/config_flow.pyi +27 -0
  645. homeassistant-stubs/components/solarlog/const.pyi +4 -0
  646. homeassistant-stubs/components/solarlog/coordinator.pyi +19 -0
  647. homeassistant-stubs/components/solarlog/diagnostics.pyi +10 -0
  648. homeassistant-stubs/components/solarlog/entity.pyi +23 -0
  649. homeassistant-stubs/components/solarlog/sensor.pyi +36 -0
  650. homeassistant-stubs/components/squeezebox/__init__.pyi +24 -0
  651. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +17 -0
  652. homeassistant-stubs/components/squeezebox/browse_media.pyi +18 -0
  653. homeassistant-stubs/components/squeezebox/config_flow.pyi +27 -0
  654. homeassistant-stubs/components/squeezebox/const.pyi +29 -0
  655. homeassistant-stubs/components/squeezebox/coordinator.pyi +14 -0
  656. homeassistant-stubs/components/squeezebox/entity.pyi +14 -0
  657. homeassistant-stubs/components/squeezebox/media_player.pyi +111 -0
  658. homeassistant-stubs/components/squeezebox/sensor.pyi +18 -0
  659. homeassistant-stubs/components/ssdp/__init__.pyi +3 -1
  660. homeassistant-stubs/components/starlink/device_tracker.pyi +2 -5
  661. homeassistant-stubs/components/starlink/diagnostics.pyi +1 -1
  662. homeassistant-stubs/components/stt/const.pyi +6 -2
  663. homeassistant-stubs/components/surepetcare/lock.pyi +3 -4
  664. homeassistant-stubs/components/switch/__init__.pyi +2 -0
  665. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  666. homeassistant-stubs/components/switchbot_cloud/const.pyi +4 -0
  667. homeassistant-stubs/components/switchbot_cloud/entity.pyi +1 -1
  668. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +32 -0
  669. homeassistant-stubs/components/switcher_kis/__init__.pyi +1 -1
  670. homeassistant-stubs/components/switcher_kis/config_flow.pyi +23 -2
  671. homeassistant-stubs/components/switcher_kis/coordinator.pyi +2 -0
  672. homeassistant-stubs/components/switcher_kis/cover.pyi +2 -1
  673. homeassistant-stubs/components/switcher_kis/utils.pyi +1 -1
  674. homeassistant-stubs/components/tailscale/__init__.pyi +0 -13
  675. homeassistant-stubs/components/tailscale/binary_sensor.pyi +1 -1
  676. homeassistant-stubs/components/tailscale/config_flow.pyi +2 -0
  677. homeassistant-stubs/components/tailscale/entity.pyi +15 -0
  678. homeassistant-stubs/components/tailscale/sensor.pyi +1 -1
  679. homeassistant-stubs/components/tailwind/cover.pyi +1 -1
  680. homeassistant-stubs/components/tami4/button.pyi +14 -1
  681. homeassistant-stubs/components/tautulli/__init__.pyi +0 -13
  682. homeassistant-stubs/components/tautulli/entity.pyi +15 -0
  683. homeassistant-stubs/components/tautulli/sensor.pyi +2 -1
  684. homeassistant-stubs/components/tcp/binary_sensor.pyi +2 -1
  685. homeassistant-stubs/components/tcp/common.pyi +0 -17
  686. homeassistant-stubs/components/tcp/entity.pyi +21 -0
  687. homeassistant-stubs/components/tcp/sensor.pyi +2 -1
  688. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -17
  689. homeassistant-stubs/components/threshold/const.pyi +20 -5
  690. homeassistant-stubs/components/tibber/services.pyi +2 -2
  691. homeassistant-stubs/components/tile/device_tracker.pyi +1 -3
  692. homeassistant-stubs/components/todo/__init__.pyi +1 -1
  693. homeassistant-stubs/components/todo/const.pyi +4 -0
  694. homeassistant-stubs/components/todo/intent.pyi +2 -2
  695. homeassistant-stubs/components/tolo/__init__.pyi +3 -22
  696. homeassistant-stubs/components/tolo/binary_sensor.pyi +2 -1
  697. homeassistant-stubs/components/tolo/button.pyi +2 -1
  698. homeassistant-stubs/components/tolo/climate.pyi +2 -1
  699. homeassistant-stubs/components/tolo/coordinator.pyi +20 -0
  700. homeassistant-stubs/components/tolo/entity.pyi +11 -0
  701. homeassistant-stubs/components/tolo/fan.pyi +2 -1
  702. homeassistant-stubs/components/tolo/light.pyi +2 -1
  703. homeassistant-stubs/components/tolo/number.pyi +2 -1
  704. homeassistant-stubs/components/tolo/select.pyi +2 -1
  705. homeassistant-stubs/components/tolo/sensor.pyi +2 -1
  706. homeassistant-stubs/components/tolo/switch.pyi +2 -1
  707. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -1
  708. homeassistant-stubs/components/tplink/button.pyi +2 -1
  709. homeassistant-stubs/components/tplink/deprecate.pyi +18 -0
  710. homeassistant-stubs/components/tplink/entity.pyi +8 -4
  711. homeassistant-stubs/components/tplink/number.pyi +3 -1
  712. homeassistant-stubs/components/tplink/select.pyi +1 -1
  713. homeassistant-stubs/components/tplink/sensor.pyi +2 -1
  714. homeassistant-stubs/components/tplink/siren.pyi +22 -0
  715. homeassistant-stubs/components/tplink/switch.pyi +1 -1
  716. homeassistant-stubs/components/tplink_omada/__init__.pyi +2 -0
  717. homeassistant-stubs/components/tplink_omada/controller.pyi +10 -5
  718. homeassistant-stubs/components/tplink_omada/coordinator.pyi +7 -2
  719. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +1 -3
  720. homeassistant-stubs/components/tplink_omada/entity.pyi +0 -1
  721. homeassistant-stubs/components/tplink_omada/update.pyi +8 -7
  722. homeassistant-stubs/components/trace/__init__.pyi +1 -2
  723. homeassistant-stubs/components/trace/const.pyi +7 -3
  724. homeassistant-stubs/components/tractive/device_tracker.pyi +3 -9
  725. homeassistant-stubs/components/tradfri/cover.pyi +1 -1
  726. homeassistant-stubs/components/tradfri/fan.pyi +1 -1
  727. homeassistant-stubs/components/tradfri/light.pyi +1 -1
  728. homeassistant-stubs/components/tradfri/sensor.pyi +1 -1
  729. homeassistant-stubs/components/tradfri/switch.pyi +1 -1
  730. homeassistant-stubs/components/tts/__init__.pyi +2 -1
  731. homeassistant-stubs/components/tts/const.pyi +6 -1
  732. homeassistant-stubs/components/tts/helper.pyi +2 -3
  733. homeassistant-stubs/components/tts/legacy.pyi +0 -1
  734. homeassistant-stubs/components/tts/media_source.pyi +3 -3
  735. homeassistant-stubs/components/unifi/device_tracker.pyi +2 -4
  736. homeassistant-stubs/components/unifi/hub/__init__.pyi +2 -0
  737. homeassistant-stubs/components/unifi/switch.pyi +1 -1
  738. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +1 -2
  739. homeassistant-stubs/components/unifiprotect/button.pyi +1 -2
  740. homeassistant-stubs/components/unifiprotect/entity.pyi +40 -3
  741. homeassistant-stubs/components/unifiprotect/event.pyi +1 -2
  742. homeassistant-stubs/components/unifiprotect/media_source.pyi +1 -1
  743. homeassistant-stubs/components/unifiprotect/number.pyi +1 -2
  744. homeassistant-stubs/components/unifiprotect/select.pyi +1 -2
  745. homeassistant-stubs/components/unifiprotect/sensor.pyi +1 -2
  746. homeassistant-stubs/components/unifiprotect/switch.pyi +1 -2
  747. homeassistant-stubs/components/unifiprotect/text.pyi +1 -2
  748. homeassistant-stubs/components/upcloud/__init__.pyi +2 -37
  749. homeassistant-stubs/components/upcloud/binary_sensor.pyi +2 -1
  750. homeassistant-stubs/components/upcloud/const.pyi +1 -0
  751. homeassistant-stubs/components/upcloud/entity.pyi +38 -0
  752. homeassistant-stubs/components/upcloud/switch.pyi +4 -1
  753. homeassistant-stubs/components/update/__init__.pyi +1 -0
  754. homeassistant-stubs/components/uvc/__init__.pyi +0 -0
  755. homeassistant-stubs/components/uvc/camera.pyi +54 -0
  756. homeassistant-stubs/components/vacuum/__init__.pyi +21 -14
  757. homeassistant-stubs/components/vallox/__init__.pyi +6 -9
  758. homeassistant-stubs/components/vallox/binary_sensor.pyi +1 -1
  759. homeassistant-stubs/components/vallox/config_flow.pyi +5 -2
  760. homeassistant-stubs/components/vallox/const.pyi +3 -3
  761. homeassistant-stubs/components/vallox/date.pyi +1 -1
  762. homeassistant-stubs/components/vallox/entity.pyi +12 -0
  763. homeassistant-stubs/components/vallox/fan.pyi +2 -2
  764. homeassistant-stubs/components/vallox/number.pyi +1 -1
  765. homeassistant-stubs/components/vallox/sensor.pyi +2 -2
  766. homeassistant-stubs/components/vallox/switch.pyi +1 -1
  767. homeassistant-stubs/components/valve/__init__.pyi +3 -1
  768. homeassistant-stubs/components/valve/const.pyi +9 -0
  769. homeassistant-stubs/components/velbus/climate.pyi +4 -1
  770. homeassistant-stubs/components/wallbox/const.pyi +4 -0
  771. homeassistant-stubs/components/wallbox/coordinator.pyi +3 -1
  772. homeassistant-stubs/components/wallbox/number.pyi +1 -1
  773. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  774. homeassistant-stubs/components/water_heater/__init__.pyi +2 -0
  775. homeassistant-stubs/components/weather/__init__.pyi +1 -1
  776. homeassistant-stubs/components/weather/const.pyi +5 -0
  777. homeassistant-stubs/components/weather/intent.pyi +1 -3
  778. homeassistant-stubs/components/weather/websocket_api.pyi +1 -2
  779. homeassistant-stubs/components/webostv/device_trigger.pyi +1 -2
  780. homeassistant-stubs/components/withings/config_flow.pyi +1 -1
  781. homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +1 -0
  782. homeassistant-stubs/components/yale_smart_alarm/entity.pyi +9 -1
  783. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +10 -6
  784. homeassistant-stubs/components/yale_smart_alarm/switch.pyi +20 -0
  785. homeassistant-stubs/components/youtube/const.pyi +1 -0
  786. homeassistant-stubs/components/youtube/coordinator.pyi +1 -1
  787. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  788. homeassistant-stubs/components/zeroconf/__init__.pyi +4 -0
  789. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  790. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +1 -0
  791. homeassistant-stubs/components/zwave_js/const.pyi +1 -0
  792. homeassistant-stubs/components/zwave_js/cover.pyi +5 -0
  793. homeassistant-stubs/components/zwave_js/device_condition.pyi +1 -1
  794. homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -2
  795. homeassistant-stubs/components/zwave_js/diagnostics.pyi +1 -2
  796. homeassistant-stubs/components/zwave_js/entity.pyi +1 -2
  797. homeassistant-stubs/components/zwave_js/lock.pyi +2 -3
  798. homeassistant-stubs/components/zwave_js/migrate.pyi +8 -7
  799. homeassistant-stubs/components/zwave_js/sensor.pyi +8 -4
  800. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +1 -1
  801. homeassistant-stubs/config_entries.pyi +9 -4
  802. homeassistant-stubs/const.pyi +19 -8
  803. homeassistant-stubs/helpers/aiohttp_client.pyi +8 -7
  804. homeassistant-stubs/helpers/condition.pyi +2 -0
  805. homeassistant-stubs/helpers/config_validation.pyi +5 -1
  806. homeassistant-stubs/helpers/discovery.pyi +1 -1
  807. homeassistant-stubs/helpers/discovery_flow.pyi +12 -2
  808. homeassistant-stubs/helpers/frame.pyi +1 -1
  809. homeassistant-stubs/helpers/llm.pyi +5 -5
  810. homeassistant-stubs/helpers/script.pyi +1 -1
  811. homeassistant-stubs/helpers/state.pyi +2 -1
  812. homeassistant-stubs/helpers/template.pyi +5 -1
  813. homeassistant-stubs/util/aiohttp.pyi +10 -0
  814. homeassistant-stubs/util/package.pyi +3 -0
  815. homeassistant-stubs/util/ssl.pyi +8 -4
  816. homeassistant-stubs/util/unit_conversion.pyi +2 -0
  817. homeassistant-stubs/util/unit_system.pyi +1 -0
  818. {homeassistant_stubs-2024.9.3.dist-info → homeassistant_stubs-2024.10.0.dist-info}/METADATA +2 -2
  819. {homeassistant_stubs-2024.9.3.dist-info → homeassistant_stubs-2024.10.0.dist-info}/RECORD +850 -725
  820. homeassistant-stubs/components/esphome/voice_assistant.pyi +0 -66
  821. homeassistant-stubs/components/notion/model.pyi +0 -7
  822. homeassistant-stubs/components/overkiz/climate.pyi +0 -10
  823. homeassistant-stubs/components/overkiz/cover.pyi +0 -11
  824. homeassistant-stubs/components/overkiz/water_heater_entities/__init__.pyi +0 -8
  825. homeassistant-stubs/components/rainmachine/model.pyi +0 -7
  826. homeassistant-stubs/components/recorder/history/common.pyi +0 -4
  827. homeassistant-stubs/components/unifiprotect/models.pyi +0 -44
  828. /homeassistant-stubs/components/deconz/{deconz_device.pyi → entity.pyi} +0 -0
  829. /homeassistant-stubs/components/devolo_home_control/{devolo_device.pyi → entity.pyi} +0 -0
  830. /homeassistant-stubs/components/knx/{knx_entity.pyi → entity.pyi} +0 -0
  831. /homeassistant-stubs/components/modbus/{base_platform.pyi → entity.pyi} +0 -0
  832. /homeassistant-stubs/components/mysensors/{device.pyi → entity.pyi} +0 -0
  833. /homeassistant-stubs/components/onewire/{onewire_entities.pyi → entity.pyi} +0 -0
  834. /homeassistant-stubs/components/{overkiz/cover_entities → onkyo}/__init__.pyi +0 -0
  835. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_heater.pyi +0 -0
  836. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +0 -0
  837. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_towel_dryer.pyi +0 -0
  838. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_heat_recovery_ventilation.pyi +0 -0
  839. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_heat_pump_main_component.pyi +0 -0
  840. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_heating_zone.pyi +0 -0
  841. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_zone_control.pyi +0 -0
  842. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_zone_control_zone.pyi +0 -0
  843. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/hitachi_air_to_air_heat_pump_hlrrwifi.pyi +0 -0
  844. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/hitachi_air_to_air_heat_pump_ovp.pyi +0 -0
  845. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/somfy_heating_temperature_interface.pyi +0 -0
  846. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/somfy_thermostat.pyi +0 -0
  847. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/valve_heating_temperature_interface.pyi +0 -0
  848. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/awning.pyi +0 -0
  849. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/generic_cover.pyi +0 -0
  850. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/vertical_cover.pyi +0 -0
  851. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/atlantic_domestic_hot_water_production_mlb_component.pyi +0 -0
  852. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/atlantic_pass_apc_dhw.pyi +0 -0
  853. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/domestic_hot_water_production.pyi +0 -0
  854. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/hitachi_dhw.pyi +0 -0
  855. /homeassistant-stubs/components/roborock/{device.pyi → entity.pyi} +0 -0
  856. /homeassistant-stubs/components/tradfri/{base_class.pyi → entity.pyi} +0 -0
  857. {homeassistant_stubs-2024.9.3.dist-info → homeassistant_stubs-2024.10.0.dist-info}/WHEEL +0 -0
  858. {homeassistant_stubs-2024.9.3.dist-info → homeassistant_stubs-2024.10.0.dist-info}/licenses/LICENSE +0 -0
@@ -11,6 +11,7 @@ from yalesmartalarmclient.client import YaleSmartAlarmClient
11
11
  class YaleDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
12
12
  yale: YaleSmartAlarmClient
13
13
  entry: Incomplete
14
+ locks: Incomplete
14
15
  def __init__(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
15
16
  async def _async_setup(self) -> None: ...
16
17
  async def _async_update_data(self) -> dict[str, Any]: ...
@@ -5,13 +5,21 @@ from homeassistant.const import CONF_NAME as CONF_NAME, CONF_USERNAME as CONF_US
5
5
  from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
6
6
  from homeassistant.helpers.entity import Entity as Entity
7
7
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
8
+ from yalesmartalarmclient import YaleLock as YaleLock
8
9
 
9
- class YaleEntity(CoordinatorEntity[YaleDataUpdateCoordinator], Entity):
10
+ class YaleEntity(CoordinatorEntity[YaleDataUpdateCoordinator]):
10
11
  _attr_has_entity_name: bool
11
12
  _attr_unique_id: Incomplete
12
13
  _attr_device_info: Incomplete
13
14
  def __init__(self, coordinator: YaleDataUpdateCoordinator, data: dict) -> None: ...
14
15
 
16
+ class YaleLockEntity(CoordinatorEntity[YaleDataUpdateCoordinator]):
17
+ _attr_has_entity_name: bool
18
+ _attr_unique_id: Incomplete
19
+ _attr_device_info: Incomplete
20
+ lock_data: Incomplete
21
+ def __init__(self, coordinator: YaleDataUpdateCoordinator, lock: YaleLock) -> None: ...
22
+
15
23
  class YaleAlarmEntity(CoordinatorEntity[YaleDataUpdateCoordinator], Entity):
16
24
  _attr_has_entity_name: bool
17
25
  _attr_device_info: Incomplete
@@ -1,24 +1,28 @@
1
1
  from . import YaleConfigEntry as YaleConfigEntry
2
2
  from .const import CONF_LOCK_CODE_DIGITS as CONF_LOCK_CODE_DIGITS, DEFAULT_LOCK_CODE_DIGITS as DEFAULT_LOCK_CODE_DIGITS, DOMAIN as DOMAIN, YALE_ALL_ERRORS as YALE_ALL_ERRORS
3
3
  from .coordinator import YaleDataUpdateCoordinator as YaleDataUpdateCoordinator
4
- from .entity import YaleEntity as YaleEntity
4
+ from .entity import YaleLockEntity as YaleLockEntity
5
5
  from _typeshed import Incomplete
6
- from homeassistant.components.lock import LockEntity as LockEntity
6
+ from homeassistant.components.lock import LockEntity as LockEntity, LockState as LockState
7
7
  from homeassistant.const import ATTR_CODE as ATTR_CODE
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from typing import Any
12
+ from yalesmartalarmclient import YaleLock as YaleLock, YaleLockState
13
+
14
+ LOCK_STATE_MAP: Incomplete
12
15
 
13
16
  async def async_setup_entry(hass: HomeAssistant, entry: YaleConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
17
 
15
- class YaleDoorlock(YaleEntity, LockEntity):
18
+ class YaleDoorlock(YaleLockEntity, LockEntity):
16
19
  _attr_name: Incomplete
17
20
  _attr_code_format: Incomplete
18
- lock_name: Incomplete
19
- def __init__(self, coordinator: YaleDataUpdateCoordinator, data: dict, code_format: int) -> None: ...
21
+ def __init__(self, coordinator: YaleDataUpdateCoordinator, lock: YaleLock, code_format: int) -> None: ...
20
22
  async def async_unlock(self, **kwargs: Any) -> None: ...
21
23
  async def async_lock(self, **kwargs: Any) -> None: ...
22
- async def async_set_lock(self, command: str, code: str | None) -> None: ...
24
+ async def async_set_lock(self, state: YaleLockState, code: str | None) -> None: ...
23
25
  @property
24
26
  def is_locked(self) -> bool | None: ...
27
+ @property
28
+ def is_open(self) -> bool | None: ...
@@ -0,0 +1,20 @@
1
+ from . import YaleConfigEntry as YaleConfigEntry
2
+ from .coordinator import YaleDataUpdateCoordinator as YaleDataUpdateCoordinator
3
+ from .entity import YaleLockEntity as YaleLockEntity
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.switch import SwitchEntity as SwitchEntity
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
8
+ from typing import Any
9
+ from yalesmartalarmclient import YaleLock as YaleLock
10
+
11
+ async def async_setup_entry(hass: HomeAssistant, entry: YaleConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
12
+
13
+ class YaleAutolockSwitch(YaleLockEntity, SwitchEntity):
14
+ _attr_translation_key: str
15
+ _attr_unique_id: Incomplete
16
+ _attr_is_on: Incomplete
17
+ def __init__(self, coordinator: YaleDataUpdateCoordinator, lock: YaleLock) -> None: ...
18
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
19
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
20
+ def _handle_coordinator_update(self) -> None: ...
@@ -10,6 +10,7 @@ COORDINATOR: str
10
10
  AUTH: str
11
11
  LOGGER: Incomplete
12
12
  ATTR_TITLE: str
13
+ ATTR_TOTAL_VIEWS: str
13
14
  ATTR_LATEST_VIDEO: str
14
15
  ATTR_SUBSCRIBER_COUNT: str
15
16
  ATTR_DESCRIPTION: str
@@ -1,5 +1,5 @@
1
1
  from . import AsyncConfigEntryAuth as AsyncConfigEntryAuth
2
- from .const import ATTR_DESCRIPTION as ATTR_DESCRIPTION, ATTR_LATEST_VIDEO as ATTR_LATEST_VIDEO, ATTR_PUBLISHED_AT as ATTR_PUBLISHED_AT, ATTR_SUBSCRIBER_COUNT as ATTR_SUBSCRIBER_COUNT, ATTR_THUMBNAIL as ATTR_THUMBNAIL, ATTR_TITLE as ATTR_TITLE, ATTR_VIDEO_ID as ATTR_VIDEO_ID, CONF_CHANNELS as CONF_CHANNELS, DOMAIN as DOMAIN, LOGGER as LOGGER
2
+ from .const import ATTR_DESCRIPTION as ATTR_DESCRIPTION, ATTR_LATEST_VIDEO as ATTR_LATEST_VIDEO, ATTR_PUBLISHED_AT as ATTR_PUBLISHED_AT, ATTR_SUBSCRIBER_COUNT as ATTR_SUBSCRIBER_COUNT, ATTR_THUMBNAIL as ATTR_THUMBNAIL, ATTR_TITLE as ATTR_TITLE, ATTR_TOTAL_VIEWS as ATTR_TOTAL_VIEWS, ATTR_VIDEO_ID as ATTR_VIDEO_ID, CONF_CHANNELS as CONF_CHANNELS, DOMAIN as DOMAIN, LOGGER as LOGGER
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import ATTR_ICON as ATTR_ICON, ATTR_ID as ATTR_ID
@@ -1,5 +1,5 @@
1
1
  from . import YouTubeDataUpdateCoordinator as YouTubeDataUpdateCoordinator
2
- from .const import ATTR_LATEST_VIDEO as ATTR_LATEST_VIDEO, ATTR_PUBLISHED_AT as ATTR_PUBLISHED_AT, ATTR_SUBSCRIBER_COUNT as ATTR_SUBSCRIBER_COUNT, ATTR_THUMBNAIL as ATTR_THUMBNAIL, ATTR_TITLE as ATTR_TITLE, ATTR_VIDEO_ID as ATTR_VIDEO_ID, COORDINATOR as COORDINATOR, DOMAIN as DOMAIN
2
+ from .const import ATTR_LATEST_VIDEO as ATTR_LATEST_VIDEO, ATTR_PUBLISHED_AT as ATTR_PUBLISHED_AT, ATTR_SUBSCRIBER_COUNT as ATTR_SUBSCRIBER_COUNT, ATTR_THUMBNAIL as ATTR_THUMBNAIL, ATTR_TITLE as ATTR_TITLE, ATTR_TOTAL_VIEWS as ATTR_TOTAL_VIEWS, ATTR_VIDEO_ID as ATTR_VIDEO_ID, COORDINATOR as COORDINATOR, DOMAIN as DOMAIN
3
3
  from .entity import YouTubeChannelEntity as YouTubeChannelEntity
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
@@ -9,6 +9,8 @@ from homeassistant.const import EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT
9
9
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.data_entry_flow import BaseServiceInfo as BaseServiceInfo
11
11
  from homeassistant.helpers import discovery_flow as discovery_flow, instance_id as instance_id
12
+ from homeassistant.helpers.discovery_flow import DiscoveryKey as DiscoveryKey
13
+ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
12
14
  from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError, get_url as get_url
13
15
  from homeassistant.helpers.typing import ConfigType as ConfigType
14
16
  from homeassistant.loader import HomeKitDiscoveredIntegration as HomeKitDiscoveredIntegration, ZeroconfMatcher as ZeroconfMatcher, async_get_homekit as async_get_homekit, async_get_zeroconf as async_get_zeroconf, bind_hass as bind_hass
@@ -74,8 +76,10 @@ class ZeroconfDiscovery:
74
76
  def __init__(self, hass: HomeAssistant, zeroconf: HaZeroconf, zeroconf_types: dict[str, list[ZeroconfMatcher]], homekit_model_lookups: dict[str, HomeKitDiscoveredIntegration], homekit_model_matchers: dict[re.Pattern, HomeKitDiscoveredIntegration]) -> None: ...
75
77
  async def async_setup(self) -> None: ...
76
78
  async def async_stop(self) -> None: ...
79
+ def _handle_config_entry_removed(self, entry: config_entries.ConfigEntry) -> None: ...
77
80
  def _async_dismiss_discoveries(self, name: str) -> None: ...
78
81
  def async_service_update(self, zeroconf: HaZeroconf, service_type: str, name: str, state_change: ServiceStateChange) -> None: ...
82
+ def _async_service_update(self, zeroconf: HaZeroconf, service_type: str, name: str) -> None: ...
79
83
  async def _async_lookup_and_process_service_update(self, zeroconf: HaZeroconf, async_service_info: AsyncServiceInfo, service_type: str, name: str) -> None: ...
80
84
  def _async_process_service_update(self, async_service_info: AsyncServiceInfo, service_type: str, name: str) -> None: ...
81
85
 
@@ -1,7 +1,7 @@
1
1
  import asyncio
2
2
  from .addon import get_addon_manager as get_addon_manager
3
3
  from .api import async_register_api as async_register_api
4
- from .const import ATTR_ACKNOWLEDGED_FRAMES as ATTR_ACKNOWLEDGED_FRAMES, ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_COMMAND_CLASS_NAME as ATTR_COMMAND_CLASS_NAME, ATTR_DATA_TYPE as ATTR_DATA_TYPE, ATTR_DATA_TYPE_LABEL as ATTR_DATA_TYPE_LABEL, ATTR_DIRECTION as ATTR_DIRECTION, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_EVENT as ATTR_EVENT, ATTR_EVENT_DATA as ATTR_EVENT_DATA, ATTR_EVENT_LABEL as ATTR_EVENT_LABEL, ATTR_EVENT_TYPE as ATTR_EVENT_TYPE, ATTR_EVENT_TYPE_LABEL as ATTR_EVENT_TYPE_LABEL, ATTR_HOME_ID as ATTR_HOME_ID, ATTR_LABEL as ATTR_LABEL, ATTR_NODE_ID as ATTR_NODE_ID, ATTR_PARAMETERS as ATTR_PARAMETERS, ATTR_PROPERTY as ATTR_PROPERTY, ATTR_PROPERTY_KEY as ATTR_PROPERTY_KEY, ATTR_PROPERTY_KEY_NAME as ATTR_PROPERTY_KEY_NAME, ATTR_PROPERTY_NAME as ATTR_PROPERTY_NAME, ATTR_STATUS as ATTR_STATUS, ATTR_TEST_NODE_ID as ATTR_TEST_NODE_ID, ATTR_TYPE as ATTR_TYPE, ATTR_VALUE as ATTR_VALUE, ATTR_VALUE_RAW as ATTR_VALUE_RAW, CONF_ADDON_DEVICE as CONF_ADDON_DEVICE, CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY as CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY, CONF_ADDON_LR_S2_AUTHENTICATED_KEY as CONF_ADDON_LR_S2_AUTHENTICATED_KEY, CONF_ADDON_NETWORK_KEY as CONF_ADDON_NETWORK_KEY, CONF_ADDON_S0_LEGACY_KEY as CONF_ADDON_S0_LEGACY_KEY, CONF_ADDON_S2_ACCESS_CONTROL_KEY as CONF_ADDON_S2_ACCESS_CONTROL_KEY, CONF_ADDON_S2_AUTHENTICATED_KEY as CONF_ADDON_S2_AUTHENTICATED_KEY, CONF_ADDON_S2_UNAUTHENTICATED_KEY as CONF_ADDON_S2_UNAUTHENTICATED_KEY, CONF_DATA_COLLECTION_OPTED_IN as CONF_DATA_COLLECTION_OPTED_IN, CONF_INTEGRATION_CREATED_ADDON as CONF_INTEGRATION_CREATED_ADDON, CONF_LR_S2_ACCESS_CONTROL_KEY as CONF_LR_S2_ACCESS_CONTROL_KEY, CONF_LR_S2_AUTHENTICATED_KEY as CONF_LR_S2_AUTHENTICATED_KEY, CONF_NETWORK_KEY as CONF_NETWORK_KEY, CONF_S0_LEGACY_KEY as CONF_S0_LEGACY_KEY, CONF_S2_ACCESS_CONTROL_KEY as CONF_S2_ACCESS_CONTROL_KEY, CONF_S2_AUTHENTICATED_KEY as CONF_S2_AUTHENTICATED_KEY, CONF_S2_UNAUTHENTICATED_KEY as CONF_S2_UNAUTHENTICATED_KEY, CONF_USB_PATH as CONF_USB_PATH, CONF_USE_ADDON as CONF_USE_ADDON, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, EVENT_DEVICE_ADDED_TO_REGISTRY as EVENT_DEVICE_ADDED_TO_REGISTRY, LIB_LOGGER as LIB_LOGGER, LOGGER as LOGGER, LR_ADDON_VERSION as LR_ADDON_VERSION, USER_AGENT as USER_AGENT, ZWAVE_JS_NOTIFICATION_EVENT as ZWAVE_JS_NOTIFICATION_EVENT, ZWAVE_JS_VALUE_NOTIFICATION_EVENT as ZWAVE_JS_VALUE_NOTIFICATION_EVENT, ZWAVE_JS_VALUE_UPDATED_EVENT as ZWAVE_JS_VALUE_UPDATED_EVENT
4
+ from .const import ATTR_ACKNOWLEDGED_FRAMES as ATTR_ACKNOWLEDGED_FRAMES, ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_COMMAND_CLASS_NAME as ATTR_COMMAND_CLASS_NAME, ATTR_DATA_TYPE as ATTR_DATA_TYPE, ATTR_DATA_TYPE_LABEL as ATTR_DATA_TYPE_LABEL, ATTR_DIRECTION as ATTR_DIRECTION, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_EVENT as ATTR_EVENT, ATTR_EVENT_DATA as ATTR_EVENT_DATA, ATTR_EVENT_LABEL as ATTR_EVENT_LABEL, ATTR_EVENT_TYPE as ATTR_EVENT_TYPE, ATTR_EVENT_TYPE_LABEL as ATTR_EVENT_TYPE_LABEL, ATTR_HOME_ID as ATTR_HOME_ID, ATTR_LABEL as ATTR_LABEL, ATTR_NODE_ID as ATTR_NODE_ID, ATTR_PARAMETERS as ATTR_PARAMETERS, ATTR_PROPERTY as ATTR_PROPERTY, ATTR_PROPERTY_KEY as ATTR_PROPERTY_KEY, ATTR_PROPERTY_KEY_NAME as ATTR_PROPERTY_KEY_NAME, ATTR_PROPERTY_NAME as ATTR_PROPERTY_NAME, ATTR_STATUS as ATTR_STATUS, ATTR_TEST_NODE_ID as ATTR_TEST_NODE_ID, ATTR_TYPE as ATTR_TYPE, ATTR_VALUE as ATTR_VALUE, ATTR_VALUE_RAW as ATTR_VALUE_RAW, CONF_ADDON_DEVICE as CONF_ADDON_DEVICE, CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY as CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY, CONF_ADDON_LR_S2_AUTHENTICATED_KEY as CONF_ADDON_LR_S2_AUTHENTICATED_KEY, CONF_ADDON_NETWORK_KEY as CONF_ADDON_NETWORK_KEY, CONF_ADDON_S0_LEGACY_KEY as CONF_ADDON_S0_LEGACY_KEY, CONF_ADDON_S2_ACCESS_CONTROL_KEY as CONF_ADDON_S2_ACCESS_CONTROL_KEY, CONF_ADDON_S2_AUTHENTICATED_KEY as CONF_ADDON_S2_AUTHENTICATED_KEY, CONF_ADDON_S2_UNAUTHENTICATED_KEY as CONF_ADDON_S2_UNAUTHENTICATED_KEY, CONF_DATA_COLLECTION_OPTED_IN as CONF_DATA_COLLECTION_OPTED_IN, CONF_INTEGRATION_CREATED_ADDON as CONF_INTEGRATION_CREATED_ADDON, CONF_LR_S2_ACCESS_CONTROL_KEY as CONF_LR_S2_ACCESS_CONTROL_KEY, CONF_LR_S2_AUTHENTICATED_KEY as CONF_LR_S2_AUTHENTICATED_KEY, CONF_NETWORK_KEY as CONF_NETWORK_KEY, CONF_S0_LEGACY_KEY as CONF_S0_LEGACY_KEY, CONF_S2_ACCESS_CONTROL_KEY as CONF_S2_ACCESS_CONTROL_KEY, CONF_S2_AUTHENTICATED_KEY as CONF_S2_AUTHENTICATED_KEY, CONF_S2_UNAUTHENTICATED_KEY as CONF_S2_UNAUTHENTICATED_KEY, CONF_USB_PATH as CONF_USB_PATH, CONF_USE_ADDON as CONF_USE_ADDON, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, EVENT_DEVICE_ADDED_TO_REGISTRY as EVENT_DEVICE_ADDED_TO_REGISTRY, EVENT_VALUE_UPDATED as EVENT_VALUE_UPDATED, LIB_LOGGER as LIB_LOGGER, LOGGER as LOGGER, LR_ADDON_VERSION as LR_ADDON_VERSION, USER_AGENT as USER_AGENT, ZWAVE_JS_NOTIFICATION_EVENT as ZWAVE_JS_NOTIFICATION_EVENT, ZWAVE_JS_VALUE_NOTIFICATION_EVENT as ZWAVE_JS_VALUE_NOTIFICATION_EVENT, ZWAVE_JS_VALUE_UPDATED_EVENT as ZWAVE_JS_VALUE_UPDATED_EVENT
5
5
  from .discovery import ZwaveDiscoveryInfo as ZwaveDiscoveryInfo, async_discover_node_values as async_discover_node_values, async_discover_single_value as async_discover_single_value
6
6
  from .helpers import async_disable_server_logging_if_needed as async_disable_server_logging_if_needed, async_enable_server_logging_if_needed as async_enable_server_logging_if_needed, async_enable_statistics as async_enable_statistics, get_device_id as get_device_id, get_device_id_ext as get_device_id_ext, get_network_identifier_for_notification as get_network_identifier_for_notification, get_unique_id as get_unique_id, get_valueless_base_unique_id as get_valueless_base_unique_id
7
7
  from .migrate import async_migrate_discovered_value as async_migrate_discovered_value
@@ -46,6 +46,7 @@ NOTIFICATION_SENSOR_MAPPINGS: tuple[NotificationZWaveJSEntityDescription, ...]
46
46
  PROPERTY_SENSOR_MAPPINGS: dict[str, PropertyZWaveJSEntityDescription]
47
47
  BOOLEAN_SENSOR_MAPPINGS: dict[int, BinarySensorEntityDescription]
48
48
 
49
+ def is_valid_notification_binary_sensor(info: ZwaveDiscoveryInfo) -> bool | NotificationZWaveJSEntityDescription: ...
49
50
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
50
51
 
51
52
  class ZWaveBooleanBinarySensor(ZWaveBaseEntity, BinarySensorEntity):
@@ -28,6 +28,7 @@ DOMAIN: str
28
28
  DATA_CLIENT: str
29
29
  DATA_OLD_SERVER_LOG_LEVEL: str
30
30
  EVENT_DEVICE_ADDED_TO_REGISTRY: Incomplete
31
+ EVENT_VALUE_UPDATED: str
31
32
  LOGGER: Incomplete
32
33
  LIB_LOGGER: Incomplete
33
34
  ATTR_RESERVED_VALUES: str
@@ -68,6 +68,8 @@ class ZWaveTiltCover(ZWaveMultilevelSwitchCover, CoverTiltMixin):
68
68
  def __init__(self, config_entry: ConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo) -> None: ...
69
69
 
70
70
  class ZWaveWindowCovering(CoverPositionMixin, CoverTiltMixin):
71
+ _up_value: Incomplete
72
+ _down_value: Incomplete
71
73
  _attr_name: Incomplete
72
74
  _attr_device_class: Incomplete
73
75
  def __init__(self, config_entry: ConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo) -> None: ...
@@ -77,6 +79,9 @@ class ZWaveWindowCovering(CoverPositionMixin, CoverTiltMixin):
77
79
  def _fully_closed_tilt(self) -> int: ...
78
80
  @property
79
81
  def _tilt_range(self) -> int: ...
82
+ async def async_open_cover(self, **kwargs: Any) -> None: ...
83
+ async def async_close_cover(self, **kwargs: Any) -> None: ...
84
+ async def async_stop_cover(self, **kwargs: Any) -> None: ...
80
85
 
81
86
  class ZwaveMotorizedBarrier(ZWaveBaseEntity, CoverEntity):
82
87
  _attr_supported_features: Incomplete
@@ -4,7 +4,7 @@ from .const import ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_ENDPOINT as AT
4
4
  from .device_automation_helpers import CONF_SUBTYPE as CONF_SUBTYPE, CONF_VALUE_ID as CONF_VALUE_ID, NODE_STATUSES as NODE_STATUSES, async_bypass_dynamic_config_validation as async_bypass_dynamic_config_validation, generate_config_parameter_subtype as generate_config_parameter_subtype
5
5
  from .helpers import async_get_node_from_device_id as async_get_node_from_device_id, check_type_schema_map as check_type_schema_map, get_value_state_schema as get_value_state_schema, get_zwave_value_from_config as get_zwave_value_from_config, remove_keys_with_empty_values as remove_keys_with_empty_values
6
6
  from _typeshed import Incomplete
7
- from homeassistant.components.device_automation.exceptions import InvalidDeviceAutomationConfig as InvalidDeviceAutomationConfig
7
+ from homeassistant.components.device_automation import InvalidDeviceAutomationConfig as InvalidDeviceAutomationConfig
8
8
  from homeassistant.const import CONF_CONDITION as CONF_CONDITION, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_TYPE as CONF_TYPE
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -6,8 +6,7 @@ from .device_automation_helpers import CONF_SUBTYPE as CONF_SUBTYPE, NODE_STATUS
6
6
  from .helpers import async_get_node_from_device_id as async_get_node_from_device_id, async_get_node_status_sensor_entity_id as async_get_node_status_sensor_entity_id, check_type_schema_map as check_type_schema_map, copy_available_params as copy_available_params, get_value_state_schema as get_value_state_schema, get_zwave_value_from_config as get_zwave_value_from_config, remove_keys_with_empty_values as remove_keys_with_empty_values
7
7
  from .triggers.value_updated import ATTR_FROM as ATTR_FROM, ATTR_TO as ATTR_TO
8
8
  from _typeshed import Incomplete
9
- from homeassistant.components.device_automation import DEVICE_TRIGGER_BASE_SCHEMA as DEVICE_TRIGGER_BASE_SCHEMA
10
- from homeassistant.components.device_automation.exceptions import InvalidDeviceAutomationConfig as InvalidDeviceAutomationConfig
9
+ from homeassistant.components.device_automation import DEVICE_TRIGGER_BASE_SCHEMA as DEVICE_TRIGGER_BASE_SCHEMA, InvalidDeviceAutomationConfig as InvalidDeviceAutomationConfig
11
10
  from homeassistant.components.homeassistant.triggers import event as event, state as state
12
11
  from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_PLATFORM as CONF_PLATFORM, CONF_TYPE as CONF_TYPE
13
12
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
@@ -1,8 +1,7 @@
1
1
  from .const import DATA_CLIENT as DATA_CLIENT, USER_AGENT as USER_AGENT
2
2
  from .helpers import ZwaveValueMatcher as ZwaveValueMatcher, get_home_and_node_id_from_device_entry as get_home_and_node_id_from_device_entry, get_state_key_from_unique_id as get_state_key_from_unique_id, get_value_id_from_unique_id as get_value_id_from_unique_id, value_matches_matcher as value_matches_matcher
3
3
  from _typeshed import Incomplete
4
- from homeassistant.components.diagnostics import REDACTED as REDACTED
5
- from homeassistant.components.diagnostics.util import async_redact_data as async_redact_data
4
+ from homeassistant.components.diagnostics import REDACTED as REDACTED, async_redact_data as async_redact_data
6
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import CONF_URL as CONF_URL
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -1,4 +1,4 @@
1
- from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
1
+ from .const import DOMAIN as DOMAIN, EVENT_VALUE_UPDATED as EVENT_VALUE_UPDATED, LOGGER as LOGGER
2
2
  from .discovery import ZwaveDiscoveryInfo as ZwaveDiscoveryInfo
3
3
  from .helpers import get_device_id as get_device_id, get_unique_id as get_unique_id, get_valueless_base_unique_id as get_valueless_base_unique_id
4
4
  from _typeshed import Incomplete
@@ -14,7 +14,6 @@ from typing import Any
14
14
  from zwave_js_server.model.driver import Driver as Driver
15
15
  from zwave_js_server.model.value import SetValueResult as SetValueResult, Value as ZwaveValue
16
16
 
17
- EVENT_VALUE_UPDATED: str
18
17
  EVENT_VALUE_REMOVED: str
19
18
  EVENT_DEAD: str
20
19
  EVENT_ALIVE: str
@@ -2,9 +2,8 @@ from .const import ATTR_AUTO_RELOCK_TIME as ATTR_AUTO_RELOCK_TIME, ATTR_BLOCK_TO
2
2
  from .discovery import ZwaveDiscoveryInfo as ZwaveDiscoveryInfo
3
3
  from .entity import ZWaveBaseEntity as ZWaveBaseEntity
4
4
  from _typeshed import Incomplete
5
- from homeassistant.components.lock import LockEntity as LockEntity
5
+ from homeassistant.components.lock import LockEntity as LockEntity, LockState as LockState
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
- from homeassistant.const import STATE_LOCKED as STATE_LOCKED, STATE_UNLOCKED as STATE_UNLOCKED
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
9
  from homeassistant.helpers import entity_platform as entity_platform
@@ -22,7 +21,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
22
21
  class ZWaveLock(ZWaveBaseEntity, LockEntity):
23
22
  @property
24
23
  def is_locked(self) -> bool | None: ...
25
- async def _set_lock_state(self, target_state: str, **kwargs: Any) -> None: ...
24
+ async def _set_lock_state(self, target_state: LockState, **kwargs: Any) -> None: ...
26
25
  async def async_lock(self, **kwargs: Any) -> None: ...
27
26
  async def async_unlock(self, **kwargs: Any) -> None: ...
28
27
  async def async_set_lock_usercode(self, code_slot: int, usercode: str) -> None: ...
@@ -1,13 +1,13 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .discovery import ZwaveDiscoveryInfo as ZwaveDiscoveryInfo
3
- from .helpers import get_unique_id as get_unique_id
3
+ from .helpers import get_unique_id as get_unique_id, get_valueless_base_unique_id as get_valueless_base_unique_id
4
4
  from _typeshed import Incomplete
5
5
  from dataclasses import dataclass
6
- from homeassistant.const import STATE_UNAVAILABLE as STATE_UNAVAILABLE
6
+ from homeassistant.const import Platform as Platform, STATE_UNAVAILABLE as STATE_UNAVAILABLE
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
- from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
9
- from homeassistant.helpers.entity_registry import EntityRegistry as EntityRegistry, RegistryEntry as RegistryEntry, async_entries_for_device as async_entries_for_device
8
+ from homeassistant.helpers import device_registry as dr, entity_registry as er
10
9
  from zwave_js_server.model.driver import Driver as Driver
10
+ from zwave_js_server.model.node import Node as Node
11
11
  from zwave_js_server.model.value import Value as ZwaveValue
12
12
 
13
13
  _LOGGER: Incomplete
@@ -25,7 +25,8 @@ class ValueID:
25
25
  def is_same_value_different_endpoints(self, other: ValueID) -> bool: ...
26
26
  def __init__(self, command_class, endpoint, property_, property_key=...) -> None: ...
27
27
 
28
- def async_migrate_old_entity(hass: HomeAssistant, ent_reg: EntityRegistry, registered_unique_ids: set[str], platform: str, device: DeviceEntry, unique_id: str) -> None: ...
29
- def async_migrate_unique_id(ent_reg: EntityRegistry, platform: str, old_unique_id: str, new_unique_id: str) -> None: ...
30
- def async_migrate_discovered_value(hass: HomeAssistant, ent_reg: EntityRegistry, registered_unique_ids: set[str], device: DeviceEntry, driver: Driver, disc_info: ZwaveDiscoveryInfo) -> None: ...
28
+ def async_migrate_old_entity(hass: HomeAssistant, ent_reg: er.EntityRegistry, registered_unique_ids: set[str], platform: Platform, device: dr.DeviceEntry, unique_id: str) -> None: ...
29
+ def async_migrate_unique_id(ent_reg: er.EntityRegistry, platform: Platform, old_unique_id: str, new_unique_id: str) -> None: ...
30
+ def async_migrate_discovered_value(hass: HomeAssistant, ent_reg: er.EntityRegistry, registered_unique_ids: set[str], device: dr.DeviceEntry, driver: Driver, disc_info: ZwaveDiscoveryInfo) -> None: ...
31
+ def async_migrate_statistics_sensors(hass: HomeAssistant, driver: Driver, node: Node, key_map: dict[str, str]) -> None: ...
31
32
  def get_old_value_ids(value: ZwaveValue) -> list[str]: ...
@@ -1,8 +1,10 @@
1
+ from .binary_sensor import is_valid_notification_binary_sensor as is_valid_notification_binary_sensor
1
2
  from .const import ATTR_METER_TYPE as ATTR_METER_TYPE, ATTR_METER_TYPE_NAME as ATTR_METER_TYPE_NAME, ATTR_VALUE as ATTR_VALUE, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, ENTITY_DESC_KEY_BATTERY as ENTITY_DESC_KEY_BATTERY, ENTITY_DESC_KEY_CO as ENTITY_DESC_KEY_CO, ENTITY_DESC_KEY_CO2 as ENTITY_DESC_KEY_CO2, ENTITY_DESC_KEY_CURRENT as ENTITY_DESC_KEY_CURRENT, ENTITY_DESC_KEY_ENERGY_MEASUREMENT as ENTITY_DESC_KEY_ENERGY_MEASUREMENT, ENTITY_DESC_KEY_ENERGY_PRODUCTION_POWER as ENTITY_DESC_KEY_ENERGY_PRODUCTION_POWER, ENTITY_DESC_KEY_ENERGY_PRODUCTION_TIME as ENTITY_DESC_KEY_ENERGY_PRODUCTION_TIME, ENTITY_DESC_KEY_ENERGY_PRODUCTION_TODAY as ENTITY_DESC_KEY_ENERGY_PRODUCTION_TODAY, ENTITY_DESC_KEY_ENERGY_PRODUCTION_TOTAL as ENTITY_DESC_KEY_ENERGY_PRODUCTION_TOTAL, ENTITY_DESC_KEY_ENERGY_TOTAL_INCREASING as ENTITY_DESC_KEY_ENERGY_TOTAL_INCREASING, ENTITY_DESC_KEY_HUMIDITY as ENTITY_DESC_KEY_HUMIDITY, ENTITY_DESC_KEY_ILLUMINANCE as ENTITY_DESC_KEY_ILLUMINANCE, ENTITY_DESC_KEY_MEASUREMENT as ENTITY_DESC_KEY_MEASUREMENT, ENTITY_DESC_KEY_POWER as ENTITY_DESC_KEY_POWER, ENTITY_DESC_KEY_POWER_FACTOR as ENTITY_DESC_KEY_POWER_FACTOR, ENTITY_DESC_KEY_PRESSURE as ENTITY_DESC_KEY_PRESSURE, ENTITY_DESC_KEY_SIGNAL_STRENGTH as ENTITY_DESC_KEY_SIGNAL_STRENGTH, ENTITY_DESC_KEY_TARGET_TEMPERATURE as ENTITY_DESC_KEY_TARGET_TEMPERATURE, ENTITY_DESC_KEY_TEMPERATURE as ENTITY_DESC_KEY_TEMPERATURE, ENTITY_DESC_KEY_TOTAL_INCREASING as ENTITY_DESC_KEY_TOTAL_INCREASING, ENTITY_DESC_KEY_UV_INDEX as ENTITY_DESC_KEY_UV_INDEX, ENTITY_DESC_KEY_VOLTAGE as ENTITY_DESC_KEY_VOLTAGE, LOGGER as LOGGER, SERVICE_RESET_METER as SERVICE_RESET_METER
2
3
  from .discovery import ZwaveDiscoveryInfo as ZwaveDiscoveryInfo
3
4
  from .discovery_data_template import NumericSensorDataTemplate as NumericSensorDataTemplate, NumericSensorDataTemplateData as NumericSensorDataTemplateData
4
5
  from .entity import ZWaveBaseEntity as ZWaveBaseEntity
5
6
  from .helpers import get_device_info as get_device_info, get_valueless_base_unique_id as get_valueless_base_unique_id
7
+ from .migrate import async_migrate_statistics_sensors as async_migrate_statistics_sensors
6
8
  from _typeshed import Incomplete
7
9
  from collections.abc import Callable as Callable, Mapping
8
10
  from dataclasses import dataclass
@@ -17,25 +19,27 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
17
19
  from homeassistant.helpers.typing import StateType as StateType, UNDEFINED as UNDEFINED
18
20
  from typing import Any
19
21
  from zwave_js_server.model.controller import Controller
20
- from zwave_js_server.model.controller.statistics import ControllerStatisticsDataType as ControllerStatisticsDataType
22
+ from zwave_js_server.model.controller.statistics import ControllerStatistics as ControllerStatistics
21
23
  from zwave_js_server.model.driver import Driver as Driver
22
24
  from zwave_js_server.model.node import Node as ZwaveNode
23
- from zwave_js_server.model.node.statistics import NodeStatisticsDataType as NodeStatisticsDataType
25
+ from zwave_js_server.model.node.statistics import NodeStatistics as NodeStatistics
24
26
 
25
27
  PARALLEL_UPDATES: int
26
28
  ENTITY_DESCRIPTION_KEY_DEVICE_CLASS_MAP: dict[tuple[str, str], SensorEntityDescription]
27
29
  ENTITY_DESCRIPTION_KEY_MAP: Incomplete
28
30
 
29
- def convert_dict_of_dicts(statistics: ControllerStatisticsDataType | NodeStatisticsDataType, key: str) -> Any: ...
31
+ def convert_nested_attr(statistics: ControllerStatistics | NodeStatistics, key: str) -> Any: ...
30
32
 
31
33
  @dataclass(frozen=True, kw_only=True)
32
34
  class ZWaveJSStatisticsSensorEntityDescription(SensorEntityDescription):
33
- convert: Callable[[ControllerStatisticsDataType | NodeStatisticsDataType, str], Any] = ...
35
+ convert: Callable[[ControllerStatistics | NodeStatistics, str], Any] = ...
34
36
  entity_registry_enabled_default: bool = ...
35
37
  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=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., convert=...) -> None: ...
36
38
 
37
39
  ENTITY_DESCRIPTION_CONTROLLER_STATISTICS_LIST: Incomplete
40
+ CONTROLLER_STATISTICS_KEY_MAP: dict[str, str]
38
41
  ENTITY_DESCRIPTION_NODE_STATISTICS_LIST: Incomplete
42
+ NODE_STATISTICS_KEY_MAP: dict[str, str]
39
43
 
40
44
  def get_entity_description(data: NumericSensorDataTemplateData) -> SensorEntityDescription: ...
41
45
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -1,5 +1,5 @@
1
1
  from ..config_validation import VALUE_SCHEMA as VALUE_SCHEMA
2
- from ..const import ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_COMMAND_CLASS_NAME as ATTR_COMMAND_CLASS_NAME, ATTR_CURRENT_VALUE as ATTR_CURRENT_VALUE, ATTR_CURRENT_VALUE_RAW as ATTR_CURRENT_VALUE_RAW, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_NODE_ID as ATTR_NODE_ID, ATTR_PREVIOUS_VALUE as ATTR_PREVIOUS_VALUE, ATTR_PREVIOUS_VALUE_RAW as ATTR_PREVIOUS_VALUE_RAW, ATTR_PROPERTY as ATTR_PROPERTY, ATTR_PROPERTY_KEY as ATTR_PROPERTY_KEY, ATTR_PROPERTY_KEY_NAME as ATTR_PROPERTY_KEY_NAME, ATTR_PROPERTY_NAME as ATTR_PROPERTY_NAME, DOMAIN as DOMAIN
2
+ from ..const import ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_COMMAND_CLASS_NAME as ATTR_COMMAND_CLASS_NAME, ATTR_CURRENT_VALUE as ATTR_CURRENT_VALUE, ATTR_CURRENT_VALUE_RAW as ATTR_CURRENT_VALUE_RAW, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_NODE_ID as ATTR_NODE_ID, ATTR_PREVIOUS_VALUE as ATTR_PREVIOUS_VALUE, ATTR_PREVIOUS_VALUE_RAW as ATTR_PREVIOUS_VALUE_RAW, ATTR_PROPERTY as ATTR_PROPERTY, ATTR_PROPERTY_KEY as ATTR_PROPERTY_KEY, ATTR_PROPERTY_KEY_NAME as ATTR_PROPERTY_KEY_NAME, ATTR_PROPERTY_NAME as ATTR_PROPERTY_NAME, DOMAIN as DOMAIN, EVENT_VALUE_UPDATED as EVENT_VALUE_UPDATED
3
3
  from ..helpers import async_get_nodes_from_targets as async_get_nodes_from_targets, get_device_id as get_device_id
4
4
  from .trigger_helpers import async_bypass_dynamic_config_validation as async_bypass_dynamic_config_validation
5
5
  from _typeshed import Incomplete
@@ -13,6 +13,7 @@ from .data_entry_flow import FLOW_NOT_COMPLETE_STEPS as FLOW_NOT_COMPLETE_STEPS,
13
13
  from .exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
14
14
  from .helpers import device_registry as device_registry, entity_registry as entity_registry, storage as storage
15
15
  from .helpers.debounce import Debouncer as Debouncer
16
+ from .helpers.discovery_flow import DiscoveryKey as DiscoveryKey
16
17
  from .helpers.dispatcher import SignalType as SignalType, async_dispatcher_send_internal as async_dispatcher_send_internal
17
18
  from .helpers.event import RANDOM_MICROSECOND_MAX as RANDOM_MICROSECOND_MAX, RANDOM_MICROSECOND_MIN as RANDOM_MICROSECOND_MIN, async_call_later as async_call_later
18
19
  from .helpers.frame import report as report
@@ -52,7 +53,6 @@ SOURCE_USB: str
52
53
  SOURCE_USER: str
53
54
  SOURCE_ZEROCONF: str
54
55
  SOURCE_IGNORE: str
55
- SOURCE_UNIGNORE: str
56
56
  SOURCE_REAUTH: str
57
57
  SOURCE_RECONFIGURE: str
58
58
  HANDLERS: Registry[str, type[ConfigFlow]]
@@ -82,6 +82,9 @@ DISCOVERY_SOURCES: Incomplete
82
82
  RECONFIGURE_NOTIFICATION_ID: str
83
83
  EVENT_FLOW_DISCOVERED: str
84
84
  SIGNAL_CONFIG_ENTRY_CHANGED: Incomplete
85
+
86
+ def signal_discovered_config_entry_removed(discovery_domain: str) -> SignalType[ConfigEntry]: ...
87
+
85
88
  NO_RESET_TRIES_STATES: Incomplete
86
89
 
87
90
  class ConfigEntryChange(StrEnum):
@@ -113,6 +116,8 @@ class ConfigFlowResult(FlowResult, total=False):
113
116
  options: Mapping[str, Any]
114
117
  version: int
115
118
 
119
+ def _validate_item(*, disabled_by: ConfigEntryDisabler | Any | None = None) -> None: ...
120
+
116
121
  class ConfigEntry(Generic[_DataT]):
117
122
  entry_id: str
118
123
  domain: str
@@ -147,7 +152,8 @@ class ConfigEntry(Generic[_DataT]):
147
152
  _tries: int
148
153
  created_at: datetime
149
154
  modified_at: datetime
150
- def __init__(self, *, created_at: datetime | None = None, data: Mapping[str, Any], disabled_by: ConfigEntryDisabler | None = None, domain: str, entry_id: str | None = None, minor_version: int, modified_at: datetime | None = None, options: Mapping[str, Any] | None, pref_disable_new_entities: bool | None = None, pref_disable_polling: bool | None = None, source: str, state: ConfigEntryState = ..., title: str, unique_id: str | None, version: int) -> None: ...
155
+ discovery_keys: MappingProxyType[str, tuple[DiscoveryKey, ...]]
156
+ def __init__(self, *, created_at: datetime | None = None, data: Mapping[str, Any], disabled_by: ConfigEntryDisabler | None = None, discovery_keys: MappingProxyType[str, tuple[DiscoveryKey, ...]], domain: str, entry_id: str | None = None, minor_version: int, modified_at: datetime | None = None, options: Mapping[str, Any] | None, pref_disable_new_entities: bool | None = None, pref_disable_polling: bool | None = None, source: str, state: ConfigEntryState = ..., title: str, unique_id: str | None, version: int) -> None: ...
151
157
  def __repr__(self) -> str: ...
152
158
  def __setattr__(self, key: str, value: Any) -> None: ...
153
159
  @property
@@ -245,7 +251,7 @@ class ConfigEntries:
245
251
  def async_schedule_reload(self, entry_id: str) -> None: ...
246
252
  async def async_reload(self, entry_id: str) -> bool: ...
247
253
  async def async_set_disabled_by(self, entry_id: str, disabled_by: ConfigEntryDisabler | None) -> bool: ...
248
- def async_update_entry(self, entry: ConfigEntry, *, data: Mapping[str, Any] | UndefinedType = ..., minor_version: int | UndefinedType = ..., options: Mapping[str, Any] | UndefinedType = ..., pref_disable_new_entities: bool | UndefinedType = ..., pref_disable_polling: bool | UndefinedType = ..., title: str | UndefinedType = ..., unique_id: str | None | UndefinedType = ..., version: int | UndefinedType = ...) -> bool: ...
254
+ def async_update_entry(self, entry: ConfigEntry, *, data: Mapping[str, Any] | UndefinedType = ..., discovery_keys: MappingProxyType[str, tuple[DiscoveryKey, ...]] | UndefinedType = ..., minor_version: int | UndefinedType = ..., options: Mapping[str, Any] | UndefinedType = ..., pref_disable_new_entities: bool | UndefinedType = ..., pref_disable_polling: bool | UndefinedType = ..., title: str | UndefinedType = ..., unique_id: str | None | UndefinedType = ..., version: int | UndefinedType = ...) -> bool: ...
249
255
  def _async_dispatch(self, change_type: ConfigEntryChange, entry: ConfigEntry) -> None: ...
250
256
  async def async_forward_entry_setups(self, entry: ConfigEntry, platforms: Iterable[Platform | str]) -> None: ...
251
257
  async def _async_forward_entry_setups_locked(self, entry: ConfigEntry, platforms: Iterable[Platform | str]) -> None: ...
@@ -278,7 +284,6 @@ class ConfigFlow(ConfigEntryBaseFlow):
278
284
  def _async_current_ids(self, include_ignore: bool = True) -> set[str | None]: ...
279
285
  def _async_in_progress(self, include_uninitialized: bool = False, match_context: dict[str, Any] | None = None) -> list[ConfigFlowResult]: ...
280
286
  async def async_step_ignore(self, user_input: dict[str, Any]) -> ConfigFlowResult: ...
281
- async def async_step_unignore(self, user_input: dict[str, Any]) -> ConfigFlowResult: ...
282
287
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
283
288
  async def _async_handle_discovery_without_unique_id(self) -> None: ...
284
289
  async def _async_step_discovery_without_unique_id(self) -> ConfigFlowResult: ...
@@ -22,6 +22,7 @@ PLATFORM_FORMAT: Final[str]
22
22
  class Platform(StrEnum):
23
23
  AIR_QUALITY = 'air_quality'
24
24
  ALARM_CONTROL_PANEL = 'alarm_control_panel'
25
+ ASSIST_SATELLITE = 'assist_satellite'
25
26
  BINARY_SENSOR = 'binary_sensor'
26
27
  BUTTON = 'button'
27
28
  CALENDAR = 'calendar'
@@ -55,9 +56,9 @@ class Platform(StrEnum):
55
56
  TIME = 'time'
56
57
  TODO = 'todo'
57
58
  TTS = 'tts'
59
+ UPDATE = 'update'
58
60
  VACUUM = 'vacuum'
59
61
  VALVE = 'valve'
60
- UPDATE = 'update'
61
62
  WAKE_WORD = 'wake_word'
62
63
  WATER_HEATER = 'water_heater'
63
64
  WEATHER = 'weather'
@@ -247,6 +248,8 @@ CONF_THEN: Final[str]
247
248
  CONF_TIMEOUT: Final[str]
248
249
  CONF_TIME_ZONE: Final[str]
249
250
  CONF_TOKEN: Final[str]
251
+ CONF_TRIGGER: Final[str]
252
+ CONF_TRIGGERS: Final[str]
250
253
  CONF_TRIGGER_TIME: Final[str]
251
254
  CONF_TTL: Final[str]
252
255
  CONF_TYPE: Final[str]
@@ -343,14 +346,14 @@ STATE_ALARM_PENDING: Final[str]
343
346
  STATE_ALARM_ARMING: Final[str]
344
347
  STATE_ALARM_DISARMING: Final[str]
345
348
  STATE_ALARM_TRIGGERED: Final[str]
346
- STATE_LOCKED: Final[str]
347
- STATE_UNLOCKED: Final[str]
348
- STATE_LOCKING: Final[str]
349
- STATE_UNLOCKING: Final[str]
350
- STATE_JAMMED: Final[str]
351
349
  STATE_UNAVAILABLE: Final[str]
352
350
  STATE_OK: Final[str]
353
351
  STATE_PROBLEM: Final[str]
352
+ _DEPRECATED_STATE_LOCKED: Final[Incomplete]
353
+ _DEPRECATED_STATE_UNLOCKED: Final[Incomplete]
354
+ _DEPRECATED_STATE_LOCKING: Final[Incomplete]
355
+ _DEPRECATED_STATE_UNLOCKING: Final[Incomplete]
356
+ _DEPRECATED_STATE_JAMMED: Final[Incomplete]
354
357
  ATTR_ATTRIBUTION: Final[str]
355
358
  ATTR_CREDENTIALS: Final[str]
356
359
  ATTR_NOW: Final[str]
@@ -433,11 +436,17 @@ class UnitOfReactivePower(StrEnum):
433
436
  _DEPRECATED_POWER_VOLT_AMPERE_REACTIVE: Final[Incomplete]
434
437
 
435
438
  class UnitOfEnergy(StrEnum):
439
+ JOULE = 'J'
440
+ KILO_JOULE = 'kJ'
441
+ MEGA_JOULE = 'MJ'
436
442
  GIGA_JOULE = 'GJ'
443
+ WATT_HOUR = 'Wh'
437
444
  KILO_WATT_HOUR = 'kWh'
438
- MEGA_JOULE = 'MJ'
439
445
  MEGA_WATT_HOUR = 'MWh'
440
- WATT_HOUR = 'Wh'
446
+ CALORIE = 'cal'
447
+ KILO_CALORIE = 'kcal'
448
+ MEGA_CALORIE = 'Mcal'
449
+ GIGA_CALORIE = 'Gcal'
441
450
 
442
451
  _DEPRECATED_ENERGY_KILO_WATT_HOUR: Final[Incomplete]
443
452
  _DEPRECATED_ENERGY_MEGA_WATT_HOUR: Final[Incomplete]
@@ -634,10 +643,12 @@ CONCENTRATION_PARTS_PER_BILLION: Final[str]
634
643
  class UnitOfSpeed(StrEnum):
635
644
  BEAUFORT = 'Beaufort'
636
645
  FEET_PER_SECOND = 'ft/s'
646
+ INCHES_PER_SECOND = 'in/s'
637
647
  METERS_PER_SECOND = 'm/s'
638
648
  KILOMETERS_PER_HOUR = 'km/h'
639
649
  KNOTS = 'kn'
640
650
  MILES_PER_HOUR = 'mph'
651
+ MILLIMETERS_PER_SECOND = 'mm/s'
641
652
 
642
653
  _DEPRECATED_SPEED_FEET_PER_SECOND: Final[Incomplete]
643
654
  _DEPRECATED_SPEED_METERS_PER_SECOND: Final[Incomplete]
@@ -10,12 +10,13 @@ from homeassistant import config_entries as config_entries
10
10
  from homeassistant.const import APPLICATION_NAME as APPLICATION_NAME, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, __version__ as __version__
11
11
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
12
12
  from homeassistant.loader import bind_hass as bind_hass
13
+ from homeassistant.util import ssl as ssl_util
13
14
  from homeassistant.util.hass_dict import HassKey as HassKey
14
15
  from homeassistant.util.json import json_loads as json_loads
15
16
  from typing import Any
16
17
 
17
- DATA_CONNECTOR: HassKey[dict[tuple[bool, int], aiohttp.BaseConnector]]
18
- DATA_CLIENTSESSION: HassKey[dict[tuple[bool, int], aiohttp.ClientSession]]
18
+ DATA_CONNECTOR: HassKey[dict[tuple[bool, int, str], aiohttp.BaseConnector]]
19
+ DATA_CLIENTSESSION: HassKey[dict[tuple[bool, int, str], aiohttp.ClientSession]]
19
20
  SERVER_SOFTWARE: Incomplete
20
21
  ENABLE_CLEANUP_CLOSED: Incomplete
21
22
  WARN_CLOSE_MSG: str
@@ -25,16 +26,16 @@ MAXIMUM_CONNECTIONS_PER_HOST: int
25
26
  class HassClientResponse(aiohttp.ClientResponse):
26
27
  async def json(self, *args: Any, loads: JSONDecoder = ..., **kwargs: Any) -> Any: ...
27
28
 
28
- def async_get_clientsession(hass: HomeAssistant, verify_ssl: bool = True, family: socket.AddressFamily = ...) -> aiohttp.ClientSession: ...
29
- def async_create_clientsession(hass: HomeAssistant, verify_ssl: bool = True, auto_cleanup: bool = True, family: socket.AddressFamily = ..., **kwargs: Any) -> aiohttp.ClientSession: ...
30
- def _async_create_clientsession(hass: HomeAssistant, verify_ssl: bool = True, auto_cleanup_method: Callable[[HomeAssistant, aiohttp.ClientSession], None] | None = None, family: socket.AddressFamily = ..., **kwargs: Any) -> aiohttp.ClientSession: ...
29
+ def async_get_clientsession(hass: HomeAssistant, verify_ssl: bool = True, family: socket.AddressFamily = ..., ssl_cipher: ssl_util.SSLCipherList = ...) -> aiohttp.ClientSession: ...
30
+ def async_create_clientsession(hass: HomeAssistant, verify_ssl: bool = True, auto_cleanup: bool = True, family: socket.AddressFamily = ..., ssl_cipher: ssl_util.SSLCipherList = ..., **kwargs: Any) -> aiohttp.ClientSession: ...
31
+ def _async_create_clientsession(hass: HomeAssistant, verify_ssl: bool = True, auto_cleanup_method: Callable[[HomeAssistant, aiohttp.ClientSession], None] | None = None, family: socket.AddressFamily = ..., ssl_cipher: ssl_util.SSLCipherList = ..., **kwargs: Any) -> aiohttp.ClientSession: ...
31
32
  async def async_aiohttp_proxy_web(hass: HomeAssistant, request: web.BaseRequest, web_coro: Awaitable[aiohttp.ClientResponse], buffer_size: int = 102400, timeout: int = 10) -> web.StreamResponse | None: ...
32
33
  async def async_aiohttp_proxy_stream(hass: HomeAssistant, request: web.BaseRequest, stream: aiohttp.StreamReader, content_type: str | None, buffer_size: int = 102400, timeout: int = 10) -> web.StreamResponse: ...
33
34
  def _async_register_clientsession_shutdown(hass: HomeAssistant, clientsession: aiohttp.ClientSession) -> None: ...
34
35
  def _async_register_default_clientsession_shutdown(hass: HomeAssistant, clientsession: aiohttp.ClientSession) -> None: ...
35
- def _make_key(verify_ssl: bool = True, family: socket.AddressFamily = ...) -> tuple[bool, socket.AddressFamily]: ...
36
+ def _make_key(verify_ssl: bool = True, family: socket.AddressFamily = ..., ssl_cipher: ssl_util.SSLCipherList = ...) -> tuple[bool, socket.AddressFamily, ssl_util.SSLCipherList]: ...
36
37
 
37
38
  class HomeAssistantTCPConnector(aiohttp.TCPConnector):
38
39
  _cleanup_closed_period: float
39
40
 
40
- def _async_get_connector(hass: HomeAssistant, verify_ssl: bool = True, family: socket.AddressFamily = ...) -> aiohttp.BaseConnector: ...
41
+ def _async_get_connector(hass: HomeAssistant, verify_ssl: bool = True, family: socket.AddressFamily = ..., ssl_cipher: ssl_util.SSLCipherList = ...) -> aiohttp.BaseConnector: ...
@@ -1,3 +1,4 @@
1
+ import logging
1
2
  import voluptuous as vol
2
3
  from .sun import get_astral_event_date as get_astral_event_date
3
4
  from .template import Template as Template, render_complex as render_complex
@@ -55,5 +56,6 @@ def numeric_state_validate_config(hass: HomeAssistant, config: ConfigType) -> Co
55
56
  def state_validate_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
56
57
  async def async_validate_condition_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
57
58
  async def async_validate_conditions_config(hass: HomeAssistant, conditions: list[ConfigType]) -> list[ConfigType | Template]: ...
59
+ async def async_conditions_from_config(hass: HomeAssistant, condition_configs: list[ConfigType], logger: logging.Logger, name: str) -> Callable[[TemplateVarsType], bool]: ...
58
60
  def async_extract_entities(config: ConfigType | Template) -> set[str]: ...
59
61
  def async_extract_devices(config: ConfigType | Template) -> set[str]: ...
@@ -9,7 +9,7 @@ from collections.abc import Callable as Callable, Hashable
9
9
  from contextvars import ContextVar
10
10
  from datetime import date as date_sys, datetime as datetime_sys, time as time_sys, timedelta
11
11
  from enum import Enum, StrEnum
12
- from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FLOOR_ID as ATTR_FLOOR_ID, ATTR_LABEL_ID as ATTR_LABEL_ID, CONF_ABOVE as CONF_ABOVE, CONF_ACTION as CONF_ACTION, CONF_ALIAS as CONF_ALIAS, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BELOW as CONF_BELOW, CONF_CHOOSE as CONF_CHOOSE, CONF_CONDITION as CONF_CONDITION, CONF_CONDITIONS as CONF_CONDITIONS, CONF_CONTINUE_ON_ERROR as CONF_CONTINUE_ON_ERROR, CONF_CONTINUE_ON_TIMEOUT as CONF_CONTINUE_ON_TIMEOUT, CONF_COUNT as CONF_COUNT, CONF_DEFAULT as CONF_DEFAULT, CONF_DELAY as CONF_DELAY, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ELSE as CONF_ELSE, CONF_ENABLED as CONF_ENABLED, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_ENTITY_NAMESPACE as CONF_ENTITY_NAMESPACE, CONF_ERROR as CONF_ERROR, CONF_EVENT as CONF_EVENT, CONF_EVENT_DATA as CONF_EVENT_DATA, CONF_EVENT_DATA_TEMPLATE as CONF_EVENT_DATA_TEMPLATE, CONF_FOR as CONF_FOR, CONF_FOR_EACH as CONF_FOR_EACH, CONF_ID as CONF_ID, CONF_IF as CONF_IF, CONF_MATCH as CONF_MATCH, CONF_PARALLEL as CONF_PARALLEL, CONF_PLATFORM as CONF_PLATFORM, CONF_REPEAT as CONF_REPEAT, CONF_RESPONSE_VARIABLE as CONF_RESPONSE_VARIABLE, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_SCENE as CONF_SCENE, CONF_SEQUENCE as CONF_SEQUENCE, CONF_SERVICE as CONF_SERVICE, CONF_SERVICE_DATA as CONF_SERVICE_DATA, CONF_SERVICE_DATA_TEMPLATE as CONF_SERVICE_DATA_TEMPLATE, CONF_SERVICE_TEMPLATE as CONF_SERVICE_TEMPLATE, CONF_SET_CONVERSATION_RESPONSE as CONF_SET_CONVERSATION_RESPONSE, CONF_STATE as CONF_STATE, CONF_STOP as CONF_STOP, CONF_TARGET as CONF_TARGET, CONF_THEN as CONF_THEN, CONF_TIMEOUT as CONF_TIMEOUT, CONF_UNTIL as CONF_UNTIL, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_VARIABLES as CONF_VARIABLES, CONF_WAIT_FOR_TRIGGER as CONF_WAIT_FOR_TRIGGER, CONF_WAIT_TEMPLATE as CONF_WAIT_TEMPLATE, CONF_WHILE as CONF_WHILE, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_ANY as ENTITY_MATCH_ANY, ENTITY_MATCH_NONE as ENTITY_MATCH_NONE, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET, UnitOfTemperature as UnitOfTemperature, WEEKDAYS as WEEKDAYS
12
+ from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FLOOR_ID as ATTR_FLOOR_ID, ATTR_LABEL_ID as ATTR_LABEL_ID, CONF_ABOVE as CONF_ABOVE, CONF_ACTION as CONF_ACTION, CONF_ALIAS as CONF_ALIAS, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BELOW as CONF_BELOW, CONF_CHOOSE as CONF_CHOOSE, CONF_CONDITION as CONF_CONDITION, CONF_CONDITIONS as CONF_CONDITIONS, CONF_CONTINUE_ON_ERROR as CONF_CONTINUE_ON_ERROR, CONF_CONTINUE_ON_TIMEOUT as CONF_CONTINUE_ON_TIMEOUT, CONF_COUNT as CONF_COUNT, CONF_DEFAULT as CONF_DEFAULT, CONF_DELAY as CONF_DELAY, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ELSE as CONF_ELSE, CONF_ENABLED as CONF_ENABLED, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_ENTITY_NAMESPACE as CONF_ENTITY_NAMESPACE, CONF_ERROR as CONF_ERROR, CONF_EVENT as CONF_EVENT, CONF_EVENT_DATA as CONF_EVENT_DATA, CONF_EVENT_DATA_TEMPLATE as CONF_EVENT_DATA_TEMPLATE, CONF_FOR as CONF_FOR, CONF_FOR_EACH as CONF_FOR_EACH, CONF_ID as CONF_ID, CONF_IF as CONF_IF, CONF_MATCH as CONF_MATCH, CONF_PARALLEL as CONF_PARALLEL, CONF_PLATFORM as CONF_PLATFORM, CONF_REPEAT as CONF_REPEAT, CONF_RESPONSE_VARIABLE as CONF_RESPONSE_VARIABLE, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_SCENE as CONF_SCENE, CONF_SEQUENCE as CONF_SEQUENCE, CONF_SERVICE as CONF_SERVICE, CONF_SERVICE_DATA as CONF_SERVICE_DATA, CONF_SERVICE_DATA_TEMPLATE as CONF_SERVICE_DATA_TEMPLATE, CONF_SERVICE_TEMPLATE as CONF_SERVICE_TEMPLATE, CONF_SET_CONVERSATION_RESPONSE as CONF_SET_CONVERSATION_RESPONSE, CONF_STATE as CONF_STATE, CONF_STOP as CONF_STOP, CONF_TARGET as CONF_TARGET, CONF_THEN as CONF_THEN, CONF_TIMEOUT as CONF_TIMEOUT, CONF_TRIGGER as CONF_TRIGGER, CONF_TRIGGERS as CONF_TRIGGERS, CONF_UNTIL as CONF_UNTIL, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_VARIABLES as CONF_VARIABLES, CONF_WAIT_FOR_TRIGGER as CONF_WAIT_FOR_TRIGGER, CONF_WAIT_TEMPLATE as CONF_WAIT_TEMPLATE, CONF_WHILE as CONF_WHILE, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_ANY as ENTITY_MATCH_ANY, ENTITY_MATCH_NONE as ENTITY_MATCH_NONE, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET, UnitOfTemperature as UnitOfTemperature, WEEKDAYS as WEEKDAYS
13
13
  from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass, async_get_hass_or_none as async_get_hass_or_none, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
14
14
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, TemplateError as TemplateError
15
15
  from homeassistant.generated import currencies as currencies
@@ -204,9 +204,13 @@ CONDITION_SHORTHAND_SCHEMA: Incomplete
204
204
  CONDITION_SCHEMA: vol.Schema
205
205
  CONDITIONS_SCHEMA: Incomplete
206
206
  CONDITION_ACTION_SCHEMA: vol.Schema
207
+
208
+ def _trigger_pre_validator(value: Any | None) -> Any: ...
209
+
207
210
  TRIGGER_BASE_SCHEMA: Incomplete
208
211
  _base_trigger_validator_schema: Incomplete
209
212
 
213
+ def _base_trigger_list_flatten(triggers: list[Any]) -> list[Any]: ...
210
214
  def _base_trigger_validator(value: Any) -> Any: ...
211
215
 
212
216
  TRIGGER_SCHEMA: Incomplete
@@ -1,10 +1,10 @@
1
- from ..util.signal_type import SignalTypeFormat as SignalTypeFormat
2
1
  from .dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send_internal as async_dispatcher_send_internal
3
2
  from .typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
4
3
  from collections.abc import Callable as Callable, Coroutine
5
4
  from homeassistant import core as core, setup as setup
6
5
  from homeassistant.const import Platform as Platform
7
6
  from homeassistant.loader import bind_hass as bind_hass
7
+ from homeassistant.util.signal_type import SignalTypeFormat as SignalTypeFormat
8
8
  from typing import Any, TypedDict
9
9
 
10
10
  SIGNAL_PLATFORM_DISCOVERED: SignalTypeFormat[DiscoveryDict]