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,15 +1,15 @@
1
- from .const import DOMAIN as DOMAIN
2
1
  from .coordinator import TransmissionConfigEntry as TransmissionConfigEntry, TransmissionDataUpdateCoordinator as TransmissionDataUpdateCoordinator
3
- from _typeshed import Incomplete
2
+ from .entity import TransmissionEntity as TransmissionEntity
4
3
  from collections.abc import Callable as Callable
5
4
  from dataclasses import dataclass
6
5
  from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant
8
- from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
9
7
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
- from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
11
8
  from typing import Any
12
9
 
10
+ PARALLEL_UPDATES: int
11
+ AFTER_WRITE_SLEEP: int
12
+
13
13
  @dataclass(frozen=True, kw_only=True)
14
14
  class TransmissionSwitchEntityDescription(SwitchEntityDescription):
15
15
  is_on_func: Callable[[TransmissionDataUpdateCoordinator], bool | None]
@@ -20,12 +20,8 @@ SWITCH_TYPES: tuple[TransmissionSwitchEntityDescription, ...]
20
20
 
21
21
  async def async_setup_entry(hass: HomeAssistant, config_entry: TransmissionConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
22
22
 
23
- class TransmissionSwitch(CoordinatorEntity[TransmissionDataUpdateCoordinator], SwitchEntity):
23
+ class TransmissionSwitch(TransmissionEntity, SwitchEntity):
24
24
  entity_description: TransmissionSwitchEntityDescription
25
- _attr_has_entity_name: bool
26
- _attr_unique_id: Incomplete
27
- _attr_device_info: Incomplete
28
- def __init__(self, coordinator: TransmissionDataUpdateCoordinator, entity_description: TransmissionSwitchEntityDescription) -> None: ...
29
25
  @property
30
26
  def is_on(self) -> bool: ...
31
27
  async def async_turn_on(self, **kwargs: Any) -> None: ...
@@ -10,5 +10,4 @@ _LOGGER: Incomplete
10
10
 
11
11
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
12
12
  async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
13
- async def config_entry_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
14
13
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -16,4 +16,5 @@ class ConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
16
16
  MINOR_VERSION: int
17
17
  config_flow: Incomplete
18
18
  options_flow: Incomplete
19
+ options_flow_reloads: bool
19
20
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
@@ -12,9 +12,10 @@ from datetime import datetime
12
12
  from homeassistant.components.http import HomeAssistantView
13
13
  from homeassistant.core import CALLBACK_TYPE, Event, HomeAssistant, callback
14
14
  from homeassistant.helpers.typing import ConfigType
15
+ from pathlib import Path
15
16
  from propcache.api import cached_property
16
17
  from time import monotonic
17
- from typing import Any, Generic, Protocol, TypeVar
18
+ from typing import Any, Protocol
18
19
 
19
20
  __all__ = ['ATTR_AUDIO_OUTPUT', 'ATTR_PREFERRED_FORMAT', 'ATTR_PREFERRED_SAMPLE_BYTES', 'ATTR_PREFERRED_SAMPLE_CHANNELS', 'ATTR_PREFERRED_SAMPLE_RATE', 'CONF_LANG', 'DEFAULT_CACHE_DIR', 'PLATFORM_SCHEMA', 'PLATFORM_SCHEMA_BASE', 'Provider', 'ResultStream', 'SampleFormat', 'TTSAudioResponse', 'TextToSpeechEntity', 'TtsAudioType', 'Voice', 'async_default_engine', 'async_get_media_source_audio', 'generate_media_source_id']
20
21
 
@@ -45,6 +46,7 @@ async def async_get_media_source_audio(hass: HomeAssistant, media_source_id: str
45
46
  @dataclass
46
47
  class ResultStream:
47
48
  last_used: float = field(default_factory=monotonic, init=False)
49
+ hass: HomeAssistant
48
50
  token: str
49
51
  extension: str
50
52
  content_type: str
@@ -54,6 +56,7 @@ class ResultStream:
54
56
  options: dict
55
57
  supports_streaming_input: bool
56
58
  _manager: SpeechManager
59
+ _override_media_path: Path | None = ...
57
60
  @cached_property
58
61
  def url(self) -> str: ...
59
62
  @cached_property
@@ -65,12 +68,13 @@ class ResultStream:
65
68
  @callback
66
69
  def async_set_message_stream(self, message_stream: AsyncGenerator[str]) -> None: ...
67
70
  async def async_stream_result(self) -> AsyncGenerator[bytes]: ...
71
+ def async_override_result(self, media_path: str | Path) -> None: ...
72
+ async def _async_stream_override_result(self) -> AsyncGenerator[bytes]: ...
68
73
 
69
74
  class HasLastUsed(Protocol):
70
75
  last_used: float
71
- T = TypeVar('T', bound=HasLastUsed)
72
76
 
73
- class DictCleaning(Generic[T]):
77
+ class DictCleaning[T: HasLastUsed]:
74
78
  unsub: CALLBACK_TYPE | None
75
79
  hass: Incomplete
76
80
  maxage: Incomplete
@@ -0,0 +1,48 @@
1
+ from . import UnifiConfigEntry as UnifiConfigEntry
2
+ from .entity import UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_device_available_fn as async_device_available_fn, async_device_device_info_fn as async_device_device_info_fn
3
+ from .hub import UnifiHub as UnifiHub
4
+ from _typeshed import Incomplete
5
+ from aiounifi.interfaces.api_handlers import APIHandler as APIHandler, ItemEvent
6
+ from aiounifi.models.api import ApiItem as ApiItem
7
+ from aiounifi.models.device import Device
8
+ from collections.abc import Callable as Callable, Coroutine
9
+ from dataclasses import dataclass
10
+ from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_RGB_COLOR as ATTR_RGB_COLOR, ColorMode as ColorMode, LightEntity as LightEntity, LightEntityDescription as LightEntityDescription, LightEntityFeature as LightEntityFeature
11
+ from homeassistant.const import EntityCategory as EntityCategory
12
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
14
+ from homeassistant.util.color import rgb_hex_to_rgb_list as rgb_hex_to_rgb_list
15
+ from typing import Any
16
+
17
+ def convert_brightness_to_unifi(ha_brightness: int) -> int: ...
18
+ def convert_brightness_to_ha(unifi_brightness: int) -> int: ...
19
+ def get_device_brightness_or_default(device: Device) -> int: ...
20
+ @callback
21
+ def async_device_led_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
22
+ @callback
23
+ def async_device_led_is_on_fn(hub: UnifiHub, device: Device) -> bool: ...
24
+ async def async_device_led_control_fn(hub: UnifiHub, obj_id: str, turn_on: bool, **kwargs: Any) -> None: ...
25
+
26
+ @dataclass(frozen=True, kw_only=True)
27
+ class UnifiLightEntityDescription[HandlerT: APIHandler, ApiItemT: ApiItem](LightEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT]):
28
+ control_fn: Callable[[UnifiHub, str, bool], Coroutine[Any, Any, None]]
29
+ is_on_fn: Callable[[UnifiHub, ApiItemT], bool]
30
+
31
+ ENTITY_DESCRIPTIONS: tuple[UnifiLightEntityDescription, ...]
32
+
33
+ async def async_setup_entry(hass: HomeAssistant, config_entry: UnifiConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
34
+
35
+ class UnifiLightEntity[HandlerT: APIHandler, ApiItemT: ApiItem](UnifiEntity[HandlerT, ApiItemT], LightEntity):
36
+ entity_description: UnifiLightEntityDescription[HandlerT, ApiItemT]
37
+ _attr_supported_features: Incomplete
38
+ _attr_supported_color_modes: Incomplete
39
+ _attr_color_mode: Incomplete
40
+ @callback
41
+ def async_initiate_state(self) -> None: ...
42
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
43
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
44
+ _attr_is_on: Incomplete
45
+ _attr_brightness: Incomplete
46
+ _attr_rgb_color: Incomplete
47
+ @callback
48
+ def async_update_state(self, event: ItemEvent, obj_id: str) -> None: ...
@@ -32,6 +32,8 @@ def async_client_tx_value_fn(hub: UnifiHub, client: Client) -> float: ...
32
32
  @callback
33
33
  def async_client_uptime_value_fn(hub: UnifiHub, client: Client) -> datetime: ...
34
34
  @callback
35
+ def async_wired_client_allowed_fn(hub: UnifiHub, obj_id: str) -> bool: ...
36
+ @callback
35
37
  def async_wlan_client_value_fn(hub: UnifiHub, wlan: Wlan) -> int: ...
36
38
  @callback
37
39
  def async_device_clients_value_fn(hub: UnifiHub, device: Device) -> int: ...
@@ -1,12 +1,12 @@
1
1
  from .const import AUTH_RETRIES as AUTH_RETRIES, CONF_ALLOW_EA as CONF_ALLOW_EA, DEVICES_THAT_ADOPT as DEVICES_THAT_ADOPT, DOMAIN as DOMAIN, MIN_REQUIRED_PROTECT_V as MIN_REQUIRED_PROTECT_V, PLATFORMS as PLATFORMS
2
2
  from .data import ProtectData as ProtectData, UFPConfigEntry as UFPConfigEntry
3
- from .discovery import async_start_discovery as async_start_discovery
3
+ from .discovery import DATA_UNIFIPROTECT as DATA_UNIFIPROTECT, UniFiProtectRuntimeData as UniFiProtectRuntimeData, async_start_discovery as async_start_discovery
4
4
  from .migrate import async_migrate_data as async_migrate_data
5
5
  from .services import async_setup_services as async_setup_services
6
6
  from .utils import _async_unifi_mac_from_hass as _async_unifi_mac_from_hass, async_create_api_client as async_create_api_client, async_get_devices as async_get_devices
7
7
  from .views import SnapshotProxyView as SnapshotProxyView, ThumbnailProxyView as ThumbnailProxyView, VideoEventProxyView as VideoEventProxyView, VideoProxyView as VideoProxyView
8
8
  from _typeshed import Incomplete
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
+ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
10
10
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant
12
12
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
@@ -24,5 +24,6 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
24
24
  async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry) -> bool: ...
25
25
  async def _async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, data_service: ProtectData, bootstrap: Bootstrap) -> None: ...
