homeassistant-stubs 2025.7.4__py3-none-any.whl → 2025.8.0b1__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.

Potentially problematic release.


This version of homeassistant-stubs might be problematic. Click here for more details.

Files changed (481) hide show
  1. homeassistant-stubs/bootstrap.pyi +1 -1
  2. homeassistant-stubs/components/airnow/__init__.pyi +0 -1
  3. homeassistant-stubs/components/airnow/config_flow.pyi +2 -2
  4. homeassistant-stubs/components/airos/__init__.pyi +9 -0
  5. homeassistant-stubs/components/airos/config_flow.pyi +14 -0
  6. homeassistant-stubs/components/airos/const.pyi +5 -0
  7. homeassistant-stubs/components/airos/coordinator.pyi +16 -0
  8. homeassistant-stubs/components/airos/entity.pyi +11 -0
  9. homeassistant-stubs/components/airos/sensor.pyi +29 -0
  10. homeassistant-stubs/components/airq/const.pyi +0 -1
  11. homeassistant-stubs/components/airq/sensor.pyi +2 -2
  12. homeassistant-stubs/components/airthings/sensor.pyi +1 -1
  13. homeassistant-stubs/components/alexa_devices/__init__.pyi +6 -0
  14. homeassistant-stubs/components/alexa_devices/config_flow.pyi +10 -0
  15. homeassistant-stubs/components/alexa_devices/coordinator.pyi +4 -3
  16. homeassistant-stubs/components/alexa_devices/services.pyi +24 -0
  17. homeassistant-stubs/components/amberelectric/__init__.pyi +7 -1
  18. homeassistant-stubs/components/amberelectric/const.pyi +8 -1
  19. homeassistant-stubs/components/amberelectric/coordinator.pyi +1 -2
  20. homeassistant-stubs/components/amberelectric/helpers.pyi +6 -0
  21. homeassistant-stubs/components/amberelectric/sensor.pyi +2 -2
  22. homeassistant-stubs/components/amberelectric/services.pyi +15 -0
  23. homeassistant-stubs/components/analytics/__init__.pyi +1 -0
  24. homeassistant-stubs/components/analytics/analytics.pyi +3 -0
  25. homeassistant-stubs/components/analytics/http.pyi +10 -0
  26. homeassistant-stubs/components/analytics_insights/__init__.pyi +0 -1
  27. homeassistant-stubs/components/analytics_insights/config_flow.pyi +2 -2
  28. homeassistant-stubs/components/androidtv_remote/__init__.pyi +2 -6
  29. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +6 -6
  30. homeassistant-stubs/components/androidtv_remote/diagnostics.pyi +1 -1
  31. homeassistant-stubs/components/androidtv_remote/entity.pyi +2 -2
  32. homeassistant-stubs/components/androidtv_remote/helpers.pyi +3 -1
  33. homeassistant-stubs/components/androidtv_remote/media_player.pyi +4 -4
  34. homeassistant-stubs/components/androidtv_remote/remote.pyi +1 -1
  35. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  36. homeassistant-stubs/components/assist_pipeline/const.pyi +0 -1
  37. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +2 -5
  38. homeassistant-stubs/components/awair/const.pyi +1 -0
  39. homeassistant-stubs/components/awair/sensor.pyi +1 -1
  40. homeassistant-stubs/components/backup/__init__.pyi +6 -2
  41. homeassistant-stubs/components/backup/coordinator.pyi +0 -1
  42. homeassistant-stubs/components/backup/manager.pyi +6 -3
  43. homeassistant-stubs/components/backup/onboarding.pyi +1 -1
  44. homeassistant-stubs/components/backup/services.pyi +7 -0
  45. homeassistant-stubs/components/backup/websocket.pyi +4 -1
  46. homeassistant-stubs/components/blue_current/__init__.pyi +5 -5
  47. homeassistant-stubs/components/blue_current/const.pyi +11 -0
  48. homeassistant-stubs/components/blue_current/switch.pyi +40 -0
  49. homeassistant-stubs/components/bosch_alarm/__init__.pyi +1 -1
  50. homeassistant-stubs/components/bosch_alarm/services.pyi +3 -2
  51. homeassistant-stubs/components/bring/__init__.pyi +5 -0
  52. homeassistant-stubs/components/bring/const.pyi +4 -0
  53. homeassistant-stubs/components/bring/services.pyi +14 -0
  54. homeassistant-stubs/components/cloud/backup.pyi +3 -3
  55. homeassistant-stubs/components/cloud/repairs.pyi +3 -3
  56. homeassistant-stubs/components/cloud/subscription.pyi +2 -1
  57. homeassistant-stubs/components/cloud/tts.pyi +2 -1
  58. homeassistant-stubs/components/command_line/sensor.pyi +0 -2
  59. homeassistant-stubs/components/demo/vacuum.pyi +0 -3
  60. homeassistant-stubs/components/derivative/__init__.pyi +5 -1
  61. homeassistant-stubs/components/derivative/config_flow.pyi +2 -0
  62. homeassistant-stubs/components/derivative/sensor.pyi +7 -4
  63. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +3 -7
  64. homeassistant-stubs/components/devolo_home_control/entity.pyi +0 -1
  65. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +2 -2
  66. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -2
  67. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -1
  68. homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -1
  69. homeassistant-stubs/components/discovergy/__init__.pyi +1 -0
  70. homeassistant-stubs/components/discovergy/coordinator.pyi +1 -0
  71. homeassistant-stubs/components/dnsip/__init__.pyi +0 -1
  72. homeassistant-stubs/components/dnsip/config_flow.pyi +2 -2
  73. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +13 -3
  74. homeassistant-stubs/components/ecovacs/sensor.pyi +13 -0
  75. homeassistant-stubs/components/ecovacs/vacuum.pyi +1 -7
  76. homeassistant-stubs/components/eheimdigital/config_flow.pyi +2 -1
  77. homeassistant-stubs/components/elevenlabs/config_flow.pyi +1 -1
  78. homeassistant-stubs/components/elevenlabs/const.pyi +0 -2
  79. homeassistant-stubs/components/elevenlabs/tts.pyi +2 -3
  80. homeassistant-stubs/components/enphase_envoy/__init__.pyi +0 -2
  81. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -2
  82. homeassistant-stubs/components/esphome/config_flow.pyi +2 -0
  83. homeassistant-stubs/components/esphome/encryption_key_storage.pyi +29 -0
  84. homeassistant-stubs/components/esphome/entity.pyi +3 -1
  85. homeassistant-stubs/components/esphome/entry_data.pyi +14 -6
  86. homeassistant-stubs/components/esphome/manager.pyi +3 -1
  87. homeassistant-stubs/components/feedreader/__init__.pyi +0 -1
  88. homeassistant-stubs/components/feedreader/config_flow.pyi +3 -3
  89. homeassistant-stubs/components/forecast_solar/__init__.pyi +0 -1
  90. homeassistant-stubs/components/forecast_solar/config_flow.pyi +2 -2
  91. homeassistant-stubs/components/fritz/__init__.pyi +0 -1
  92. homeassistant-stubs/components/fritz/config_flow.pyi +2 -2
  93. homeassistant-stubs/components/fritzbox_callmonitor/__init__.pyi +0 -1
  94. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +2 -2
  95. homeassistant-stubs/components/frontend/__init__.pyi +1 -0
  96. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +3 -1
  97. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  98. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +3 -3
  99. homeassistant-stubs/components/generic_thermostat/__init__.pyi +5 -1
  100. homeassistant-stubs/components/generic_thermostat/climate.pyi +3 -3
  101. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  102. homeassistant-stubs/components/geo_location/trigger.pyi +0 -1
  103. homeassistant-stubs/components/gios/const.pyi +2 -0
  104. homeassistant-stubs/components/gios/sensor.pyi +1 -1
  105. homeassistant-stubs/components/google_assistant_sdk/application_credentials.pyi +1 -0
  106. homeassistant-stubs/components/google_cloud/const.pyi +1 -0
  107. homeassistant-stubs/components/google_cloud/stt.pyi +3 -2
  108. homeassistant-stubs/components/guardian/__init__.pyi +1 -1
  109. homeassistant-stubs/components/guardian/services.pyi +2 -1
  110. homeassistant-stubs/components/habitica/button.pyi +3 -4
  111. homeassistant-stubs/components/habitica/coordinator.pyi +2 -3
  112. homeassistant-stubs/components/habitica/entity.pyi +1 -1
  113. homeassistant-stubs/components/habitica/sensor.pyi +3 -18
  114. homeassistant-stubs/components/habitica/switch.pyi +4 -3
  115. homeassistant-stubs/components/habitica/util.pyi +2 -1
  116. homeassistant-stubs/components/heos/__init__.pyi +1 -1
  117. homeassistant-stubs/components/heos/config_flow.pyi +3 -0
  118. homeassistant-stubs/components/heos/services.pyi +3 -2
  119. homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
  120. homeassistant-stubs/components/here_travel_time/config_flow.pyi +3 -2
  121. homeassistant-stubs/components/here_travel_time/const.pyi +1 -0
  122. homeassistant-stubs/components/here_travel_time/coordinator.pyi +1 -1
  123. homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
  124. homeassistant-stubs/components/history_stats/__init__.pyi +5 -1
  125. homeassistant-stubs/components/history_stats/config_flow.pyi +14 -0
  126. homeassistant-stubs/components/history_stats/coordinator.pyi +3 -1
  127. homeassistant-stubs/components/history_stats/data.pyi +2 -1
  128. homeassistant-stubs/components/history_stats/helpers.pyi +1 -1
  129. homeassistant-stubs/components/history_stats/sensor.pyi +7 -4
  130. homeassistant-stubs/components/holiday/__init__.pyi +0 -1
  131. homeassistant-stubs/components/holiday/config_flow.pyi +2 -2
  132. homeassistant-stubs/components/home_connect/__init__.pyi +1 -1
  133. homeassistant-stubs/components/home_connect/services.pyi +3 -2
  134. homeassistant-stubs/components/homeassistant/__init__.pyi +2 -1
  135. homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -1
  136. homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +2 -1
  137. homeassistant-stubs/components/homee/__init__.pyi +1 -1
  138. homeassistant-stubs/components/homee/config_flow.pyi +5 -0
  139. homeassistant-stubs/components/homekit/__init__.pyi +2 -1
  140. homeassistant-stubs/components/http/__init__.pyi +1 -2
  141. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -2
  142. homeassistant-stubs/components/huawei_lte/config_flow.pyi +5 -4
  143. homeassistant-stubs/components/huawei_lte/const.pyi +1 -1
  144. homeassistant-stubs/components/huawei_lte/diagnostics.pyi +18 -0
  145. homeassistant-stubs/components/husqvarna_automower/button.pyi +2 -2
  146. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +3 -0
  147. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +15 -13
  148. homeassistant-stubs/components/husqvarna_automower/entity.pyi +2 -6
  149. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +2 -2
  150. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +5 -0
  151. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -1
  152. homeassistant-stubs/components/hydrawise/const.pyi +1 -0
  153. homeassistant-stubs/components/hydrawise/coordinator.pyi +9 -2
  154. homeassistant-stubs/components/hydrawise/entity.pyi +1 -1
  155. homeassistant-stubs/components/hydrawise/sensor.pyi +1 -1
  156. homeassistant-stubs/components/hydrawise/switch.pyi +1 -1
  157. homeassistant-stubs/components/hydrawise/valve.pyi +1 -1
  158. homeassistant-stubs/components/hyperion/__init__.pyi +0 -1
  159. homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
  160. homeassistant-stubs/components/imgw_pib/sensor.pyi +7 -1
  161. homeassistant-stubs/components/immich/__init__.pyi +6 -0
  162. homeassistant-stubs/components/immich/media_source.pyi +1 -0
  163. homeassistant-stubs/components/immich/services.pyi +18 -0
  164. homeassistant-stubs/components/input_text/__init__.pyi +1 -1
  165. homeassistant-stubs/components/integration/__init__.pyi +5 -1
  166. homeassistant-stubs/components/integration/config_flow.pyi +1 -0
  167. homeassistant-stubs/components/integration/sensor.pyi +5 -6
  168. homeassistant-stubs/components/iron_os/__init__.pyi +0 -3
  169. homeassistant-stubs/components/iron_os/const.pyi +4 -0
  170. homeassistant-stubs/components/iron_os/coordinator.pyi +1 -1
  171. homeassistant-stubs/components/iron_os/number.pyi +20 -4
  172. homeassistant-stubs/components/iron_os/switch.pyi +2 -0
  173. homeassistant-stubs/components/isy994/__init__.pyi +0 -1
  174. homeassistant-stubs/components/isy994/config_flow.pyi +3 -3
  175. homeassistant-stubs/components/jellyfin/browse_media.pyi +2 -1
  176. homeassistant-stubs/components/jellyfin/media_player.pyi +5 -2
  177. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +5 -15
  178. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +2 -2
  179. homeassistant-stubs/components/jewish_calendar/entity.pyi +19 -5
  180. homeassistant-stubs/components/jewish_calendar/sensor.pyi +11 -7
  181. homeassistant-stubs/components/knx/__init__.pyi +6 -40
  182. homeassistant-stubs/components/knx/binary_sensor.pyi +3 -2
  183. homeassistant-stubs/components/knx/button.pyi +1 -1
  184. homeassistant-stubs/components/knx/climate.pyi +1 -1
  185. homeassistant-stubs/components/knx/config_flow.pyi +14 -21
  186. homeassistant-stubs/components/knx/const.pyi +1 -1
  187. homeassistant-stubs/components/knx/cover.pyi +3 -2
  188. homeassistant-stubs/components/knx/date.pyi +1 -1
  189. homeassistant-stubs/components/knx/datetime.pyi +1 -1
  190. homeassistant-stubs/components/knx/entity.pyi +1 -1
  191. homeassistant-stubs/components/knx/fan.pyi +1 -1
  192. homeassistant-stubs/components/knx/knx_module.pyi +43 -0
  193. homeassistant-stubs/components/knx/light.pyi +3 -2
  194. homeassistant-stubs/components/knx/notify.pyi +1 -1
  195. homeassistant-stubs/components/knx/number.pyi +1 -1
  196. homeassistant-stubs/components/knx/scene.pyi +1 -1
  197. homeassistant-stubs/components/knx/select.pyi +1 -1
  198. homeassistant-stubs/components/knx/sensor.pyi +1 -1
  199. homeassistant-stubs/components/knx/services.pyi +2 -2
  200. homeassistant-stubs/components/knx/storage/config_store.pyi +4 -0
  201. homeassistant-stubs/components/knx/storage/const.pyi +8 -7
  202. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +3 -10
  203. homeassistant-stubs/components/knx/storage/knx_selector.pyi +4 -0
  204. homeassistant-stubs/components/knx/storage/migration.pyi +5 -0
  205. homeassistant-stubs/components/knx/storage/util.pyi +16 -0
  206. homeassistant-stubs/components/knx/switch.pyi +3 -2
  207. homeassistant-stubs/components/knx/text.pyi +1 -1
  208. homeassistant-stubs/components/knx/time.pyi +1 -1
  209. homeassistant-stubs/components/knx/weather.pyi +1 -1
  210. homeassistant-stubs/components/knx/websocket.pyi +1 -1
  211. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
  212. homeassistant-stubs/components/lcn/binary_sensor.pyi +1 -20
  213. homeassistant-stubs/components/lcn/helpers.pyi +1 -0
  214. homeassistant-stubs/components/lcn/light.pyi +2 -1
  215. homeassistant-stubs/components/letpot/coordinator.pyi +3 -4
  216. homeassistant-stubs/components/letpot/switch.pyi +1 -1
  217. homeassistant-stubs/components/letpot/time.pyi +1 -1
  218. homeassistant-stubs/components/lifx/const.pyi +1 -0
  219. homeassistant-stubs/components/lifx/coordinator.pyi +5 -1
  220. homeassistant-stubs/components/lifx/manager.pyi +1 -1
  221. homeassistant-stubs/components/linkplay/select.pyi +35 -0
  222. homeassistant-stubs/components/litterrobot/sensor.pyi +3 -0
  223. homeassistant-stubs/components/matrix/__init__.pyi +1 -1
  224. homeassistant-stubs/components/matrix/services.pyi +3 -2
  225. homeassistant-stubs/components/matter/entity.pyi +2 -2
  226. homeassistant-stubs/components/matter/number.pyi +29 -1
  227. homeassistant-stubs/components/matter/select.pyi +2 -2
  228. homeassistant-stubs/components/matter/vacuum.pyi +2 -0
  229. homeassistant-stubs/components/mcp_server/server.pyi +1 -1
  230. homeassistant-stubs/components/mealie/const.pyi +2 -0
  231. homeassistant-stubs/components/mealie/services.pyi +4 -1
  232. homeassistant-stubs/components/media_player/const.pyi +2 -2
  233. homeassistant-stubs/components/media_source/const.pyi +3 -0
  234. homeassistant-stubs/components/media_source/local_source.pyi +1 -1
  235. homeassistant-stubs/components/media_source/models.pyi +6 -2
  236. homeassistant-stubs/components/met_eireann/__init__.pyi +2 -17
  237. homeassistant-stubs/components/met_eireann/coordinator.pyi +28 -0
  238. homeassistant-stubs/components/met_eireann/weather.pyi +1 -3
  239. homeassistant-stubs/components/miele/__init__.pyi +5 -0
  240. homeassistant-stubs/components/miele/coordinator.pyi +1 -1
  241. homeassistant-stubs/components/miele/entity.pyi +2 -0
  242. homeassistant-stubs/components/miele/sensor.pyi +7 -6
  243. homeassistant-stubs/components/miele/services.pyi +24 -0
  244. homeassistant-stubs/components/miele/vacuum.pyi +0 -2
  245. homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
  246. homeassistant-stubs/components/mold_indicator/__init__.pyi +8 -1
  247. homeassistant-stubs/components/mold_indicator/config_flow.pyi +2 -0
  248. homeassistant-stubs/components/mold_indicator/sensor.pyi +2 -2
  249. homeassistant-stubs/components/mqtt/climate.pyi +1 -37
  250. homeassistant-stubs/components/mqtt/config_flow.pyi +38 -6
  251. homeassistant-stubs/components/mqtt/const.pyi +33 -2
  252. homeassistant-stubs/components/mqtt/repairs.pyi +15 -0
  253. homeassistant-stubs/components/nasweb/const.pyi +1 -0
  254. homeassistant-stubs/components/nasweb/coordinator.pyi +3 -1
  255. homeassistant-stubs/components/nasweb/sensor.pyi +54 -0
  256. homeassistant-stubs/components/netatmo/climate.pyi +1 -1
  257. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  258. homeassistant-stubs/components/nextdns/__init__.pyi +2 -3
  259. homeassistant-stubs/components/nextdns/coordinator.pyi +10 -2
  260. homeassistant-stubs/components/nordpool/const.pyi +1 -0
  261. homeassistant-stubs/components/nordpool/services.pyi +5 -1
  262. homeassistant-stubs/components/number/const.pyi +2 -1
  263. homeassistant-stubs/components/nut/__init__.pyi +0 -1
  264. homeassistant-stubs/components/onewire/__init__.pyi +0 -1
  265. homeassistant-stubs/components/onewire/config_flow.pyi +2 -2
  266. homeassistant-stubs/components/onkyo/__init__.pyi +2 -3
  267. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -6
  268. homeassistant-stubs/components/onkyo/const.pyi +7 -65
  269. homeassistant-stubs/components/onkyo/media_player.pyi +16 -44
  270. homeassistant-stubs/components/onkyo/receiver.pyi +24 -25
  271. homeassistant-stubs/components/onkyo/services.pyi +3 -3
  272. homeassistant-stubs/components/onkyo/util.pyi +3 -0
  273. homeassistant-stubs/components/open_router/__init__.pyi +15 -0
  274. homeassistant-stubs/components/open_router/ai_task.pyi +17 -0
  275. homeassistant-stubs/components/open_router/config_flow.pyi +30 -0
  276. homeassistant-stubs/components/open_router/const.pyi +8 -0
  277. homeassistant-stubs/components/open_router/conversation.pyi +20 -0
  278. homeassistant-stubs/components/open_router/entity.pyi +33 -0
  279. homeassistant-stubs/components/openai_conversation/__init__.pyi +3 -2
  280. homeassistant-stubs/components/openai_conversation/ai_task.pyi +16 -0
  281. homeassistant-stubs/components/openai_conversation/config_flow.pyi +2 -3
  282. homeassistant-stubs/components/openai_conversation/const.pyi +9 -1
  283. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -22
  284. homeassistant-stubs/components/openai_conversation/entity.pyi +36 -0
  285. homeassistant-stubs/components/opower/__init__.pyi +8 -0
  286. homeassistant-stubs/components/opower/config_flow.pyi +25 -0
  287. homeassistant-stubs/components/opower/const.pyi +3 -0
  288. homeassistant-stubs/components/opower/coordinator.pyi +24 -0
  289. homeassistant-stubs/components/opower/sensor.pyi +35 -0
  290. homeassistant-stubs/components/pegel_online/__init__.pyi +1 -1
  291. homeassistant-stubs/components/pegel_online/sensor.pyi +2 -0
  292. homeassistant-stubs/components/pi_hole/__init__.pyi +6 -2
  293. homeassistant-stubs/components/pi_hole/config_flow.pyi +1 -2
  294. homeassistant-stubs/components/pi_hole/const.pyi +1 -0
  295. homeassistant-stubs/components/pi_hole/sensor.pyi +5 -0
  296. homeassistant-stubs/components/pi_hole/update.pyi +3 -3
  297. homeassistant-stubs/components/ping/__init__.pyi +0 -1
  298. homeassistant-stubs/components/ping/config_flow.pyi +3 -3
  299. homeassistant-stubs/components/plugwise/select.pyi +1 -1
  300. homeassistant-stubs/components/proximity/__init__.pyi +0 -1
  301. homeassistant-stubs/components/proximity/config_flow.pyi +3 -3
  302. homeassistant-stubs/components/purpleair/__init__.pyi +0 -1
  303. homeassistant-stubs/components/purpleair/config_flow.pyi +2 -2
  304. homeassistant-stubs/components/pyload/config_flow.pyi +4 -0
  305. homeassistant-stubs/components/recorder/pool.pyi +2 -1
  306. homeassistant-stubs/components/renault/__init__.pyi +1 -1
  307. homeassistant-stubs/components/renault/services.pyi +3 -2
  308. homeassistant-stubs/components/reolink/__init__.pyi +0 -1
  309. homeassistant-stubs/components/reolink/config_flow.pyi +2 -2
  310. homeassistant-stubs/components/reolink/number.pyi +1 -1
  311. homeassistant-stubs/components/reolink/sensor.pyi +1 -1
  312. homeassistant-stubs/components/rest/sensor.pyi +1 -3
  313. homeassistant-stubs/components/roborock/__init__.pyi +0 -1
  314. homeassistant-stubs/components/roborock/config_flow.pyi +2 -2
  315. homeassistant-stubs/components/roku/__init__.pyi +0 -1
  316. homeassistant-stubs/components/roku/config_flow.pyi +2 -2
  317. homeassistant-stubs/components/russound_rio/const.pyi +2 -0
  318. homeassistant-stubs/components/russound_rio/media_player.pyi +6 -0
  319. homeassistant-stubs/components/scrape/sensor.pyi +1 -2
  320. homeassistant-stubs/components/sensor/const.pyi +2 -1
  321. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  322. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  323. homeassistant-stubs/components/shelly/button.pyi +2 -2
  324. homeassistant-stubs/components/shelly/climate.pyi +2 -2
  325. homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
  326. homeassistant-stubs/components/shelly/entity.pyi +3 -0
  327. homeassistant-stubs/components/shelly/event.pyi +2 -2
  328. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  329. homeassistant-stubs/components/shelly/utils.pyi +2 -2
  330. homeassistant-stubs/components/sleepiq/const.pyi +2 -0
  331. homeassistant-stubs/components/sleepiq/number.pyi +7 -3
  332. homeassistant-stubs/components/sleepiq/select.pyi +15 -2
  333. homeassistant-stubs/components/smhi/coordinator.pyi +3 -0
  334. homeassistant-stubs/components/smhi/entity.pyi +3 -1
  335. homeassistant-stubs/components/smhi/sensor.pyi +30 -0
  336. homeassistant-stubs/components/smhi/weather.pyi +4 -2
  337. homeassistant-stubs/components/sonarr/__init__.pyi +0 -1
  338. homeassistant-stubs/components/sonarr/config_flow.pyi +2 -2
  339. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +0 -1
  340. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +2 -2
  341. homeassistant-stubs/components/sql/__init__.pyi +0 -1
  342. homeassistant-stubs/components/sql/config_flow.pyi +2 -2
  343. homeassistant-stubs/components/squeezebox/__init__.pyi +3 -2
  344. homeassistant-stubs/components/squeezebox/const.pyi +2 -3
  345. homeassistant-stubs/components/squeezebox/coordinator.pyi +2 -2
  346. homeassistant-stubs/components/squeezebox/media_player.pyi +2 -2
  347. homeassistant-stubs/components/statistics/__init__.pyi +3 -1
  348. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  349. homeassistant-stubs/components/statistics/sensor.pyi +5 -5
  350. homeassistant-stubs/components/stookwijzer/__init__.pyi +4 -0
  351. homeassistant-stubs/components/stookwijzer/const.pyi +2 -0
  352. homeassistant-stubs/components/stookwijzer/services.pyi +17 -0
  353. homeassistant-stubs/components/switch_as_x/__init__.pyi +2 -2
  354. homeassistant-stubs/components/switch_as_x/entity.pyi +1 -3
  355. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -0
  356. homeassistant-stubs/components/switchbot_cloud/const.pyi +1 -0
  357. homeassistant-stubs/components/switchbot_cloud/fan.pyi +26 -0
  358. homeassistant-stubs/components/switchbot_cloud/light.pyi +40 -0
  359. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +17 -1
  360. homeassistant-stubs/components/synology_dsm/__init__.pyi +0 -1
  361. homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
  362. homeassistant-stubs/components/tankerkoenig/__init__.pyi +10 -0
  363. homeassistant-stubs/components/tankerkoenig/binary_sensor.pyi +23 -0
  364. homeassistant-stubs/components/tankerkoenig/config_flow.pyi +33 -0
  365. homeassistant-stubs/components/tankerkoenig/const.pyi +13 -0
  366. homeassistant-stubs/components/tankerkoenig/coordinator.pyi +22 -0
  367. homeassistant-stubs/components/tankerkoenig/diagnostics.pyi +10 -0
  368. homeassistant-stubs/components/tankerkoenig/entity.pyi +11 -0
  369. homeassistant-stubs/components/tankerkoenig/sensor.pyi +28 -0
  370. homeassistant-stubs/components/threshold/__init__.pyi +5 -1
  371. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -4
  372. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  373. homeassistant-stubs/components/time_date/config_flow.pyi +1 -2
  374. homeassistant-stubs/components/trafikverket_train/__init__.pyi +0 -1
  375. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +2 -2
  376. homeassistant-stubs/components/trend/__init__.pyi +3 -1
  377. homeassistant-stubs/components/trend/binary_sensor.pyi +3 -4
  378. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  379. homeassistant-stubs/components/tts/entity.pyi +0 -2
  380. homeassistant-stubs/components/unifiprotect/__init__.pyi +5 -5
  381. homeassistant-stubs/components/unifiprotect/config_flow.pyi +5 -5
  382. homeassistant-stubs/components/unifiprotect/repairs.pyi +0 -6
  383. homeassistant-stubs/components/unifiprotect/services.pyi +1 -1
  384. homeassistant-stubs/components/uptime_kuma/__init__.pyi +14 -0
  385. homeassistant-stubs/components/uptime_kuma/config_flow.pyi +26 -0
  386. homeassistant-stubs/components/uptime_kuma/const.pyi +7 -0
  387. homeassistant-stubs/components/uptime_kuma/coordinator.pyi +30 -0
  388. homeassistant-stubs/components/uptime_kuma/diagnostics.pyi +9 -0
  389. homeassistant-stubs/components/uptime_kuma/sensor.pyi +46 -0
  390. homeassistant-stubs/components/uptime_kuma/update.pyi +39 -0
  391. homeassistant-stubs/components/vacuum/__init__.pyi +7 -0
  392. homeassistant-stubs/components/velbus/__init__.pyi +1 -1
  393. homeassistant-stubs/components/velbus/const.pyi +0 -1
  394. homeassistant-stubs/components/velbus/services.pyi +4 -4
  395. homeassistant-stubs/components/vodafone_station/__init__.pyi +0 -1
  396. homeassistant-stubs/components/vodafone_station/config_flow.pyi +2 -2
  397. homeassistant-stubs/components/volvo/__init__.pyi +15 -0
  398. homeassistant-stubs/components/volvo/api.pyi +14 -0
  399. homeassistant-stubs/components/volvo/application_credentials.pyi +9 -0
  400. homeassistant-stubs/components/volvo/config_flow.pyi +34 -0
  401. homeassistant-stubs/components/volvo/const.pyi +8 -0
  402. homeassistant-stubs/components/volvo/coordinator.pyi +46 -0
  403. homeassistant-stubs/components/volvo/entity.pyi +33 -0
  404. homeassistant-stubs/components/volvo/sensor.pyi +35 -0
  405. homeassistant-stubs/components/wallbox/__init__.pyi +4 -5
  406. homeassistant-stubs/components/wallbox/coordinator.pyi +8 -2
  407. homeassistant-stubs/components/wallbox/lock.pyi +5 -4
  408. homeassistant-stubs/components/wallbox/number.pyi +6 -5
  409. homeassistant-stubs/components/wallbox/select.pyi +4 -3
  410. homeassistant-stubs/components/wallbox/sensor.pyi +5 -4
  411. homeassistant-stubs/components/wallbox/switch.pyi +5 -4
  412. homeassistant-stubs/components/waqi/__init__.pyi +3 -5
  413. homeassistant-stubs/components/waqi/coordinator.pyi +3 -2
  414. homeassistant-stubs/components/waqi/sensor.pyi +2 -13
  415. homeassistant-stubs/components/webostv/__init__.pyi +0 -1
  416. homeassistant-stubs/components/webostv/config_flow.pyi +3 -3
  417. homeassistant-stubs/components/websocket_api/commands.pyi +4 -0
  418. homeassistant-stubs/components/wiz/fan.pyi +34 -0
  419. homeassistant-stubs/components/wled/__init__.pyi +0 -1
  420. homeassistant-stubs/components/wled/config_flow.pyi +2 -2
  421. homeassistant-stubs/components/workday/__init__.pyi +0 -1
  422. homeassistant-stubs/components/workday/config_flow.pyi +2 -2
  423. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +0 -1
  424. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +2 -2
  425. homeassistant-stubs/components/yalexs_ble/lock.pyi +14 -2
  426. homeassistant-stubs/components/zone/condition.pyi +22 -0
  427. homeassistant-stubs/components/zone/trigger.pyi +2 -1
  428. homeassistant-stubs/components/zwave_js/__init__.pyi +10 -9
  429. homeassistant-stubs/components/zwave_js/api.pyi +35 -34
  430. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +7 -7
  431. homeassistant-stubs/components/zwave_js/button.pyi +5 -5
  432. homeassistant-stubs/components/zwave_js/climate.pyi +5 -5
  433. homeassistant-stubs/components/zwave_js/config_flow.pyi +4 -3
  434. homeassistant-stubs/components/zwave_js/const.pyi +0 -2
  435. homeassistant-stubs/components/zwave_js/cover.pyi +7 -7
  436. homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi +1 -1
  437. homeassistant-stubs/components/zwave_js/diagnostics.pyi +5 -5
  438. homeassistant-stubs/components/zwave_js/event.pyi +4 -4
  439. homeassistant-stubs/components/zwave_js/fan.pyi +6 -6
  440. homeassistant-stubs/components/zwave_js/helpers.pyi +6 -5
  441. homeassistant-stubs/components/zwave_js/humidifier.pyi +4 -4
  442. homeassistant-stubs/components/zwave_js/light.pyi +15 -5
  443. homeassistant-stubs/components/zwave_js/lock.pyi +3 -3
  444. homeassistant-stubs/components/zwave_js/models.pyi +12 -0
  445. homeassistant-stubs/components/zwave_js/number.pyi +6 -6
  446. homeassistant-stubs/components/zwave_js/select.pyi +8 -8
  447. homeassistant-stubs/components/zwave_js/sensor.pyi +10 -10
  448. homeassistant-stubs/components/zwave_js/siren.pyi +4 -4
  449. homeassistant-stubs/components/zwave_js/switch.pyi +7 -7
  450. homeassistant-stubs/components/zwave_js/triggers/event.pyi +1 -2
  451. homeassistant-stubs/components/zwave_js/triggers/trigger_helpers.pyi +1 -1
  452. homeassistant-stubs/components/zwave_js/update.pyi +28 -18
  453. homeassistant-stubs/config.pyi +0 -2
  454. homeassistant-stubs/config_entries.pyi +3 -0
  455. homeassistant-stubs/const.pyi +2 -0
  456. homeassistant-stubs/core.pyi +12 -8
  457. homeassistant-stubs/helpers/condition.pyi +25 -6
  458. homeassistant-stubs/helpers/config_validation.pyi +0 -2
  459. homeassistant-stubs/helpers/device.pyi +2 -0
  460. homeassistant-stubs/helpers/device_registry.pyi +11 -6
  461. homeassistant-stubs/helpers/entity.pyi +3 -1
  462. homeassistant-stubs/helpers/entity_platform.pyi +30 -9
  463. homeassistant-stubs/helpers/frame.pyi +1 -1
  464. homeassistant-stubs/helpers/helper_integration.pyi +2 -1
  465. homeassistant-stubs/helpers/llm.pyi +5 -1
  466. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +1 -0
  467. homeassistant-stubs/helpers/selector.pyi +42 -37
  468. homeassistant-stubs/helpers/service.pyi +9 -26
  469. homeassistant-stubs/helpers/target.pyi +59 -0
  470. homeassistant-stubs/helpers/trigger.pyi +3 -1
  471. homeassistant-stubs/helpers/trigger_template_entity.pyi +5 -1
  472. homeassistant-stubs/loader.pyi +2 -9
  473. homeassistant-stubs/runner.pyi +1 -0
  474. homeassistant-stubs/util/resource.pyi +7 -0
  475. homeassistant-stubs/util/unit_conversion.pyi +1 -1
  476. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b1.dist-info}/METADATA +2 -2
  477. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b1.dist-info}/RECORD +479 -411
  478. homeassistant-stubs/components/backup/basic_websocket.pyi +0 -12
  479. homeassistant-stubs/helpers/backup.pyi +0 -24
  480. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b1.dist-info}/WHEEL +0 -0
  481. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b1.dist-info}/licenses/LICENSE +0 -0
