homeassistant-stubs 2025.9.0b0__py3-none-any.whl → 2026.1.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1082) hide show
  1. homeassistant-stubs/auth/mfa_modules/totp.pyi +2 -0
  2. homeassistant-stubs/auth/permissions/events.pyi +1 -1
  3. homeassistant-stubs/components/acaia/coordinator.pyi +3 -0
  4. homeassistant-stubs/components/accuweather/__init__.pyi +3 -3
  5. homeassistant-stubs/components/accuweather/config_flow.pyi +5 -0
  6. homeassistant-stubs/components/accuweather/const.pyi +1 -0
  7. homeassistant-stubs/components/accuweather/coordinator.pyi +17 -4
  8. homeassistant-stubs/components/accuweather/weather.pyi +5 -2
  9. homeassistant-stubs/components/adax/config_flow.pyi +1 -0
  10. homeassistant-stubs/components/adax/sensor.pyi +13 -11
  11. homeassistant-stubs/components/adguard/update.pyi +26 -0
  12. homeassistant-stubs/components/airgradient/update.pyi +5 -0
  13. homeassistant-stubs/components/airly/config_flow.pyi +3 -0
  14. homeassistant-stubs/components/airnow/config_flow.pyi +1 -0
  15. homeassistant-stubs/components/airos/__init__.pyi +6 -2
  16. homeassistant-stubs/components/airos/binary_sensor.pyi +2 -2
  17. homeassistant-stubs/components/airos/config_flow.pyi +15 -4
  18. homeassistant-stubs/components/airos/const.pyi +3 -0
  19. homeassistant-stubs/components/airos/coordinator.pyi +5 -5
  20. homeassistant-stubs/components/airos/entity.pyi +2 -2
  21. homeassistant-stubs/components/airos/sensor.pyi +2 -2
  22. homeassistant-stubs/components/airthings/config_flow.pyi +1 -0
  23. homeassistant-stubs/components/airthings_ble/config_flow.pyi +5 -3
  24. homeassistant-stubs/components/airthings_ble/const.pyi +4 -0
  25. homeassistant-stubs/components/airthings_ble/coordinator.pyi +2 -1
  26. homeassistant-stubs/components/airthings_ble/sensor.pyi +2 -1
  27. homeassistant-stubs/components/airzone/select.pyi +1 -0
  28. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +1 -0
  29. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +0 -10
  30. homeassistant-stubs/components/alarm_control_panel/trigger.pyi +17 -0
  31. homeassistant-stubs/components/alexa/handlers.pyi +1 -1
  32. homeassistant-stubs/components/alexa_devices/__init__.pyi +1 -1
  33. homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +7 -1
  34. homeassistant-stubs/components/alexa_devices/const.pyi +4 -1
  35. homeassistant-stubs/components/alexa_devices/coordinator.pyi +4 -1
  36. homeassistant-stubs/components/alexa_devices/diagnostics.pyi +1 -1
  37. homeassistant-stubs/components/alexa_devices/entity.pyi +1 -1
  38. homeassistant-stubs/components/alexa_devices/notify.pyi +2 -1
  39. homeassistant-stubs/components/alexa_devices/sensor.pyi +17 -4
  40. homeassistant-stubs/components/alexa_devices/services.pyi +0 -1
  41. homeassistant-stubs/components/alexa_devices/switch.pyi +5 -3
  42. homeassistant-stubs/components/alexa_devices/utils.pyi +5 -1
  43. homeassistant-stubs/components/amberelectric/__init__.pyi +1 -1
  44. homeassistant-stubs/components/amberelectric/services.pyi +3 -2
  45. homeassistant-stubs/components/analytics/__init__.pyi +4 -21
  46. homeassistant-stubs/components/analytics/analytics.pyi +63 -11
  47. homeassistant-stubs/components/analytics/const.pyi +6 -2
  48. homeassistant-stubs/components/androidtv/__init__.pyi +5 -1
  49. homeassistant-stubs/components/androidtv/config_flow.pyi +1 -1
  50. homeassistant-stubs/components/androidtv/const.pyi +1 -1
  51. homeassistant-stubs/components/androidtv/media_player.pyi +1 -10
  52. homeassistant-stubs/components/androidtv/services.pyi +16 -0
  53. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -0
  54. homeassistant-stubs/components/androidtv_remote/entity.pyi +1 -3
  55. homeassistant-stubs/components/apcupsd/const.pyi +3 -0
  56. homeassistant-stubs/components/apcupsd/sensor.pyi +5 -1
  57. homeassistant-stubs/components/apple_tv/__init__.pyi +3 -3
  58. homeassistant-stubs/components/assist_pipeline/__init__.pyi +4 -4
  59. homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +8 -3
  60. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
  61. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +9 -6
  62. homeassistant-stubs/components/assist_pipeline/select.pyi +1 -1
  63. homeassistant-stubs/components/assist_satellite/trigger.pyi +8 -0
  64. homeassistant-stubs/components/asuswrt/bridge.pyi +24 -10
  65. homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -1
  66. homeassistant-stubs/components/asuswrt/device_tracker.pyi +0 -3
  67. homeassistant-stubs/components/asuswrt/helpers.pyi +2 -3
  68. homeassistant-stubs/components/asuswrt/router.pyi +1 -1
  69. homeassistant-stubs/components/autarco/sensor.pyi +8 -6
  70. homeassistant-stubs/components/auth/login_flow.pyi +1 -1
  71. homeassistant-stubs/components/automation/__init__.pyi +10 -2
  72. homeassistant-stubs/components/backblaze_b2/__init__.pyi +15 -0
  73. homeassistant-stubs/components/backblaze_b2/b2_client.pyi +15 -0
  74. homeassistant-stubs/components/backblaze_b2/backup.pyi +60 -0
  75. homeassistant-stubs/components/backblaze_b2/config_flow.pyi +21 -0
  76. homeassistant-stubs/components/backblaze_b2/const.pyi +13 -0
  77. homeassistant-stubs/components/backblaze_b2/diagnostics.pyi +11 -0
  78. homeassistant-stubs/components/backblaze_b2/repairs.pyi +15 -0
  79. homeassistant-stubs/components/backup/http.pyi +1 -0
  80. homeassistant-stubs/components/backup/manager.pyi +2 -1
  81. homeassistant-stubs/components/backup/util.pyi +2 -32
  82. homeassistant-stubs/components/bang_olufsen/__init__.pyi +6 -6
  83. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +2 -2
  84. homeassistant-stubs/components/bang_olufsen/const.pyi +46 -13
  85. homeassistant-stubs/components/bang_olufsen/diagnostics.pyi +5 -3
  86. homeassistant-stubs/components/bang_olufsen/entity.pyi +2 -2
  87. homeassistant-stubs/components/bang_olufsen/event.pyi +23 -8
  88. homeassistant-stubs/components/bang_olufsen/media_player.pyi +15 -12
  89. homeassistant-stubs/components/bang_olufsen/util.pyi +6 -1
  90. homeassistant-stubs/components/bang_olufsen/websocket.pyi +7 -6
  91. homeassistant-stubs/components/binary_sensor/trigger.pyi +20 -0
  92. homeassistant-stubs/components/blue_current/__init__.pyi +6 -0
  93. homeassistant-stubs/components/blue_current/const.pyi +6 -0
  94. homeassistant-stubs/components/blue_current/services.pyi +12 -0
  95. homeassistant-stubs/components/bluesound/__init__.pyi +2 -1
  96. homeassistant-stubs/components/bluesound/const.pyi +4 -0
  97. homeassistant-stubs/components/bluesound/media_player.pyi +11 -9
  98. homeassistant-stubs/components/bluesound/utils.pyi +2 -0
  99. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -5
  100. homeassistant-stubs/components/bluetooth/api.pyi +7 -2
  101. homeassistant-stubs/components/bluetooth/manager.pyi +9 -1
  102. homeassistant-stubs/components/bluetooth/match.pyi +2 -1
  103. homeassistant-stubs/components/bluetooth/websocket_api.pyi +6 -1
  104. homeassistant-stubs/components/brother/__init__.pyi +5 -3
  105. homeassistant-stubs/components/brother/config_flow.pyi +6 -2
  106. homeassistant-stubs/components/brother/const.pyi +6 -0
  107. homeassistant-stubs/components/brother/entity.pyi +10 -0
  108. homeassistant-stubs/components/brother/sensor.pyi +6 -9
  109. homeassistant-stubs/components/bryant_evolution/climate.pyi +2 -2
  110. homeassistant-stubs/components/bthome/sensor.pyi +1 -1
  111. homeassistant-stubs/components/button/trigger.pyi +14 -0
  112. homeassistant-stubs/components/calendar/trigger.pyi +23 -10
  113. homeassistant-stubs/components/camera/__init__.pyi +4 -11
  114. homeassistant-stubs/components/camera/prefs.pyi +3 -1
  115. homeassistant-stubs/components/camera/webrtc.pyi +2 -5
  116. homeassistant-stubs/components/cert_expiry/config_flow.pyi +1 -1
  117. homeassistant-stubs/components/cert_expiry/errors.pyi +1 -0
  118. homeassistant-stubs/components/cert_expiry/helper.pyi +1 -1
  119. homeassistant-stubs/components/climate/trigger.pyi +18 -0
  120. homeassistant-stubs/components/cloud/__init__.pyi +8 -2
  121. homeassistant-stubs/components/cloud/ai_task.pyi +26 -0
  122. homeassistant-stubs/components/cloud/client.pyi +4 -1
  123. homeassistant-stubs/components/cloud/const.pyi +4 -1
  124. homeassistant-stubs/components/cloud/conversation.pyi +24 -0
  125. homeassistant-stubs/components/cloud/entity.pyi +40 -0
  126. homeassistant-stubs/components/cloud/http_api.pyi +6 -0
  127. homeassistant-stubs/components/co2signal/config_flow.pyi +1 -0
  128. homeassistant-stubs/components/comelit/__init__.pyi +2 -1
  129. homeassistant-stubs/components/comelit/alarm_control_panel.pyi +4 -4
  130. homeassistant-stubs/components/comelit/binary_sensor.pyi +10 -4
  131. homeassistant-stubs/components/comelit/config_flow.pyi +5 -3
  132. homeassistant-stubs/components/comelit/const.pyi +3 -0
  133. homeassistant-stubs/components/comelit/coordinator.pyi +14 -10
  134. homeassistant-stubs/components/comelit/cover.pyi +4 -3
  135. homeassistant-stubs/components/comelit/light.pyi +2 -1
  136. homeassistant-stubs/components/comelit/sensor.pyi +6 -6
  137. homeassistant-stubs/components/comelit/switch.pyi +2 -1
  138. homeassistant-stubs/components/comelit/utils.pyi +4 -2
  139. homeassistant-stubs/components/compit/__init__.pyi +11 -0
  140. homeassistant-stubs/components/compit/climate.pyi +63 -0
  141. homeassistant-stubs/components/compit/config_flow.pyi +17 -0
  142. homeassistant-stubs/components/compit/const.pyi +2 -0
  143. homeassistant-stubs/components/compit/coordinator.pyi +16 -0
  144. homeassistant-stubs/components/config/area_registry.pyi +3 -0
  145. homeassistant-stubs/components/config/config_entries.pyi +5 -1
  146. homeassistant-stubs/components/config/floor_registry.pyi +3 -0
  147. homeassistant-stubs/components/cookidoo/calendar.pyi +25 -0
  148. homeassistant-stubs/components/cookidoo/coordinator.pyi +2 -0
  149. homeassistant-stubs/components/cover/__init__.pyi +1 -11
  150. homeassistant-stubs/components/deconz/hub/hub.pyi +0 -1
  151. homeassistant-stubs/components/deconz/services.pyi +0 -1
  152. homeassistant-stubs/components/demo/valve.pyi +14 -5
  153. homeassistant-stubs/components/derivative/__init__.pyi +0 -1
  154. homeassistant-stubs/components/derivative/config_flow.pyi +1 -0
  155. homeassistant-stubs/components/derivative/diagnostics.pyi +5 -0
  156. homeassistant-stubs/components/derivative/sensor.pyi +6 -3
  157. homeassistant-stubs/components/device_automation/condition.pyi +8 -9
  158. homeassistant-stubs/components/device_tracker/trigger.pyi +8 -0
  159. homeassistant-stubs/components/devolo_home_control/__init__.pyi +3 -0
  160. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
  161. homeassistant-stubs/components/devolo_home_control/entity.pyi +1 -2
  162. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
  163. homeassistant-stubs/components/devolo_home_control/subscriber.pyi +0 -1
  164. homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
  165. homeassistant-stubs/components/dnsip/sensor.pyi +6 -2
  166. homeassistant-stubs/components/doorbird/config_flow.pyi +3 -0
  167. homeassistant-stubs/components/doorbird/device.pyi +1 -0
  168. homeassistant-stubs/components/droplet/__init__.pyi +10 -0
  169. homeassistant-stubs/components/droplet/config_flow.pyi +15 -0
  170. homeassistant-stubs/components/droplet/const.pyi +7 -0
  171. homeassistant-stubs/components/droplet/coordinator.pyi +23 -0
  172. homeassistant-stubs/components/droplet/sensor.pyi +37 -0
  173. homeassistant-stubs/components/duckdns/__init__.pyi +7 -21
  174. homeassistant-stubs/components/duckdns/config_flow.pyi +18 -0
  175. homeassistant-stubs/components/duckdns/const.pyi +6 -0
  176. homeassistant-stubs/components/duckdns/coordinator.pyi +20 -0
  177. homeassistant-stubs/components/duckdns/helpers.pyi +6 -0
  178. homeassistant-stubs/components/duckdns/issue.pyi +6 -0
  179. homeassistant-stubs/components/duckdns/services.pyi +16 -0
  180. homeassistant-stubs/components/ecovacs/button.pyi +1 -1
  181. homeassistant-stubs/components/ecovacs/number.pyi +4 -1
  182. homeassistant-stubs/components/ecovacs/select.pyi +16 -2
  183. homeassistant-stubs/components/eheimdigital/sensor.pyi +1 -2
  184. homeassistant-stubs/components/elkm1/__init__.pyi +21 -1
  185. homeassistant-stubs/components/elkm1/config_flow.pyi +3 -1
  186. homeassistant-stubs/components/elkm1/sensor.pyi +8 -1
  187. homeassistant-stubs/components/energy/data.pyi +15 -2
  188. homeassistant-stubs/components/energy/sensor.pyi +1 -1
  189. homeassistant-stubs/components/energy/validate.pyi +13 -1
  190. homeassistant-stubs/components/energyid/__init__.pyi +30 -0
  191. homeassistant-stubs/components/energyid/config_flow.pyi +26 -0
  192. homeassistant-stubs/components/energyid/const.pyi +13 -0
  193. homeassistant-stubs/components/energyid/energyid_sensor_mapping_flow.pyi +19 -0
  194. homeassistant-stubs/components/enphase_envoy/sensor.pyi +6 -28
  195. homeassistant-stubs/components/eq3btsmart/sensor.pyi +1 -2
  196. homeassistant-stubs/components/esphome/__init__.pyi +4 -1
  197. homeassistant-stubs/components/esphome/analytics.pyi +4 -0
  198. homeassistant-stubs/components/esphome/assist_satellite.pyi +17 -3
  199. homeassistant-stubs/components/esphome/climate.pyi +3 -0
  200. homeassistant-stubs/components/esphome/config_flow.pyi +11 -5
  201. homeassistant-stubs/components/esphome/const.pyi +3 -0
  202. homeassistant-stubs/components/esphome/entity.pyi +1 -2
  203. homeassistant-stubs/components/esphome/entry_data.pyi +9 -5
  204. homeassistant-stubs/components/esphome/lock.pyi +1 -1
  205. homeassistant-stubs/components/esphome/manager.pyi +15 -5
  206. homeassistant-stubs/components/esphome/repairs.pyi +1 -3
  207. homeassistant-stubs/components/esphome/select.pyi +5 -4
  208. homeassistant-stubs/components/esphome/websocket_api.pyi +15 -0
  209. homeassistant-stubs/components/evohome/climate.pyi +1 -1
  210. homeassistant-stubs/components/fan/trigger.pyi +8 -0
  211. homeassistant-stubs/components/fastdotcom/coordinator.pyi +2 -2
  212. homeassistant-stubs/components/fastdotcom/sensor.pyi +1 -1
  213. homeassistant-stubs/components/filter/__init__.pyi +0 -1
  214. homeassistant-stubs/components/filter/config_flow.pyi +1 -0
  215. homeassistant-stubs/components/firefly_iii/__init__.pyi +8 -0
  216. homeassistant-stubs/components/firefly_iii/config_flow.pyi +25 -0
  217. homeassistant-stubs/components/firefly_iii/const.pyi +3 -0
  218. homeassistant-stubs/components/firefly_iii/coordinator.pyi +30 -0
  219. homeassistant-stubs/components/firefly_iii/diagnostics.pyi +11 -0
  220. homeassistant-stubs/components/firefly_iii/entity.pyi +30 -0
  221. homeassistant-stubs/components/firefly_iii/sensor.pyi +66 -0
  222. homeassistant-stubs/components/fitbit/api.pyi +8 -3
  223. homeassistant-stubs/components/fitbit/coordinator.pyi +3 -3
  224. homeassistant-stubs/components/fitbit/model.pyi +0 -8
  225. homeassistant-stubs/components/fitbit/sensor.pyi +4 -3
  226. homeassistant-stubs/components/fritz/coordinator.pyi +4 -0
  227. homeassistant-stubs/components/fritz/models.pyi +2 -2
  228. homeassistant-stubs/components/fritz/sensor.pyi +2 -1
  229. homeassistant-stubs/components/fritz/services.pyi +3 -0
  230. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +2 -0
  231. homeassistant-stubs/components/fritzbox/button.pyi +2 -0
  232. homeassistant-stubs/components/fritzbox/climate.pyi +3 -5
  233. homeassistant-stubs/components/fritzbox/coordinator.pyi +4 -1
  234. homeassistant-stubs/components/fritzbox/cover.pyi +2 -0
  235. homeassistant-stubs/components/fritzbox/light.pyi +2 -0
  236. homeassistant-stubs/components/fritzbox/sensor.pyi +2 -0
  237. homeassistant-stubs/components/fritzbox/switch.pyi +15 -1
  238. homeassistant-stubs/components/frontend/__init__.pyi +12 -5
  239. homeassistant-stubs/components/frontend/storage.pyi +28 -1
  240. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +0 -1
  241. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  242. homeassistant-stubs/components/generic_thermostat/__init__.pyi +0 -1
  243. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  244. homeassistant-stubs/components/geocaching/entity.pyi +14 -0
  245. homeassistant-stubs/components/geocaching/sensor.pyi +25 -5
  246. homeassistant-stubs/components/gios/coordinator.pyi +4 -1
  247. homeassistant-stubs/components/gios/sensor.pyi +4 -4
  248. homeassistant-stubs/components/github/__init__.pyi +12 -0
  249. homeassistant-stubs/components/github/config_flow.pyi +28 -0
  250. homeassistant-stubs/components/github/const.pyi +10 -0
  251. homeassistant-stubs/components/github/coordinator.pyi +26 -0
  252. homeassistant-stubs/components/github/diagnostics.pyi +7 -0
  253. homeassistant-stubs/components/github/sensor.pyi +37 -0
  254. homeassistant-stubs/components/go2rtc/__init__.pyi +20 -6
  255. homeassistant-stubs/components/go2rtc/server.pyi +14 -5
  256. homeassistant-stubs/components/go2rtc/util.pyi +5 -0
  257. homeassistant-stubs/components/google/__init__.pyi +0 -1
  258. homeassistant-stubs/components/google/config_flow.pyi +3 -3
  259. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +2 -1
  260. homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +1 -1
  261. homeassistant-stubs/components/google_cloud/__init__.pyi +0 -1
  262. homeassistant-stubs/components/google_cloud/config_flow.pyi +2 -2
  263. homeassistant-stubs/components/google_drive/__init__.pyi +4 -2
  264. homeassistant-stubs/components/google_drive/api.pyi +11 -0
  265. homeassistant-stubs/components/google_drive/config_flow.pyi +1 -2
  266. homeassistant-stubs/components/google_drive/const.pyi +4 -0
  267. homeassistant-stubs/components/google_drive/coordinator.pyi +24 -0
  268. homeassistant-stubs/components/google_drive/diagnostics.pyi +12 -0
  269. homeassistant-stubs/components/google_drive/entity.pyi +9 -0
  270. homeassistant-stubs/components/google_drive/sensor.pyi +28 -0
  271. homeassistant-stubs/components/google_photos/media_source.pyi +2 -2
  272. homeassistant-stubs/components/google_sheets/services.pyi +10 -2
  273. homeassistant-stubs/components/google_weather/__init__.pyi +11 -0
  274. homeassistant-stubs/components/google_weather/config_flow.pyi +29 -0
  275. homeassistant-stubs/components/google_weather/const.pyi +5 -0
  276. homeassistant-stubs/components/google_weather/coordinator.pyi +42 -0
  277. homeassistant-stubs/components/google_weather/entity.pyi +12 -0
  278. homeassistant-stubs/components/google_weather/sensor.pyi +27 -0
  279. homeassistant-stubs/components/google_weather/weather.pyi +56 -0
  280. homeassistant-stubs/components/group/__init__.pyi +0 -1
  281. homeassistant-stubs/components/group/config_flow.pyi +2 -0
  282. homeassistant-stubs/components/group/entity.pyi +3 -0
  283. homeassistant-stubs/components/group/light.pyi +1 -1
  284. homeassistant-stubs/components/group/notify.pyi +2 -2
  285. homeassistant-stubs/components/group/sensor.pyi +1 -1
  286. homeassistant-stubs/components/group/util.pyi +1 -0
  287. homeassistant-stubs/components/group/valve.pyi +47 -0
  288. homeassistant-stubs/components/habitica/__init__.pyi +1 -0
  289. homeassistant-stubs/components/habitica/binary_sensor.pyi +1 -1
  290. homeassistant-stubs/components/habitica/config_flow.pyi +11 -3
  291. homeassistant-stubs/components/habitica/const.pyi +2 -0
  292. homeassistant-stubs/components/habitica/coordinator.pyi +9 -3
  293. homeassistant-stubs/components/habitica/entity.pyi +15 -2
  294. homeassistant-stubs/components/habitica/image.pyi +6 -2
  295. homeassistant-stubs/components/habitica/notify.pyi +42 -0
  296. homeassistant-stubs/components/habitica/sensor.pyi +12 -5
  297. homeassistant-stubs/components/habitica/services.pyi +2 -1
  298. homeassistant-stubs/components/habitica/util.pyi +1 -0
  299. homeassistant-stubs/components/hardkernel/hardware.pyi +1 -1
  300. homeassistant-stubs/components/hardware/__init__.pyi +2 -10
  301. homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
  302. homeassistant-stubs/components/history_stats/__init__.pyi +0 -1
  303. homeassistant-stubs/components/history_stats/config_flow.pyi +8 -2
  304. homeassistant-stubs/components/history_stats/diagnostics.pyi +5 -0
  305. homeassistant-stubs/components/history_stats/sensor.pyi +1 -1
  306. homeassistant-stubs/components/home_connect/__init__.pyi +1 -1
  307. homeassistant-stubs/components/home_connect/const.pyi +4 -0
  308. homeassistant-stubs/components/home_connect/coordinator.pyi +0 -1
  309. homeassistant-stubs/components/home_connect/entity.pyi +0 -1
  310. homeassistant-stubs/components/home_connect/select.pyi +1 -1
  311. homeassistant-stubs/components/home_connect/sensor.pyi +1 -1
  312. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -1
  313. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +4 -2
  314. homeassistant-stubs/components/homeassistant_green/hardware.pyi +1 -1
  315. homeassistant-stubs/components/homeassistant_hardware/const.pyi +2 -0
  316. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +51 -15
  317. homeassistant-stubs/components/homeassistant_hardware/helpers.pyi +25 -2
  318. homeassistant-stubs/components/homeassistant_hardware/switch.pyi +23 -0
  319. homeassistant-stubs/components/homeassistant_hardware/update.pyi +3 -2
  320. homeassistant-stubs/components/homeassistant_hardware/util.pyi +15 -6
  321. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +13 -4
  322. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +8 -1
  323. homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -1
  324. homeassistant-stubs/components/homeassistant_sky_connect/switch.pyi +17 -0
  325. homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +8 -8
  326. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +12 -4
  327. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +6 -2
  328. homeassistant-stubs/components/homeassistant_yellow/hardware.pyi +1 -1
  329. homeassistant-stubs/components/homeassistant_yellow/switch.pyi +17 -0
  330. homeassistant-stubs/components/homeassistant_yellow/update.pyi +8 -8
  331. homeassistant-stubs/components/homee/__init__.pyi +1 -0
  332. homeassistant-stubs/components/homee/alarm_control_panel.pyi +3 -2
  333. homeassistant-stubs/components/homee/binary_sensor.pyi +4 -2
  334. homeassistant-stubs/components/homee/button.pyi +3 -1
  335. homeassistant-stubs/components/homee/climate.pyi +3 -1
  336. homeassistant-stubs/components/homee/cover.pyi +3 -1
  337. homeassistant-stubs/components/homee/event.pyi +3 -1
  338. homeassistant-stubs/components/homee/fan.pyi +3 -1
  339. homeassistant-stubs/components/homee/helpers.pyi +6 -0
  340. homeassistant-stubs/components/homee/light.pyi +2 -0
  341. homeassistant-stubs/components/homee/lock.pyi +4 -2
  342. homeassistant-stubs/components/homee/number.pyi +3 -1
  343. homeassistant-stubs/components/homee/select.pyi +3 -1
  344. homeassistant-stubs/components/homee/sensor.pyi +2 -2
  345. homeassistant-stubs/components/homee/siren.pyi +4 -1
  346. homeassistant-stubs/components/homee/switch.pyi +4 -2
  347. homeassistant-stubs/components/homee/valve.pyi +3 -1
  348. homeassistant-stubs/components/homekit/__init__.pyi +1 -1
  349. homeassistant-stubs/components/homekit/type_switches.pyi +7 -1
  350. homeassistant-stubs/components/homewizard/__init__.pyi +2 -0
  351. homeassistant-stubs/components/homewizard/select.pyi +3 -17
  352. homeassistant-stubs/components/homewizard/sensor.pyi +3 -1
  353. homeassistant-stubs/components/http/__init__.pyi +1 -0
  354. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +1 -1
  355. homeassistant-stubs/components/huawei_lte/select.pyi +0 -2
  356. homeassistant-stubs/components/huawei_lte/sensor.pyi +1 -0
  357. homeassistant-stubs/components/humidifier/trigger.pyi +8 -0
  358. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
  359. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -1
  360. homeassistant-stubs/components/husqvarna_automower/entity.pyi +8 -4
  361. homeassistant-stubs/components/husqvarna_automower/event.pyi +1 -1
  362. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +5 -0
  363. homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
  364. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -0
  365. homeassistant-stubs/components/husqvarna_automower/switch.pyi +2 -0
  366. homeassistant-stubs/components/idasen_desk/coordinator.pyi +8 -2
  367. homeassistant-stubs/components/image/__init__.pyi +3 -0
  368. homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
  369. homeassistant-stubs/components/image_upload/const.pyi +1 -0
  370. homeassistant-stubs/components/image_upload/media_source.pyi +5 -1
  371. homeassistant-stubs/components/imap/__init__.pyi +3 -1
  372. homeassistant-stubs/components/imap/coordinator.pyi +4 -1
  373. homeassistant-stubs/components/immich/media_source.pyi +2 -2
  374. homeassistant-stubs/components/inels/__init__.pyi +18 -0
  375. homeassistant-stubs/components/inels/config_flow.pyi +13 -0
  376. homeassistant-stubs/components/inels/const.pyi +7 -0
  377. homeassistant-stubs/components/inels/entity.pyi +20 -0
  378. homeassistant-stubs/components/inels/switch.pyi +34 -0
  379. homeassistant-stubs/components/integration/__init__.pyi +0 -1
  380. homeassistant-stubs/components/integration/config_flow.pyi +1 -0
  381. homeassistant-stubs/components/intent/__init__.pyi +4 -0
  382. homeassistant-stubs/components/jewish_calendar/coordinator.pyi +4 -7
  383. homeassistant-stubs/components/jewish_calendar/entity.pyi +2 -0
  384. homeassistant-stubs/components/knx/climate.pyi +23 -11
  385. homeassistant-stubs/components/knx/const.pyi +21 -0
  386. homeassistant-stubs/components/knx/date.pyi +17 -9
  387. homeassistant-stubs/components/knx/datetime.pyi +17 -9
  388. homeassistant-stubs/components/knx/dpt.pyi +26 -0
  389. homeassistant-stubs/components/knx/fan.pyi +25 -12
  390. homeassistant-stubs/components/knx/knx_module.pyi +4 -0
  391. homeassistant-stubs/components/knx/repairs.pyi +26 -0
  392. homeassistant-stubs/components/knx/scene.pyi +15 -6
  393. homeassistant-stubs/components/knx/schema.pyi +3 -14
  394. homeassistant-stubs/components/knx/sensor.pyi +26 -13
  395. homeassistant-stubs/components/knx/services.pyi +1 -0
  396. homeassistant-stubs/components/knx/storage/config_store.pyi +2 -1
  397. homeassistant-stubs/components/knx/storage/const.pyi +30 -1
  398. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +27 -3
  399. homeassistant-stubs/components/knx/storage/keyring.pyi +1 -1
  400. homeassistant-stubs/components/knx/storage/knx_selector.pyi +2 -1
  401. homeassistant-stubs/components/knx/storage/migration.pyi +2 -0
  402. homeassistant-stubs/components/knx/telegrams.pyi +3 -0
  403. homeassistant-stubs/components/knx/text.pyi +22 -12
  404. homeassistant-stubs/components/knx/time.pyi +17 -9
  405. homeassistant-stubs/components/knx/websocket.pyi +2 -1
  406. homeassistant-stubs/components/lamarzocco/__init__.pyi +7 -5
  407. homeassistant-stubs/components/lamarzocco/config_flow.pyi +4 -2
  408. homeassistant-stubs/components/lamarzocco/const.pyi +2 -0
  409. homeassistant-stubs/components/lamarzocco/coordinator.pyi +23 -5
  410. homeassistant-stubs/components/lamarzocco/entity.pyi +5 -2
  411. homeassistant-stubs/components/lamarzocco/number.pyi +1 -1
  412. homeassistant-stubs/components/lamarzocco/select.pyi +2 -0
  413. homeassistant-stubs/components/lamarzocco/switch.pyi +5 -0
  414. homeassistant-stubs/components/lametric/config_flow.pyi +2 -0
  415. homeassistant-stubs/components/lawn_mower/intent.pyi +8 -0
  416. homeassistant-stubs/components/lawn_mower/trigger.pyi +7 -0
  417. homeassistant-stubs/components/lcn/__init__.pyi +3 -3
  418. homeassistant-stubs/components/lcn/binary_sensor.pyi +3 -2
  419. homeassistant-stubs/components/lcn/climate.pyi +5 -8
  420. homeassistant-stubs/components/lcn/cover.pyi +6 -5
  421. homeassistant-stubs/components/lcn/entity.pyi +6 -4
  422. homeassistant-stubs/components/lcn/helpers.pyi +5 -5
  423. homeassistant-stubs/components/lcn/light.pyi +5 -4
  424. homeassistant-stubs/components/lcn/sensor.pyi +8 -6
  425. homeassistant-stubs/components/lcn/services.pyi +3 -2
  426. homeassistant-stubs/components/lcn/switch.pyi +9 -8
  427. homeassistant-stubs/components/lcn/websocket.pyi +11 -10
  428. homeassistant-stubs/components/letpot/number.pyi +34 -0
  429. homeassistant-stubs/components/libre_hardware_monitor/__init__.pyi +12 -0
  430. homeassistant-stubs/components/libre_hardware_monitor/config_flow.pyi +12 -0
  431. homeassistant-stubs/components/libre_hardware_monitor/const.pyi +4 -0
  432. homeassistant-stubs/components/libre_hardware_monitor/coordinator.pyi +20 -0
  433. homeassistant-stubs/components/libre_hardware_monitor/sensor.pyi +30 -0
  434. homeassistant-stubs/components/lifx/manager.pyi +4 -4
  435. homeassistant-stubs/components/light/condition.pyi +38 -0
  436. homeassistant-stubs/components/light/trigger.pyi +9 -0
  437. homeassistant-stubs/components/litterrobot/select.pyi +1 -1
  438. homeassistant-stubs/components/litterrobot/switch.pyi +5 -1
  439. homeassistant-stubs/components/litterrobot/update.pyi +2 -0
  440. homeassistant-stubs/components/lock/__init__.pyi +1 -6
  441. homeassistant-stubs/components/lock/trigger.pyi +7 -0
  442. homeassistant-stubs/components/logbook/helpers.pyi +4 -3
  443. homeassistant-stubs/components/logger/helpers.pyi +2 -0
  444. homeassistant-stubs/components/logger/websocket_api.pyi +1 -0
  445. homeassistant-stubs/components/london_underground/__init__.pyi +9 -0
  446. homeassistant-stubs/components/london_underground/config_flow.pyi +22 -0
  447. homeassistant-stubs/components/london_underground/const.pyi +1 -0
  448. homeassistant-stubs/components/london_underground/coordinator.pyi +3 -1
  449. homeassistant-stubs/components/london_underground/sensor.pyi +10 -5
  450. homeassistant-stubs/components/lunatone/__init__.pyi +12 -0
  451. homeassistant-stubs/components/lunatone/config_flow.pyi +16 -0
  452. homeassistant-stubs/components/lunatone/const.pyi +3 -0
  453. homeassistant-stubs/components/lunatone/coordinator.pyi +31 -0
  454. homeassistant-stubs/components/lunatone/light.pyi +59 -0
  455. homeassistant-stubs/components/mastodon/__init__.pyi +1 -1
  456. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -2
  457. homeassistant-stubs/components/mastodon/const.pyi +2 -0
  458. homeassistant-stubs/components/mastodon/diagnostics.pyi +2 -2
  459. homeassistant-stubs/components/mastodon/services.pyi +4 -3
  460. homeassistant-stubs/components/matrix/__init__.pyi +10 -2
  461. homeassistant-stubs/components/matrix/const.pyi +5 -0
  462. homeassistant-stubs/components/matrix/services.pyi +3 -1
  463. homeassistant-stubs/components/matter/__init__.pyi +5 -0
  464. homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
  465. homeassistant-stubs/components/matter/button.pyi +1 -1
  466. homeassistant-stubs/components/matter/climate.pyi +7 -1
  467. homeassistant-stubs/components/matter/cover.pyi +6 -2
  468. homeassistant-stubs/components/matter/entity.pyi +4 -2
  469. homeassistant-stubs/components/matter/event.pyi +5 -1
  470. homeassistant-stubs/components/matter/fan.pyi +5 -1
  471. homeassistant-stubs/components/matter/light.pyi +6 -2
  472. homeassistant-stubs/components/matter/lock.pyi +5 -1
  473. homeassistant-stubs/components/matter/models.pyi +4 -3
  474. homeassistant-stubs/components/matter/number.pyi +1 -1
  475. homeassistant-stubs/components/matter/select.pyi +9 -1
  476. homeassistant-stubs/components/matter/sensor.pyi +9 -1
  477. homeassistant-stubs/components/matter/services.pyi +11 -0
  478. homeassistant-stubs/components/matter/switch.pyi +5 -2
  479. homeassistant-stubs/components/matter/update.pyi +4 -1
  480. homeassistant-stubs/components/matter/vacuum.pyi +6 -2
  481. homeassistant-stubs/components/matter/valve.pyi +6 -2
  482. homeassistant-stubs/components/matter/water_heater.pyi +8 -1
  483. homeassistant-stubs/components/mcp/__init__.pyi +1 -6
  484. homeassistant-stubs/components/mcp/config_flow.pyi +12 -2
  485. homeassistant-stubs/components/mcp/const.pyi +1 -0
  486. homeassistant-stubs/components/mcp/coordinator.pyi +1 -1
  487. homeassistant-stubs/components/mcp_server/__init__.pyi +1 -8
  488. homeassistant-stubs/components/mcp_server/http.pyi +23 -1
  489. homeassistant-stubs/components/mcp_server/session.pyi +2 -2
  490. homeassistant-stubs/components/mealie/config_flow.pyi +9 -1
  491. homeassistant-stubs/components/mealie/coordinator.pyi +2 -0
  492. homeassistant-stubs/components/mealie/services.pyi +2 -0
  493. homeassistant-stubs/components/media_player/__init__.pyi +1 -9
  494. homeassistant-stubs/components/media_player/const.pyi +10 -69
  495. homeassistant-stubs/components/media_player/intent.pyi +7 -9
  496. homeassistant-stubs/components/media_player/trigger.pyi +8 -0
  497. homeassistant-stubs/components/media_source/__init__.pyi +2 -10
  498. homeassistant-stubs/components/media_source/helper.pyi +16 -0
  499. homeassistant-stubs/components/media_source/http.pyi +13 -0
  500. homeassistant-stubs/components/media_source/local_source.pyi +19 -11
  501. homeassistant-stubs/components/media_source/models.pyi +1 -0
  502. homeassistant-stubs/components/metoffice/__init__.pyi +1 -0
  503. homeassistant-stubs/components/metoffice/helpers.pyi +2 -2
  504. homeassistant-stubs/components/metoffice/sensor.pyi +1 -1
  505. homeassistant-stubs/components/metoffice/weather.pyi +11 -11
  506. homeassistant-stubs/components/miele/__init__.pyi +1 -1
  507. homeassistant-stubs/components/miele/climate.pyi +3 -1
  508. homeassistant-stubs/components/miele/const.pyi +934 -49
  509. homeassistant-stubs/components/miele/select.pyi +43 -0
  510. homeassistant-stubs/components/miele/sensor.pyi +27 -11
  511. homeassistant-stubs/components/miele/vacuum.pyi +1 -2
  512. homeassistant-stubs/components/min_max/__init__.pyi +0 -1
  513. homeassistant-stubs/components/min_max/config_flow.pyi +1 -0
  514. homeassistant-stubs/components/min_max/sensor.pyi +1 -1
  515. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  516. homeassistant-stubs/components/modbus/binary_sensor.pyi +2 -2
  517. homeassistant-stubs/components/modbus/climate.pyi +8 -4
  518. homeassistant-stubs/components/modbus/const.pyi +7 -0
  519. homeassistant-stubs/components/modbus/cover.pyi +2 -2
  520. homeassistant-stubs/components/modbus/entity.pyi +12 -21
  521. homeassistant-stubs/components/modbus/fan.pyi +2 -2
  522. homeassistant-stubs/components/modbus/light.pyi +4 -4
  523. homeassistant-stubs/components/modbus/modbus.pyi +1 -1
  524. homeassistant-stubs/components/modbus/sensor.pyi +8 -4
  525. homeassistant-stubs/components/modbus/switch.pyi +2 -2
  526. homeassistant-stubs/components/modbus/validators.pyi +4 -2
  527. homeassistant-stubs/components/mold_indicator/__init__.pyi +0 -1
  528. homeassistant-stubs/components/mold_indicator/config_flow.pyi +1 -0
  529. homeassistant-stubs/components/motionmount/select.pyi +1 -0
  530. homeassistant-stubs/components/mqtt/__init__.pyi +2 -5
  531. homeassistant-stubs/components/mqtt/client.pyi +7 -3
  532. homeassistant-stubs/components/mqtt/config_flow.pyi +91 -61
  533. homeassistant-stubs/components/mqtt/const.pyi +16 -1
  534. homeassistant-stubs/components/mqtt/device_automation.pyi +1 -1
  535. homeassistant-stubs/components/mqtt/entity.pyi +2 -2
  536. homeassistant-stubs/components/mqtt/image.pyi +1 -5
  537. homeassistant-stubs/components/mqtt/light/schema_json.pyi +0 -1
  538. homeassistant-stubs/components/mqtt/lock.pyi +3 -3
  539. homeassistant-stubs/components/mqtt/number.pyi +1 -5
  540. homeassistant-stubs/components/mqtt/schemas.pyi +1 -1
  541. homeassistant-stubs/components/mqtt/siren.pyi +1 -9
  542. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  543. homeassistant-stubs/components/mqtt/text.pyi +1 -5
  544. homeassistant-stubs/components/mqtt/valve.pyi +1 -2
  545. homeassistant-stubs/components/music_assistant/__init__.pyi +7 -5
  546. homeassistant-stubs/components/music_assistant/config_flow.pyi +21 -6
  547. homeassistant-stubs/components/music_assistant/const.pyi +8 -0
  548. homeassistant-stubs/components/music_assistant/helpers.pyi +7 -1
  549. homeassistant-stubs/components/music_assistant/media_browser.pyi +1 -1
  550. homeassistant-stubs/components/music_assistant/media_player.pyi +6 -9
  551. homeassistant-stubs/components/music_assistant/schemas.pyi +2 -2
  552. homeassistant-stubs/components/music_assistant/services.pyi +24 -0
  553. homeassistant-stubs/components/myuplink/__init__.pyi +2 -1
  554. homeassistant-stubs/components/nasweb/alarm_control_panel.pyi +40 -0
  555. homeassistant-stubs/components/nasweb/coordinator.pyi +1 -0
  556. homeassistant-stubs/components/nasweb/sensor.pyi +0 -5
  557. homeassistant-stubs/components/nasweb/switch.pyi +1 -0
  558. homeassistant-stubs/components/neato/__init__.pyi +1 -1
  559. homeassistant-stubs/components/nest/__init__.pyi +10 -4
  560. homeassistant-stubs/components/nest/types.pyi +4 -0
  561. homeassistant-stubs/components/netatmo/__init__.pyi +2 -1
  562. homeassistant-stubs/components/netatmo/camera.pyi +1 -1
  563. homeassistant-stubs/components/netatmo/const.pyi +17 -11
  564. homeassistant-stubs/components/netatmo/data_handler.pyi +1 -1
  565. homeassistant-stubs/components/netatmo/light.pyi +1 -1
  566. homeassistant-stubs/components/network/websocket.pyi +0 -1
  567. homeassistant-stubs/components/nextdns/config_flow.pyi +6 -1
  568. homeassistant-stubs/components/nordpool/coordinator.pyi +9 -4
  569. homeassistant-stubs/components/ntfy/config_flow.pyi +4 -2
  570. homeassistant-stubs/components/ntfy/const.pyi +6 -0
  571. homeassistant-stubs/components/ntfy/entity.pyi +18 -0
  572. homeassistant-stubs/components/ntfy/event.pyi +29 -0
  573. homeassistant-stubs/components/ntfy/notify.pyi +19 -13
  574. homeassistant-stubs/components/{home_connect → ntfy}/repairs.pyi +7 -3
  575. homeassistant-stubs/components/number/const.pyi +3 -2
  576. homeassistant-stubs/components/ohme/__init__.pyi +1 -1
  577. homeassistant-stubs/components/ohme/coordinator.pyi +0 -5
  578. homeassistant-stubs/components/ohme/sensor.pyi +1 -2
  579. homeassistant-stubs/components/onboarding/const.pyi +6 -0
  580. homeassistant-stubs/components/onedrive/__init__.pyi +2 -3
  581. homeassistant-stubs/components/onedrive/backup.pyi +2 -1
  582. homeassistant-stubs/components/onewire/binary_sensor.pyi +5 -12
  583. homeassistant-stubs/components/onewire/const.pyi +0 -2
  584. homeassistant-stubs/components/onewire/diagnostics.pyi +2 -0
  585. homeassistant-stubs/components/onewire/entity.pyi +6 -14
  586. homeassistant-stubs/components/onewire/onewirehub.pyi +5 -5
  587. homeassistant-stubs/components/onewire/select.pyi +3 -10
  588. homeassistant-stubs/components/onewire/sensor.pyi +5 -7
  589. homeassistant-stubs/components/onewire/switch.pyi +7 -14
  590. homeassistant-stubs/components/onkyo/media_player.pyi +9 -3
  591. homeassistant-stubs/components/onkyo/receiver.pyi +4 -1
  592. homeassistant-stubs/components/open_router/config_flow.pyi +13 -1
  593. homeassistant-stubs/components/open_router/entity.pyi +4 -1
  594. homeassistant-stubs/components/openai_conversation/ai_task.pyi +5 -1
  595. homeassistant-stubs/components/openai_conversation/config_flow.pyi +2 -1
  596. homeassistant-stubs/components/openai_conversation/const.pyi +7 -0
  597. homeassistant-stubs/components/openai_conversation/entity.pyi +4 -4
  598. homeassistant-stubs/components/openuv/__init__.pyi +1 -1
  599. homeassistant-stubs/components/openuv/binary_sensor.pyi +2 -2
  600. homeassistant-stubs/components/openuv/coordinator.pyi +14 -1
  601. homeassistant-stubs/components/opnsense/__init__.pyi +11 -0
  602. homeassistant-stubs/components/opnsense/const.pyi +5 -0
  603. homeassistant-stubs/components/opnsense/device_tracker.pyi +23 -0
  604. homeassistant-stubs/components/opower/coordinator.pyi +1 -0
  605. homeassistant-stubs/components/overseerr/coordinator.pyi +3 -3
  606. homeassistant-stubs/components/overseerr/models.pyi +7 -0
  607. homeassistant-stubs/components/overseerr/sensor.pyi +2 -2
  608. homeassistant-stubs/components/ping/__init__.pyi +1 -0
  609. homeassistant-stubs/components/ping/config_flow.pyi +1 -0
  610. homeassistant-stubs/components/ping/device_tracker.pyi +3 -2
  611. homeassistant-stubs/components/ping/entity.pyi +1 -0
  612. homeassistant-stubs/components/ping/sensor.pyi +1 -1
  613. homeassistant-stubs/components/plugwise/__init__.pyi +1 -1
  614. homeassistant-stubs/components/plugwise/climate.pyi +19 -4
  615. homeassistant-stubs/components/plugwise/config_flow.pyi +1 -1
  616. homeassistant-stubs/components/plugwise/const.pyi +15 -4
  617. homeassistant-stubs/components/plugwise/coordinator.pyi +6 -3
  618. homeassistant-stubs/components/plugwise/entity.pyi +2 -2
  619. homeassistant-stubs/components/plugwise/select.pyi +1 -1
  620. homeassistant-stubs/components/portainer/__init__.pyi +12 -0
  621. homeassistant-stubs/components/portainer/binary_sensor.pyi +41 -0
  622. homeassistant-stubs/components/portainer/button.pyi +28 -0
  623. homeassistant-stubs/components/portainer/config_flow.pyi +25 -0
  624. homeassistant-stubs/components/portainer/const.pyi +3 -0
  625. homeassistant-stubs/components/portainer/coordinator.pyi +44 -0
  626. homeassistant-stubs/components/portainer/diagnostics.pyi +12 -0
  627. homeassistant-stubs/components/portainer/entity.pyi +25 -0
  628. homeassistant-stubs/components/portainer/sensor.pyi +40 -0
  629. homeassistant-stubs/components/portainer/switch.pyi +34 -0
  630. homeassistant-stubs/components/prometheus/__init__.pyi +35 -14
  631. homeassistant-stubs/components/prusalink/coordinator.pyi +2 -0
  632. homeassistant-stubs/components/pyload/config_flow.pyi +1 -0
  633. homeassistant-stubs/components/qbus/entity.pyi +1 -3
  634. homeassistant-stubs/components/radio_browser/media_source.pyi +3 -0
  635. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -0
  636. homeassistant-stubs/components/raspberry_pi/hardware.pyi +1 -1
  637. homeassistant-stubs/components/recorder/auto_repairs/schema.pyi +1 -1
  638. homeassistant-stubs/components/recorder/const.pyi +1 -1
  639. homeassistant-stubs/components/recorder/core.pyi +3 -3
  640. homeassistant-stubs/components/recorder/db_schema.pyi +3 -10
  641. homeassistant-stubs/components/recorder/entity_registry.pyi +1 -0
  642. homeassistant-stubs/components/recorder/history/__init__.pyi +2 -2
  643. homeassistant-stubs/components/recorder/migration.pyi +12 -1
  644. homeassistant-stubs/components/recorder/models/statistics.pyi +2 -0
  645. homeassistant-stubs/components/recorder/statistics.pyi +17 -12
  646. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +0 -1
  647. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +5 -3
  648. homeassistant-stubs/components/recorder/tasks.pyi +1 -0
  649. homeassistant-stubs/components/recorder/util.pyi +2 -1
  650. homeassistant-stubs/components/recorder/websocket_api.pyi +6 -4
  651. homeassistant-stubs/components/remote_calendar/calendar.pyi +1 -2
  652. homeassistant-stubs/components/renault/renault_hub.pyi +2 -0
  653. homeassistant-stubs/components/renault/sensor.pyi +1 -1
  654. homeassistant-stubs/components/reolink/__init__.pyi +4 -3
  655. homeassistant-stubs/components/reolink/binary_sensor.pyi +15 -0
  656. homeassistant-stubs/components/reolink/const.pyi +1 -0
  657. homeassistant-stubs/components/reolink/entity.pyi +10 -0
  658. homeassistant-stubs/components/reolink/host.pyi +1 -0
  659. homeassistant-stubs/components/reolink/light.pyi +7 -1
  660. homeassistant-stubs/components/reolink/number.pyi +10 -1
  661. homeassistant-stubs/components/reolink/select.pyi +11 -3
  662. homeassistant-stubs/components/reolink/siren.pyi +13 -1
  663. homeassistant-stubs/components/reolink/switch.pyi +36 -8
  664. homeassistant-stubs/components/reolink/update.pyi +1 -1
  665. homeassistant-stubs/components/rest_command/__init__.pyi +1 -0
  666. homeassistant-stubs/components/ridwell/__init__.pyi +1 -0
  667. homeassistant-stubs/components/ridwell/calendar.pyi +2 -2
  668. homeassistant-stubs/components/ridwell/config_flow.pyi +10 -3
  669. homeassistant-stubs/components/ridwell/const.pyi +5 -0
  670. homeassistant-stubs/components/rituals_perfume_genie/__init__.pyi +4 -2
  671. homeassistant-stubs/components/rituals_perfume_genie/config_flow.pyi +4 -2
  672. homeassistant-stubs/components/rituals_perfume_genie/coordinator.pyi +5 -3
  673. homeassistant-stubs/components/roborock/__init__.pyi +9 -11
  674. homeassistant-stubs/components/roborock/binary_sensor.pyi +2 -2
  675. homeassistant-stubs/components/roborock/button.pyi +6 -3
  676. homeassistant-stubs/components/roborock/config_flow.pyi +3 -3
  677. homeassistant-stubs/components/roborock/const.pyi +1 -0
  678. homeassistant-stubs/components/roborock/coordinator.pyi +65 -38
  679. homeassistant-stubs/components/roborock/diagnostics.pyi +1 -1
  680. homeassistant-stubs/components/roborock/entity.pyi +12 -29
  681. homeassistant-stubs/components/roborock/image.pyi +8 -4
  682. homeassistant-stubs/components/roborock/models.pyi +11 -6
  683. homeassistant-stubs/components/roborock/number.pyi +6 -5
  684. homeassistant-stubs/components/roborock/roborock_storage.pyi +17 -12
  685. homeassistant-stubs/components/roborock/select.pyi +14 -7
  686. homeassistant-stubs/components/roborock/sensor.pyi +21 -7
  687. homeassistant-stubs/components/roborock/switch.pyi +6 -7
  688. homeassistant-stubs/components/roborock/time.pyi +5 -6
  689. homeassistant-stubs/components/roborock/vacuum.pyi +3 -1
  690. homeassistant-stubs/components/route_b_smart_meter/__init__.pyi +10 -0
  691. homeassistant-stubs/components/route_b_smart_meter/config_flow.pyi +22 -0
  692. homeassistant-stubs/components/route_b_smart_meter/const.pyi +9 -0
  693. homeassistant-stubs/components/route_b_smart_meter/coordinator.pyi +26 -0
  694. homeassistant-stubs/components/route_b_smart_meter/sensor.pyi +30 -0
  695. homeassistant-stubs/components/scene/trigger.pyi +14 -0
  696. homeassistant-stubs/components/scrape/__init__.pyi +0 -1
  697. homeassistant-stubs/components/scrape/config_flow.pyi +1 -0
  698. homeassistant-stubs/components/scrape/coordinator.pyi +5 -2
  699. homeassistant-stubs/components/script/__init__.pyi +1 -1
  700. homeassistant-stubs/components/sensibo/__init__.pyi +6 -0
  701. homeassistant-stubs/components/sensibo/climate.pyi +3 -26
  702. homeassistant-stubs/components/sensibo/services.pyi +31 -0
  703. homeassistant-stubs/components/sensor/const.pyi +3 -1
  704. homeassistant-stubs/components/sensor/device_condition.pyi +2 -0
  705. homeassistant-stubs/components/sensor/device_trigger.pyi +2 -0
  706. homeassistant-stubs/components/sensor/recorder.pyi +6 -3
  707. homeassistant-stubs/components/senz/__init__.pyi +8 -5
  708. homeassistant-stubs/components/senz/api.pyi +1 -1
  709. homeassistant-stubs/components/senz/climate.pyi +5 -5
  710. homeassistant-stubs/components/senz/config_flow.pyi +9 -0
  711. homeassistant-stubs/components/senz/diagnostics.pyi +9 -0
  712. homeassistant-stubs/components/senz/sensor.pyi +32 -0
  713. homeassistant-stubs/components/sfr_box/__init__.pyi +4 -6
  714. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +7 -14
  715. homeassistant-stubs/components/sfr_box/button.pyi +6 -8
  716. homeassistant-stubs/components/sfr_box/config_flow.pyi +5 -2
  717. homeassistant-stubs/components/sfr_box/coordinator.pyi +16 -4
  718. homeassistant-stubs/components/sfr_box/diagnostics.pyi +2 -4
  719. homeassistant-stubs/components/sfr_box/entity.pyi +18 -0
  720. homeassistant-stubs/components/sfr_box/sensor.pyi +6 -13
  721. homeassistant-stubs/components/sftp_storage/__init__.pyi +21 -0
  722. homeassistant-stubs/components/sftp_storage/backup.pyi +24 -0
  723. homeassistant-stubs/components/sftp_storage/client.pyi +48 -0
  724. homeassistant-stubs/components/sftp_storage/config_flow.pyi +25 -0
  725. homeassistant-stubs/components/sftp_storage/const.pyi +16 -0
  726. homeassistant-stubs/components/shelly/__init__.pyi +3 -2
  727. homeassistant-stubs/components/shelly/binary_sensor.pyi +19 -5
  728. homeassistant-stubs/components/shelly/ble_provisioning.pyi +21 -0
  729. homeassistant-stubs/components/shelly/button.pyi +28 -9
  730. homeassistant-stubs/components/shelly/climate.pyi +63 -7
  731. homeassistant-stubs/components/shelly/config_flow.pyi +72 -5
  732. homeassistant-stubs/components/shelly/const.pyi +25 -3
  733. homeassistant-stubs/components/shelly/coordinator.pyi +1 -1
  734. homeassistant-stubs/components/shelly/cover.pyi +39 -10
  735. homeassistant-stubs/components/shelly/entity.pyi +12 -18
  736. homeassistant-stubs/components/shelly/event.pyi +17 -10
  737. homeassistant-stubs/components/shelly/light.pyi +40 -14
  738. homeassistant-stubs/components/shelly/logbook.pyi +1 -1
  739. homeassistant-stubs/components/shelly/number.pyi +17 -11
  740. homeassistant-stubs/components/shelly/repairs.pyi +14 -2
  741. homeassistant-stubs/components/shelly/select.pyi +15 -7
  742. homeassistant-stubs/components/shelly/sensor.pyi +19 -10
  743. homeassistant-stubs/components/shelly/services.pyi +23 -0
  744. homeassistant-stubs/components/shelly/switch.pyi +12 -7
  745. homeassistant-stubs/components/shelly/text.pyi +8 -3
  746. homeassistant-stubs/components/shelly/update.pyi +4 -0
  747. homeassistant-stubs/components/shelly/utils.pyi +24 -9
  748. homeassistant-stubs/components/shelly/valve.pyi +34 -5
  749. homeassistant-stubs/components/simplisafe/__init__.pyi +3 -1
  750. homeassistant-stubs/components/simplisafe/binary_sensor.pyi +3 -0
  751. homeassistant-stubs/components/simplisafe/config_flow.pyi +2 -0
  752. homeassistant-stubs/components/siren/trigger.pyi +8 -0
  753. homeassistant-stubs/components/sleep_as_android/event.pyi +1 -0
  754. homeassistant-stubs/components/sma/__init__.pyi +15 -0
  755. homeassistant-stubs/components/sma/config_flow.pyi +27 -0
  756. homeassistant-stubs/components/sma/const.pyi +11 -0
  757. homeassistant-stubs/components/sma/coordinator.pyi +28 -0
  758. homeassistant-stubs/components/sma/diagnostics.pyi +10 -0
  759. homeassistant-stubs/components/sma/sensor.pyi +33 -0
  760. homeassistant-stubs/components/smhi/__init__.pyi +1 -1
  761. homeassistant-stubs/components/smhi/coordinator.pyi +15 -2
  762. homeassistant-stubs/components/smhi/entity.pyi +13 -4
  763. homeassistant-stubs/components/smhi/sensor.pyi +27 -11
  764. homeassistant-stubs/components/smhi/weather.pyi +3 -2
  765. homeassistant-stubs/components/smlight/switch.pyi +1 -0
  766. homeassistant-stubs/components/solarlog/coordinator.pyi +1 -1
  767. homeassistant-stubs/components/sql/__init__.pyi +4 -6
  768. homeassistant-stubs/components/sql/config_flow.pyi +9 -4
  769. homeassistant-stubs/components/sql/const.pyi +1 -0
  770. homeassistant-stubs/components/sql/sensor.pyi +10 -18
  771. homeassistant-stubs/components/sql/services.pyi +18 -0
  772. homeassistant-stubs/components/sql/util.pyi +27 -3
  773. homeassistant-stubs/components/squeezebox/__init__.pyi +4 -1
  774. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +16 -5
  775. homeassistant-stubs/components/squeezebox/browse_media.pyi +4 -3
  776. homeassistant-stubs/components/squeezebox/button.pyi +1 -0
  777. homeassistant-stubs/components/squeezebox/const.pyi +4 -1
  778. homeassistant-stubs/components/squeezebox/media_player.pyi +7 -2
  779. homeassistant-stubs/components/squeezebox/sensor.pyi +21 -3
  780. homeassistant-stubs/components/squeezebox/switch.pyi +1 -0
  781. homeassistant-stubs/components/squeezebox/util.pyi +6 -0
  782. homeassistant-stubs/components/ssdp/server.pyi +2 -3
  783. homeassistant-stubs/components/starlink/sensor.pyi +11 -1
  784. homeassistant-stubs/components/statistics/__init__.pyi +0 -1
  785. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  786. homeassistant-stubs/components/stookwijzer/__init__.pyi +1 -1
  787. homeassistant-stubs/components/stookwijzer/services.pyi +3 -2
  788. homeassistant-stubs/components/suez_water/coordinator.pyi +2 -1
  789. homeassistant-stubs/components/sun/condition.pyi +12 -7
  790. homeassistant-stubs/components/sun/sensor.pyi +0 -2
  791. homeassistant-stubs/components/switch/trigger.pyi +8 -0
  792. homeassistant-stubs/components/switch_as_x/__init__.pyi +0 -1
  793. homeassistant-stubs/components/switch_as_x/config_flow.pyi +1 -0
  794. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  795. homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +9 -2
  796. homeassistant-stubs/components/switchbot_cloud/climate.pyi +37 -6
  797. homeassistant-stubs/components/switchbot_cloud/const.pyi +14 -0
  798. homeassistant-stubs/components/switchbot_cloud/entity.pyi +1 -1
  799. homeassistant-stubs/components/switchbot_cloud/humidifier.pyi +48 -0
  800. homeassistant-stubs/components/switchbot_cloud/light.pyi +10 -1
  801. homeassistant-stubs/components/switchbot_cloud/lock.pyi +7 -2
  802. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +39 -4
  803. homeassistant-stubs/components/switchbot_cloud/switch.pyi +13 -1
  804. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +4 -4
  805. homeassistant-stubs/components/switcher_kis/button.pyi +5 -6
  806. homeassistant-stubs/components/switcher_kis/climate.pyi +3 -3
  807. homeassistant-stubs/components/switcher_kis/config_flow.pyi +1 -1
  808. homeassistant-stubs/components/switcher_kis/const.pyi +2 -0
  809. homeassistant-stubs/components/switcher_kis/cover.pyi +4 -3
  810. homeassistant-stubs/components/switcher_kis/light.pyi +3 -2
  811. homeassistant-stubs/components/switcher_kis/sensor.pyi +4 -2
  812. homeassistant-stubs/components/switcher_kis/switch.pyi +3 -5
  813. homeassistant-stubs/components/synology_dsm/config_flow.pyi +1 -0
  814. homeassistant-stubs/components/synology_dsm/media_source.pyi +2 -2
  815. homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -0
  816. homeassistant-stubs/components/systemmonitor/__init__.pyi +0 -1
  817. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +4 -3
  818. homeassistant-stubs/components/systemmonitor/config_flow.pyi +1 -0
  819. homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
  820. homeassistant-stubs/components/systemmonitor/coordinator.pyi +12 -6
  821. homeassistant-stubs/components/systemmonitor/sensor.pyi +8 -2
  822. homeassistant-stubs/components/systemmonitor/util.pyi +2 -1
  823. homeassistant-stubs/components/telegram_bot/__init__.pyi +9 -5
  824. homeassistant-stubs/components/telegram_bot/bot.pyi +16 -5
  825. homeassistant-stubs/components/telegram_bot/config_flow.pyi +4 -6
  826. homeassistant-stubs/components/telegram_bot/const.pyi +25 -4
  827. homeassistant-stubs/components/telegram_bot/diagnostics.pyi +11 -0
  828. homeassistant-stubs/components/telegram_bot/entity.pyi +16 -0
  829. homeassistant-stubs/components/telegram_bot/event.pyi +19 -0
  830. homeassistant-stubs/components/telegram_bot/helpers.pyi +4 -0
  831. homeassistant-stubs/components/telegram_bot/notify.pyi +6 -10
  832. homeassistant-stubs/components/text/trigger.pyi +13 -0
  833. homeassistant-stubs/components/threshold/__init__.pyi +0 -1
  834. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  835. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  836. homeassistant-stubs/components/tod/__init__.pyi +0 -1
  837. homeassistant-stubs/components/tod/config_flow.pyi +1 -0
  838. homeassistant-stubs/components/todo/__init__.pyi +1 -0
  839. homeassistant-stubs/components/tolo/__init__.pyi +3 -5
  840. homeassistant-stubs/components/tolo/binary_sensor.pyi +4 -6
  841. homeassistant-stubs/components/tolo/button.pyi +3 -5
  842. homeassistant-stubs/components/tolo/climate.pyi +3 -5
  843. homeassistant-stubs/components/tolo/config_flow.pyi +5 -3
  844. homeassistant-stubs/components/tolo/coordinator.pyi +3 -2
  845. homeassistant-stubs/components/tolo/entity.pyi +2 -3
  846. homeassistant-stubs/components/tolo/fan.pyi +3 -5
  847. homeassistant-stubs/components/tolo/light.pyi +3 -5
  848. homeassistant-stubs/components/tolo/number.pyi +3 -5
  849. homeassistant-stubs/components/tolo/select.pyi +4 -5
  850. homeassistant-stubs/components/tolo/sensor.pyi +3 -5
  851. homeassistant-stubs/components/tolo/switch.pyi +3 -5
  852. homeassistant-stubs/components/tplink/number.pyi +1 -1
  853. homeassistant-stubs/components/tplink_omada/__init__.pyi +6 -1
  854. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +2 -1
  855. homeassistant-stubs/components/tplink_omada/controller.pyi +4 -2
  856. homeassistant-stubs/components/tplink_omada/coordinator.pyi +17 -2
  857. homeassistant-stubs/components/tplink_omada/services.pyi +22 -0
  858. homeassistant-stubs/components/tplink_omada/switch.pyi +2 -1
  859. homeassistant-stubs/components/tplink_omada/update.pyi +3 -19
  860. homeassistant-stubs/components/tractive/switch.pyi +2 -2
  861. homeassistant-stubs/components/transmission/__init__.pyi +6 -13
  862. homeassistant-stubs/components/transmission/const.pyi +5 -0
  863. homeassistant-stubs/components/transmission/entity.pyi +13 -0
  864. homeassistant-stubs/components/transmission/helpers.pyi +6 -0
  865. homeassistant-stubs/components/transmission/sensor.pyi +5 -12
  866. homeassistant-stubs/components/transmission/services.pyi +37 -0
  867. homeassistant-stubs/components/transmission/switch.pyi +5 -9
  868. homeassistant-stubs/components/trend/__init__.pyi +0 -1
  869. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  870. homeassistant-stubs/components/tts/__init__.pyi +7 -3
  871. homeassistant-stubs/components/unifi/light.pyi +48 -0
  872. homeassistant-stubs/components/unifi/sensor.pyi +2 -0
  873. homeassistant-stubs/components/unifiprotect/__init__.pyi +4 -3
  874. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +1 -0
  875. homeassistant-stubs/components/unifiprotect/button.pyi +5 -4
  876. homeassistant-stubs/components/unifiprotect/camera.pyi +4 -1
  877. homeassistant-stubs/components/unifiprotect/config_flow.pyi +25 -5
  878. homeassistant-stubs/components/unifiprotect/const.pyi +2 -0
  879. homeassistant-stubs/components/unifiprotect/discovery.pyi +9 -1
  880. homeassistant-stubs/components/unifiprotect/entity.pyi +1 -1
  881. homeassistant-stubs/components/unifiprotect/event.pyi +34 -2
  882. homeassistant-stubs/components/unifiprotect/light.pyi +5 -1
  883. homeassistant-stubs/components/unifiprotect/lock.pyi +4 -0
  884. homeassistant-stubs/components/unifiprotect/media_player.pyi +2 -0
  885. homeassistant-stubs/components/unifiprotect/number.pyi +6 -2
  886. homeassistant-stubs/components/unifiprotect/repairs.pyi +1 -2
  887. homeassistant-stubs/components/unifiprotect/select.pyi +6 -5
  888. homeassistant-stubs/components/unifiprotect/sensor.pyi +1 -12
  889. homeassistant-stubs/components/unifiprotect/services.pyi +3 -2
  890. homeassistant-stubs/components/unifiprotect/switch.pyi +8 -2
  891. homeassistant-stubs/components/unifiprotect/text.pyi +6 -2
  892. homeassistant-stubs/components/unifiprotect/utils.pyi +6 -2
  893. homeassistant-stubs/components/update/trigger.pyi +8 -0
  894. homeassistant-stubs/components/uptime_kuma/config_flow.pyi +1 -0
  895. homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +2 -0
  896. homeassistant-stubs/components/uptimerobot/config_flow.pyi +1 -0
  897. homeassistant-stubs/components/uptimerobot/sensor.pyi +2 -0
  898. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -0
  899. homeassistant-stubs/components/uptimerobot/utils.pyi +5 -0
  900. homeassistant-stubs/components/usb/__init__.pyi +4 -4
  901. homeassistant-stubs/components/usb/utils.pyi +7 -0
  902. homeassistant-stubs/components/vacuum/__init__.pyi +0 -15
  903. homeassistant-stubs/components/vacuum/intent.pyi +1 -1
  904. homeassistant-stubs/components/vacuum/trigger.pyi +7 -0
  905. homeassistant-stubs/components/velbus/__init__.pyi +1 -1
  906. homeassistant-stubs/components/velbus/config_flow.pyi +17 -4
  907. homeassistant-stubs/components/velbus/const.pyi +1 -0
  908. homeassistant-stubs/components/velbus/entity.pyi +1 -1
  909. homeassistant-stubs/components/velbus/sensor.pyi +19 -10
  910. homeassistant-stubs/components/velbus/services.pyi +1 -1
  911. homeassistant-stubs/components/vivotek/__init__.pyi +17 -0
  912. homeassistant-stubs/components/vivotek/camera.pyi +41 -0
  913. homeassistant-stubs/components/vivotek/config_flow.pyi +25 -0
  914. homeassistant-stubs/components/vivotek/const.pyi +6 -0
  915. homeassistant-stubs/components/vodafone_station/__init__.pyi +3 -1
  916. homeassistant-stubs/components/vodafone_station/config_flow.pyi +3 -2
  917. homeassistant-stubs/components/vodafone_station/const.pyi +3 -0
  918. homeassistant-stubs/components/vodafone_station/coordinator.pyi +4 -4
  919. homeassistant-stubs/components/volvo/__init__.pyi +4 -2
  920. homeassistant-stubs/components/volvo/api.pyi +4 -0
  921. homeassistant-stubs/components/volvo/binary_sensor.pyi +1 -3
  922. homeassistant-stubs/components/volvo/button.pyi +27 -0
  923. homeassistant-stubs/components/volvo/coordinator.pyi +20 -9
  924. homeassistant-stubs/components/volvo/device_tracker.pyi +23 -0
  925. homeassistant-stubs/components/volvo/diagnostics.pyi +12 -0
  926. homeassistant-stubs/components/volvo/entity.pyi +9 -5
  927. homeassistant-stubs/components/volvo/lock.pyi +37 -0
  928. homeassistant-stubs/components/volvo/sensor.pyi +9 -8
  929. homeassistant-stubs/components/wake_on_lan/__init__.pyi +0 -1
  930. homeassistant-stubs/components/wake_on_lan/config_flow.pyi +1 -0
  931. homeassistant-stubs/components/wallbox/__init__.pyi +2 -3
  932. homeassistant-stubs/components/wallbox/config_flow.pyi +2 -2
  933. homeassistant-stubs/components/wallbox/const.pyi +5 -0
  934. homeassistant-stubs/components/wallbox/coordinator.pyi +12 -9
  935. homeassistant-stubs/components/waqi/__init__.pyi +8 -0
  936. homeassistant-stubs/components/waqi/config_flow.pyi +14 -9
  937. homeassistant-stubs/components/waqi/const.pyi +1 -1
  938. homeassistant-stubs/components/waqi/coordinator.pyi +5 -4
  939. homeassistant-stubs/components/waqi/diagnostics.pyi +5 -0
  940. homeassistant-stubs/components/watts/__init__.pyi +28 -0
  941. homeassistant-stubs/components/watts/application_credentials.pyi +5 -0
  942. homeassistant-stubs/components/watts/climate.pyi +35 -0
  943. homeassistant-stubs/components/watts/config_flow.pyi +13 -0
  944. homeassistant-stubs/components/watts/const.pyi +12 -0
  945. homeassistant-stubs/components/watts/coordinator.pyi +40 -0
  946. homeassistant-stubs/components/watts/entity.pyi +17 -0
  947. homeassistant-stubs/components/webhook/trigger.pyi +3 -1
  948. homeassistant-stubs/components/webostv/media_player.pyi +3 -0
  949. homeassistant-stubs/components/websocket_api/automation.pyi +47 -0
  950. homeassistant-stubs/components/websocket_api/commands.pyi +11 -0
  951. homeassistant-stubs/components/websocket_api/http.pyi +1 -0
  952. homeassistant-stubs/components/withings/__init__.pyi +2 -1
  953. homeassistant-stubs/components/withings/const.pyi +0 -1
  954. homeassistant-stubs/components/withings/sensor.pyi +2 -2
  955. homeassistant-stubs/components/wled/__init__.pyi +4 -3
  956. homeassistant-stubs/components/wled/analytics.pyi +4 -0
  957. homeassistant-stubs/components/wled/button.pyi +3 -2
  958. homeassistant-stubs/components/wled/config_flow.pyi +8 -2
  959. homeassistant-stubs/components/wled/coordinator.pyi +8 -2
  960. homeassistant-stubs/components/wled/diagnostics.pyi +1 -1
  961. homeassistant-stubs/components/wled/helpers.pyi +1 -0
  962. homeassistant-stubs/components/wled/light.pyi +1 -2
  963. homeassistant-stubs/components/wled/number.pyi +1 -2
  964. homeassistant-stubs/components/wled/select.pyi +7 -5
  965. homeassistant-stubs/components/wled/sensor.pyi +3 -2
  966. homeassistant-stubs/components/wled/switch.pyi +1 -2
  967. homeassistant-stubs/components/wled/update.pyi +4 -2
  968. homeassistant-stubs/components/workday/calendar.pyi +23 -0
  969. homeassistant-stubs/components/worldclock/__init__.pyi +0 -1
  970. homeassistant-stubs/components/worldclock/config_flow.pyi +1 -0
  971. homeassistant-stubs/components/xbox/__init__.pyi +19 -0
  972. homeassistant-stubs/components/xbox/api.pyi +15 -0
  973. homeassistant-stubs/components/xbox/application_credentials.pyi +5 -0
  974. homeassistant-stubs/components/xbox/binary_sensor.pyi +36 -0
  975. homeassistant-stubs/components/xbox/browse_media.pyi +17 -0
  976. homeassistant-stubs/components/xbox/config_flow.pyi +27 -0
  977. homeassistant-stubs/components/xbox/const.pyi +4 -0
  978. homeassistant-stubs/components/xbox/coordinator.pyi +54 -0
  979. homeassistant-stubs/components/xbox/diagnostics.pyi +9 -0
  980. homeassistant-stubs/components/xbox/entity.pyi +54 -0
  981. homeassistant-stubs/components/xbox/image.pyi +34 -0
  982. homeassistant-stubs/components/xbox/media_player.pyi +45 -0
  983. homeassistant-stubs/components/xbox/media_source.pyi +51 -0
  984. homeassistant-stubs/components/xbox/remote.pyi +20 -0
  985. homeassistant-stubs/components/xbox/sensor.pyi +74 -0
  986. homeassistant-stubs/components/yalexs_ble/__init__.pyi +3 -2
  987. homeassistant-stubs/components/yalexs_ble/config_cache.pyi +10 -0
  988. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +6 -2
  989. homeassistant-stubs/components/youtube/__init__.pyi +1 -1
  990. homeassistant-stubs/components/zeroconf/__init__.pyi +3 -1
  991. homeassistant-stubs/components/zeroconf/discovery.pyi +8 -1
  992. homeassistant-stubs/components/zeroconf/repairs.pyi +13 -0
  993. homeassistant-stubs/components/zone/condition.pyi +12 -6
  994. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  995. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +1 -0
  996. homeassistant-stubs/components/zwave_js/config_flow.pyi +7 -3
  997. homeassistant-stubs/components/zwave_js/const.pyi +3 -0
  998. homeassistant-stubs/components/zwave_js/device_trigger.pyi +2 -2
  999. homeassistant-stubs/components/zwave_js/entity.pyi +2 -2
  1000. homeassistant-stubs/components/zwave_js/event.pyi +11 -5
  1001. homeassistant-stubs/components/zwave_js/triggers/event.pyi +24 -11
  1002. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +13 -9
  1003. homeassistant-stubs/config_entries.pyi +15 -4
  1004. homeassistant-stubs/const.pyi +12 -74
  1005. homeassistant-stubs/core.pyi +4 -17
  1006. homeassistant-stubs/core_config.pyi +1 -1
  1007. homeassistant-stubs/data_entry_flow.pyi +20 -3
  1008. homeassistant-stubs/generated/entity_platforms.pyi +46 -0
  1009. homeassistant-stubs/generated/labs.pyi +3 -0
  1010. homeassistant-stubs/helpers/area_registry.pyi +4 -2
  1011. homeassistant-stubs/helpers/automation.pyi +7 -0
  1012. homeassistant-stubs/helpers/condition.pyi +36 -10
  1013. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +3 -0
  1014. homeassistant-stubs/helpers/config_validation.pyi +5 -4
  1015. homeassistant-stubs/helpers/debounce.pyi +6 -1
  1016. homeassistant-stubs/helpers/deprecation.pyi +1 -0
  1017. homeassistant-stubs/helpers/device_registry.pyi +6 -5
  1018. homeassistant-stubs/helpers/entity.pyi +0 -1
  1019. homeassistant-stubs/helpers/entity_component.pyi +3 -5
  1020. homeassistant-stubs/helpers/entity_platform.pyi +2 -2
  1021. homeassistant-stubs/helpers/entity_registry.pyi +4 -4
  1022. homeassistant-stubs/helpers/event.pyi +3 -2
  1023. homeassistant-stubs/helpers/floor_registry.pyi +7 -1
  1024. homeassistant-stubs/helpers/instance_id.pyi +1 -0
  1025. homeassistant-stubs/helpers/intent.pyi +6 -8
  1026. homeassistant-stubs/helpers/json.pyi +1 -0
  1027. homeassistant-stubs/helpers/llm.pyi +6 -1
  1028. homeassistant-stubs/helpers/registry.pyi +0 -1
  1029. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +5 -1
  1030. homeassistant-stubs/helpers/script.pyi +7 -7
  1031. homeassistant-stubs/helpers/selector.pyi +43 -21
  1032. homeassistant-stubs/helpers/service.pyi +17 -19
  1033. homeassistant-stubs/helpers/service_info/esphome.pyi +12 -0
  1034. homeassistant-stubs/helpers/storage.pyi +6 -4
  1035. homeassistant-stubs/helpers/target.pyi +9 -4
  1036. homeassistant-stubs/helpers/{template.pyi → template/__init__.pyi} +12 -141
  1037. homeassistant-stubs/helpers/template/context.pyi +16 -0
  1038. homeassistant-stubs/helpers/template/extensions/__init__.pyi +14 -0
  1039. homeassistant-stubs/helpers/template/extensions/areas.pyi +14 -0
  1040. homeassistant-stubs/helpers/template/extensions/base.pyi +30 -0
  1041. homeassistant-stubs/helpers/template/extensions/base64.pyi +9 -0
  1042. homeassistant-stubs/helpers/template/extensions/collection.pyi +18 -0
  1043. homeassistant-stubs/helpers/template/extensions/crypto.pyi +13 -0
  1044. homeassistant-stubs/helpers/template/extensions/datetime.pyi +28 -0
  1045. homeassistant-stubs/helpers/template/extensions/devices.pyi +13 -0
  1046. homeassistant-stubs/helpers/template/extensions/floors.pyi +14 -0
  1047. homeassistant-stubs/helpers/template/extensions/issues.pyi +8 -0
  1048. homeassistant-stubs/helpers/template/extensions/labels.pyi +15 -0
  1049. homeassistant-stubs/helpers/template/extensions/math.pyi +49 -0
  1050. homeassistant-stubs/helpers/template/extensions/regex.pyi +14 -0
  1051. homeassistant-stubs/helpers/template/extensions/string.pyi +9 -0
  1052. homeassistant-stubs/helpers/template/helpers.pyi +6 -0
  1053. homeassistant-stubs/helpers/template/render_info.pyi +39 -0
  1054. homeassistant-stubs/helpers/trigger.pyi +136 -11
  1055. homeassistant-stubs/helpers/trigger_template_entity.pyi +2 -1
  1056. homeassistant-stubs/helpers/typing.pyi +0 -11
  1057. homeassistant-stubs/helpers/update_coordinator.pyi +6 -3
  1058. homeassistant-stubs/loader.pyi +3 -0
  1059. homeassistant-stubs/requirements.pyi +4 -3
  1060. homeassistant-stubs/runner.pyi +17 -1
  1061. homeassistant-stubs/util/__init__.pyi +1 -0
  1062. homeassistant-stubs/util/async_iterator.pyi +33 -0
  1063. homeassistant-stubs/util/unit_conversion.pyi +18 -0
  1064. {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/METADATA +2 -2
  1065. {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/RECORD +1067 -859
  1066. {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/WHEEL +1 -1
  1067. homeassistant-stubs/components/bluetooth_tracker/__init__.pyi +0 -0
  1068. homeassistant-stubs/components/bluetooth_tracker/const.pyi +0 -7
  1069. homeassistant-stubs/components/bluetooth_tracker/device_tracker.pyi +0 -19
  1070. homeassistant-stubs/components/elevenlabs/__init__.pyi +0 -22
  1071. homeassistant-stubs/components/elevenlabs/config_flow.pyi +0 -33
  1072. homeassistant-stubs/components/elevenlabs/const.pyi +0 -14
  1073. homeassistant-stubs/components/elevenlabs/tts.pyi +0 -36
  1074. homeassistant-stubs/components/home_connect/time.pyi +0 -29
  1075. homeassistant-stubs/components/music_assistant/actions.pyi +0 -22
  1076. homeassistant-stubs/components/pandora/__init__.pyi +0 -1
  1077. homeassistant-stubs/components/pandora/media_player.pyi +0 -52
  1078. homeassistant-stubs/components/recorder/history/legacy.pyi +0 -48
  1079. homeassistant-stubs/components/recorder/history/modern.pyi +0 -39
  1080. homeassistant-stubs/components/recorder/models/legacy.pyi +0 -45
  1081. homeassistant-stubs/components/sfr_box/models.pyi +0 -12
  1082. {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,4 +1,5 @@
1
1
  from .const import DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
+ from _typeshed import Incomplete
2
3
  from collections.abc import Mapping
3
4
  from devolo_home_control_api.homecontrol import HomeControl
4
5
  from devolo_home_control_api.mydevolo import Mydevolo
@@ -11,6 +12,8 @@ from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
11
12
  from typing import Any
12
13
 
13
14
  type DevoloHomeControlConfigEntry = ConfigEntry[list[HomeControl]]
15
+ _LOGGER: Incomplete
16
+
14
17
  async def async_setup_entry(hass: HomeAssistant, entry: DevoloHomeControlConfigEntry) -> bool: ...
15
18
  async def async_unload_entry(hass: HomeAssistant, entry: DevoloHomeControlConfigEntry) -> bool: ...
16
19
  async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: DevoloHomeControlConfigEntry, device_entry: DeviceEntry) -> bool: ...
@@ -30,4 +30,4 @@ class DevoloRemoteControl(DevoloDeviceEntity, BinarySensorEntity):
30
30
  _attr_translation_key: str
31
31
  _attr_translation_placeholders: Incomplete
32
32
  def __init__(self, homecontrol: HomeControl, device_instance: Zwave, element_uid: str, key: int) -> None: ...
33
- def _sync(self, message: tuple) -> None: ...
33
+ def sync_callback(self, message: tuple) -> None: ...
@@ -17,12 +17,11 @@ class DevoloDeviceEntity(Entity):
17
17
  _attr_unique_id: Incomplete
18
18
  _attr_device_info: Incomplete
19
19
  subscriber: Subscriber | None
20
- sync_callback: Incomplete
21
20
  _value: float
22
21
  def __init__(self, homecontrol: HomeControl, device_instance: Zwave, element_uid: str) -> None: ...
23
22
  async def async_added_to_hass(self) -> None: ...
24
23
  async def async_will_remove_from_hass(self) -> None: ...
25
- def _sync(self, message: tuple) -> None: ...
24
+ def sync_callback(self, message: tuple) -> None: ...
26
25
  def _generic_message(self, message: tuple) -> None: ...
27
26
 
28
27
  class DevoloMultiLevelSwitchDeviceEntity(DevoloDeviceEntity):
@@ -44,4 +44,4 @@ class DevoloConsumptionEntity(DevoloMultiLevelDeviceEntity):
44
44
  def __init__(self, homecontrol: HomeControl, device_instance: Zwave, element_uid: str, consumption: str) -> None: ...
45
45
  @property
46
46
  def unique_id(self) -> str: ...
47
- def _sync(self, message: tuple) -> None: ...
47
+ def sync_callback(self, message: tuple) -> None: ...
@@ -7,4 +7,3 @@ class Subscriber:
7
7
  name: Incomplete
8
8
  callback: Incomplete
9
9
  def __init__(self, name: str, callback: Callable) -> None: ...
10
- def update(self, message: str) -> None: ...
@@ -17,4 +17,4 @@ class DevoloSwitch(DevoloDeviceEntity, SwitchEntity):
17
17
  def __init__(self, homecontrol: HomeControl, device_instance: Zwave, element_uid: str) -> None: ...
18
18
  def turn_on(self, **kwargs: Any) -> None: ...
19
19
  def turn_off(self, **kwargs: Any) -> None: ...
20
- def _sync(self, message: tuple) -> None: ...
20
+ def sync_callback(self, message: tuple) -> None: ...
@@ -1,3 +1,4 @@
1
+ import aiodns
1
2
  from .const import CONF_HOSTNAME as CONF_HOSTNAME, CONF_IPV4 as CONF_IPV4, CONF_IPV6 as CONF_IPV6, CONF_PORT_IPV6 as CONF_PORT_IPV6, CONF_RESOLVER as CONF_RESOLVER, CONF_RESOLVER_IPV6 as CONF_RESOLVER_IPV6, DOMAIN as DOMAIN
2
3
  from _typeshed import Incomplete
3
4
  from homeassistant.components.sensor import SensorEntity as SensorEntity
@@ -20,15 +21,18 @@ class WanIpSensor(SensorEntity):
20
21
  _attr_has_entity_name: bool
21
22
  _attr_translation_key: str
22
23
  _unrecorded_attributes: Incomplete
24
+ resolver: aiodns.DNSResolver
23
25
  _attr_name: Incomplete
24
26
  _attr_unique_id: Incomplete
25
27
  hostname: Incomplete
26
- resolver: Incomplete
28
+ port: Incomplete
29
+ nameserver: Incomplete
27
30
  querytype: Literal['A', 'AAAA']
28
31
  _retries: Incomplete
29
32
  _attr_extra_state_attributes: Incomplete
30
33
  _attr_device_info: Incomplete
31
- def __init__(self, name: str, hostname: str, resolver: str, ipv6: bool, port: int) -> None: ...
34
+ def __init__(self, name: str, hostname: str, nameserver: str, ipv6: bool, port: int) -> None: ...
35
+ def create_dns_resolver(self) -> None: ...
32
36
  _attr_native_value: Incomplete
33
37
  _attr_available: bool
34
38
  async def async_update(self) -> None: ...
@@ -6,8 +6,10 @@ from collections.abc import Mapping
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
7
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
+ from homeassistant.data_entry_flow import AbortFlow as AbortFlow
9
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
11
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
12
+ from homeassistant.helpers.device_registry import format_mac as format_mac
11
13
  from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
12
14
  from homeassistant.helpers.typing import VolDictType as VolDictType
13
15
  from typing import Any
@@ -26,6 +28,7 @@ class DoorBirdConfigFlow(ConfigFlow, domain=DOMAIN):
26
28
  reauth_entry: ConfigEntry
27
29
  discovery_schema: vol.Schema | None
28
30
  def __init__(self) -> None: ...
31
+ async def _async_verify_existing_device_for_discovery(self, existing_entry: ConfigEntry, host: str, macaddress: str) -> None: ...
29
32
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
30
33
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
34
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -43,6 +43,7 @@ class ConfiguredDoorBird:
43
43
  def custom_url(self) -> str | None: ...
44
44
  @cached_property
45
45
  def token(self) -> str: ...
46
+ def _get_hass_url(self) -> str: ...
46
47
  async def async_register_events(self) -> None: ...
47
48
  async def _configure_unconfigured_favorites(self, event_config: DoorbirdEventConfig) -> None: ...
48
49
  async def _async_register_events(self) -> dict[str, Any]: ...
@@ -0,0 +1,10 @@
1
+ from .coordinator import DropletConfigEntry as DropletConfigEntry, DropletDataCoordinator as DropletDataCoordinator
2
+ from _typeshed import Incomplete
3
+ from homeassistant.const import Platform as Platform
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+
6
+ PLATFORMS: list[Platform]
7
+ logger: Incomplete
8
+
9
+ async def async_setup_entry(hass: HomeAssistant, config_entry: DropletConfigEntry) -> bool: ...
10
+ async def async_unload_entry(hass: HomeAssistant, config_entry: DropletConfigEntry) -> bool: ...
@@ -0,0 +1,15 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
3
+ from homeassistant.const import CONF_CODE as CONF_CODE, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PORT as CONF_PORT
4
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
5
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
6
+ from pydroplet.droplet import DropletDiscovery
7
+ from typing import Any
8
+
9
+ def normalize_pairing_code(code: str) -> str: ...
10
+
11
+ class DropletConfigFlow(ConfigFlow, domain=DOMAIN):
12
+ _droplet_discovery: DropletDiscovery
13
+ async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
14
+ async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
15
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,7 @@
1
+ CONNECT_DELAY: int
2
+ DOMAIN: str
3
+ DEVICE_NAME: str
4
+ KEY_CURRENT_FLOW_RATE: str
5
+ KEY_VOLUME: str
6
+ KEY_SIGNAL_QUALITY: str
7
+ KEY_SERVER_CONNECTIVITY: str
@@ -0,0 +1,23 @@
1
+ from .const import CONNECT_DELAY as CONNECT_DELAY, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.const import CONF_CODE as CONF_CODE, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PORT as CONF_PORT
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
7
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
9
+
10
+ VERSION_TIMEOUT: int
11
+ _LOGGER: Incomplete
12
+ TIMEOUT: int
13
+ type DropletConfigEntry = ConfigEntry[DropletDataCoordinator]
14
+
15
+ class DropletDataCoordinator(DataUpdateCoordinator[None]):
16
+ config_entry: DropletConfigEntry
17
+ droplet: Incomplete
18
+ unique_id: Incomplete
19
+ def __init__(self, hass: HomeAssistant, entry: DropletConfigEntry) -> None: ...
20
+ async def _async_setup(self) -> None: ...
21
+ async def _async_update_data(self) -> None: ...
22
+ async def setup(self) -> bool: ...
23
+ def get_availability(self) -> bool: ...
@@ -0,0 +1,37 @@
1
+ from .const import DOMAIN as DOMAIN, KEY_CURRENT_FLOW_RATE as KEY_CURRENT_FLOW_RATE, KEY_SERVER_CONNECTIVITY as KEY_SERVER_CONNECTIVITY, KEY_SIGNAL_QUALITY as KEY_SIGNAL_QUALITY, KEY_VOLUME as KEY_VOLUME
2
+ from .coordinator import DropletConfigEntry as DropletConfigEntry, DropletDataCoordinator as DropletDataCoordinator
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from datetime import datetime
7
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
8
+ from homeassistant.const import EntityCategory as EntityCategory, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
11
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
13
+ from pydroplet.droplet import Droplet as Droplet
14
+
15
+ ML_L_CONVERSION: int
16
+
17
+ @dataclass(kw_only=True, frozen=True)
18
+ class DropletSensorEntityDescription(SensorEntityDescription):
19
+ value_fn: Callable[[Droplet], float | str | None]
20
+ last_reset_fn: Callable[[Droplet], datetime | None] = ...
21
+
22
+ SENSORS: list[DropletSensorEntityDescription]
23
+
24
+ async def async_setup_entry(hass: HomeAssistant, config_entry: DropletConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
25
+
26
+ class DropletSensor(CoordinatorEntity[DropletDataCoordinator], SensorEntity):
27
+ entity_description: DropletSensorEntityDescription
28
+ _attr_has_entity_name: bool
29
+ _attr_unique_id: Incomplete
30
+ _attr_device_info: Incomplete
31
+ def __init__(self, coordinator: DropletDataCoordinator, entity_description: DropletSensorEntityDescription) -> None: ...
32
+ @property
33
+ def available(self) -> bool: ...
34
+ @property
35
+ def native_value(self) -> float | str | None: ...
36
+ @property
37
+ def last_reset(self) -> datetime | None: ...
@@ -1,29 +1,15 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import DuckDnsConfigEntry as DuckDnsConfigEntry, DuckDnsUpdateCoordinator as DuckDnsUpdateCoordinator
3
+ from .services import async_setup_services as async_setup_services
1
4
  from _typeshed import Incomplete
2
- from aiohttp import ClientSession as ClientSession
3
- from collections.abc import Callable as Callable, Coroutine, Sequence
4
- from datetime import datetime, timedelta
5
+ from homeassistant.config_entries import SOURCE_IMPORT as SOURCE_IMPORT
5
6
  from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_DOMAIN as CONF_DOMAIN
6
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
7
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
- from homeassistant.helpers.event import async_call_later as async_call_later
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
8
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
- from homeassistant.loader import bind_hass as bind_hass
11
- from typing import Any
12
9
 
13
10
  _LOGGER: Incomplete
14
- ATTR_TXT: str
15
- DOMAIN: str
16
- INTERVAL: Incomplete
17
- SERVICE_SET_TXT: str
18
- UPDATE_URL: str
19
11
  CONFIG_SCHEMA: Incomplete
20
- SERVICE_TXT_SCHEMA: Incomplete
21
12
 
22
13
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
23
-
24
- _SENTINEL: Incomplete
25
-
26
- async def _update_duckdns(session: ClientSession, domain: str, token: str, *, txt: str | None | object = ..., clear: bool = False) -> bool: ...
27
- @callback
28
- @bind_hass
29
- def async_track_time_interval_backoff(hass: HomeAssistant, action: Callable[[datetime], Coroutine[Any, Any, bool]], intervals: Sequence[timedelta]) -> CALLBACK_TYPE: ...
14
+ async def async_setup_entry(hass: HomeAssistant, entry: DuckDnsConfigEntry) -> bool: ...
15
+ async def async_unload_entry(hass: HomeAssistant, entry: DuckDnsConfigEntry) -> bool: ...
@@ -0,0 +1,18 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .helpers import update_duckdns as update_duckdns
3
+ from .issue import deprecate_yaml_issue as deprecate_yaml_issue
4
+ from _typeshed import Incomplete
5
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
+ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_DOMAIN as CONF_DOMAIN, CONF_NAME as CONF_NAME
7
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from homeassistant.helpers.selector import TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
9
+ from typing import Any
10
+
11
+ _LOGGER: Incomplete
12
+ STEP_USER_DATA_SCHEMA: Incomplete
13
+ STEP_RECONFIGURE_DATA_SCHEMA: Incomplete
14
+
15
+ class DuckDnsConfigFlow(ConfigFlow, domain=DOMAIN):
16
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
17
+ async def async_step_import(self, import_info: dict[str, Any]) -> ConfigFlowResult: ...
18
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,6 @@
1
+ from typing import Final
2
+
3
+ DOMAIN: str
4
+ ATTR_CONFIG_ENTRY: Final[str]
5
+ ATTR_TXT: Final[str]
6
+ SERVICE_SET_TXT: str
@@ -0,0 +1,20 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .helpers import update_duckdns as update_duckdns
3
+ from _typeshed import Incomplete
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_DOMAIN as CONF_DOMAIN
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
9
+
10
+ _LOGGER: Incomplete
11
+ type DuckDnsConfigEntry = ConfigEntry[DuckDnsUpdateCoordinator]
12
+ INTERVAL: Incomplete
13
+ BACKOFF_INTERVALS: Incomplete
14
+
15
+ class DuckDnsUpdateCoordinator(DataUpdateCoordinator[None]):
16
+ config_entry: DuckDnsConfigEntry
17
+ session: Incomplete
18
+ failed: int
19
+ def __init__(self, hass: HomeAssistant, config_entry: DuckDnsConfigEntry) -> None: ...
20
+ async def _async_update_data(self) -> None: ...
@@ -0,0 +1,6 @@
1
+ from aiohttp import ClientSession as ClientSession
2
+ from homeassistant.helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
3
+
4
+ UPDATE_URL: str
5
+
6
+ async def update_duckdns(session: ClientSession, domain: str, token: str, *, txt: str | None | UndefinedType = ..., clear: bool = False) -> bool: ...
@@ -0,0 +1,6 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
3
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
4
+
5
+ @callback
6
+ def deprecate_yaml_issue(hass: HomeAssistant, *, import_success: bool) -> None: ...
@@ -0,0 +1,16 @@
1
+ from .const import ATTR_CONFIG_ENTRY as ATTR_CONFIG_ENTRY, ATTR_TXT as ATTR_TXT, DOMAIN as DOMAIN, SERVICE_SET_TXT as SERVICE_SET_TXT
2
+ from .coordinator import DuckDnsConfigEntry as DuckDnsConfigEntry
3
+ from .helpers import update_duckdns as update_duckdns
4
+ from _typeshed import Incomplete
5
+ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_DOMAIN as CONF_DOMAIN
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
7
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
8
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
+ from homeassistant.helpers.selector import ConfigEntrySelector as ConfigEntrySelector
10
+
11
+ SERVICE_TXT_SCHEMA: Incomplete
12
+
13
+ @callback
14
+ def async_setup_services(hass: HomeAssistant) -> None: ...
15
+ def get_config_entry(hass: HomeAssistant, entry_id: str | None = None) -> DuckDnsConfigEntry: ...
16
+ async def update_domain_service(call: ServiceCall) -> None: ...
@@ -1,5 +1,5 @@
1
1
  from . import EcovacsConfigEntry as EcovacsConfigEntry
2
- from .const import SUPPORTED_LIFESPANS as SUPPORTED_LIFESPANS
2
+ from .const import SUPPORTED_LIFESPANS as SUPPORTED_LIFESPANS, SUPPORTED_STATION_ACTIONS as SUPPORTED_STATION_ACTIONS
3
3
  from .entity import EcovacsCapabilityEntityDescription as EcovacsCapabilityEntityDescription, EcovacsDescriptionEntity as EcovacsDescriptionEntity, EcovacsEntity as EcovacsEntity
4
4
  from .util import get_supported_entities as get_supported_entities
5
5
  from _typeshed import Incomplete
@@ -5,6 +5,7 @@ from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
7
7
  from deebot_client.capabilities import CapabilitySet
8
+ from deebot_client.device import Device as Device
8
9
  from deebot_client.events.base import Event as Event
9
10
  from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription, NumberMode as NumberMode
10
11
  from homeassistant.const import DEGREE as DEGREE, EntityCategory as EntityCategory
@@ -22,7 +23,9 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: EcovacsConfigEntr
22
23
 
23
24
  class EcovacsNumberEntity[EventT: Event](EcovacsDescriptionEntity[CapabilitySet[EventT, [int]]], NumberEntity):
24
25
  entity_description: EcovacsNumberEntityDescription
25
- _attr_native_value: Incomplete
26
+ _attr_native_min_value: Incomplete
26
27
  _attr_native_max_value: Incomplete
28
+ def __init__(self, device: Device, capability: CapabilitySet[EventT, [int]], entity_description: EcovacsNumberEntityDescription) -> None: ...
29
+ _attr_native_value: Incomplete
27
30
  async def async_added_to_hass(self) -> None: ...
28
31
  async def async_set_native_value(self, value: float) -> None: ...
@@ -1,12 +1,14 @@
1
1
  from . import EcovacsConfigEntry as EcovacsConfigEntry
2
- from .entity import EcovacsCapabilityEntityDescription as EcovacsCapabilityEntityDescription, EcovacsDescriptionEntity as EcovacsDescriptionEntity
2
+ from .entity import EcovacsCapabilityEntityDescription as EcovacsCapabilityEntityDescription, EcovacsDescriptionEntity as EcovacsDescriptionEntity, EcovacsEntity as EcovacsEntity
3
3
  from .util import get_name_key as get_name_key, get_supported_entities as get_supported_entities
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
7
- from deebot_client.capabilities import CapabilitySetTypes
7
+ from deebot_client.capabilities import CapabilityMap, CapabilitySetTypes
8
+ from deebot_client.command import CommandWithMessageHandling as CommandWithMessageHandling
8
9
  from deebot_client.device import Device as Device
9
10
  from deebot_client.events.base import Event as Event
11
+ from deebot_client.events.map import CachedMapInfoEvent, MajorMapEvent as MajorMapEvent
10
12
  from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
11
13
  from homeassistant.const import EntityCategory as EntityCategory
12
14
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -17,6 +19,7 @@ from typing import Any
17
19
  class EcovacsSelectEntityDescription[EventT: Event](SelectEntityDescription, EcovacsCapabilityEntityDescription):
18
20
  current_option_fn: Callable[[EventT], str | None]
19
21
  options_fn: Callable[[CapabilitySetTypes], list[str]]
22
+ set_option_fn: Callable[[CapabilitySetTypes, str], CommandWithMessageHandling] = ...
20
23
 
21
24
  ENTITY_DESCRIPTIONS: tuple[EcovacsSelectEntityDescription, ...]
22
25
 
@@ -29,3 +32,14 @@ class EcovacsSelectEntity[EventT: Event](EcovacsDescriptionEntity[CapabilitySetT
29
32
  def __init__(self, device: Device, capability: CapabilitySetTypes[EventT, [str], str], entity_description: EcovacsSelectEntityDescription, **kwargs: Any) -> None: ...
30
33
  async def async_added_to_hass(self) -> None: ...
31
34
  async def async_select_option(self, option: str) -> None: ...
35
+
36
+ class EcovacsActiveMapSelectEntity(EcovacsEntity[CapabilityMap], SelectEntity):
37
+ entity_description: Incomplete
38
+ _option_to_id: dict[str, str]
39
+ _id_to_option: dict[str, str]
40
+ def __init__(self, device: Device, capability: CapabilityMap, **kwargs: Any) -> None: ...
41
+ _attr_current_option: Incomplete
42
+ _attr_options: Incomplete
43
+ def _handle_on_cached_map(self, event: CachedMapInfoEvent) -> None: ...
44
+ async def async_added_to_hass(self) -> None: ...
45
+ async def async_select_option(self, option: str) -> None: ...
@@ -5,8 +5,7 @@ from collections.abc import Callable as Callable
5
5
  from dataclasses import dataclass
6
6
  from eheimdigital.classic_vario import EheimDigitalClassicVario
7
7
  from eheimdigital.device import EheimDigitalDevice as EheimDigitalDevice
8
- from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
9
- from homeassistant.components.sensor.const import SensorDeviceClass as SensorDeviceClass
8
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
10
9
  from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfTime as UnitOfTime
11
10
  from homeassistant.core import HomeAssistant as HomeAssistant
12
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -1,3 +1,4 @@
1
+ import asyncio
1
2
  from .const import ATTR_KEY as ATTR_KEY, ATTR_KEYPAD_ID as ATTR_KEYPAD_ID, ATTR_KEYPAD_NAME as ATTR_KEYPAD_NAME, ATTR_KEY_NAME as ATTR_KEY_NAME, CONF_AREA as CONF_AREA, CONF_AUTO_CONFIGURE as CONF_AUTO_CONFIGURE, CONF_COUNTER as CONF_COUNTER, CONF_KEYPAD as CONF_KEYPAD, CONF_OUTPUT as CONF_OUTPUT, CONF_PLC as CONF_PLC, CONF_SETTING as CONF_SETTING, CONF_TASK as CONF_TASK, CONF_THERMOSTAT as CONF_THERMOSTAT, DISCOVERY_INTERVAL as DISCOVERY_INTERVAL, DISCOVER_SCAN_TIMEOUT as DISCOVER_SCAN_TIMEOUT, DOMAIN as DOMAIN, ELK_ELEMENTS as ELK_ELEMENTS, EVENT_ELKM1_KEYPAD_KEY_PRESSED as EVENT_ELKM1_KEYPAD_KEY_PRESSED, LOGIN_TIMEOUT as LOGIN_TIMEOUT
2
3
  from .discovery import async_discover_device as async_discover_device, async_discover_devices as async_discover_devices, async_trigger_discovery as async_trigger_discovery, async_update_entry_from_discovery as async_update_entry_from_discovery
3
4
  from .models import ELKM1Data as ELKM1Data
@@ -33,4 +34,23 @@ def _async_find_matching_config_entry(hass: HomeAssistant, prefix: str) -> Confi
33
34
  async def async_setup_entry(hass: HomeAssistant, entry: ElkM1ConfigEntry) -> bool: ...
34
35
  def _included(ranges: list[tuple[int, int]], set_to: bool, values: list[bool]) -> None: ...
35
36
  async def async_unload_entry(hass: HomeAssistant, entry: ElkM1ConfigEntry) -> bool: ...
36
- async def async_wait_for_elk_to_sync(elk: Elk, login_timeout: int, sync_timeout: int) -> bool: ...
37
+
38
+ class LoginFailed(Exception): ...
39
+
40
+ class ElkSyncWaiter:
41
+ _elk: Incomplete
42
+ _login_timeout: Incomplete
43
+ _sync_timeout: Incomplete
44
+ _loop: Incomplete
45
+ _sync_future: asyncio.Future[None]
46
+ _login_future: asyncio.Future[None]
47
+ def __init__(self, elk: Elk, login_timeout: int, sync_timeout: int) -> None: ...
48
+ @callback
49
+ def _async_set_future_if_not_done(self, future: asyncio.Future[None]) -> None: ...
50
+ @callback
51
+ def _async_login_status(self, succeeded: bool) -> None: ...
52
+ @callback
53
+ def _async_set_exception_if_not_done(self, future: asyncio.Future[None], exception: type[Exception]) -> None: ...
54
+ @callback
55
+ def _async_sync_complete(self) -> None: ...
56
+ async def async_wait(self) -> None: ...
@@ -1,4 +1,4 @@
1
- from . import async_wait_for_elk_to_sync as async_wait_for_elk_to_sync, hostname_from_url as hostname_from_url
1
+ from . import ElkSyncWaiter as ElkSyncWaiter, LoginFailed as LoginFailed, hostname_from_url as hostname_from_url
2
2
  from .const import CONF_AUTO_CONFIGURE as CONF_AUTO_CONFIGURE, DISCOVER_SCAN_TIMEOUT as DISCOVER_SCAN_TIMEOUT, DOMAIN as DOMAIN, LOGIN_TIMEOUT as LOGIN_TIMEOUT
3
3
  from .discovery import _short_mac as _short_mac, async_discover_device as async_discover_device, async_discover_devices as async_discover_devices, async_update_entry_from_discovery as async_update_entry_from_discovery
4
4
  from _typeshed import Incomplete
@@ -29,6 +29,7 @@ PORT_PROTOCOL_MAP: Incomplete
29
29
  async def validate_input(data: dict[str, str], mac: str | None) -> dict[str, str]: ...
30
30
  def _address_from_discovery(device: ElkSystem) -> str: ...
31
31
  def _make_url_from_data(data: dict[str, str]) -> str: ...
32
+ def _get_protocol_from_url(url: str) -> str: ...
32
33
  def _placeholders_from_device(device: ElkSystem) -> dict[str, str]: ...
33
34
 
34
35
  class Elkm1ConfigFlow(ConfigFlow, domain=DOMAIN):
@@ -42,6 +43,7 @@ class Elkm1ConfigFlow(ConfigFlow, domain=DOMAIN):
42
43
  async def _async_handle_discovery(self) -> ConfigFlowResult: ...
43
44
  def is_matching(self, other_flow: Self) -> bool: ...
44
45
  async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
46
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
45
47
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
46
48
  async def _async_create_or_error(self, user_input: dict[str, Any], importing: bool) -> tuple[dict[str, str] | None, ConfigFlowResult | None]: ...
47
49
  async def async_step_discovered_connection(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -2,13 +2,14 @@ from . import ElkM1ConfigEntry as ElkM1ConfigEntry
2
2
  from .const import ATTR_VALUE as ATTR_VALUE, ELK_USER_CODE_SERVICE_SCHEMA as ELK_USER_CODE_SERVICE_SCHEMA
3
3
  from .entity import ElkAttachedEntity as ElkAttachedEntity, ElkEntity as ElkEntity, create_elk_entities as create_elk_entities
4
4
  from _typeshed import Incomplete
5
+ from elkm1_lib.const import ZoneType
5
6
  from elkm1_lib.counters import Counter as Counter
6
7
  from elkm1_lib.elements import Element as Element
7
8
  from elkm1_lib.keypads import Keypad as Keypad
8
9
  from elkm1_lib.panel import Panel as Panel
9
10
  from elkm1_lib.settings import Setting as Setting
10
11
  from elkm1_lib.zones import Zone as Zone
11
- from homeassistant.components.sensor import SensorEntity as SensorEntity
12
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
12
13
  from homeassistant.const import EntityCategory as EntityCategory, UnitOfElectricPotential as UnitOfElectricPotential
13
14
  from homeassistant.core import HomeAssistant as HomeAssistant
14
15
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -22,6 +23,8 @@ SERVICE_SENSOR_COUNTER_SET: str
22
23
  SERVICE_SENSOR_ZONE_BYPASS: str
23
24
  SERVICE_SENSOR_ZONE_TRIGGER: str
24
25
  UNDEFINED_TEMPERATURE: int
26
+ _DEVICE_CLASS_MAP: dict[ZoneType, SensorDeviceClass]
27
+ _STATE_CLASS_MAP: dict[ZoneType, SensorStateClass]
25
28
  ELK_SET_COUNTER_SERVICE_SCHEMA: VolDictType
26
29
 
27
30
  async def async_setup_entry(hass: HomeAssistant, config_entry: ElkM1ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
@@ -78,6 +81,10 @@ class ElkZone(ElkSensor):
78
81
  @property
79
82
  def temperature_unit(self) -> str | None: ...
80
83
  @property
84
+ def device_class(self) -> SensorDeviceClass | None: ...
85
+ @property
86
+ def state_class(self) -> SensorStateClass | None: ...
87
+ @property
81
88
  def native_unit_of_measurement(self) -> str | None: ...
82
89
  _attr_native_value: Incomplete
83
90
  def _element_changed(self, element: Element, changeset: dict[str, Any]) -> None: ...
@@ -3,9 +3,10 @@ from _typeshed import Incomplete
3
3
  from collections.abc import Awaitable, Callable as Callable
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
5
5
  from homeassistant.helpers import singleton as singleton, storage as storage
6
- from typing import Literal, TypedDict
6
+ from typing import Any, Literal, NotRequired, TypedDict
7
7
 
8
8
  STORAGE_VERSION: int
9
+ STORAGE_MINOR_VERSION: int
9
10
  STORAGE_KEY = DOMAIN
10
11
 
11
12
  async def async_get_manager(hass: HomeAssistant) -> EnergyManager: ...
@@ -22,21 +23,27 @@ class FlowToGridSourceType(TypedDict):
22
23
  entity_energy_price: str | None
23
24
  number_energy_price: float | None
24
25
 
26
+ class GridPowerSourceType(TypedDict):
27
+ stat_rate: str
28
+
25
29
  class GridSourceType(TypedDict):
26
30
  type: Literal['grid']
27
31
  flow_from: list[FlowFromGridSourceType]
28
32
  flow_to: list[FlowToGridSourceType]
33
+ power: NotRequired[list[GridPowerSourceType]]
29
34
  cost_adjustment_day: float
30
35
 
31
36
  class SolarSourceType(TypedDict):
32
37
  type: Literal['solar']
33
38
  stat_energy_from: str
39
+ stat_rate: NotRequired[str]
34
40
  config_entry_solar_forecast: list[str] | None
35
41
 
36
42
  class BatterySourceType(TypedDict):
37
43
  type: Literal['battery']
38
44
  stat_energy_from: str
39
45
  stat_energy_to: str
46
+ stat_rate: NotRequired[str]
40
47
 
41
48
  class GasSourceType(TypedDict):
42
49
  type: Literal['gas']
@@ -55,12 +62,14 @@ type SourceType = GridSourceType | SolarSourceType | BatterySourceType | GasSour
55
62
 
56
63
  class DeviceConsumption(TypedDict):
57
64
  stat_consumption: str
65
+ stat_rate: NotRequired[str]
58
66
  name: str | None
59
- included_in_stat: str | None
67
+ included_in_stat: NotRequired[str]
60
68
 
61
69
  class EnergyPreferences(TypedDict):
62
70
  energy_sources: list[SourceType]
63
71
  device_consumption: list[DeviceConsumption]
72
+ device_consumption_water: NotRequired[list[DeviceConsumption]]
64
73
 
65
74
  class EnergyPreferencesUpdate(EnergyPreferences, total=False): ...
66
75
 
@@ -68,6 +77,7 @@ def _flow_from_ensure_single_price(val: FlowFromGridSourceType) -> FlowFromGridS
68
77
 
69
78
  FLOW_FROM_GRID_SOURCE_SCHEMA: Incomplete
70
79
  FLOW_TO_GRID_SOURCE_SCHEMA: Incomplete
80
+ GRID_POWER_SOURCE_SCHEMA: Incomplete
71
81
 
72
82
  def _generate_unique_value_validator(key: str) -> Callable[[list[dict]], list[dict]]: ...
73
83
 
@@ -82,6 +92,9 @@ def check_type_limits(value: list[SourceType]) -> list[SourceType]: ...
82
92
  ENERGY_SOURCE_SCHEMA: Incomplete
83
93
  DEVICE_CONSUMPTION_SCHEMA: Incomplete
84
94
 
95
+ class _EnergyPreferencesStore(storage.Store[EnergyPreferences]):
96
+ async def _async_migrate_func(self, old_major_version: int, old_minor_version: int, old_data: dict[str, Any]) -> dict[str, Any]: ...
97
+
85
98
  class EnergyManager:
86
99
  _hass: Incomplete
87
100
  _store: Incomplete
@@ -27,7 +27,7 @@ async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_ad
27
27
  @dataclass(slots=True)
28
28
  class SourceAdapter:
29
29
  source_type: Literal['grid', 'gas', 'water']
30
- flow_type: Literal['flow_from', 'flow_to', None]
30
+ flow_type: Literal['flow_from', 'flow_to'] | None
31
31
  stat_energy_key: Literal['stat_energy_from', 'stat_energy_to']
32
32
  total_money_key: Literal['stat_cost', 'stat_compensation']
33
33
  name_suffix: str
@@ -1,17 +1,21 @@
1
1
  import dataclasses
2
+ import functools
2
3
  from . import data as data
3
4
  from .const import DOMAIN as DOMAIN
4
5
  from _typeshed import Incomplete
5
6
  from collections.abc import Mapping, Sequence
6
7
  from homeassistant.components import recorder as recorder, sensor as sensor
7
- from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfEnergy as UnitOfEnergy, UnitOfVolume as UnitOfVolume
8
+ from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower, UnitOfVolume as UnitOfVolume
8
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback, valid_entity_id as valid_entity_id
9
10
 
10
11
  ENERGY_USAGE_DEVICE_CLASSES: Incomplete
11
12
  ENERGY_USAGE_UNITS: dict[str, tuple[UnitOfEnergy, ...]]
13
+ POWER_USAGE_DEVICE_CLASSES: Incomplete
14
+ POWER_USAGE_UNITS: dict[str, tuple[UnitOfPower, ...]]
12
15
  ENERGY_PRICE_UNITS: Incomplete
13
16
  ENERGY_UNIT_ERROR: str
14
17
  ENERGY_PRICE_UNIT_ERROR: str
18
+ POWER_UNIT_ERROR: str
15
19
  GAS_USAGE_DEVICE_CLASSES: Incomplete
16
20
  GAS_USAGE_UNITS: dict[str, tuple[UnitOfEnergy | UnitOfVolume, ...]]
17
21
  GAS_PRICE_UNITS: Incomplete
@@ -41,14 +45,22 @@ class ValidationIssues:
41
45
  class EnergyPreferencesValidation:
42
46
  energy_sources: list[ValidationIssues] = dataclasses.field(default_factory=list)
43
47
  device_consumption: list[ValidationIssues] = dataclasses.field(default_factory=list)
48
+ device_consumption_water: list[ValidationIssues] = dataclasses.field(default_factory=list)
44
49
  def as_dict(self) -> dict: ...
45
50
 
51
+ @callback
52
+ def _async_validate_stat_common(hass: HomeAssistant, metadata: dict[str, tuple[int, recorder.models.StatisticMetaData]], stat_id: str, allowed_device_classes: Sequence[str], allowed_units: Mapping[str, Sequence[str]], unit_error: str, issues: ValidationIssues, check_negative: bool = False) -> str | None: ...
46
53
  @callback
47
54
  def _async_validate_usage_stat(hass: HomeAssistant, metadata: dict[str, tuple[int, recorder.models.StatisticMetaData]], stat_id: str, allowed_device_classes: Sequence[str], allowed_units: Mapping[str, Sequence[str]], unit_error: str, issues: ValidationIssues) -> None: ...
48
55
  @callback
49
56
  def _async_validate_price_entity(hass: HomeAssistant, entity_id: str, issues: ValidationIssues, allowed_units: tuple[str, ...], unit_error: str) -> None: ...
50
57
  @callback
58
+ def _async_validate_power_stat(hass: HomeAssistant, metadata: dict[str, tuple[int, recorder.models.StatisticMetaData]], stat_id: str, allowed_device_classes: Sequence[str], allowed_units: Mapping[str, Sequence[str]], unit_error: str, issues: ValidationIssues) -> None: ...
59
+ @callback
51
60
  def _async_validate_cost_stat(hass: HomeAssistant, metadata: dict[str, tuple[int, recorder.models.StatisticMetaData]], stat_id: str, issues: ValidationIssues) -> None: ...
52
61
  @callback
53
62
  def _async_validate_auto_generated_cost_entity(hass: HomeAssistant, energy_entity_id: str, issues: ValidationIssues) -> None: ...
63
+ def _validate_grid_source(hass: HomeAssistant, source: data.GridSourceType, statistics_metadata: dict[str, tuple[int, recorder.models.StatisticMetaData]], wanted_statistics_metadata: set[str], source_result: ValidationIssues, validate_calls: list[functools.partial[None]]) -> None: ...
64
+ def _validate_gas_source(hass: HomeAssistant, source: data.GasSourceType, statistics_metadata: dict[str, tuple[int, recorder.models.StatisticMetaData]], wanted_statistics_metadata: set[str], source_result: ValidationIssues, validate_calls: list[functools.partial[None]]) -> None: ...
65
+ def _validate_water_source(hass: HomeAssistant, source: data.WaterSourceType, statistics_metadata: dict[str, tuple[int, recorder.models.StatisticMetaData]], wanted_statistics_metadata: set[str], source_result: ValidationIssues, validate_calls: list[functools.partial[None]]) -> None: ...
54
66
  async def async_validate(hass: HomeAssistant) -> EnergyPreferencesValidation: ...