26
26
  async def async_unload_entry(hass: HomeAssistant, entry: UFPConfigEntry) -> bool: ...
27
+ async def async_remove_entry(hass: HomeAssistant, entry: UFPConfigEntry) -> None: ...
27
28
  async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: UFPConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
28
- async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
29
+ async def async_migrate_entry(hass: HomeAssistant, entry: UFPConfigEntry) -> bool: ...
@@ -11,6 +11,7 @@ from uiprotect.data import ModelType, NVR as NVR, ProtectAdoptableDeviceModel as
11
11
  from uiprotect.data.nvr import UOSDisk as UOSDisk
12
12
 
13
13
  _KEY_DOOR: str
14
+ PARALLEL_UPDATES: int
14
15
 
15
16
  @dataclasses.dataclass(frozen=True, kw_only=True)
16
17
  class ProtectBinaryEntityDescription(ProtectEntityDescription, BinarySensorEntityDescription): ...
@@ -1,6 +1,7 @@
1
1
  from .const import DEVICES_THAT_ADOPT as DEVICES_THAT_ADOPT, DOMAIN as DOMAIN
2
2
  from .data import ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
3
- from .entity import PermRequired as PermRequired, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEntityDescription as ProtectEntityDescription, ProtectSetableKeysMixin as ProtectSetableKeysMixin, T as T, async_all_device_entities as async_all_device_entities
3
+ from .entity import PermRequired as PermRequired, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEntityDescription as ProtectEntityDescription, ProtectSettableKeysMixin as ProtectSettableKeysMixin, T as T, async_all_device_entities as async_all_device_entities
4
+ from .utils import async_ufp_instance_command as async_ufp_instance_command
4
5
  from _typeshed import Incomplete