@@ -1,15 +1,15 @@
1
1
  from .binary_sensor import is_valid_notification_binary_sensor as is_valid_notification_binary_sensor
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_LEVEL as ENTITY_DESC_KEY_BATTERY_LEVEL, ENTITY_DESC_KEY_BATTERY_LIST_STATE as ENTITY_DESC_KEY_BATTERY_LIST_STATE, ENTITY_DESC_KEY_BATTERY_MAXIMUM_CAPACITY as ENTITY_DESC_KEY_BATTERY_MAXIMUM_CAPACITY, ENTITY_DESC_KEY_BATTERY_TEMPERATURE as ENTITY_DESC_KEY_BATTERY_TEMPERATURE, 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
+ from .const import ATTR_METER_TYPE as ATTR_METER_TYPE, ATTR_METER_TYPE_NAME as ATTR_METER_TYPE_NAME, ATTR_VALUE as ATTR_VALUE, DOMAIN as DOMAIN, ENTITY_DESC_KEY_BATTERY_LEVEL as ENTITY_DESC_KEY_BATTERY_LEVEL, ENTITY_DESC_KEY_BATTERY_LIST_STATE as ENTITY_DESC_KEY_BATTERY_LIST_STATE, ENTITY_DESC_KEY_BATTERY_MAXIMUM_CAPACITY as ENTITY_DESC_KEY_BATTERY_MAXIMUM_CAPACITY, ENTITY_DESC_KEY_BATTERY_TEMPERATURE as ENTITY_DESC_KEY_BATTERY_TEMPERATURE, 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
3
3
  from .discovery import ZwaveDiscoveryInfo as ZwaveDiscoveryInfo