5
6
  from collections.abc import Sequence
6
7
  from dataclasses import dataclass
@@ -9,16 +10,15 @@ from homeassistant.const import Platform as Platform
9
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
11
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
11
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
- from typing import Final
13
13
  from uiprotect.data import ModelType, ProtectAdoptableDeviceModel
14
14
 
15
15
  _LOGGER: Incomplete
16
+ PARALLEL_UPDATES: int
16
17
 
17
18
  @dataclass(frozen=True, kw_only=True)
18
- class ProtectButtonEntityDescription(ProtectSetableKeysMixin[T], ButtonEntityDescription):
19
+ class ProtectButtonEntityDescription(ProtectSettableKeysMixin[T], ButtonEntityDescription):
19
20
  ufp_press: str | None = ...
20
21
 
21
- DEVICE_CLASS_CHIME_BUTTON: Final[str]
22
22
  ALL_DEVICE_BUTTONS: tuple[ProtectButtonEntityDescription, ...]
23
23
  ADOPT_BUTTON: Incomplete
24
24
  SENSOR_BUTTONS: tuple[ProtectButtonEntityDescription, ...]
@@ -31,6 +31,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_ad
31
31
 
32
32
  class ProtectButton(ProtectDeviceEntity, ButtonEntity):
33
33
  entity_description: ProtectButtonEntityDescription
34
+ @async_ufp_instance_command
34
35
  async def async_press(self) -> None: ...
35
36
 
36
37
  class ProtectAdoptButton(ProtectButton):
@@ -1,7 +1,7 @@
1
1
  from .const import ATTR_BITRATE as ATTR_BITRATE, ATTR_CHANNEL_ID as ATTR_CHANNEL_ID, ATTR_FPS as ATTR_FPS, ATTR_HEIGHT as ATTR_HEIGHT, ATTR_WIDTH as ATTR_WIDTH, DOMAIN as DOMAIN
2
2
  from .data import ProtectData as ProtectData, ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
3
3
  from .entity import ProtectDeviceEntity as ProtectDeviceEntity
4
- from .utils import get_camera_base_name as get_camera_base_name
4
+ from .utils import async_ufp_instance_command as async_ufp_instance_command, get_camera_base_name as get_camera_base_name
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Generator
7
7
  from homeassistant.components.camera import Camera as Camera, CameraEntityFeature as CameraEntityFeature
@@ -12,6 +12,7 @@ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity
12
12
  from uiprotect.data import Camera as UFPCamera, CameraChannel as CameraChannel, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel
13
13
 
14
14
  _LOGGER: Incomplete
15
+ PARALLEL_UPDATES: int
15
16
 
16
17
  @callback
17
18
  def _create_rtsp_repair(hass: HomeAssistant, entry: UFPConfigEntry, data: ProtectData, camera: UFPCamera) -> None: ...
@@ -46,5 +47,7 @@ class ProtectCamera(ProtectDeviceEntity, Camera):
46
47
  def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
47
48
  async def async_camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
48
49
  async def stream_source(self) -> str | None: ...
50
+ @async_ufp_instance_command
49
51
  async def async_enable_motion_detection(self) -> None: ...
52
+ @async_ufp_instance_command
50
53
  async def async_disable_motion_detection(self) -> None: ...
@@ -1,12 +1,14 @@
1
+ import voluptuous as vol
1
2
  from .const import CONF_ALL_UPDATES as CONF_ALL_UPDATES, CONF_DISABLE_RTSP as CONF_DISABLE_RTSP, CONF_MAX_MEDIA as CONF_MAX_MEDIA, CONF_OVERRIDE_CHOST as CONF_OVERRIDE_CHOST, DEFAULT_MAX_MEDIA as DEFAULT_MAX_MEDIA, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_VERIFY_SSL as DEFAULT_VERIFY_SSL, DOMAIN as DOMAIN, MIN_REQUIRED_PROTECT_V as MIN_REQUIRED_PROTECT_V, OUTDATED_LOG_MESSAGE as OUTDATED_LOG_MESSAGE
2
- from .data import async_last_update_was_successful as async_last_update_was_successful
3
+ from .data import UFPConfigEntry as UFPConfigEntry, async_last_update_was_successful as async_last_update_was_successful
3
4
  from .discovery import async_start_discovery as async_start_discovery
4
- from .utils import _async_resolve as _async_resolve, _async_short_mac as _async_short_mac, _async_unifi_mac_from_hass as _async_unifi_mac_from_hass
5
+ from .utils import _async_resolve as _async_resolve, _async_short_mac as _async_short_mac, _async_unifi_mac_from_hass as _async_unifi_mac_from_hass, async_create_api_client as async_create_api_client
5
6
  from _typeshed import Incomplete
6
7
  from collections.abc import Mapping
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload, SOURCE_IGNORE as SOURCE_IGNORE
8
+ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload, SOURCE_IGNORE as SOURCE_IGNORE
8
9
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_HOST as CONF_HOST, CONF_ID as CONF_ID, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
9
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
+ from homeassistant.helpers import selector as selector
10
12
  from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession, async_get_clientsession as async_get_clientsession
11
13
  from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
12
14
  from homeassistant.helpers.service_info.ssdp import SsdpServiceInfo as SsdpServiceInfo
@@ -18,11 +20,28 @@ from typing import Any
18
20
  from uiprotect.data import NVR as NVR
19
21
 
20
22
  _LOGGER: Incomplete
23
+
24
+ def _filter_empty_credentials(user_input: dict[str, Any]) -> dict[str, Any]: ...
25
+ def _normalize_port(data: dict[str, Any]) -> dict[str, Any]: ...
26
+ def _build_data_without_credentials(entry_data: Mapping[str, Any]) -> dict[str, Any]: ...
27
+ async def _async_clear_session_if_credentials_changed(hass: HomeAssistant, entry: UFPConfigEntry, new_data: Mapping[str, Any]) -> None: ...
28
+
21
29
  ENTRY_FAILURE_STATES: Incomplete
30
+ _TEXT_SELECTOR: Incomplete
31
+ _PASSWORD_SELECTOR: Incomplete
32
+ _PORT_SELECTOR: Incomplete
33
+ _BOOL_SELECTOR: Incomplete
34
+
35
+ def _build_schema(*, include_host: bool = True, include_connection: bool = True, credentials_optional: bool = False) -> vol.Schema: ...
36
+
37
+ CONFIG_SCHEMA: Incomplete
38
+ RECONFIGURE_SCHEMA: Incomplete
39
+ DISCOVERY_SCHEMA: Incomplete
40
+ REAUTH_SCHEMA: Incomplete
22
41
 
23
42
  async def async_local_user_documentation_url(hass: HomeAssistant) -> str: ...
24
43
  def _host_is_direct_connect(host: str) -> bool: ...