4
4
  from .discovery_data_template import NumericSensorDataTemplate as NumericSensorDataTemplate, NumericSensorDataTemplateData as NumericSensorDataTemplateData
5
5
  from .entity import ZWaveBaseEntity as ZWaveBaseEntity
6
6
  from .helpers import get_device_info as get_device_info, get_valueless_base_unique_id as get_valueless_base_unique_id
7
7
  from .migrate import async_migrate_statistics_sensors as async_migrate_statistics_sensors
8
+ from .models import ZwaveJSConfigEntry as ZwaveJSConfigEntry
8
9
  from _typeshed import Incomplete
9
10
  from collections.abc import Callable as Callable, Mapping
10
11
  from dataclasses import dataclass
11
12
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
12
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
13
13
  from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UV_INDEX as UV_INDEX, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
14
14
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
15
15
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -41,14 +41,14 @@ ENTITY_DESCRIPTION_NODE_STATISTICS_LIST: Incomplete
41
41
  NODE_STATISTICS_KEY_MAP: dict[str, str]
42
42
 
43
43
  def get_entity_description(data: NumericSensorDataTemplateData) -> SensorEntityDescription: ...
44
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
44
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ZwaveJSConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
45
45
 
46
46
  class ZwaveSensor(ZWaveBaseEntity, SensorEntity):
47
47
  entity_description: Incomplete
48
48
  _attr_native_unit_of_measurement: Incomplete
49
49
  _attr_force_update: bool
50
50
  _attr_name: Incomplete
51
- def __init__(self, config_entry: ConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo, entity_description: SensorEntityDescription, unit_of_measurement: str | None = None) -> None: ...
51
+ def __init__(self, config_entry: ZwaveJSConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo, entity_description: SensorEntityDescription, unit_of_measurement: str | None = None) -> None: ...
52
52
  @property
53
53
  def native_value(self) -> StateType: ...
54
54
  @property
@@ -56,7 +56,7 @@ class ZwaveSensor(ZWaveBaseEntity, SensorEntity):
56
56
 
57
57
  class ZWaveNumericSensor(ZwaveSensor):
58
58
  _attr_name: Incomplete
59
- def __init__(self, config_entry: ConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo, entity_description: SensorEntityDescription, unit_of_measurement: str | None = None) -> None: ...
59
+ def __init__(self, config_entry: ZwaveJSConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo, entity_description: SensorEntityDescription, unit_of_measurement: str | None = None) -> None: ...
60
60
  entity_description: Incomplete
61
61
  _attr_native_unit_of_measurement: Incomplete
62
62
  @callback
@@ -73,14 +73,14 @@ class ZWaveListSensor(ZwaveSensor):
73
73
  _attr_name: Incomplete