25
- async def _async_console_is_offline(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
44
+ async def _async_console_is_offline(hass: HomeAssistant, entry: UFPConfigEntry) -> bool: ...
26
45
 
27
46
  class ProtectFlowHandler(ConfigFlow, domain=DOMAIN):
28
47
  VERSION: int
@@ -35,12 +54,13 @@ class ProtectFlowHandler(ConfigFlow, domain=DOMAIN):
35
54
  async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
36
55
  @staticmethod
37
56
  @callback
38
- def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlowHandler: ...
57
+ def async_get_options_flow(config_entry: UFPConfigEntry) -> OptionsFlowHandler: ...
39
58
  @callback
40
59
  def _async_create_entry(self, title: str, data: dict[str, Any]) -> ConfigFlowResult: ...
41
60
  async def _async_get_nvr_data(self, user_input: dict[str, Any]) -> tuple[NVR | None, dict[str, str]]: ...
42
61
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
43
62
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
63
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
44
64
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
45
65
 
46
66
  class OptionsFlowHandler(OptionsFlowWithReload):
@@ -39,6 +39,8 @@ EVENT_TYPE_FINGERPRINT_IDENTIFIED: Final[str]
39
39
  EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED: Final[str]
40
40
  EVENT_TYPE_NFC_SCANNED: Final[str]
41
41
  EVENT_TYPE_DOORBELL_RING: Final[str]
42
+ EVENT_TYPE_VEHICLE_DETECTED: Final[str]
43
+ VEHICLE_EVENT_DELAY_SECONDS: Final[int]
42
44
  KEYRINGS_ULP_ID: Final[str]
43
45
  KEYRINGS_USER_STATUS: Final[str]
44
46
  KEYRINGS_USER_FULL_NAME: Final[str]
@@ -1,13 +1,21 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
+ from dataclasses import dataclass, field
3
4
  from homeassistant import config_entries as config_entries
4
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
5
6
  from homeassistant.helpers import discovery_flow as discovery_flow
6
7
  from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
8
+ from homeassistant.util.hass_dict import HassKey as HassKey
7
9
  from unifi_discovery import UnifiDevice as UnifiDevice
8
10
 
9
11
  _LOGGER: Incomplete
10
- DISCOVERY: str
12
+
13
+ @dataclass
14
+ class UniFiProtectRuntimeData:
15
+ auth_retries: dict[str, int] = field(default_factory=dict)
16
+ discovery_started: bool = ...
17
+
18
+ DATA_UNIFIPROTECT: HassKey[UniFiProtectRuntimeData]
11
19
  DISCOVERY_INTERVAL: Incomplete
12
20
 
13
21
  @callback
@@ -105,7 +105,7 @@ class ProtectEventMixin(ProtectEntityDescription[T]):
105
105
  def __post_init__(self) -> None: ...
106
106
 
107
107
  @dataclass(frozen=True, kw_only=True)
108
- class ProtectSetableKeysMixin(ProtectEntityDescription[T]):
108
+ class ProtectSettableKeysMixin(ProtectEntityDescription[T]):
109
109
  ufp_set_method: str | None = ...
110
110
  ufp_set_method_fn: Callable[[T, Any], Coroutine[Any, Any, None]] | None = ...
111
111
  async def ufp_set(self, obj: T, value: Any) -> None: ...
@@ -1,13 +1,19 @@
1
1
  import dataclasses
2
2
  from . import Bootstrap as Bootstrap
3
- from .const import ATTR_EVENT_ID as ATTR_EVENT_ID, EVENT_TYPE_DOORBELL_RING as EVENT_TYPE_DOORBELL_RING, EVENT_TYPE_FINGERPRINT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_IDENTIFIED, EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED, EVENT_TYPE_NFC_SCANNED as EVENT_TYPE_NFC_SCANNED, KEYRINGS_KEY_TYPE_ID_NFC as KEYRINGS_KEY_TYPE_ID_NFC, KEYRINGS_ULP_ID as KEYRINGS_ULP_ID, KEYRINGS_USER_FULL_NAME as KEYRINGS_USER_FULL_NAME, KEYRINGS_USER_STATUS as KEYRINGS_USER_STATUS
3
+ from .const import ATTR_EVENT_ID as ATTR_EVENT_ID, EVENT_TYPE_DOORBELL_RING as EVENT_TYPE_DOORBELL_RING, EVENT_TYPE_FINGERPRINT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_IDENTIFIED, EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED, EVENT_TYPE_NFC_SCANNED as EVENT_TYPE_NFC_SCANNED, EVENT_TYPE_VEHICLE_DETECTED as EVENT_TYPE_VEHICLE_DETECTED, KEYRINGS_KEY_TYPE_ID_NFC as KEYRINGS_KEY_TYPE_ID_NFC, KEYRINGS_ULP_ID as KEYRINGS_ULP_ID, KEYRINGS_USER_FULL_NAME as KEYRINGS_USER_FULL_NAME, KEYRINGS_USER_STATUS as KEYRINGS_USER_STATUS, VEHICLE_EVENT_DELAY_SECONDS as VEHICLE_EVENT_DELAY_SECONDS
4
4
  from .data import Camera as Camera, EventType as EventType, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectData as ProtectData, ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
5
5
  from .entity import EventEntityMixin as EventEntityMixin, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEventMixin as ProtectEventMixin
6
6
  from _typeshed import Incomplete
7
7
  from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
8
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+ from homeassistant.helpers.event import async_call_at as async_call_at
11
+ from typing import Any
12
+ from uiprotect.data.nvr import Event as Event, EventDetectedThumbnail as EventDetectedThumbnail
10
13
 
14
+ PARALLEL_UPDATES: int
15
+
16
+ def _thumbnail_sort_key(t: EventDetectedThumbnail) -> tuple[bool, float, float]: ...
11
17
  def _add_ulp_user_infos(bootstrap: Bootstrap, event_data: dict[str, str], ulp_id: str) -> None: ...
12
18
 
13
19
  @dataclasses.dataclass(frozen=True, kw_only=True)
@@ -35,6 +41,32 @@ class ProtectDeviceFingerprintEventEntity(EventEntityMixin, ProtectDeviceEntity,
35
41
  @callback
36
42
  def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
37
43
 
44
+ class ProtectDeviceVehicleEventEntity(EventEntityMixin, ProtectDeviceEntity, EventEntity):
45
+ entity_description: ProtectEventEntityDescription
46
+ _thumbnail_timer_cancel: CALLBACK_TYPE | None
47
+ _latest_event_id: str | None
48
+ _latest_thumbnails: list[EventDetectedThumbnail] | None
49
+ _thumbnail_timer_due: float
50
+ _fired_event_id: str | None
51
+ _fired_event_data: dict[str, Any] | None
52
+ async def async_added_to_hass(self) -> None: ...
53
+ @callback
54
+ def _cancel_thumbnail_timer(self) -> None: ...
55
+ @callback
56
+ def _async_timer_callback(self, *_: Any) -> None: ...
57
+ @staticmethod
58
+ def _get_vehicle_thumbnails(event: Event) -> list[EventDetectedThumbnail]: ...
59
+ @staticmethod
60
+ def _build_event_data(event_id: str, thumbnails: list[EventDetectedThumbnail]) -> dict[str, Any]: ...
61
+ @callback
62
+ def _fire_vehicle_event(self, event_id: str, thumbnails: list[EventDetectedThumbnail] | None = None) -> None: ...
63
+ @callback
64
+ def _async_set_thumbnail_timer(self) -> None: ...
65
+ _event: Incomplete
66
+ _event_end: Incomplete
67
+ @callback
68
+ def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
69
+
38
70
  EVENT_DESCRIPTIONS: tuple[ProtectEventEntityDescription, ...]
39
71
 
40
72
  @callback
@@ -1,13 +1,15 @@
1
1
  from .data import ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
2
2
  from .entity import ProtectDeviceEntity as ProtectDeviceEntity
3
+ from .utils import async_ufp_instance_command as async_ufp_instance_command
3
4
  from _typeshed import Incomplete
4
- from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
5
+ from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ColorMode as ColorMode, LightEntity as LightEntity
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
7
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
8
  from typing import Any
8
9
  from uiprotect.data import Light as Light, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel
9
10
 
10
11
  _LOGGER: Incomplete
12
+ PARALLEL_UPDATES: int
11
13
 
12
14
  async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
15
  def unifi_brightness_to_hass(value: int) -> int: ...
@@ -23,5 +25,7 @@ class ProtectLight(ProtectDeviceEntity, LightEntity):
23
25
  _attr_brightness: Incomplete
24
26
  @callback
25
27
  def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
28
+ @async_ufp_instance_command
26
29
  async def async_turn_on(self, **kwargs: Any) -> None: ...
30
+ @async_ufp_instance_command
27
31
  async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -1,5 +1,6 @@
1
1
  from .data import ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
2
2
  from .entity import ProtectDeviceEntity as ProtectDeviceEntity
3
+ from .utils import async_ufp_instance_command as async_ufp_instance_command
3
4
  from _typeshed import Incomplete
4
5
  from homeassistant.components.lock import LockEntity as LockEntity, LockEntityDescription as LockEntityDescription
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -8,6 +9,7 @@ from typing import Any
8
9
  from uiprotect.data import Doorlock, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel
9
10
 
10
11
  _LOGGER: Incomplete
12
+ PARALLEL_UPDATES: int
11
13
 
12
14
  async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
15
 
@@ -22,5 +24,7 @@ class ProtectLock(ProtectDeviceEntity, LockEntity):
22
24
  _attr_available: bool
23
25
  @callback
24
26
  def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
27
+ @async_ufp_instance_command
25
28
  async def async_unlock(self, **kwargs: Any) -> None: ...
29
+ @async_ufp_instance_command
26
30
  async def async_lock(self, **kwargs: Any) -> None: ...
@@ -1,3 +1,4 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from .data import ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
2
3
  from .entity import ProtectDeviceEntity as ProtectDeviceEntity
3
4
  from _typeshed import Incomplete
@@ -10,6 +11,7 @@ from typing import Any
10
11
  from uiprotect.data import Camera, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel
11
12
 
12
13
  _LOGGER: Incomplete
14
+ PARALLEL_UPDATES: int
13
15
  _SPEAKER_DESCRIPTION: Incomplete
14
16
 
15
17
  async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
@@ -1,5 +1,6 @@
1
1
  from .data import ProtectData as ProtectData, ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
2
- from .entity import PermRequired as PermRequired, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEntityDescription as ProtectEntityDescription, ProtectSetableKeysMixin as ProtectSetableKeysMixin, T as T, async_all_device_entities as async_all_device_entities
2
+ from .entity import PermRequired as PermRequired, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEntityDescription as ProtectEntityDescription, ProtectSettableKeysMixin as ProtectSettableKeysMixin, T as T, async_all_device_entities as async_all_device_entities
3
+ from .utils import async_ufp_instance_command as async_ufp_instance_command
3
4
  from _typeshed import Incomplete
4
5
  from collections.abc import Sequence
5
6
  from dataclasses import dataclass
@@ -9,8 +10,10 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
9
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
11
  from uiprotect.data import Camera as Camera, Doorlock, Light, ModelType, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel
11
12
 
13
+ PARALLEL_UPDATES: int
14
+
12
15
  @dataclass(frozen=True, kw_only=True)
13
- class ProtectNumberEntityDescription(ProtectSetableKeysMixin[T], NumberEntityDescription):
16
+ class ProtectNumberEntityDescription(ProtectSettableKeysMixin[T], NumberEntityDescription):
14
17
  ufp_max: int | float
15
18
  ufp_min: int | float
16
19
  ufp_step: int | float
@@ -41,4 +44,5 @@ class ProtectNumbers(ProtectDeviceEntity, NumberEntity):
41
44
  _attr_native_value: Incomplete
42
45
  @callback
43
46
  def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
47
+ @async_ufp_instance_command
44
48
  async def async_set_native_value(self, value: float) -> None: ...
@@ -2,7 +2,6 @@ from .data import UFPConfigEntry as UFPConfigEntry, async_get_data_for_entry_id
2
2
  from .utils import async_create_api_client as async_create_api_client
3
3
  from homeassistant import data_entry_flow as data_entry_flow
4
4
  from homeassistant.components.repairs import ConfirmRepairFlow as ConfirmRepairFlow, RepairsFlow as RepairsFlow
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
6
  from uiprotect import ProtectApiClient as ProtectApiClient
8
7
  from uiprotect.data import Bootstrap as Bootstrap, Camera as Camera
@@ -33,5 +32,5 @@ class RTSPRepair(ProtectRepair):
33
32
  async def async_step_confirm(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
34
33
 
35
34
  @callback
36
- def _async_get_or_create_api_client(hass: HomeAssistant, entry: ConfigEntry) -> ProtectApiClient: ...
35
+ def _async_get_or_create_api_client(hass: HomeAssistant, entry: UFPConfigEntry) -> ProtectApiClient: ...
37
36
  async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str | int | float | None] | None) -> RepairsFlow: ...
@@ -1,7 +1,7 @@
1
1
  from .const import TYPE_EMPTY_VALUE as TYPE_EMPTY_VALUE
2
2
  from .data import ProtectData as ProtectData, ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
3
- from .entity import PermRequired as PermRequired, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEntityDescription as ProtectEntityDescription, ProtectSetableKeysMixin as ProtectSetableKeysMixin, T as T, async_all_device_entities as async_all_device_entities
4
- from .utils import async_get_light_motion_current as async_get_light_motion_current
3
+ from .entity import PermRequired as PermRequired, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEntityDescription as ProtectEntityDescription, ProtectSettableKeysMixin as ProtectSettableKeysMixin, T as T, async_all_device_entities as async_all_device_entities
4
+ from .utils import async_get_light_motion_current as async_get_light_motion_current, async_ufp_instance_command as async_ufp_instance_command
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable, Sequence
7
7
  from dataclasses import dataclass
@@ -10,12 +10,13 @@ from homeassistant.components.select import SelectEntity as SelectEntity, Select
10
10
  from homeassistant.const import EntityCategory as EntityCategory
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
- from typing import Any, Final
13
+ from typing import Any
14
14
  from uiprotect.api import ProtectApiClient as ProtectApiClient
15
15
  from uiprotect.data import Camera, Doorlock, Light, ModelType, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, Sensor, Viewer
16
16
 
17
17
  _LOGGER: Incomplete
18
18
  _KEY_LIGHT_MOTION: str
19
+ PARALLEL_UPDATES: int
19
20
  HDR_MODES: Incomplete
20
21
  INFRARED_MODES: Incomplete
21
22
  CHIME_TYPES: Incomplete
@@ -28,10 +29,9 @@ LIGHT_MODES: Incomplete
28
29
  LIGHT_MODE_TO_SETTINGS: Incomplete
29
30
  MOTION_MODE_TO_LIGHT_MODE: Incomplete
30
31
  DEVICE_RECORDING_MODES: Incomplete
31
- DEVICE_CLASS_LCD_MESSAGE: Final[str]
32
32
 
33
33
  @dataclass(frozen=True, kw_only=True)
34
- class ProtectSelectEntityDescription(ProtectSetableKeysMixin[T], SelectEntityDescription):
34
+ class ProtectSelectEntityDescription(ProtectSettableKeysMixin[T], SelectEntityDescription):
35
35
  ufp_options: list[dict[str, Any]] | None = ...
36
36
  ufp_options_fn: Callable[[ProtectApiClient], list[dict[str, Any]]] | None = ...
37
37
  ufp_enum_type: type[Enum] | None = ...
@@ -68,4 +68,5 @@ class ProtectSelects(ProtectDeviceEntity, SelectEntity):
68
68
  _unifi_to_hass_options: Incomplete
69
69
  @callback
70
70
  def _async_set_options(self, data: ProtectData, description: ProtectSelectEntityDescription) -> None: ...
71
+ @async_ufp_instance_command
71
72
  async def async_select_option(self, option: str) -> None: ...
@@ -14,6 +14,7 @@ from uiprotect.data import Camera, ModelType, NVR, ProtectAdoptableDeviceModel a
14
14
 
15
15
  _LOGGER: Incomplete
16
16
  OBJECT_TYPE_NONE: str
17
+ PARALLEL_UPDATES: int
17
18
 
18
19
  @dataclass(frozen=True, kw_only=True)
19
20
  class ProtectSensorEntityDescription(ProtectEntityDescription[T], SensorEntityDescription):
@@ -36,7 +37,6 @@ SENSE_SENSORS: tuple[ProtectSensorEntityDescription, ...]
36
37
  DOORLOCK_SENSORS: tuple[ProtectSensorEntityDescription, ...]
37
38
  NVR_SENSORS: tuple[ProtectSensorEntityDescription, ...]
38
39
  NVR_DISABLED_SENSORS: tuple[ProtectSensorEntityDescription, ...]
39
- LICENSE_PLATE_EVENT_SENSORS: tuple[ProtectSensorEventEntityDescription, ...]
40
40
  LIGHT_SENSORS: tuple[ProtectSensorEntityDescription, ...]
41
41
  MOTION_TRIP_SENSORS: tuple[ProtectSensorEntityDescription, ...]
42
42
  CHIME_SENSORS: tuple[ProtectSensorEntityDescription, ...]
@@ -61,14 +61,3 @@ class ProtectNVRSensor(BaseProtectSensor, ProtectNVREntity): ...
61
61
  class ProtectEventSensor(EventEntityMixin, SensorEntity):
62
62
  entity_description: ProtectSensorEventEntityDescription
63
63
  _state_attrs: Incomplete
64
-
65
- class ProtectLicensePlateEventSensor(ProtectEventSensor):
66
- device: Camera
67
- _attr_native_value: Incomplete
68
- _attr_extra_state_attributes: Incomplete
69
- @callback
70
- def _set_event_done(self) -> None: ...
71
- _event: Incomplete
72
- _event_end: Incomplete
73
- @callback
74
- def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
@@ -5,20 +5,21 @@ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as Bi
5
5
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_NAME as ATTR_NAME, Platform as Platform
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
7
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
8
- from homeassistant.helpers.target import TargetSelectorData as TargetSelectorData, async_extract_referenced_entity_ids as async_extract_referenced_entity_ids
8
+ from homeassistant.helpers.target import TargetSelection as TargetSelection, async_extract_referenced_entity_ids as async_extract_referenced_entity_ids
9
9
  from homeassistant.util.json import JsonValueType as JsonValueType
10
10
  from homeassistant.util.read_only_dict import ReadOnlyDict as ReadOnlyDict
11
11
  from typing import Any
12
12
  from uiprotect.api import ProtectApiClient as ProtectApiClient
13
13
  from uiprotect.data import Camera
14
14
 
15
+ _LOGGER: Incomplete
15
16
  SERVICE_ADD_DOORBELL_TEXT: str
16
17
  SERVICE_REMOVE_DOORBELL_TEXT: str
17
18
  SERVICE_SET_PRIVACY_ZONE: str
18
19
  SERVICE_REMOVE_PRIVACY_ZONE: str
19
20
  SERVICE_SET_CHIME_PAIRED: str
20
21
  SERVICE_GET_USER_KEYRING_INFO: str
21
- ALL_GLOBAL_SERIVCES: Incomplete
22
+ ALL_GLOBAL_SERVICES: Incomplete
22
23
  DOORBELL_TEXT_SCHEMA: Incomplete
23
24
  CHIME_PAIRED_SCHEMA: Incomplete
24
25
  REMOVE_PRIVACY_ZONE_SCHEMA: Incomplete