74
74
  _attr_device_class: Incomplete
75
75
  _attr_options: Incomplete
76
- def __init__(self, config_entry: ConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo, entity_description: SensorEntityDescription, unit_of_measurement: str | None = None) -> None: ...
76
+ def __init__(self, config_entry: ZwaveJSConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo, entity_description: SensorEntityDescription, unit_of_measurement: str | None = None) -> None: ...
77
77
  @property
78
78
  def extra_state_attributes(self) -> dict[str, str] | None: ...
79
79
 
80
80
  class ZWaveConfigParameterSensor(ZWaveListSensor):
81
81
  _attr_entity_category: Incomplete
82
82
  _attr_name: Incomplete
83
- def __init__(self, config_entry: ConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo, entity_description: SensorEntityDescription, unit_of_measurement: str | None = None) -> None: ...
83
+ def __init__(self, config_entry: ZwaveJSConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo, entity_description: SensorEntityDescription, unit_of_measurement: str | None = None) -> None: ...
84
84
  @property
85
85
  def extra_state_attributes(self) -> dict[str, str] | None: ...
86
86
 
@@ -94,7 +94,7 @@ class ZWaveNodeStatusSensor(SensorEntity):
94
94
  _base_unique_id: Incomplete
95
95
  _attr_unique_id: Incomplete
96
96
  _attr_device_info: Incomplete
97
- def __init__(self, config_entry: ConfigEntry, driver: Driver, node: ZwaveNode) -> None: ...
97
+ def __init__(self, config_entry: ZwaveJSConfigEntry, driver: Driver, node: ZwaveNode) -> None: ...
98
98
  async def async_poll_value(self, _: bool) -> None: ...
99
99
  _attr_native_value: Incomplete
100
100
  @callback
@@ -111,7 +111,7 @@ class ZWaveControllerStatusSensor(SensorEntity):
111
111
  _base_unique_id: Incomplete
112
112
  _attr_unique_id: Incomplete
113
113
  _attr_device_info: Incomplete
114
- def __init__(self, config_entry: ConfigEntry, driver: Driver) -> None: ...
114
+ def __init__(self, config_entry: ZwaveJSConfigEntry, driver: Driver) -> None: ...
115
115
  async def async_poll_value(self, _: bool) -> None: ...
116
116
  _attr_native_value: Incomplete
117
117
  @callback
@@ -128,7 +128,7 @@ class ZWaveStatisticsSensor(SensorEntity):
128
128
  _base_unique_id: Incomplete
129
129
  _attr_unique_id: Incomplete
130
130
  _attr_device_info: Incomplete
131
- def __init__(self, config_entry: ConfigEntry, driver: Driver, statistics_src: ZwaveNode | Controller, description: ZWaveJSStatisticsSensorEntityDescription) -> None: ...
131
+ def __init__(self, config_entry: ZwaveJSConfigEntry, driver: Driver, statistics_src: ZwaveNode | Controller, description: ZWaveJSStatisticsSensorEntityDescription) -> None: ...
132
132
  async def async_poll_value(self, _: bool) -> None: ...
133
133
  _attr_native_value: Incomplete
134
134
  @callback
@@ -1,9 +1,9 @@
1
- from .const import DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN
1
+ from .const import DOMAIN as DOMAIN
2
2
  from .discovery import ZwaveDiscoveryInfo as ZwaveDiscoveryInfo
3
3
  from .entity import ZWaveBaseEntity as ZWaveBaseEntity
4
+ from .models import ZwaveJSConfigEntry as ZwaveJSConfigEntry
4
5
  from _typeshed import Incomplete
5
6
  from homeassistant.components.siren import ATTR_TONE as ATTR_TONE, ATTR_VOLUME_LEVEL as ATTR_VOLUME_LEVEL, SirenEntity as SirenEntity, SirenEntityFeature as SirenEntityFeature
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -12,13 +12,13 @@ from zwave_js_server.model.driver import Driver as Driver
12
12
 
13
13
  PARALLEL_UPDATES: int
14
14
 
15
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ZwaveJSConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
16
 
17
17
  class ZwaveSirenEntity(ZWaveBaseEntity, SirenEntity):
18
18
  _attr_available_tones: Incomplete
19
19
  _attr_supported_features: Incomplete
20
20
  _attr_name: Incomplete
21
- def __init__(self, config_entry: ConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo) -> None: ...
21
+ def __init__(self, config_entry: ZwaveJSConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo) -> None: ...
22
22
  @property
23
23
  def is_on(self) -> bool | None: ...
24
24
  async def async_turn_on(self, **kwargs: Any) -> None: ...
@@ -1,9 +1,9 @@
1
- from .const import DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN
1
+ from .const import DOMAIN as DOMAIN
2
2
  from .discovery import ZwaveDiscoveryInfo as ZwaveDiscoveryInfo
3
3
  from .entity import ZWaveBaseEntity as ZWaveBaseEntity
4
+ from .models import ZwaveJSConfigEntry as ZwaveJSConfigEntry
4
5
  from _typeshed import Incomplete
5
6
  from homeassistant.components.switch import SwitchEntity as SwitchEntity
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import EntityCategory as EntityCategory
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
@@ -13,11 +13,11 @@ from zwave_js_server.model.driver import Driver as Driver
13
13
 
14
14
  PARALLEL_UPDATES: int
15
15
 
16
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ZwaveJSConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
17
 
18
18
  class ZWaveSwitch(ZWaveBaseEntity, SwitchEntity):
19
19
  _target_value: Incomplete
20
- def __init__(self, config_entry: ConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo) -> None: ...
20
+ def __init__(self, config_entry: ZwaveJSConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo) -> None: ...
21
21
  @property
22
22
  def is_on(self) -> bool | None: ...
23
23
  async def async_turn_on(self, **kwargs: Any) -> None: ...
@@ -26,12 +26,12 @@ class ZWaveSwitch(ZWaveBaseEntity, SwitchEntity):
26
26
  class ZWaveIndicatorSwitch(ZWaveSwitch):
27
27
  _target_value: Incomplete
28
28
  _attr_name: Incomplete
29
- def __init__(self, config_entry: ConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo) -> None: ...
29
+ def __init__(self, config_entry: ZwaveJSConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo) -> None: ...
30
30
 
31
31
  class ZWaveBarrierEventSignalingSwitch(ZWaveBaseEntity, SwitchEntity):
32
32
  _state: bool | None
33
33
  _attr_name: Incomplete
34
- def __init__(self, config_entry: ConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo) -> None: ...
34
+ def __init__(self, config_entry: ZwaveJSConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo) -> None: ...
35
35
  @callback
36
36
  def on_value_update(self) -> None: ...
37
37
  @property
@@ -44,6 +44,6 @@ class ZWaveBarrierEventSignalingSwitch(ZWaveBaseEntity, SwitchEntity):
44
44
  class ZWaveConfigParameterSwitch(ZWaveSwitch):
45
45
  _attr_entity_category: Incomplete
46
46
  _attr_name: Incomplete
47
- def __init__(self, config_entry: ConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo) -> None: ...
47
+ def __init__(self, config_entry: ZwaveJSConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo) -> None: ...
48
48
  async def async_turn_on(self, **kwargs: Any) -> None: ...
49
49
  async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -1,4 +1,4 @@
1
- from ..const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, ATTR_EVENT as ATTR_EVENT, ATTR_EVENT_DATA as ATTR_EVENT_DATA, ATTR_EVENT_SOURCE as ATTR_EVENT_SOURCE, ATTR_NODE_ID as ATTR_NODE_ID, ATTR_PARTIAL_DICT_MATCH as ATTR_PARTIAL_DICT_MATCH, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN
1
+ from ..const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, ATTR_EVENT as ATTR_EVENT, ATTR_EVENT_DATA as ATTR_EVENT_DATA, ATTR_EVENT_SOURCE as ATTR_EVENT_SOURCE, ATTR_NODE_ID as ATTR_NODE_ID, ATTR_PARTIAL_DICT_MATCH as ATTR_PARTIAL_DICT_MATCH, DOMAIN as DOMAIN
2
2
  from ..helpers import async_get_nodes_from_targets as async_get_nodes_from_targets, get_device_id as get_device_id, get_home_and_node_id_from_device_entry as get_home_and_node_id_from_device_entry
3
3
  from .trigger_helpers import async_bypass_dynamic_config_validation as async_bypass_dynamic_config_validation
4
4
  from _typeshed import Incomplete
@@ -8,7 +8,6 @@ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJo
8
8
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
9
9
  from homeassistant.helpers.trigger import Trigger as Trigger, TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
10
10
  from homeassistant.helpers.typing import ConfigType as ConfigType
11
- from zwave_js_server.client import Client as Client
12
11
  from zwave_js_server.model.driver import Driver as Driver
13
12
 
14
13
  PLATFORM_TYPE: Incomplete
@@ -1,4 +1,4 @@
1
- from ..const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN
1
+ from ..const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, DOMAIN as DOMAIN
2
2
  from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
3
3
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -1,11 +1,11 @@
1
- from .const import API_KEY_FIRMWARE_UPDATE_SERVICE as API_KEY_FIRMWARE_UPDATE_SERVICE, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, LOGGER as LOGGER
1
+ from .const import API_KEY_FIRMWARE_UPDATE_SERVICE as API_KEY_FIRMWARE_UPDATE_SERVICE, DOMAIN as DOMAIN, LOGGER as LOGGER
2
2
  from .helpers import get_device_info as get_device_info, get_valueless_base_unique_id as get_valueless_base_unique_id
3
+ from .models import ZwaveJSConfigEntry as ZwaveJSConfigEntry
3
4
  from _typeshed import Incomplete
4
- from collections.abc import Callable as Callable
5
+ from collections.abc import Awaitable, Callable as Callable
5
6
  from dataclasses import dataclass
6
7
  from datetime import datetime, timedelta
7
- from homeassistant.components.update import ATTR_LATEST_VERSION as ATTR_LATEST_VERSION, UpdateDeviceClass as UpdateDeviceClass, UpdateEntity as UpdateEntity, UpdateEntityFeature as UpdateEntityFeature
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
+ from homeassistant.components.update import ATTR_LATEST_VERSION as ATTR_LATEST_VERSION, UpdateDeviceClass as UpdateDeviceClass, UpdateEntity as UpdateEntity, UpdateEntityDescription as UpdateEntityDescription, UpdateEntityFeature as UpdateEntityFeature
9
9
  from homeassistant.const import EntityCategory as EntityCategory
10
10
  from homeassistant.core import CoreState as CoreState, HomeAssistant as HomeAssistant, callback as callback
11
11
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -15,55 +15,65 @@ from homeassistant.helpers.event import async_call_later as async_call_later
15
15
  from homeassistant.helpers.restore_state import ExtraStoredData as ExtraStoredData
16
16
  from typing import Any, Final
17
17
  from zwave_js_server.model.driver import Driver as Driver
18
+ from zwave_js_server.model.firmware import FirmwareUpdateInfo, FirmwareUpdateProgress as FirmwareUpdateProgress, FirmwareUpdateResult as FirmwareUpdateResult
18
19
  from zwave_js_server.model.node import Node as ZwaveNode
19
- from zwave_js_server.model.node.firmware import NodeFirmwareUpdateInfo, NodeFirmwareUpdateProgress as NodeFirmwareUpdateProgress, NodeFirmwareUpdateResult as NodeFirmwareUpdateResult
20
20
 
21
21
  PARALLEL_UPDATES: int
22
22
  UPDATE_DELAY_STRING: str
23
23
  UPDATE_DELAY_INTERVAL: int
24
24
  ATTR_LATEST_VERSION_FIRMWARE: str
25
25
 
26
+ @dataclass(frozen=True, kw_only=True)
27
+ class ZWaveUpdateEntityDescription(UpdateEntityDescription):
28
+ install_method: Callable[[ZWaveFirmwareUpdateEntity, FirmwareUpdateInfo], Awaitable[FirmwareUpdateResult]]
29
+ progress_method: Callable[[ZWaveFirmwareUpdateEntity], Callable[[], None]]
30
+ finished_method: Callable[[ZWaveFirmwareUpdateEntity], Callable[[], None]]
31
+
32
+ CONTROLLER_UPDATE_ENTITY_DESCRIPTION: Incomplete
33
+ NODE_UPDATE_ENTITY_DESCRIPTION: Incomplete
34
+
26
35
  @dataclass
27
- class ZWaveNodeFirmwareUpdateExtraStoredData(ExtraStoredData):
28
- latest_version_firmware: NodeFirmwareUpdateInfo | None
36
+ class ZWaveFirmwareUpdateExtraStoredData(ExtraStoredData):
37
+ latest_version_firmware: FirmwareUpdateInfo | None
29
38
  def as_dict(self) -> dict[str, Any]: ...
30
39
  @classmethod
31
- def from_dict(cls, data: dict[str, Any]) -> ZWaveNodeFirmwareUpdateExtraStoredData: ...
40
+ def from_dict(cls, data: dict[str, Any]) -> ZWaveFirmwareUpdateExtraStoredData: ...
32
41
 
33
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
42
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ZwaveJSConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
34
43
 
35
- class ZWaveNodeFirmwareUpdate(UpdateEntity):
44
+ class ZWaveFirmwareUpdateEntity(UpdateEntity):
45
+ driver: Driver
46
+ entity_description: ZWaveUpdateEntityDescription
47
+ node: ZwaveNode
36
48
  _attr_entity_category: Incomplete
37
49
  _attr_device_class: Incomplete
38
50
  _attr_supported_features: Incomplete
39
51
  _attr_has_entity_name: bool
40
52
  _attr_should_poll: bool
41
- driver: Incomplete
42
- node: Incomplete
43
- _latest_version_firmware: NodeFirmwareUpdateInfo | None
53
+ _latest_version_firmware: FirmwareUpdateInfo | None
44
54
  _status_unsub: Callable[[], None] | None
45
55
  _poll_unsub: Callable[[], None] | None
46
56
  _progress_unsub: Callable[[], None] | None
47
57
  _finished_unsub: Callable[[], None] | None
48
58
  _finished_event: Incomplete
49
- _result: NodeFirmwareUpdateResult | None
59
+ _result: FirmwareUpdateResult | None
50
60
  _delay: Final[timedelta]
51
61
  _attr_name: str
52
62
  _base_unique_id: Incomplete
53
63
  _attr_unique_id: Incomplete
54
64
  _attr_installed_version: Incomplete
55
65
  _attr_device_info: Incomplete
56
- def __init__(self, driver: Driver, node: ZwaveNode, delay: timedelta) -> None: ...
66
+ def __init__(self, driver: Driver, node: ZwaveNode, delay: timedelta, entity_description: ZWaveUpdateEntityDescription) -> None: ...
57
67
  @property
58
- def extra_restore_state_data(self) -> ZWaveNodeFirmwareUpdateExtraStoredData: ...
68
+ def extra_restore_state_data(self) -> ZWaveFirmwareUpdateExtraStoredData: ...
59
69
  @callback
60
70
  def _update_on_status_change(self, _: dict[str, Any]) -> None: ...
61
71
  _attr_in_progress: bool
62
72
  _attr_update_percentage: Incomplete
63
73
  @callback
64
- def _update_progress(self, event: dict[str, Any]) -> None: ...
74
+ def update_progress(self, event: dict[str, Any]) -> None: ...
65
75
  @callback
66
- def _update_finished(self, event: dict[str, Any]) -> None: ...
76
+ def update_finished(self, event: dict[str, Any]) -> None: ...
67
77
  @callback
68
78
  def _unsub_firmware_events_and_reset_progress(self, write_state: bool = True) -> None: ...
69
79
  _attr_latest_version: Incomplete
@@ -18,8 +18,6 @@ from enum import StrEnum
18
18
  from typing import Any
19
19
 
20
20
  _LOGGER: Incomplete
21
- RE_YAML_ERROR: Incomplete
22
- RE_ASCII: Incomplete
23
21
  YAML_CONFIG_FILE: str
24
22
  VERSION_FILE: str
25
23
  CONFIG_DIR_NAME: str
@@ -481,6 +481,9 @@ class OptionsFlowWithConfigEntry(OptionsFlow):
481
481
  @property
482
482
  def options(self) -> dict[str, Any]: ...
483
483
 
484
+ class OptionsFlowWithReload(OptionsFlow):
485
+ automatic_reload: bool
486
+
484
487
  class EntityRegistryDisabledHandler:
485
488
  hass: Incomplete
486
489
  registry: er.EntityRegistry | None
@@ -210,6 +210,7 @@ CONF_PLATFORM: Final[str]
210
210
  CONF_PORT: Final[str]
211
211
  CONF_PREFIX: Final[str]
212
212
  CONF_PROFILE_NAME: Final[str]
213
+ CONF_PROMPT: Final[str]
213
214
  CONF_PROTOCOL: Final[str]
214
215
  CONF_PROXY_SSL: Final[str]
215
216
  CONF_QUOTE: Final[str]
@@ -569,6 +570,7 @@ class UnitOfPrecipitationDepth(StrEnum):
569
570
  MILLIMETERS = 'mm'
570
571
  CENTIMETERS = 'cm'
571
572
 
573
+ CONCENTRATION_GRAMS_PER_CUBIC_METER: Final[str]
572
574
  CONCENTRATION_MICROGRAMS_PER_CUBIC_METER: Final[str]
573
575
  CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER: Final[str]
574
576
  CONCENTRATION_MICROGRAMS_PER_CUBIC_FOOT: Final[str]
@@ -50,12 +50,14 @@ class ConfigSource(enum.StrEnum, deprecated={'DEFAULT': ('core_config.ConfigSour
50
50
 
51
51
  class EventStateEventData(TypedDict):
52
52
  entity_id: str
53
- new_state: State | None
54
53
 
55
54
  class EventStateChangedData(EventStateEventData):
55
+ new_state: State | None
56
56
  old_state: State | None
57
57
 
58
58
  class EventStateReportedData(EventStateEventData):
59
+ last_reported: datetime.datetime
60
+ new_state: State
59
61
  old_last_reported: datetime.datetime
60
62
 
61
63
  def _deprecated_core_config() -> Any: ...
@@ -328,15 +330,17 @@ class CompressedState(TypedDict):
328
330
  lu: NotRequired[float]
329
331
 
330
332
  class State:
333
+ entity_id: str
334
+ domain: str
335
+ object_id: str
336
+ state: str
337
+ attributes: ReadOnlyDict[str, Any]
338
+ last_changed: datetime.datetime
339
+ last_reported: datetime.datetime
340
+ last_updated: datetime.datetime
341
+ context: Context
331
342
  __slots__: Incomplete
332
343
  _cache: dict[str, Any]
333
- entity_id: Incomplete
334
- state: Incomplete
335
- attributes: Incomplete
336
- last_reported: Incomplete
337
- last_updated: Incomplete
338
- last_changed: Incomplete
339
- context: Incomplete
340
344
  state_info: Incomplete
341
345
  last_updated_timestamp: Incomplete
342
346
  def __init__(self, entity_id: str, state: str, attributes: Mapping[str, Any] | None = None, last_changed: datetime.datetime | None = None, last_reported: datetime.datetime | None = None, last_updated: datetime.datetime | None = None, context: Context | None = None, validate_entity_id: bool | None = True, state_info: StateInfo | None = None, last_updated_timestamp: float | None = None) -> None: ...
@@ -1,25 +1,43 @@
1
1
  import abc
2
2
  import logging
3
+ from .integration_platform import async_process_integration_platforms as async_process_integration_platforms
3
4
  from .template import Template as Template, render_complex as render_complex
4
5
  from .trace import TraceElement as TraceElement, trace_append_element as trace_append_element, trace_path as trace_path, trace_path_get as trace_path_get, trace_stack_cv as trace_stack_cv, trace_stack_pop as trace_stack_pop, trace_stack_push as trace_stack_push, trace_stack_top as trace_stack_top
5
6
  from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
6
7
  from _typeshed import Incomplete
7
- from collections.abc import Callable, Container, Generator
8
+ from collections.abc import Callable, Container, Coroutine, Generator, Iterable
8
9
  from contextlib import contextmanager
9
10
  from datetime import time as dt_time, timedelta
10
- from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
11
- from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_GPS_ACCURACY as ATTR_GPS_ACCURACY, ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, CONF_ABOVE as CONF_ABOVE, CONF_AFTER as CONF_AFTER, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BEFORE as CONF_BEFORE, CONF_BELOW as CONF_BELOW, CONF_CONDITION as CONF_CONDITION, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_ENABLED as CONF_ENABLED, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FOR as CONF_FOR, CONF_ID as CONF_ID, CONF_MATCH as CONF_MATCH, CONF_STATE as CONF_STATE, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_WEEKDAY as CONF_WEEKDAY, CONF_ZONE as CONF_ZONE, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_ANY as ENTITY_MATCH_ANY, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, WEEKDAYS as WEEKDAYS
11
+ from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, CONF_ABOVE as CONF_ABOVE, CONF_AFTER as CONF_AFTER, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BEFORE as CONF_BEFORE, CONF_BELOW as CONF_BELOW, CONF_CONDITION as CONF_CONDITION, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_ENABLED as CONF_ENABLED, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FOR as CONF_FOR, CONF_ID as CONF_ID, CONF_MATCH as CONF_MATCH, CONF_STATE as CONF_STATE, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_WEEKDAY as CONF_WEEKDAY, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_ANY as ENTITY_MATCH_ANY, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, WEEKDAYS as WEEKDAYS
12
12
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
13
13
  from homeassistant.exceptions import ConditionError as ConditionError, ConditionErrorContainer as ConditionErrorContainer, ConditionErrorIndex as ConditionErrorIndex, ConditionErrorMessage as ConditionErrorMessage, HomeAssistantError as HomeAssistantError, TemplateError as TemplateError
14
- from homeassistant.loader import IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration
14
+ from homeassistant.loader import Integration as Integration, IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration, async_get_integrations as async_get_integrations
15
15
  from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
16
+ from homeassistant.util.hass_dict import HassKey as HassKey
17
+ from homeassistant.util.yaml import load_yaml_dict as load_yaml_dict
18
+ from homeassistant.util.yaml.loader import JSON_TYPE as JSON_TYPE
16
19
  from typing import Any, Protocol
17
20
 
18
21
  ASYNC_FROM_CONFIG_FORMAT: str
19
22
  FROM_CONFIG_FORMAT: str
20
23
  VALIDATE_CONFIG_FORMAT: str
24
+ _LOGGER: Incomplete
21
25
  _PLATFORM_ALIASES: dict[str | None, str | None]
22
26
  INPUT_ENTITY_ID: Incomplete
27
+ CONDITION_DESCRIPTION_CACHE: HassKey[dict[str, dict[str, Any] | None]]
28
+ CONDITION_PLATFORM_SUBSCRIPTIONS: HassKey[list[Callable[[set[str]], Coroutine[Any, Any, None]]]]
29
+ CONDITIONS: HassKey[dict[str, str]]
30
+ _FIELD_SCHEMA: Incomplete
31
+ _CONDITION_SCHEMA: Incomplete
32
+
33
+ def starts_with_dot(key: str) -> str: ...
34
+
35
+ _CONDITIONS_SCHEMA: Incomplete
36
+
37
+ async def async_setup(hass: HomeAssistant) -> None: ...
38
+ @callback
39
+ def async_subscribe_platform_events(hass: HomeAssistant, on_event: Callable[[set[str]], Coroutine[Any, Any, None]]) -> Callable[[], None]: ...
40
+ async def _register_condition_platform(hass: HomeAssistant, integration_domain: str, platform: ConditionProtocol) -> None: ...
23
41
 
24
42
  class Condition(abc.ABC, metaclass=abc.ABCMeta):
25
43
  def __init__(self, hass: HomeAssistant, config: ConfigType) -> None: ...
@@ -54,8 +72,6 @@ def async_template(hass: HomeAssistant, value_template: Template, variables: Tem
54
72
  def async_template_from_config(config: ConfigType) -> ConditionCheckerType: ...
55
73
  def time(hass: HomeAssistant, before: dt_time | str | None = None, after: dt_time | str | None = None, weekday: str | Container[str] | None = None) -> bool: ...
56
74
  def time_from_config(config: ConfigType) -> ConditionCheckerType: ...
57
- def zone(hass: HomeAssistant, zone_ent: str | State | None, entity: str | State | None) -> bool: ...
58
- def zone_from_config(config: ConfigType) -> ConditionCheckerType: ...
59
75
  async def async_trigger_from_config(hass: HomeAssistant, config: ConfigType) -> ConditionCheckerType: ...
60
76
  def numeric_state_validate_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
61
77
  def state_validate_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
@@ -66,3 +82,6 @@ async def async_conditions_from_config(hass: HomeAssistant, condition_configs: l
66
82
  def async_extract_entities(config: ConfigType | Template) -> set[str]: ...
67
83
  @callback
68
84
  def async_extract_devices(config: ConfigType | Template) -> set[str]: ...
85
+ def _load_conditions_file(hass: HomeAssistant, integration: Integration) -> JSON_TYPE: ...
86
+ def _load_conditions_files(hass: HomeAssistant, integrations: Iterable[Integration]) -> dict[str, JSON_TYPE]: ...
87
+ async def async_get_all_descriptions(hass: HomeAssistant) -> dict[str, dict[str, Any] | None]: ...
@@ -190,11 +190,9 @@ STATE_CONDITION_ATTRIBUTE_SCHEMA: Incomplete
190
190
 
191
191
  def STATE_CONDITION_SCHEMA(value: Any) -> dict[str, Any]: ...
192
192
 
193
- SUN_CONDITION_SCHEMA: Incomplete
194
193
  TEMPLATE_CONDITION_SCHEMA: Incomplete
195
194
  TIME_CONDITION_SCHEMA: Incomplete
196
195
  TRIGGER_CONDITION_SCHEMA: Incomplete
197
- ZONE_CONDITION_SCHEMA: Incomplete
198
196
  AND_CONDITION_SCHEMA: Incomplete
199
197
  AND_CONDITION_SHORTHAND_SCHEMA: Incomplete
200
198
  OR_CONDITION_SCHEMA: Incomplete
@@ -4,6 +4,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
4
4
  @callback
5
5
  def async_entity_id_to_device_id(hass: HomeAssistant, entity_id_or_uuid: str) -> str | None: ...
6
6
  @callback
7
+ def async_entity_id_to_device(hass: HomeAssistant, entity_id_or_uuid: str) -> dr.DeviceEntry | None: ...
8
+ @callback
7
9
  def async_device_info_to_link_from_entity(hass: HomeAssistant, entity_id_or_uuid: str) -> dr.DeviceInfo | None: ...
8
10
  @callback
9
11
  def async_device_info_to_link_from_device_id(hass: HomeAssistant, device_id: str | None) -> dr.DeviceInfo | None: ...
@@ -68,15 +68,20 @@ DEVICE_INFO_TYPES: Incomplete
68
68
  DEVICE_INFO_KEYS: Incomplete
69
69
  LOW_PRIO_CONFIG_ENTRY_DOMAINS: Incomplete
70
70
 
71
- class _EventDeviceRegistryUpdatedData_CreateRemove(TypedDict):
72
- action: Literal['create', 'remove']
71
+ class _EventDeviceRegistryUpdatedData_Create(TypedDict):
72
+ action: Literal['create']
73
73
  device_id: str
74
74
 
75
+ class _EventDeviceRegistryUpdatedData_Remove(TypedDict):
76
+ action: Literal['remove']
77
+ device_id: str
78
+ device: dict[str, Any]
79
+
75
80
  class _EventDeviceRegistryUpdatedData_Update(TypedDict):
76
81
  action: Literal['update']
77
82
  device_id: str
78
83
  changes: dict[str, Any]
79
- type EventDeviceRegistryUpdatedData = _EventDeviceRegistryUpdatedData_CreateRemove | _EventDeviceRegistryUpdatedData_Update
84
+ type EventDeviceRegistryUpdatedData = _EventDeviceRegistryUpdatedData_Create | _EventDeviceRegistryUpdatedData_Remove | _EventDeviceRegistryUpdatedData_Update
80
85
 
81
86
  class DeviceEntryType(StrEnum):
82
87
  SERVICE = 'service'
@@ -99,6 +104,9 @@ def _validate_device_info(config_entry: ConfigEntry, device_info: DeviceInfo) ->
99
104
  _cached_parse_url: Incomplete
100
105
 
101
106
  def _validate_configuration_url(value: Any) -> str | None: ...
107
+ def format_mac(mac: str) -> str: ...
108
+ def _normalize_connections(connections: Iterable[tuple[str, str]]) -> set[tuple[str, str]]: ...
109
+ def _normalize_connections_validator(instance: Any, attribute: Any, connections: Iterable[tuple[str, str]]) -> None: ...
102
110
 
103
111
  class DeviceEntry:
104
112
  area_id: str | None
@@ -163,8 +171,6 @@ class DeletedDeviceEntry:
163
171
  def __gt__(self, other): ...
164
172
  def __ge__(self, other): ...
165
173
 
166
- def format_mac(mac: str) -> str: ...
167
-
168
174
  class DeviceRegistryStore(storage.Store[dict[str, list[dict[str, Any]]]]):
169
175
  async def _async_migrate_func(self, old_major_version: int, old_minor_version: int, old_data: dict[str, list[dict[str, Any]]]) -> dict[str, Any]: ...
170
176
 
@@ -239,4 +245,3 @@ def async_config_entry_disabled_by_changed(registry: DeviceRegistry, config_entr
239
245
  def async_cleanup(hass: HomeAssistant, dev_reg: DeviceRegistry, ent_reg: entity_registry.EntityRegistry) -> None: ...
240
246
  @callback
241
247
  def async_setup_cleanup(hass: HomeAssistant, dev_reg: DeviceRegistry) -> None: ...
242
- def _normalize_connections(connections: set[tuple[str, str]]) -> set[tuple[str, str]]: ...
@@ -3,7 +3,7 @@ import dataclasses
3
3
  import time
4
4
  from . import device_registry as dr, entity_registry as er, singleton as singleton
5
5
  from .device_registry import DeviceInfo as DeviceInfo, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
6
- from .entity_platform import EntityPlatform as EntityPlatform
6
+ from .entity_platform import EntityPlatform as EntityPlatform, PlatformData as PlatformData
7
7
  from .event import async_track_device_registry_updated_event as async_track_device_registry_updated_event, async_track_entity_registry_updated_event as async_track_entity_registry_updated_event
8
8
  from .frame import report_non_thread_safe_operation as report_non_thread_safe_operation
9
9
  from .typing import StateType as StateType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
@@ -54,6 +54,7 @@ class StateInfo(TypedDict):
54
54
 
55
55
  class EntityPlatformState(Enum):
56
56
  NOT_ADDED = ...
57
+ ADDING = ...
57
58
  ADDED = ...
58
59
  REMOVED = ...
59
60
 
@@ -91,6 +92,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
91
92
  entity_id: str
92
93
  hass: HomeAssistant
93
94
  platform: EntityPlatform
95
+ platform_data: PlatformData
94
96
  entity_description: EntityDescription
95
97
  _slow_reported: bool
96
98
  _deprecated_supported_features_reported: bool
@@ -1,5 +1,6 @@
1
1
  import asyncio
2
2
  from . import device_registry as dev_reg, service as service, translation as translation
3
+ from .deprecation import deprecated_function as deprecated_function
3
4
  from .entity import Entity as Entity
4
5
  from .entity_registry import EntityRegistry as EntityRegistry, RegistryEntryDisabler as RegistryEntryDisabler, RegistryEntryHider as RegistryEntryHider
5
6
  from .event import async_call_later as async_call_later
@@ -42,22 +43,28 @@ class EntityPlatformModule(Protocol):
42
43
  def setup_platform(self, hass: HomeAssistant, config: ConfigType, add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
43
44
  async def async_setup_entry(self, hass: HomeAssistant, entry: config_entries.ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
44
45
 
45
- class EntityPlatform:
46
+ class PlatformData:
46
47
  hass: Incomplete
47
- logger: Incomplete
48
48
  domain: Incomplete
49
49
  platform_name: Incomplete
50
+ component_translations: dict[str, str]
51
+ platform_translations: dict[str, str]
52
+ object_id_component_translations: dict[str, str]
53
+ object_id_platform_translations: dict[str, str]
54
+ default_language_platform_translations: dict[str, str]
55
+ def __init__(self, hass: HomeAssistant, *, domain: str, platform_name: str) -> None: ...
56
+ async def _async_get_translations(self, language: str, category: str, integration: str) -> dict[str, str]: ...
57
+ async def async_load_translations(self) -> None: ...
58
+
59
+ class EntityPlatform:
60
+ hass: Incomplete
61
+ logger: Incomplete
50
62
  platform: Incomplete
51
63
  scan_interval: Incomplete
52
64
  scan_interval_seconds: Incomplete
53
65
  entity_namespace: Incomplete
54
66
  config_entry: config_entries.ConfigEntry | None
55
67
  entities: dict[str, Entity]
56
- component_translations: dict[str, str]
57
- platform_translations: dict[str, str]
58
- object_id_component_translations: dict[str, str]
59
- object_id_platform_translations: dict[str, str]
60
- default_language_platform_translations: dict[str, str]
61
68
  _tasks: list[asyncio.Task[None]]
62
69
  _setup_complete: bool
63
70
  _async_polling_timer: asyncio.TimerHandle | None
@@ -68,6 +75,7 @@ class EntityPlatform:
68
75
  parallel_updates_created: Incomplete
69
76
  domain_entities: Incomplete
70
77
  domain_platform_entities: Incomplete
78
+ platform_data: Incomplete
71
79
  def __init__(self, *, hass: HomeAssistant, logger: Logger, domain: str, platform_name: str, platform: EntityPlatformModule | None, scan_interval: timedelta, entity_namespace: str | None) -> None: ...
72
80
  def __repr__(self) -> str: ...
73
81
  @callback
@@ -79,8 +87,6 @@ class EntityPlatform:
79
87
  def async_cancel_retry_setup(self) -> None: ...
80
88
  async def async_setup_entry(self, config_entry: config_entries.ConfigEntry) -> bool: ...
81
89
  async def _async_setup_platform(self, async_create_setup_awaitable: Callable[[], Awaitable[None]], tries: int = 0) -> bool: ...
82
- async def _async_get_translations(self, language: str, category: str, integration: str) -> dict[str, str]: ...
83
- async def async_load_translations(self) -> None: ...
84
90
  def _schedule_add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
85
91
  @callback
86
92
  def _async_schedule_add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
@@ -105,6 +111,21 @@ class EntityPlatform:
105
111
  @callback
106
112
  def async_register_entity_service(self, name: str, schema: VolDictType | VolSchemaType | None, func: str | Callable[..., Any], required_features: Iterable[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
107
113
  async def _async_update_entity_states(self) -> None: ...
114
+ @property
115
+ def domain(self) -> str: ...
116
+ @property
117
+ def platform_name(self) -> str: ...
118
+ @property
119
+ def component_translations(self) -> dict[str, str]: ...
120
+ @property
121
+ def platform_translations(self) -> dict[str, str]: ...
122
+ @property
123
+ def object_id_component_translations(self) -> dict[str, str]: ...
124
+ @property
125
+ def object_id_platform_translations(self) -> dict[str, str]: ...
126
+ @property
127
+ def default_language_platform_translations(self) -> dict[str, str]: ...
128
+ async def async_load_translations(self) -> None: ...
108
129
 
109
130
  @callback
110
131
  def async_calculate_suggested_object_id(entity: Entity, device: dev_reg.DeviceEntry | None) -> str | None: ...
@@ -47,7 +47,7 @@ class ReportBehavior(enum.Enum):
47
47
  ERROR = ...
48
48
 
49
49
  def report_usage(what: str, *, breaks_in_ha_version: str | None = None, core_behavior: ReportBehavior = ..., core_integration_behavior: ReportBehavior = ..., custom_integration_behavior: ReportBehavior = ..., exclude_integrations: set[str] | None = None, integration_domain: str | None = None, level: int = ...) -> None: ...
50
- def _report_usage(hass: HomeAssistant, what: str, *, breaks_in_ha_version: str | None, core_behavior: ReportBehavior, core_integration_behavior: ReportBehavior, custom_integration_behavior: ReportBehavior, exclude_integrations: set[str] | None, integration_domain: str | None, level: int) -> None: ...
50
+ def _report_usage(hass: HomeAssistant, what: str, *, breaks_in_ha_version: str | None, core_behavior: ReportBehavior, core_integration_behavior: ReportBehavior, custom_integration_behavior: ReportBehavior, integration_domain: str | None, integration_frame: IntegrationFrame | None, integration_frame_err: MissingIntegrationFrame | None, level: int) -> None: ...
51
51
  def _report_usage_integration_domain(hass: HomeAssistant | None, what: str, breaks_in_ha_version: str | None, integration: Integration, core_integration_behavior: ReportBehavior, custom_integration_behavior: ReportBehavior, level: int) -> None: ...
52
52
  def _report_usage_integration_frame(hass: HomeAssistant, what: str, breaks_in_ha_version: str | None, integration_frame: IntegrationFrame, level: int = ..., error: bool = False) -> None: ...
53
53
  def _report_usage_no_integration(what: str, core_behavior: ReportBehavior, breaks_in_ha_version: str | None, err: MissingIntegrationFrame | None) -> None: ...
@@ -3,4 +3,5 @@ from collections.abc import Callable as Callable, Coroutine
3
3
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, valid_entity_id as valid_entity_id
4
4
  from typing import Any
5
5
 
6
- def async_handle_source_entity_changes(hass: HomeAssistant, *, helper_config_entry_id: str, set_source_entity_id_or_uuid: Callable[[str], None], source_device_id: str | None, source_entity_id_or_uuid: str, source_entity_removed: Callable[[], Coroutine[Any, Any, None]]) -> CALLBACK_TYPE: ...
6
+ def async_handle_source_entity_changes(hass: HomeAssistant, *, add_helper_config_entry_to_device: bool = True, helper_config_entry_id: str, set_source_entity_id_or_uuid: Callable[[str], None], source_device_id: str | None, source_entity_id_or_uuid: str, source_entity_removed: Callable[[], Coroutine[Any, Any, None]] | None = None) -> CALLBACK_TYPE: ...
7
+ def async_remove_helper_config_entry_from_source_device(hass: HomeAssistant, *, helper_config_entry_id: str, source_device_id: str) -> None: ...