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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1082) hide show
  1. homeassistant-stubs/auth/mfa_modules/totp.pyi +2 -0
  2. homeassistant-stubs/auth/permissions/events.pyi +1 -1
  3. homeassistant-stubs/components/acaia/coordinator.pyi +3 -0
  4. homeassistant-stubs/components/accuweather/__init__.pyi +3 -3
  5. homeassistant-stubs/components/accuweather/config_flow.pyi +5 -0
  6. homeassistant-stubs/components/accuweather/const.pyi +1 -0
  7. homeassistant-stubs/components/accuweather/coordinator.pyi +17 -4
  8. homeassistant-stubs/components/accuweather/weather.pyi +5 -2
  9. homeassistant-stubs/components/adax/config_flow.pyi +1 -0
  10. homeassistant-stubs/components/adax/sensor.pyi +13 -11
  11. homeassistant-stubs/components/adguard/update.pyi +26 -0
  12. homeassistant-stubs/components/airgradient/update.pyi +5 -0
  13. homeassistant-stubs/components/airly/config_flow.pyi +3 -0
  14. homeassistant-stubs/components/airnow/config_flow.pyi +1 -0
  15. homeassistant-stubs/components/airos/__init__.pyi +6 -2
  16. homeassistant-stubs/components/airos/binary_sensor.pyi +2 -2
  17. homeassistant-stubs/components/airos/config_flow.pyi +15 -4
  18. homeassistant-stubs/components/airos/const.pyi +3 -0
  19. homeassistant-stubs/components/airos/coordinator.pyi +5 -5
  20. homeassistant-stubs/components/airos/entity.pyi +2 -2
  21. homeassistant-stubs/components/airos/sensor.pyi +2 -2
  22. homeassistant-stubs/components/airthings/config_flow.pyi +1 -0
  23. homeassistant-stubs/components/airthings_ble/config_flow.pyi +5 -3
  24. homeassistant-stubs/components/airthings_ble/const.pyi +4 -0
  25. homeassistant-stubs/components/airthings_ble/coordinator.pyi +2 -1
  26. homeassistant-stubs/components/airthings_ble/sensor.pyi +2 -1
  27. homeassistant-stubs/components/airzone/select.pyi +1 -0
  28. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +1 -0
  29. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +0 -10
  30. homeassistant-stubs/components/alarm_control_panel/trigger.pyi +17 -0
  31. homeassistant-stubs/components/alexa/handlers.pyi +1 -1
  32. homeassistant-stubs/components/alexa_devices/__init__.pyi +1 -1
  33. homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +7 -1
  34. homeassistant-stubs/components/alexa_devices/const.pyi +4 -1
  35. homeassistant-stubs/components/alexa_devices/coordinator.pyi +4 -1
  36. homeassistant-stubs/components/alexa_devices/diagnostics.pyi +1 -1
  37. homeassistant-stubs/components/alexa_devices/entity.pyi +1 -1
  38. homeassistant-stubs/components/alexa_devices/notify.pyi +2 -1
  39. homeassistant-stubs/components/alexa_devices/sensor.pyi +17 -4
  40. homeassistant-stubs/components/alexa_devices/services.pyi +0 -1
  41. homeassistant-stubs/components/alexa_devices/switch.pyi +5 -3
  42. homeassistant-stubs/components/alexa_devices/utils.pyi +5 -1
  43. homeassistant-stubs/components/amberelectric/__init__.pyi +1 -1
  44. homeassistant-stubs/components/amberelectric/services.pyi +3 -2
  45. homeassistant-stubs/components/analytics/__init__.pyi +4 -21
  46. homeassistant-stubs/components/analytics/analytics.pyi +63 -11
  47. homeassistant-stubs/components/analytics/const.pyi +6 -2
  48. homeassistant-stubs/components/androidtv/__init__.pyi +5 -1
  49. homeassistant-stubs/components/androidtv/config_flow.pyi +1 -1
  50. homeassistant-stubs/components/androidtv/const.pyi +1 -1
  51. homeassistant-stubs/components/androidtv/media_player.pyi +1 -10
  52. homeassistant-stubs/components/androidtv/services.pyi +16 -0
  53. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -0
  54. homeassistant-stubs/components/androidtv_remote/entity.pyi +1 -3
  55. homeassistant-stubs/components/apcupsd/const.pyi +3 -0
  56. homeassistant-stubs/components/apcupsd/sensor.pyi +5 -1
  57. homeassistant-stubs/components/apple_tv/__init__.pyi +3 -3
  58. homeassistant-stubs/components/assist_pipeline/__init__.pyi +4 -4
  59. homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +8 -3
  60. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
  61. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +9 -6
  62. homeassistant-stubs/components/assist_pipeline/select.pyi +1 -1
  63. homeassistant-stubs/components/assist_satellite/trigger.pyi +8 -0
  64. homeassistant-stubs/components/asuswrt/bridge.pyi +24 -10
  65. homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -1
  66. homeassistant-stubs/components/asuswrt/device_tracker.pyi +0 -3
  67. homeassistant-stubs/components/asuswrt/helpers.pyi +2 -3
  68. homeassistant-stubs/components/asuswrt/router.pyi +1 -1
  69. homeassistant-stubs/components/autarco/sensor.pyi +8 -6
  70. homeassistant-stubs/components/auth/login_flow.pyi +1 -1
  71. homeassistant-stubs/components/automation/__init__.pyi +10 -2
  72. homeassistant-stubs/components/backblaze_b2/__init__.pyi +15 -0
  73. homeassistant-stubs/components/backblaze_b2/b2_client.pyi +15 -0
  74. homeassistant-stubs/components/backblaze_b2/backup.pyi +60 -0
  75. homeassistant-stubs/components/backblaze_b2/config_flow.pyi +21 -0
  76. homeassistant-stubs/components/backblaze_b2/const.pyi +13 -0
  77. homeassistant-stubs/components/backblaze_b2/diagnostics.pyi +11 -0
  78. homeassistant-stubs/components/backblaze_b2/repairs.pyi +15 -0
  79. homeassistant-stubs/components/backup/http.pyi +1 -0
  80. homeassistant-stubs/components/backup/manager.pyi +2 -1
  81. homeassistant-stubs/components/backup/util.pyi +2 -32
  82. homeassistant-stubs/components/bang_olufsen/__init__.pyi +6 -6
  83. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +2 -2
  84. homeassistant-stubs/components/bang_olufsen/const.pyi +46 -13
  85. homeassistant-stubs/components/bang_olufsen/diagnostics.pyi +5 -3
  86. homeassistant-stubs/components/bang_olufsen/entity.pyi +2 -2
  87. homeassistant-stubs/components/bang_olufsen/event.pyi +23 -8
  88. homeassistant-stubs/components/bang_olufsen/media_player.pyi +15 -12
  89. homeassistant-stubs/components/bang_olufsen/util.pyi +6 -1
  90. homeassistant-stubs/components/bang_olufsen/websocket.pyi +7 -6
  91. homeassistant-stubs/components/binary_sensor/trigger.pyi +20 -0
  92. homeassistant-stubs/components/blue_current/__init__.pyi +6 -0
  93. homeassistant-stubs/components/blue_current/const.pyi +6 -0
  94. homeassistant-stubs/components/blue_current/services.pyi +12 -0
  95. homeassistant-stubs/components/bluesound/__init__.pyi +2 -1
  96. homeassistant-stubs/components/bluesound/const.pyi +4 -0
  97. homeassistant-stubs/components/bluesound/media_player.pyi +11 -9
  98. homeassistant-stubs/components/bluesound/utils.pyi +2 -0
  99. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -5
  100. homeassistant-stubs/components/bluetooth/api.pyi +7 -2
  101. homeassistant-stubs/components/bluetooth/manager.pyi +9 -1
  102. homeassistant-stubs/components/bluetooth/match.pyi +2 -1
  103. homeassistant-stubs/components/bluetooth/websocket_api.pyi +6 -1
  104. homeassistant-stubs/components/brother/__init__.pyi +5 -3
  105. homeassistant-stubs/components/brother/config_flow.pyi +6 -2
  106. homeassistant-stubs/components/brother/const.pyi +6 -0
  107. homeassistant-stubs/components/brother/entity.pyi +10 -0
  108. homeassistant-stubs/components/brother/sensor.pyi +6 -9
  109. homeassistant-stubs/components/bryant_evolution/climate.pyi +2 -2
  110. homeassistant-stubs/components/bthome/sensor.pyi +1 -1
  111. homeassistant-stubs/components/button/trigger.pyi +14 -0
  112. homeassistant-stubs/components/calendar/trigger.pyi +23 -10
  113. homeassistant-stubs/components/camera/__init__.pyi +4 -11
  114. homeassistant-stubs/components/camera/prefs.pyi +3 -1
  115. homeassistant-stubs/components/camera/webrtc.pyi +2 -5
  116. homeassistant-stubs/components/cert_expiry/config_flow.pyi +1 -1
  117. homeassistant-stubs/components/cert_expiry/errors.pyi +1 -0
  118. homeassistant-stubs/components/cert_expiry/helper.pyi +1 -1
  119. homeassistant-stubs/components/climate/trigger.pyi +18 -0
  120. homeassistant-stubs/components/cloud/__init__.pyi +8 -2
  121. homeassistant-stubs/components/cloud/ai_task.pyi +26 -0
  122. homeassistant-stubs/components/cloud/client.pyi +4 -1
  123. homeassistant-stubs/components/cloud/const.pyi +4 -1
  124. homeassistant-stubs/components/cloud/conversation.pyi +24 -0
  125. homeassistant-stubs/components/cloud/entity.pyi +40 -0
  126. homeassistant-stubs/components/cloud/http_api.pyi +6 -0
  127. homeassistant-stubs/components/co2signal/config_flow.pyi +1 -0
  128. homeassistant-stubs/components/comelit/__init__.pyi +2 -1
  129. homeassistant-stubs/components/comelit/alarm_control_panel.pyi +4 -4
  130. homeassistant-stubs/components/comelit/binary_sensor.pyi +10 -4
  131. homeassistant-stubs/components/comelit/config_flow.pyi +5 -3
  132. homeassistant-stubs/components/comelit/const.pyi +3 -0
  133. homeassistant-stubs/components/comelit/coordinator.pyi +14 -10
  134. homeassistant-stubs/components/comelit/cover.pyi +4 -3
  135. homeassistant-stubs/components/comelit/light.pyi +2 -1
  136. homeassistant-stubs/components/comelit/sensor.pyi +6 -6
  137. homeassistant-stubs/components/comelit/switch.pyi +2 -1
  138. homeassistant-stubs/components/comelit/utils.pyi +4 -2
  139. homeassistant-stubs/components/compit/__init__.pyi +11 -0
  140. homeassistant-stubs/components/compit/climate.pyi +63 -0
  141. homeassistant-stubs/components/compit/config_flow.pyi +17 -0
  142. homeassistant-stubs/components/compit/const.pyi +2 -0
  143. homeassistant-stubs/components/compit/coordinator.pyi +16 -0
  144. homeassistant-stubs/components/config/area_registry.pyi +3 -0
  145. homeassistant-stubs/components/config/config_entries.pyi +5 -1
  146. homeassistant-stubs/components/config/floor_registry.pyi +3 -0
  147. homeassistant-stubs/components/cookidoo/calendar.pyi +25 -0
  148. homeassistant-stubs/components/cookidoo/coordinator.pyi +2 -0
  149. homeassistant-stubs/components/cover/__init__.pyi +1 -11
  150. homeassistant-stubs/components/deconz/hub/hub.pyi +0 -1
  151. homeassistant-stubs/components/deconz/services.pyi +0 -1
  152. homeassistant-stubs/components/demo/valve.pyi +14 -5
  153. homeassistant-stubs/components/derivative/__init__.pyi +0 -1
  154. homeassistant-stubs/components/derivative/config_flow.pyi +1 -0
  155. homeassistant-stubs/components/derivative/diagnostics.pyi +5 -0
  156. homeassistant-stubs/components/derivative/sensor.pyi +6 -3
  157. homeassistant-stubs/components/device_automation/condition.pyi +8 -9
  158. homeassistant-stubs/components/device_tracker/trigger.pyi +8 -0
  159. homeassistant-stubs/components/devolo_home_control/__init__.pyi +3 -0
  160. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
  161. homeassistant-stubs/components/devolo_home_control/entity.pyi +1 -2
  162. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
  163. homeassistant-stubs/components/devolo_home_control/subscriber.pyi +0 -1
  164. homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
  165. homeassistant-stubs/components/dnsip/sensor.pyi +6 -2
  166. homeassistant-stubs/components/doorbird/config_flow.pyi +3 -0
  167. homeassistant-stubs/components/doorbird/device.pyi +1 -0
  168. homeassistant-stubs/components/droplet/__init__.pyi +10 -0
  169. homeassistant-stubs/components/droplet/config_flow.pyi +15 -0
  170. homeassistant-stubs/components/droplet/const.pyi +7 -0
  171. homeassistant-stubs/components/droplet/coordinator.pyi +23 -0
  172. homeassistant-stubs/components/droplet/sensor.pyi +37 -0
  173. homeassistant-stubs/components/duckdns/__init__.pyi +7 -21
  174. homeassistant-stubs/components/duckdns/config_flow.pyi +18 -0
  175. homeassistant-stubs/components/duckdns/const.pyi +6 -0
  176. homeassistant-stubs/components/duckdns/coordinator.pyi +20 -0
  177. homeassistant-stubs/components/duckdns/helpers.pyi +6 -0
  178. homeassistant-stubs/components/duckdns/issue.pyi +6 -0
  179. homeassistant-stubs/components/duckdns/services.pyi +16 -0
  180. homeassistant-stubs/components/ecovacs/button.pyi +1 -1
  181. homeassistant-stubs/components/ecovacs/number.pyi +4 -1
  182. homeassistant-stubs/components/ecovacs/select.pyi +16 -2
  183. homeassistant-stubs/components/eheimdigital/sensor.pyi +1 -2
  184. homeassistant-stubs/components/elkm1/__init__.pyi +21 -1
  185. homeassistant-stubs/components/elkm1/config_flow.pyi +3 -1
  186. homeassistant-stubs/components/elkm1/sensor.pyi +8 -1
  187. homeassistant-stubs/components/energy/data.pyi +15 -2
  188. homeassistant-stubs/components/energy/sensor.pyi +1 -1
  189. homeassistant-stubs/components/energy/validate.pyi +13 -1
  190. homeassistant-stubs/components/energyid/__init__.pyi +30 -0
  191. homeassistant-stubs/components/energyid/config_flow.pyi +26 -0
  192. homeassistant-stubs/components/energyid/const.pyi +13 -0
  193. homeassistant-stubs/components/energyid/energyid_sensor_mapping_flow.pyi +19 -0
  194. homeassistant-stubs/components/enphase_envoy/sensor.pyi +6 -28
  195. homeassistant-stubs/components/eq3btsmart/sensor.pyi +1 -2
  196. homeassistant-stubs/components/esphome/__init__.pyi +4 -1
  197. homeassistant-stubs/components/esphome/analytics.pyi +4 -0
  198. homeassistant-stubs/components/esphome/assist_satellite.pyi +17 -3
  199. homeassistant-stubs/components/esphome/climate.pyi +3 -0
  200. homeassistant-stubs/components/esphome/config_flow.pyi +11 -5
  201. homeassistant-stubs/components/esphome/const.pyi +3 -0
  202. homeassistant-stubs/components/esphome/entity.pyi +1 -2
  203. homeassistant-stubs/components/esphome/entry_data.pyi +9 -5
  204. homeassistant-stubs/components/esphome/lock.pyi +1 -1
  205. homeassistant-stubs/components/esphome/manager.pyi +15 -5
  206. homeassistant-stubs/components/esphome/repairs.pyi +1 -3
  207. homeassistant-stubs/components/esphome/select.pyi +5 -4
  208. homeassistant-stubs/components/esphome/websocket_api.pyi +15 -0
  209. homeassistant-stubs/components/evohome/climate.pyi +1 -1
  210. homeassistant-stubs/components/fan/trigger.pyi +8 -0
  211. homeassistant-stubs/components/fastdotcom/coordinator.pyi +2 -2
  212. homeassistant-stubs/components/fastdotcom/sensor.pyi +1 -1
  213. homeassistant-stubs/components/filter/__init__.pyi +0 -1
  214. homeassistant-stubs/components/filter/config_flow.pyi +1 -0
  215. homeassistant-stubs/components/firefly_iii/__init__.pyi +8 -0
  216. homeassistant-stubs/components/firefly_iii/config_flow.pyi +25 -0
  217. homeassistant-stubs/components/firefly_iii/const.pyi +3 -0
  218. homeassistant-stubs/components/firefly_iii/coordinator.pyi +30 -0
  219. homeassistant-stubs/components/firefly_iii/diagnostics.pyi +11 -0
  220. homeassistant-stubs/components/firefly_iii/entity.pyi +30 -0
  221. homeassistant-stubs/components/firefly_iii/sensor.pyi +66 -0
  222. homeassistant-stubs/components/fitbit/api.pyi +8 -3
  223. homeassistant-stubs/components/fitbit/coordinator.pyi +3 -3
  224. homeassistant-stubs/components/fitbit/model.pyi +0 -8
  225. homeassistant-stubs/components/fitbit/sensor.pyi +4 -3
  226. homeassistant-stubs/components/fritz/coordinator.pyi +4 -0
  227. homeassistant-stubs/components/fritz/models.pyi +2 -2
  228. homeassistant-stubs/components/fritz/sensor.pyi +2 -1
  229. homeassistant-stubs/components/fritz/services.pyi +3 -0
  230. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +2 -0
  231. homeassistant-stubs/components/fritzbox/button.pyi +2 -0
  232. homeassistant-stubs/components/fritzbox/climate.pyi +3 -5
  233. homeassistant-stubs/components/fritzbox/coordinator.pyi +4 -1
  234. homeassistant-stubs/components/fritzbox/cover.pyi +2 -0
  235. homeassistant-stubs/components/fritzbox/light.pyi +2 -0
  236. homeassistant-stubs/components/fritzbox/sensor.pyi +2 -0
  237. homeassistant-stubs/components/fritzbox/switch.pyi +15 -1
  238. homeassistant-stubs/components/frontend/__init__.pyi +12 -5
  239. homeassistant-stubs/components/frontend/storage.pyi +28 -1
  240. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +0 -1
  241. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  242. homeassistant-stubs/components/generic_thermostat/__init__.pyi +0 -1
  243. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  244. homeassistant-stubs/components/geocaching/entity.pyi +14 -0
  245. homeassistant-stubs/components/geocaching/sensor.pyi +25 -5
  246. homeassistant-stubs/components/gios/coordinator.pyi +4 -1
  247. homeassistant-stubs/components/gios/sensor.pyi +4 -4
  248. homeassistant-stubs/components/github/__init__.pyi +12 -0
  249. homeassistant-stubs/components/github/config_flow.pyi +28 -0
  250. homeassistant-stubs/components/github/const.pyi +10 -0
  251. homeassistant-stubs/components/github/coordinator.pyi +26 -0
  252. homeassistant-stubs/components/github/diagnostics.pyi +7 -0
  253. homeassistant-stubs/components/github/sensor.pyi +37 -0
  254. homeassistant-stubs/components/go2rtc/__init__.pyi +20 -6
  255. homeassistant-stubs/components/go2rtc/server.pyi +14 -5
  256. homeassistant-stubs/components/go2rtc/util.pyi +5 -0
  257. homeassistant-stubs/components/google/__init__.pyi +0 -1
  258. homeassistant-stubs/components/google/config_flow.pyi +3 -3
  259. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +2 -1
  260. homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +1 -1
  261. homeassistant-stubs/components/google_cloud/__init__.pyi +0 -1
  262. homeassistant-stubs/components/google_cloud/config_flow.pyi +2 -2
  263. homeassistant-stubs/components/google_drive/__init__.pyi +4 -2
  264. homeassistant-stubs/components/google_drive/api.pyi +11 -0
  265. homeassistant-stubs/components/google_drive/config_flow.pyi +1 -2
  266. homeassistant-stubs/components/google_drive/const.pyi +4 -0
  267. homeassistant-stubs/components/google_drive/coordinator.pyi +24 -0
  268. homeassistant-stubs/components/google_drive/diagnostics.pyi +12 -0
  269. homeassistant-stubs/components/google_drive/entity.pyi +9 -0
  270. homeassistant-stubs/components/google_drive/sensor.pyi +28 -0
  271. homeassistant-stubs/components/google_photos/media_source.pyi +2 -2
  272. homeassistant-stubs/components/google_sheets/services.pyi +10 -2
  273. homeassistant-stubs/components/google_weather/__init__.pyi +11 -0
  274. homeassistant-stubs/components/google_weather/config_flow.pyi +29 -0
  275. homeassistant-stubs/components/google_weather/const.pyi +5 -0
  276. homeassistant-stubs/components/google_weather/coordinator.pyi +42 -0
  277. homeassistant-stubs/components/google_weather/entity.pyi +12 -0
  278. homeassistant-stubs/components/google_weather/sensor.pyi +27 -0
  279. homeassistant-stubs/components/google_weather/weather.pyi +56 -0
  280. homeassistant-stubs/components/group/__init__.pyi +0 -1
  281. homeassistant-stubs/components/group/config_flow.pyi +2 -0
  282. homeassistant-stubs/components/group/entity.pyi +3 -0
  283. homeassistant-stubs/components/group/light.pyi +1 -1
  284. homeassistant-stubs/components/group/notify.pyi +2 -2
  285. homeassistant-stubs/components/group/sensor.pyi +1 -1
  286. homeassistant-stubs/components/group/util.pyi +1 -0
  287. homeassistant-stubs/components/group/valve.pyi +47 -0
  288. homeassistant-stubs/components/habitica/__init__.pyi +1 -0
  289. homeassistant-stubs/components/habitica/binary_sensor.pyi +1 -1
  290. homeassistant-stubs/components/habitica/config_flow.pyi +11 -3
  291. homeassistant-stubs/components/habitica/const.pyi +2 -0
  292. homeassistant-stubs/components/habitica/coordinator.pyi +9 -3
  293. homeassistant-stubs/components/habitica/entity.pyi +15 -2
  294. homeassistant-stubs/components/habitica/image.pyi +6 -2
  295. homeassistant-stubs/components/habitica/notify.pyi +42 -0
  296. homeassistant-stubs/components/habitica/sensor.pyi +12 -5
  297. homeassistant-stubs/components/habitica/services.pyi +2 -1
  298. homeassistant-stubs/components/habitica/util.pyi +1 -0
  299. homeassistant-stubs/components/hardkernel/hardware.pyi +1 -1
  300. homeassistant-stubs/components/hardware/__init__.pyi +2 -10
  301. homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
  302. homeassistant-stubs/components/history_stats/__init__.pyi +0 -1
  303. homeassistant-stubs/components/history_stats/config_flow.pyi +8 -2
  304. homeassistant-stubs/components/history_stats/diagnostics.pyi +5 -0
  305. homeassistant-stubs/components/history_stats/sensor.pyi +1 -1
  306. homeassistant-stubs/components/home_connect/__init__.pyi +1 -1
  307. homeassistant-stubs/components/home_connect/const.pyi +4 -0
  308. homeassistant-stubs/components/home_connect/coordinator.pyi +0 -1
  309. homeassistant-stubs/components/home_connect/entity.pyi +0 -1
  310. homeassistant-stubs/components/home_connect/select.pyi +1 -1
  311. homeassistant-stubs/components/home_connect/sensor.pyi +1 -1
  312. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -1
  313. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +4 -2
  314. homeassistant-stubs/components/homeassistant_green/hardware.pyi +1 -1
  315. homeassistant-stubs/components/homeassistant_hardware/const.pyi +2 -0
  316. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +51 -15
  317. homeassistant-stubs/components/homeassistant_hardware/helpers.pyi +25 -2
  318. homeassistant-stubs/components/homeassistant_hardware/switch.pyi +23 -0
  319. homeassistant-stubs/components/homeassistant_hardware/update.pyi +3 -2
  320. homeassistant-stubs/components/homeassistant_hardware/util.pyi +15 -6
  321. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +13 -4
  322. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +8 -1
  323. homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -1
  324. homeassistant-stubs/components/homeassistant_sky_connect/switch.pyi +17 -0
  325. homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +8 -8
  326. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +12 -4
  327. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +6 -2
  328. homeassistant-stubs/components/homeassistant_yellow/hardware.pyi +1 -1
  329. homeassistant-stubs/components/homeassistant_yellow/switch.pyi +17 -0
  330. homeassistant-stubs/components/homeassistant_yellow/update.pyi +8 -8
  331. homeassistant-stubs/components/homee/__init__.pyi +1 -0
  332. homeassistant-stubs/components/homee/alarm_control_panel.pyi +3 -2
  333. homeassistant-stubs/components/homee/binary_sensor.pyi +4 -2
  334. homeassistant-stubs/components/homee/button.pyi +3 -1
  335. homeassistant-stubs/components/homee/climate.pyi +3 -1
  336. homeassistant-stubs/components/homee/cover.pyi +3 -1
  337. homeassistant-stubs/components/homee/event.pyi +3 -1
  338. homeassistant-stubs/components/homee/fan.pyi +3 -1
  339. homeassistant-stubs/components/homee/helpers.pyi +6 -0
  340. homeassistant-stubs/components/homee/light.pyi +2 -0
  341. homeassistant-stubs/components/homee/lock.pyi +4 -2
  342. homeassistant-stubs/components/homee/number.pyi +3 -1
  343. homeassistant-stubs/components/homee/select.pyi +3 -1
  344. homeassistant-stubs/components/homee/sensor.pyi +2 -2
  345. homeassistant-stubs/components/homee/siren.pyi +4 -1
  346. homeassistant-stubs/components/homee/switch.pyi +4 -2
  347. homeassistant-stubs/components/homee/valve.pyi +3 -1
  348. homeassistant-stubs/components/homekit/__init__.pyi +1 -1
  349. homeassistant-stubs/components/homekit/type_switches.pyi +7 -1
  350. homeassistant-stubs/components/homewizard/__init__.pyi +2 -0
  351. homeassistant-stubs/components/homewizard/select.pyi +3 -17
  352. homeassistant-stubs/components/homewizard/sensor.pyi +3 -1
  353. homeassistant-stubs/components/http/__init__.pyi +1 -0
  354. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +1 -1
  355. homeassistant-stubs/components/huawei_lte/select.pyi +0 -2
  356. homeassistant-stubs/components/huawei_lte/sensor.pyi +1 -0
  357. homeassistant-stubs/components/humidifier/trigger.pyi +8 -0
  358. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
  359. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -1
  360. homeassistant-stubs/components/husqvarna_automower/entity.pyi +8 -4
  361. homeassistant-stubs/components/husqvarna_automower/event.pyi +1 -1
  362. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +5 -0
  363. homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
  364. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -0
  365. homeassistant-stubs/components/husqvarna_automower/switch.pyi +2 -0
  366. homeassistant-stubs/components/idasen_desk/coordinator.pyi +8 -2
  367. homeassistant-stubs/components/image/__init__.pyi +3 -0
  368. homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
  369. homeassistant-stubs/components/image_upload/const.pyi +1 -0
  370. homeassistant-stubs/components/image_upload/media_source.pyi +5 -1
  371. homeassistant-stubs/components/imap/__init__.pyi +3 -1
  372. homeassistant-stubs/components/imap/coordinator.pyi +4 -1
  373. homeassistant-stubs/components/immich/media_source.pyi +2 -2
  374. homeassistant-stubs/components/inels/__init__.pyi +18 -0
  375. homeassistant-stubs/components/inels/config_flow.pyi +13 -0
  376. homeassistant-stubs/components/inels/const.pyi +7 -0
  377. homeassistant-stubs/components/inels/entity.pyi +20 -0
  378. homeassistant-stubs/components/inels/switch.pyi +34 -0
  379. homeassistant-stubs/components/integration/__init__.pyi +0 -1
  380. homeassistant-stubs/components/integration/config_flow.pyi +1 -0
  381. homeassistant-stubs/components/intent/__init__.pyi +4 -0
  382. homeassistant-stubs/components/jewish_calendar/coordinator.pyi +4 -7
  383. homeassistant-stubs/components/jewish_calendar/entity.pyi +2 -0
  384. homeassistant-stubs/components/knx/climate.pyi +23 -11
  385. homeassistant-stubs/components/knx/const.pyi +21 -0
  386. homeassistant-stubs/components/knx/date.pyi +17 -9
  387. homeassistant-stubs/components/knx/datetime.pyi +17 -9
  388. homeassistant-stubs/components/knx/dpt.pyi +26 -0
  389. homeassistant-stubs/components/knx/fan.pyi +25 -12
  390. homeassistant-stubs/components/knx/knx_module.pyi +4 -0
  391. homeassistant-stubs/components/knx/repairs.pyi +26 -0
  392. homeassistant-stubs/components/knx/scene.pyi +15 -6
  393. homeassistant-stubs/components/knx/schema.pyi +3 -14
  394. homeassistant-stubs/components/knx/sensor.pyi +26 -13
  395. homeassistant-stubs/components/knx/services.pyi +1 -0
  396. homeassistant-stubs/components/knx/storage/config_store.pyi +2 -1
  397. homeassistant-stubs/components/knx/storage/const.pyi +30 -1
  398. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +27 -3
  399. homeassistant-stubs/components/knx/storage/keyring.pyi +1 -1
  400. homeassistant-stubs/components/knx/storage/knx_selector.pyi +2 -1
  401. homeassistant-stubs/components/knx/storage/migration.pyi +2 -0
  402. homeassistant-stubs/components/knx/telegrams.pyi +3 -0
  403. homeassistant-stubs/components/knx/text.pyi +22 -12
  404. homeassistant-stubs/components/knx/time.pyi +17 -9
  405. homeassistant-stubs/components/knx/websocket.pyi +2 -1
  406. homeassistant-stubs/components/lamarzocco/__init__.pyi +7 -5
  407. homeassistant-stubs/components/lamarzocco/config_flow.pyi +4 -2
  408. homeassistant-stubs/components/lamarzocco/const.pyi +2 -0
  409. homeassistant-stubs/components/lamarzocco/coordinator.pyi +23 -5
  410. homeassistant-stubs/components/lamarzocco/entity.pyi +5 -2
  411. homeassistant-stubs/components/lamarzocco/number.pyi +1 -1
  412. homeassistant-stubs/components/lamarzocco/select.pyi +2 -0
  413. homeassistant-stubs/components/lamarzocco/switch.pyi +5 -0
  414. homeassistant-stubs/components/lametric/config_flow.pyi +2 -0
  415. homeassistant-stubs/components/lawn_mower/intent.pyi +8 -0
  416. homeassistant-stubs/components/lawn_mower/trigger.pyi +7 -0
  417. homeassistant-stubs/components/lcn/__init__.pyi +3 -3
  418. homeassistant-stubs/components/lcn/binary_sensor.pyi +3 -2
  419. homeassistant-stubs/components/lcn/climate.pyi +5 -8
  420. homeassistant-stubs/components/lcn/cover.pyi +6 -5
  421. homeassistant-stubs/components/lcn/entity.pyi +6 -4
  422. homeassistant-stubs/components/lcn/helpers.pyi +5 -5
  423. homeassistant-stubs/components/lcn/light.pyi +5 -4
  424. homeassistant-stubs/components/lcn/sensor.pyi +8 -6
  425. homeassistant-stubs/components/lcn/services.pyi +3 -2
  426. homeassistant-stubs/components/lcn/switch.pyi +9 -8
  427. homeassistant-stubs/components/lcn/websocket.pyi +11 -10
  428. homeassistant-stubs/components/letpot/number.pyi +34 -0
  429. homeassistant-stubs/components/libre_hardware_monitor/__init__.pyi +12 -0
  430. homeassistant-stubs/components/libre_hardware_monitor/config_flow.pyi +12 -0
  431. homeassistant-stubs/components/libre_hardware_monitor/const.pyi +4 -0
  432. homeassistant-stubs/components/libre_hardware_monitor/coordinator.pyi +20 -0
  433. homeassistant-stubs/components/libre_hardware_monitor/sensor.pyi +30 -0
  434. homeassistant-stubs/components/lifx/manager.pyi +4 -4
  435. homeassistant-stubs/components/light/condition.pyi +38 -0
  436. homeassistant-stubs/components/light/trigger.pyi +9 -0
  437. homeassistant-stubs/components/litterrobot/select.pyi +1 -1
  438. homeassistant-stubs/components/litterrobot/switch.pyi +5 -1
  439. homeassistant-stubs/components/litterrobot/update.pyi +2 -0
  440. homeassistant-stubs/components/lock/__init__.pyi +1 -6
  441. homeassistant-stubs/components/lock/trigger.pyi +7 -0
  442. homeassistant-stubs/components/logbook/helpers.pyi +4 -3
  443. homeassistant-stubs/components/logger/helpers.pyi +2 -0
  444. homeassistant-stubs/components/logger/websocket_api.pyi +1 -0
  445. homeassistant-stubs/components/london_underground/__init__.pyi +9 -0
  446. homeassistant-stubs/components/london_underground/config_flow.pyi +22 -0
  447. homeassistant-stubs/components/london_underground/const.pyi +1 -0
  448. homeassistant-stubs/components/london_underground/coordinator.pyi +3 -1
  449. homeassistant-stubs/components/london_underground/sensor.pyi +10 -5
  450. homeassistant-stubs/components/lunatone/__init__.pyi +12 -0
  451. homeassistant-stubs/components/lunatone/config_flow.pyi +16 -0
  452. homeassistant-stubs/components/lunatone/const.pyi +3 -0
  453. homeassistant-stubs/components/lunatone/coordinator.pyi +31 -0
  454. homeassistant-stubs/components/lunatone/light.pyi +59 -0
  455. homeassistant-stubs/components/mastodon/__init__.pyi +1 -1
  456. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -2
  457. homeassistant-stubs/components/mastodon/const.pyi +2 -0
  458. homeassistant-stubs/components/mastodon/diagnostics.pyi +2 -2
  459. homeassistant-stubs/components/mastodon/services.pyi +4 -3
  460. homeassistant-stubs/components/matrix/__init__.pyi +10 -2
  461. homeassistant-stubs/components/matrix/const.pyi +5 -0
  462. homeassistant-stubs/components/matrix/services.pyi +3 -1
  463. homeassistant-stubs/components/matter/__init__.pyi +5 -0
  464. homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
  465. homeassistant-stubs/components/matter/button.pyi +1 -1
  466. homeassistant-stubs/components/matter/climate.pyi +7 -1
  467. homeassistant-stubs/components/matter/cover.pyi +6 -2
  468. homeassistant-stubs/components/matter/entity.pyi +4 -2
  469. homeassistant-stubs/components/matter/event.pyi +5 -1
  470. homeassistant-stubs/components/matter/fan.pyi +5 -1
  471. homeassistant-stubs/components/matter/light.pyi +6 -2
  472. homeassistant-stubs/components/matter/lock.pyi +5 -1
  473. homeassistant-stubs/components/matter/models.pyi +4 -3
  474. homeassistant-stubs/components/matter/number.pyi +1 -1
  475. homeassistant-stubs/components/matter/select.pyi +9 -1
  476. homeassistant-stubs/components/matter/sensor.pyi +9 -1
  477. homeassistant-stubs/components/matter/services.pyi +11 -0
  478. homeassistant-stubs/components/matter/switch.pyi +5 -2
  479. homeassistant-stubs/components/matter/update.pyi +4 -1
  480. homeassistant-stubs/components/matter/vacuum.pyi +6 -2
  481. homeassistant-stubs/components/matter/valve.pyi +6 -2
  482. homeassistant-stubs/components/matter/water_heater.pyi +8 -1
  483. homeassistant-stubs/components/mcp/__init__.pyi +1 -6
  484. homeassistant-stubs/components/mcp/config_flow.pyi +12 -2
  485. homeassistant-stubs/components/mcp/const.pyi +1 -0
  486. homeassistant-stubs/components/mcp/coordinator.pyi +1 -1
  487. homeassistant-stubs/components/mcp_server/__init__.pyi +1 -8
  488. homeassistant-stubs/components/mcp_server/http.pyi +23 -1
  489. homeassistant-stubs/components/mcp_server/session.pyi +2 -2
  490. homeassistant-stubs/components/mealie/config_flow.pyi +9 -1
  491. homeassistant-stubs/components/mealie/coordinator.pyi +2 -0
  492. homeassistant-stubs/components/mealie/services.pyi +2 -0
  493. homeassistant-stubs/components/media_player/__init__.pyi +1 -9
  494. homeassistant-stubs/components/media_player/const.pyi +10 -69
  495. homeassistant-stubs/components/media_player/intent.pyi +7 -9
  496. homeassistant-stubs/components/media_player/trigger.pyi +8 -0
  497. homeassistant-stubs/components/media_source/__init__.pyi +2 -10
  498. homeassistant-stubs/components/media_source/helper.pyi +16 -0
  499. homeassistant-stubs/components/media_source/http.pyi +13 -0
  500. homeassistant-stubs/components/media_source/local_source.pyi +19 -11
  501. homeassistant-stubs/components/media_source/models.pyi +1 -0
  502. homeassistant-stubs/components/metoffice/__init__.pyi +1 -0
  503. homeassistant-stubs/components/metoffice/helpers.pyi +2 -2
  504. homeassistant-stubs/components/metoffice/sensor.pyi +1 -1
  505. homeassistant-stubs/components/metoffice/weather.pyi +11 -11
  506. homeassistant-stubs/components/miele/__init__.pyi +1 -1
  507. homeassistant-stubs/components/miele/climate.pyi +3 -1
  508. homeassistant-stubs/components/miele/const.pyi +934 -49
  509. homeassistant-stubs/components/miele/select.pyi +43 -0
  510. homeassistant-stubs/components/miele/sensor.pyi +27 -11
  511. homeassistant-stubs/components/miele/vacuum.pyi +1 -2
  512. homeassistant-stubs/components/min_max/__init__.pyi +0 -1
  513. homeassistant-stubs/components/min_max/config_flow.pyi +1 -0
  514. homeassistant-stubs/components/min_max/sensor.pyi +1 -1
  515. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  516. homeassistant-stubs/components/modbus/binary_sensor.pyi +2 -2
  517. homeassistant-stubs/components/modbus/climate.pyi +8 -4
  518. homeassistant-stubs/components/modbus/const.pyi +7 -0
  519. homeassistant-stubs/components/modbus/cover.pyi +2 -2
  520. homeassistant-stubs/components/modbus/entity.pyi +12 -21
  521. homeassistant-stubs/components/modbus/fan.pyi +2 -2
  522. homeassistant-stubs/components/modbus/light.pyi +4 -4
  523. homeassistant-stubs/components/modbus/modbus.pyi +1 -1
  524. homeassistant-stubs/components/modbus/sensor.pyi +8 -4
  525. homeassistant-stubs/components/modbus/switch.pyi +2 -2
  526. homeassistant-stubs/components/modbus/validators.pyi +4 -2
  527. homeassistant-stubs/components/mold_indicator/__init__.pyi +0 -1
  528. homeassistant-stubs/components/mold_indicator/config_flow.pyi +1 -0
  529. homeassistant-stubs/components/motionmount/select.pyi +1 -0
  530. homeassistant-stubs/components/mqtt/__init__.pyi +2 -5
  531. homeassistant-stubs/components/mqtt/client.pyi +7 -3
  532. homeassistant-stubs/components/mqtt/config_flow.pyi +91 -61
  533. homeassistant-stubs/components/mqtt/const.pyi +16 -1
  534. homeassistant-stubs/components/mqtt/device_automation.pyi +1 -1
  535. homeassistant-stubs/components/mqtt/entity.pyi +2 -2
  536. homeassistant-stubs/components/mqtt/image.pyi +1 -5
  537. homeassistant-stubs/components/mqtt/light/schema_json.pyi +0 -1
  538. homeassistant-stubs/components/mqtt/lock.pyi +3 -3
  539. homeassistant-stubs/components/mqtt/number.pyi +1 -5
  540. homeassistant-stubs/components/mqtt/schemas.pyi +1 -1
  541. homeassistant-stubs/components/mqtt/siren.pyi +1 -9
  542. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  543. homeassistant-stubs/components/mqtt/text.pyi +1 -5
  544. homeassistant-stubs/components/mqtt/valve.pyi +1 -2
  545. homeassistant-stubs/components/music_assistant/__init__.pyi +7 -5
  546. homeassistant-stubs/components/music_assistant/config_flow.pyi +21 -6
  547. homeassistant-stubs/components/music_assistant/const.pyi +8 -0
  548. homeassistant-stubs/components/music_assistant/helpers.pyi +7 -1
  549. homeassistant-stubs/components/music_assistant/media_browser.pyi +1 -1
  550. homeassistant-stubs/components/music_assistant/media_player.pyi +6 -9
  551. homeassistant-stubs/components/music_assistant/schemas.pyi +2 -2
  552. homeassistant-stubs/components/music_assistant/services.pyi +24 -0
  553. homeassistant-stubs/components/myuplink/__init__.pyi +2 -1
  554. homeassistant-stubs/components/nasweb/alarm_control_panel.pyi +40 -0
  555. homeassistant-stubs/components/nasweb/coordinator.pyi +1 -0
  556. homeassistant-stubs/components/nasweb/sensor.pyi +0 -5
  557. homeassistant-stubs/components/nasweb/switch.pyi +1 -0
  558. homeassistant-stubs/components/neato/__init__.pyi +1 -1
  559. homeassistant-stubs/components/nest/__init__.pyi +10 -4
  560. homeassistant-stubs/components/nest/types.pyi +4 -0
  561. homeassistant-stubs/components/netatmo/__init__.pyi +2 -1
  562. homeassistant-stubs/components/netatmo/camera.pyi +1 -1
  563. homeassistant-stubs/components/netatmo/const.pyi +17 -11
  564. homeassistant-stubs/components/netatmo/data_handler.pyi +1 -1
  565. homeassistant-stubs/components/netatmo/light.pyi +1 -1
  566. homeassistant-stubs/components/network/websocket.pyi +0 -1
  567. homeassistant-stubs/components/nextdns/config_flow.pyi +6 -1
  568. homeassistant-stubs/components/nordpool/coordinator.pyi +9 -4
  569. homeassistant-stubs/components/ntfy/config_flow.pyi +4 -2
  570. homeassistant-stubs/components/ntfy/const.pyi +6 -0
  571. homeassistant-stubs/components/ntfy/entity.pyi +18 -0
  572. homeassistant-stubs/components/ntfy/event.pyi +29 -0
  573. homeassistant-stubs/components/ntfy/notify.pyi +19 -13
  574. homeassistant-stubs/components/{home_connect → ntfy}/repairs.pyi +7 -3
  575. homeassistant-stubs/components/number/const.pyi +3 -2
  576. homeassistant-stubs/components/ohme/__init__.pyi +1 -1
  577. homeassistant-stubs/components/ohme/coordinator.pyi +0 -5
  578. homeassistant-stubs/components/ohme/sensor.pyi +1 -2
  579. homeassistant-stubs/components/onboarding/const.pyi +6 -0
  580. homeassistant-stubs/components/onedrive/__init__.pyi +2 -3
  581. homeassistant-stubs/components/onedrive/backup.pyi +2 -1
  582. homeassistant-stubs/components/onewire/binary_sensor.pyi +5 -12
  583. homeassistant-stubs/components/onewire/const.pyi +0 -2
  584. homeassistant-stubs/components/onewire/diagnostics.pyi +2 -0
  585. homeassistant-stubs/components/onewire/entity.pyi +6 -14
  586. homeassistant-stubs/components/onewire/onewirehub.pyi +5 -5
  587. homeassistant-stubs/components/onewire/select.pyi +3 -10
  588. homeassistant-stubs/components/onewire/sensor.pyi +5 -7
  589. homeassistant-stubs/components/onewire/switch.pyi +7 -14
  590. homeassistant-stubs/components/onkyo/media_player.pyi +9 -3
  591. homeassistant-stubs/components/onkyo/receiver.pyi +4 -1
  592. homeassistant-stubs/components/open_router/config_flow.pyi +13 -1
  593. homeassistant-stubs/components/open_router/entity.pyi +4 -1
  594. homeassistant-stubs/components/openai_conversation/ai_task.pyi +5 -1
  595. homeassistant-stubs/components/openai_conversation/config_flow.pyi +2 -1
  596. homeassistant-stubs/components/openai_conversation/const.pyi +7 -0
  597. homeassistant-stubs/components/openai_conversation/entity.pyi +4 -4
  598. homeassistant-stubs/components/openuv/__init__.pyi +1 -1
  599. homeassistant-stubs/components/openuv/binary_sensor.pyi +2 -2
  600. homeassistant-stubs/components/openuv/coordinator.pyi +14 -1
  601. homeassistant-stubs/components/opnsense/__init__.pyi +11 -0
  602. homeassistant-stubs/components/opnsense/const.pyi +5 -0
  603. homeassistant-stubs/components/opnsense/device_tracker.pyi +23 -0
  604. homeassistant-stubs/components/opower/coordinator.pyi +1 -0
  605. homeassistant-stubs/components/overseerr/coordinator.pyi +3 -3
  606. homeassistant-stubs/components/overseerr/models.pyi +7 -0
  607. homeassistant-stubs/components/overseerr/sensor.pyi +2 -2
  608. homeassistant-stubs/components/ping/__init__.pyi +1 -0
  609. homeassistant-stubs/components/ping/config_flow.pyi +1 -0
  610. homeassistant-stubs/components/ping/device_tracker.pyi +3 -2
  611. homeassistant-stubs/components/ping/entity.pyi +1 -0
  612. homeassistant-stubs/components/ping/sensor.pyi +1 -1
  613. homeassistant-stubs/components/plugwise/__init__.pyi +1 -1
  614. homeassistant-stubs/components/plugwise/climate.pyi +19 -4
  615. homeassistant-stubs/components/plugwise/config_flow.pyi +1 -1
  616. homeassistant-stubs/components/plugwise/const.pyi +15 -4
  617. homeassistant-stubs/components/plugwise/coordinator.pyi +6 -3
  618. homeassistant-stubs/components/plugwise/entity.pyi +2 -2
  619. homeassistant-stubs/components/plugwise/select.pyi +1 -1
  620. homeassistant-stubs/components/portainer/__init__.pyi +12 -0
  621. homeassistant-stubs/components/portainer/binary_sensor.pyi +41 -0
  622. homeassistant-stubs/components/portainer/button.pyi +28 -0
  623. homeassistant-stubs/components/portainer/config_flow.pyi +25 -0
  624. homeassistant-stubs/components/portainer/const.pyi +3 -0
  625. homeassistant-stubs/components/portainer/coordinator.pyi +44 -0
  626. homeassistant-stubs/components/portainer/diagnostics.pyi +12 -0
  627. homeassistant-stubs/components/portainer/entity.pyi +25 -0
  628. homeassistant-stubs/components/portainer/sensor.pyi +40 -0
  629. homeassistant-stubs/components/portainer/switch.pyi +34 -0
  630. homeassistant-stubs/components/prometheus/__init__.pyi +35 -14
  631. homeassistant-stubs/components/prusalink/coordinator.pyi +2 -0
  632. homeassistant-stubs/components/pyload/config_flow.pyi +1 -0
  633. homeassistant-stubs/components/qbus/entity.pyi +1 -3
  634. homeassistant-stubs/components/radio_browser/media_source.pyi +3 -0
  635. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -0
  636. homeassistant-stubs/components/raspberry_pi/hardware.pyi +1 -1
  637. homeassistant-stubs/components/recorder/auto_repairs/schema.pyi +1 -1
  638. homeassistant-stubs/components/recorder/const.pyi +1 -1
  639. homeassistant-stubs/components/recorder/core.pyi +3 -3
  640. homeassistant-stubs/components/recorder/db_schema.pyi +3 -10
  641. homeassistant-stubs/components/recorder/entity_registry.pyi +1 -0
  642. homeassistant-stubs/components/recorder/history/__init__.pyi +2 -2
  643. homeassistant-stubs/components/recorder/migration.pyi +12 -1
  644. homeassistant-stubs/components/recorder/models/statistics.pyi +2 -0
  645. homeassistant-stubs/components/recorder/statistics.pyi +17 -12
  646. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +0 -1
  647. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +5 -3
  648. homeassistant-stubs/components/recorder/tasks.pyi +1 -0
  649. homeassistant-stubs/components/recorder/util.pyi +2 -1
  650. homeassistant-stubs/components/recorder/websocket_api.pyi +6 -4
  651. homeassistant-stubs/components/remote_calendar/calendar.pyi +1 -2
  652. homeassistant-stubs/components/renault/renault_hub.pyi +2 -0
  653. homeassistant-stubs/components/renault/sensor.pyi +1 -1
  654. homeassistant-stubs/components/reolink/__init__.pyi +4 -3
  655. homeassistant-stubs/components/reolink/binary_sensor.pyi +15 -0
  656. homeassistant-stubs/components/reolink/const.pyi +1 -0
  657. homeassistant-stubs/components/reolink/entity.pyi +10 -0
  658. homeassistant-stubs/components/reolink/host.pyi +1 -0
  659. homeassistant-stubs/components/reolink/light.pyi +7 -1
  660. homeassistant-stubs/components/reolink/number.pyi +10 -1
  661. homeassistant-stubs/components/reolink/select.pyi +11 -3
  662. homeassistant-stubs/components/reolink/siren.pyi +13 -1
  663. homeassistant-stubs/components/reolink/switch.pyi +36 -8
  664. homeassistant-stubs/components/reolink/update.pyi +1 -1
  665. homeassistant-stubs/components/rest_command/__init__.pyi +1 -0
  666. homeassistant-stubs/components/ridwell/__init__.pyi +1 -0
  667. homeassistant-stubs/components/ridwell/calendar.pyi +2 -2
  668. homeassistant-stubs/components/ridwell/config_flow.pyi +10 -3
  669. homeassistant-stubs/components/ridwell/const.pyi +5 -0
  670. homeassistant-stubs/components/rituals_perfume_genie/__init__.pyi +4 -2
  671. homeassistant-stubs/components/rituals_perfume_genie/config_flow.pyi +4 -2
  672. homeassistant-stubs/components/rituals_perfume_genie/coordinator.pyi +5 -3
  673. homeassistant-stubs/components/roborock/__init__.pyi +9 -11
  674. homeassistant-stubs/components/roborock/binary_sensor.pyi +2 -2
  675. homeassistant-stubs/components/roborock/button.pyi +6 -3
  676. homeassistant-stubs/components/roborock/config_flow.pyi +3 -3
  677. homeassistant-stubs/components/roborock/const.pyi +1 -0
  678. homeassistant-stubs/components/roborock/coordinator.pyi +65 -38
  679. homeassistant-stubs/components/roborock/diagnostics.pyi +1 -1
  680. homeassistant-stubs/components/roborock/entity.pyi +12 -29
  681. homeassistant-stubs/components/roborock/image.pyi +8 -4
  682. homeassistant-stubs/components/roborock/models.pyi +11 -6
  683. homeassistant-stubs/components/roborock/number.pyi +6 -5
  684. homeassistant-stubs/components/roborock/roborock_storage.pyi +17 -12
  685. homeassistant-stubs/components/roborock/select.pyi +14 -7
  686. homeassistant-stubs/components/roborock/sensor.pyi +21 -7
  687. homeassistant-stubs/components/roborock/switch.pyi +6 -7
  688. homeassistant-stubs/components/roborock/time.pyi +5 -6
  689. homeassistant-stubs/components/roborock/vacuum.pyi +3 -1
  690. homeassistant-stubs/components/route_b_smart_meter/__init__.pyi +10 -0
  691. homeassistant-stubs/components/route_b_smart_meter/config_flow.pyi +22 -0
  692. homeassistant-stubs/components/route_b_smart_meter/const.pyi +9 -0
  693. homeassistant-stubs/components/route_b_smart_meter/coordinator.pyi +26 -0
  694. homeassistant-stubs/components/route_b_smart_meter/sensor.pyi +30 -0
  695. homeassistant-stubs/components/scene/trigger.pyi +14 -0
  696. homeassistant-stubs/components/scrape/__init__.pyi +0 -1
  697. homeassistant-stubs/components/scrape/config_flow.pyi +1 -0
  698. homeassistant-stubs/components/scrape/coordinator.pyi +5 -2
  699. homeassistant-stubs/components/script/__init__.pyi +1 -1
  700. homeassistant-stubs/components/sensibo/__init__.pyi +6 -0
  701. homeassistant-stubs/components/sensibo/climate.pyi +3 -26
  702. homeassistant-stubs/components/sensibo/services.pyi +31 -0
  703. homeassistant-stubs/components/sensor/const.pyi +3 -1
  704. homeassistant-stubs/components/sensor/device_condition.pyi +2 -0
  705. homeassistant-stubs/components/sensor/device_trigger.pyi +2 -0
  706. homeassistant-stubs/components/sensor/recorder.pyi +6 -3
  707. homeassistant-stubs/components/senz/__init__.pyi +8 -5
  708. homeassistant-stubs/components/senz/api.pyi +1 -1
  709. homeassistant-stubs/components/senz/climate.pyi +5 -5
  710. homeassistant-stubs/components/senz/config_flow.pyi +9 -0
  711. homeassistant-stubs/components/senz/diagnostics.pyi +9 -0
  712. homeassistant-stubs/components/senz/sensor.pyi +32 -0
  713. homeassistant-stubs/components/sfr_box/__init__.pyi +4 -6
  714. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +7 -14
  715. homeassistant-stubs/components/sfr_box/button.pyi +6 -8
  716. homeassistant-stubs/components/sfr_box/config_flow.pyi +5 -2
  717. homeassistant-stubs/components/sfr_box/coordinator.pyi +16 -4
  718. homeassistant-stubs/components/sfr_box/diagnostics.pyi +2 -4
  719. homeassistant-stubs/components/sfr_box/entity.pyi +18 -0
  720. homeassistant-stubs/components/sfr_box/sensor.pyi +6 -13
  721. homeassistant-stubs/components/sftp_storage/__init__.pyi +21 -0
  722. homeassistant-stubs/components/sftp_storage/backup.pyi +24 -0
  723. homeassistant-stubs/components/sftp_storage/client.pyi +48 -0
  724. homeassistant-stubs/components/sftp_storage/config_flow.pyi +25 -0
  725. homeassistant-stubs/components/sftp_storage/const.pyi +16 -0
  726. homeassistant-stubs/components/shelly/__init__.pyi +3 -2
  727. homeassistant-stubs/components/shelly/binary_sensor.pyi +19 -5
  728. homeassistant-stubs/components/shelly/ble_provisioning.pyi +21 -0
  729. homeassistant-stubs/components/shelly/button.pyi +28 -9
  730. homeassistant-stubs/components/shelly/climate.pyi +63 -7
  731. homeassistant-stubs/components/shelly/config_flow.pyi +72 -5
  732. homeassistant-stubs/components/shelly/const.pyi +25 -3
  733. homeassistant-stubs/components/shelly/coordinator.pyi +1 -1
  734. homeassistant-stubs/components/shelly/cover.pyi +39 -10
  735. homeassistant-stubs/components/shelly/entity.pyi +12 -18
  736. homeassistant-stubs/components/shelly/event.pyi +17 -10
  737. homeassistant-stubs/components/shelly/light.pyi +40 -14
  738. homeassistant-stubs/components/shelly/logbook.pyi +1 -1
  739. homeassistant-stubs/components/shelly/number.pyi +17 -11
  740. homeassistant-stubs/components/shelly/repairs.pyi +14 -2
  741. homeassistant-stubs/components/shelly/select.pyi +15 -7
  742. homeassistant-stubs/components/shelly/sensor.pyi +19 -10
  743. homeassistant-stubs/components/shelly/services.pyi +23 -0
  744. homeassistant-stubs/components/shelly/switch.pyi +12 -7
  745. homeassistant-stubs/components/shelly/text.pyi +8 -3
  746. homeassistant-stubs/components/shelly/update.pyi +4 -0
  747. homeassistant-stubs/components/shelly/utils.pyi +24 -9
  748. homeassistant-stubs/components/shelly/valve.pyi +34 -5
  749. homeassistant-stubs/components/simplisafe/__init__.pyi +3 -1
  750. homeassistant-stubs/components/simplisafe/binary_sensor.pyi +3 -0
  751. homeassistant-stubs/components/simplisafe/config_flow.pyi +2 -0
  752. homeassistant-stubs/components/siren/trigger.pyi +8 -0
  753. homeassistant-stubs/components/sleep_as_android/event.pyi +1 -0
  754. homeassistant-stubs/components/sma/__init__.pyi +15 -0
  755. homeassistant-stubs/components/sma/config_flow.pyi +27 -0
  756. homeassistant-stubs/components/sma/const.pyi +11 -0
  757. homeassistant-stubs/components/sma/coordinator.pyi +28 -0
  758. homeassistant-stubs/components/sma/diagnostics.pyi +10 -0
  759. homeassistant-stubs/components/sma/sensor.pyi +33 -0
  760. homeassistant-stubs/components/smhi/__init__.pyi +1 -1
  761. homeassistant-stubs/components/smhi/coordinator.pyi +15 -2
  762. homeassistant-stubs/components/smhi/entity.pyi +13 -4
  763. homeassistant-stubs/components/smhi/sensor.pyi +27 -11
  764. homeassistant-stubs/components/smhi/weather.pyi +3 -2
  765. homeassistant-stubs/components/smlight/switch.pyi +1 -0
  766. homeassistant-stubs/components/solarlog/coordinator.pyi +1 -1
  767. homeassistant-stubs/components/sql/__init__.pyi +4 -6
  768. homeassistant-stubs/components/sql/config_flow.pyi +9 -4
  769. homeassistant-stubs/components/sql/const.pyi +1 -0
  770. homeassistant-stubs/components/sql/sensor.pyi +10 -18
  771. homeassistant-stubs/components/sql/services.pyi +18 -0
  772. homeassistant-stubs/components/sql/util.pyi +27 -3
  773. homeassistant-stubs/components/squeezebox/__init__.pyi +4 -1
  774. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +16 -5
  775. homeassistant-stubs/components/squeezebox/browse_media.pyi +4 -3
  776. homeassistant-stubs/components/squeezebox/button.pyi +1 -0
  777. homeassistant-stubs/components/squeezebox/const.pyi +4 -1
  778. homeassistant-stubs/components/squeezebox/media_player.pyi +7 -2
  779. homeassistant-stubs/components/squeezebox/sensor.pyi +21 -3
  780. homeassistant-stubs/components/squeezebox/switch.pyi +1 -0
  781. homeassistant-stubs/components/squeezebox/util.pyi +6 -0
  782. homeassistant-stubs/components/ssdp/server.pyi +2 -3
  783. homeassistant-stubs/components/starlink/sensor.pyi +11 -1
  784. homeassistant-stubs/components/statistics/__init__.pyi +0 -1
  785. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  786. homeassistant-stubs/components/stookwijzer/__init__.pyi +1 -1
  787. homeassistant-stubs/components/stookwijzer/services.pyi +3 -2
  788. homeassistant-stubs/components/suez_water/coordinator.pyi +2 -1
  789. homeassistant-stubs/components/sun/condition.pyi +12 -7
  790. homeassistant-stubs/components/sun/sensor.pyi +0 -2
  791. homeassistant-stubs/components/switch/trigger.pyi +8 -0
  792. homeassistant-stubs/components/switch_as_x/__init__.pyi +0 -1
  793. homeassistant-stubs/components/switch_as_x/config_flow.pyi +1 -0
  794. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  795. homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +9 -2
  796. homeassistant-stubs/components/switchbot_cloud/climate.pyi +37 -6
  797. homeassistant-stubs/components/switchbot_cloud/const.pyi +14 -0
  798. homeassistant-stubs/components/switchbot_cloud/entity.pyi +1 -1
  799. homeassistant-stubs/components/switchbot_cloud/humidifier.pyi +48 -0
  800. homeassistant-stubs/components/switchbot_cloud/light.pyi +10 -1
  801. homeassistant-stubs/components/switchbot_cloud/lock.pyi +7 -2
  802. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +39 -4
  803. homeassistant-stubs/components/switchbot_cloud/switch.pyi +13 -1
  804. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +4 -4
  805. homeassistant-stubs/components/switcher_kis/button.pyi +5 -6
  806. homeassistant-stubs/components/switcher_kis/climate.pyi +3 -3
  807. homeassistant-stubs/components/switcher_kis/config_flow.pyi +1 -1
  808. homeassistant-stubs/components/switcher_kis/const.pyi +2 -0
  809. homeassistant-stubs/components/switcher_kis/cover.pyi +4 -3
  810. homeassistant-stubs/components/switcher_kis/light.pyi +3 -2
  811. homeassistant-stubs/components/switcher_kis/sensor.pyi +4 -2
  812. homeassistant-stubs/components/switcher_kis/switch.pyi +3 -5
  813. homeassistant-stubs/components/synology_dsm/config_flow.pyi +1 -0
  814. homeassistant-stubs/components/synology_dsm/media_source.pyi +2 -2
  815. homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -0
  816. homeassistant-stubs/components/systemmonitor/__init__.pyi +0 -1
  817. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +4 -3
  818. homeassistant-stubs/components/systemmonitor/config_flow.pyi +1 -0
  819. homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
  820. homeassistant-stubs/components/systemmonitor/coordinator.pyi +12 -6
  821. homeassistant-stubs/components/systemmonitor/sensor.pyi +8 -2
  822. homeassistant-stubs/components/systemmonitor/util.pyi +2 -1
  823. homeassistant-stubs/components/telegram_bot/__init__.pyi +9 -5
  824. homeassistant-stubs/components/telegram_bot/bot.pyi +16 -5
  825. homeassistant-stubs/components/telegram_bot/config_flow.pyi +4 -6
  826. homeassistant-stubs/components/telegram_bot/const.pyi +25 -4
  827. homeassistant-stubs/components/telegram_bot/diagnostics.pyi +11 -0
  828. homeassistant-stubs/components/telegram_bot/entity.pyi +16 -0
  829. homeassistant-stubs/components/telegram_bot/event.pyi +19 -0
  830. homeassistant-stubs/components/telegram_bot/helpers.pyi +4 -0
  831. homeassistant-stubs/components/telegram_bot/notify.pyi +6 -10
  832. homeassistant-stubs/components/text/trigger.pyi +13 -0
  833. homeassistant-stubs/components/threshold/__init__.pyi +0 -1
  834. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  835. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  836. homeassistant-stubs/components/tod/__init__.pyi +0 -1
  837. homeassistant-stubs/components/tod/config_flow.pyi +1 -0
  838. homeassistant-stubs/components/todo/__init__.pyi +1 -0
  839. homeassistant-stubs/components/tolo/__init__.pyi +3 -5
  840. homeassistant-stubs/components/tolo/binary_sensor.pyi +4 -6
  841. homeassistant-stubs/components/tolo/button.pyi +3 -5
  842. homeassistant-stubs/components/tolo/climate.pyi +3 -5
  843. homeassistant-stubs/components/tolo/config_flow.pyi +5 -3
  844. homeassistant-stubs/components/tolo/coordinator.pyi +3 -2
  845. homeassistant-stubs/components/tolo/entity.pyi +2 -3
  846. homeassistant-stubs/components/tolo/fan.pyi +3 -5
  847. homeassistant-stubs/components/tolo/light.pyi +3 -5
  848. homeassistant-stubs/components/tolo/number.pyi +3 -5
  849. homeassistant-stubs/components/tolo/select.pyi +4 -5
  850. homeassistant-stubs/components/tolo/sensor.pyi +3 -5
  851. homeassistant-stubs/components/tolo/switch.pyi +3 -5
  852. homeassistant-stubs/components/tplink/number.pyi +1 -1
  853. homeassistant-stubs/components/tplink_omada/__init__.pyi +6 -1
  854. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +2 -1
  855. homeassistant-stubs/components/tplink_omada/controller.pyi +4 -2
  856. homeassistant-stubs/components/tplink_omada/coordinator.pyi +17 -2
  857. homeassistant-stubs/components/tplink_omada/services.pyi +22 -0
  858. homeassistant-stubs/components/tplink_omada/switch.pyi +2 -1
  859. homeassistant-stubs/components/tplink_omada/update.pyi +3 -19
  860. homeassistant-stubs/components/tractive/switch.pyi +2 -2
  861. homeassistant-stubs/components/transmission/__init__.pyi +6 -13
  862. homeassistant-stubs/components/transmission/const.pyi +5 -0
  863. homeassistant-stubs/components/transmission/entity.pyi +13 -0
  864. homeassistant-stubs/components/transmission/helpers.pyi +6 -0
  865. homeassistant-stubs/components/transmission/sensor.pyi +5 -12
  866. homeassistant-stubs/components/transmission/services.pyi +37 -0
  867. homeassistant-stubs/components/transmission/switch.pyi +5 -9
  868. homeassistant-stubs/components/trend/__init__.pyi +0 -1
  869. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  870. homeassistant-stubs/components/tts/__init__.pyi +7 -3
  871. homeassistant-stubs/components/unifi/light.pyi +48 -0
  872. homeassistant-stubs/components/unifi/sensor.pyi +2 -0
  873. homeassistant-stubs/components/unifiprotect/__init__.pyi +4 -3
  874. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +1 -0
  875. homeassistant-stubs/components/unifiprotect/button.pyi +5 -4
  876. homeassistant-stubs/components/unifiprotect/camera.pyi +4 -1
  877. homeassistant-stubs/components/unifiprotect/config_flow.pyi +25 -5
  878. homeassistant-stubs/components/unifiprotect/const.pyi +2 -0
  879. homeassistant-stubs/components/unifiprotect/discovery.pyi +9 -1
  880. homeassistant-stubs/components/unifiprotect/entity.pyi +1 -1
  881. homeassistant-stubs/components/unifiprotect/event.pyi +34 -2
  882. homeassistant-stubs/components/unifiprotect/light.pyi +5 -1
  883. homeassistant-stubs/components/unifiprotect/lock.pyi +4 -0
  884. homeassistant-stubs/components/unifiprotect/media_player.pyi +2 -0
  885. homeassistant-stubs/components/unifiprotect/number.pyi +6 -2
  886. homeassistant-stubs/components/unifiprotect/repairs.pyi +1 -2
  887. homeassistant-stubs/components/unifiprotect/select.pyi +6 -5
  888. homeassistant-stubs/components/unifiprotect/sensor.pyi +1 -12
  889. homeassistant-stubs/components/unifiprotect/services.pyi +3 -2
  890. homeassistant-stubs/components/unifiprotect/switch.pyi +8 -2
  891. homeassistant-stubs/components/unifiprotect/text.pyi +6 -2
  892. homeassistant-stubs/components/unifiprotect/utils.pyi +6 -2
  893. homeassistant-stubs/components/update/trigger.pyi +8 -0
  894. homeassistant-stubs/components/uptime_kuma/config_flow.pyi +1 -0
  895. homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +2 -0
  896. homeassistant-stubs/components/uptimerobot/config_flow.pyi +1 -0
  897. homeassistant-stubs/components/uptimerobot/sensor.pyi +2 -0
  898. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -0
  899. homeassistant-stubs/components/uptimerobot/utils.pyi +5 -0
  900. homeassistant-stubs/components/usb/__init__.pyi +4 -4
  901. homeassistant-stubs/components/usb/utils.pyi +7 -0
  902. homeassistant-stubs/components/vacuum/__init__.pyi +0 -15
  903. homeassistant-stubs/components/vacuum/intent.pyi +1 -1
  904. homeassistant-stubs/components/vacuum/trigger.pyi +7 -0
  905. homeassistant-stubs/components/velbus/__init__.pyi +1 -1
  906. homeassistant-stubs/components/velbus/config_flow.pyi +17 -4
  907. homeassistant-stubs/components/velbus/const.pyi +1 -0
  908. homeassistant-stubs/components/velbus/entity.pyi +1 -1
  909. homeassistant-stubs/components/velbus/sensor.pyi +19 -10
  910. homeassistant-stubs/components/velbus/services.pyi +1 -1
  911. homeassistant-stubs/components/vivotek/__init__.pyi +17 -0
  912. homeassistant-stubs/components/vivotek/camera.pyi +41 -0
  913. homeassistant-stubs/components/vivotek/config_flow.pyi +25 -0
  914. homeassistant-stubs/components/vivotek/const.pyi +6 -0
  915. homeassistant-stubs/components/vodafone_station/__init__.pyi +3 -1
  916. homeassistant-stubs/components/vodafone_station/config_flow.pyi +3 -2
  917. homeassistant-stubs/components/vodafone_station/const.pyi +3 -0
  918. homeassistant-stubs/components/vodafone_station/coordinator.pyi +4 -4
  919. homeassistant-stubs/components/volvo/__init__.pyi +4 -2
  920. homeassistant-stubs/components/volvo/api.pyi +4 -0
  921. homeassistant-stubs/components/volvo/binary_sensor.pyi +1 -3
  922. homeassistant-stubs/components/volvo/button.pyi +27 -0
  923. homeassistant-stubs/components/volvo/coordinator.pyi +20 -9
  924. homeassistant-stubs/components/volvo/device_tracker.pyi +23 -0
  925. homeassistant-stubs/components/volvo/diagnostics.pyi +12 -0
  926. homeassistant-stubs/components/volvo/entity.pyi +9 -5
  927. homeassistant-stubs/components/volvo/lock.pyi +37 -0
  928. homeassistant-stubs/components/volvo/sensor.pyi +9 -8
  929. homeassistant-stubs/components/wake_on_lan/__init__.pyi +0 -1
  930. homeassistant-stubs/components/wake_on_lan/config_flow.pyi +1 -0
  931. homeassistant-stubs/components/wallbox/__init__.pyi +2 -3
  932. homeassistant-stubs/components/wallbox/config_flow.pyi +2 -2
  933. homeassistant-stubs/components/wallbox/const.pyi +5 -0
  934. homeassistant-stubs/components/wallbox/coordinator.pyi +12 -9
  935. homeassistant-stubs/components/waqi/__init__.pyi +8 -0
  936. homeassistant-stubs/components/waqi/config_flow.pyi +14 -9
  937. homeassistant-stubs/components/waqi/const.pyi +1 -1
  938. homeassistant-stubs/components/waqi/coordinator.pyi +5 -4
  939. homeassistant-stubs/components/waqi/diagnostics.pyi +5 -0
  940. homeassistant-stubs/components/watts/__init__.pyi +28 -0
  941. homeassistant-stubs/components/watts/application_credentials.pyi +5 -0
  942. homeassistant-stubs/components/watts/climate.pyi +35 -0
  943. homeassistant-stubs/components/watts/config_flow.pyi +13 -0
  944. homeassistant-stubs/components/watts/const.pyi +12 -0
  945. homeassistant-stubs/components/watts/coordinator.pyi +40 -0
  946. homeassistant-stubs/components/watts/entity.pyi +17 -0
  947. homeassistant-stubs/components/webhook/trigger.pyi +3 -1
  948. homeassistant-stubs/components/webostv/media_player.pyi +3 -0
  949. homeassistant-stubs/components/websocket_api/automation.pyi +47 -0
  950. homeassistant-stubs/components/websocket_api/commands.pyi +11 -0
  951. homeassistant-stubs/components/websocket_api/http.pyi +1 -0
  952. homeassistant-stubs/components/withings/__init__.pyi +2 -1
  953. homeassistant-stubs/components/withings/const.pyi +0 -1
  954. homeassistant-stubs/components/withings/sensor.pyi +2 -2
  955. homeassistant-stubs/components/wled/__init__.pyi +4 -3
  956. homeassistant-stubs/components/wled/analytics.pyi +4 -0
  957. homeassistant-stubs/components/wled/button.pyi +3 -2
  958. homeassistant-stubs/components/wled/config_flow.pyi +8 -2
  959. homeassistant-stubs/components/wled/coordinator.pyi +8 -2
  960. homeassistant-stubs/components/wled/diagnostics.pyi +1 -1
  961. homeassistant-stubs/components/wled/helpers.pyi +1 -0
  962. homeassistant-stubs/components/wled/light.pyi +1 -2
  963. homeassistant-stubs/components/wled/number.pyi +1 -2
  964. homeassistant-stubs/components/wled/select.pyi +7 -5
  965. homeassistant-stubs/components/wled/sensor.pyi +3 -2
  966. homeassistant-stubs/components/wled/switch.pyi +1 -2
  967. homeassistant-stubs/components/wled/update.pyi +4 -2
  968. homeassistant-stubs/components/workday/calendar.pyi +23 -0
  969. homeassistant-stubs/components/worldclock/__init__.pyi +0 -1
  970. homeassistant-stubs/components/worldclock/config_flow.pyi +1 -0
  971. homeassistant-stubs/components/xbox/__init__.pyi +19 -0
  972. homeassistant-stubs/components/xbox/api.pyi +15 -0
  973. homeassistant-stubs/components/xbox/application_credentials.pyi +5 -0
  974. homeassistant-stubs/components/xbox/binary_sensor.pyi +36 -0
  975. homeassistant-stubs/components/xbox/browse_media.pyi +17 -0
  976. homeassistant-stubs/components/xbox/config_flow.pyi +27 -0
  977. homeassistant-stubs/components/xbox/const.pyi +4 -0
  978. homeassistant-stubs/components/xbox/coordinator.pyi +54 -0
  979. homeassistant-stubs/components/xbox/diagnostics.pyi +9 -0
  980. homeassistant-stubs/components/xbox/entity.pyi +54 -0
  981. homeassistant-stubs/components/xbox/image.pyi +34 -0
  982. homeassistant-stubs/components/xbox/media_player.pyi +45 -0
  983. homeassistant-stubs/components/xbox/media_source.pyi +51 -0
  984. homeassistant-stubs/components/xbox/remote.pyi +20 -0
  985. homeassistant-stubs/components/xbox/sensor.pyi +74 -0
  986. homeassistant-stubs/components/yalexs_ble/__init__.pyi +3 -2
  987. homeassistant-stubs/components/yalexs_ble/config_cache.pyi +10 -0
  988. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +6 -2
  989. homeassistant-stubs/components/youtube/__init__.pyi +1 -1
  990. homeassistant-stubs/components/zeroconf/__init__.pyi +3 -1
  991. homeassistant-stubs/components/zeroconf/discovery.pyi +8 -1
  992. homeassistant-stubs/components/zeroconf/repairs.pyi +13 -0
  993. homeassistant-stubs/components/zone/condition.pyi +12 -6
  994. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  995. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +1 -0
  996. homeassistant-stubs/components/zwave_js/config_flow.pyi +7 -3
  997. homeassistant-stubs/components/zwave_js/const.pyi +3 -0
  998. homeassistant-stubs/components/zwave_js/device_trigger.pyi +2 -2
  999. homeassistant-stubs/components/zwave_js/entity.pyi +2 -2
  1000. homeassistant-stubs/components/zwave_js/event.pyi +11 -5
  1001. homeassistant-stubs/components/zwave_js/triggers/event.pyi +24 -11
  1002. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +13 -9
  1003. homeassistant-stubs/config_entries.pyi +15 -4
  1004. homeassistant-stubs/const.pyi +12 -74
  1005. homeassistant-stubs/core.pyi +4 -17
  1006. homeassistant-stubs/core_config.pyi +1 -1
  1007. homeassistant-stubs/data_entry_flow.pyi +20 -3
  1008. homeassistant-stubs/generated/entity_platforms.pyi +46 -0
  1009. homeassistant-stubs/generated/labs.pyi +3 -0
  1010. homeassistant-stubs/helpers/area_registry.pyi +4 -2
  1011. homeassistant-stubs/helpers/automation.pyi +7 -0
  1012. homeassistant-stubs/helpers/condition.pyi +36 -10
  1013. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +3 -0
  1014. homeassistant-stubs/helpers/config_validation.pyi +5 -4
  1015. homeassistant-stubs/helpers/debounce.pyi +6 -1
  1016. homeassistant-stubs/helpers/deprecation.pyi +1 -0
  1017. homeassistant-stubs/helpers/device_registry.pyi +6 -5
  1018. homeassistant-stubs/helpers/entity.pyi +0 -1
  1019. homeassistant-stubs/helpers/entity_component.pyi +3 -5
  1020. homeassistant-stubs/helpers/entity_platform.pyi +2 -2
  1021. homeassistant-stubs/helpers/entity_registry.pyi +4 -4
  1022. homeassistant-stubs/helpers/event.pyi +3 -2
  1023. homeassistant-stubs/helpers/floor_registry.pyi +7 -1
  1024. homeassistant-stubs/helpers/instance_id.pyi +1 -0
  1025. homeassistant-stubs/helpers/intent.pyi +6 -8
  1026. homeassistant-stubs/helpers/json.pyi +1 -0
  1027. homeassistant-stubs/helpers/llm.pyi +6 -1
  1028. homeassistant-stubs/helpers/registry.pyi +0 -1
  1029. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +5 -1
  1030. homeassistant-stubs/helpers/script.pyi +7 -7
  1031. homeassistant-stubs/helpers/selector.pyi +43 -21
  1032. homeassistant-stubs/helpers/service.pyi +17 -19
  1033. homeassistant-stubs/helpers/service_info/esphome.pyi +12 -0
  1034. homeassistant-stubs/helpers/storage.pyi +6 -4
  1035. homeassistant-stubs/helpers/target.pyi +9 -4
  1036. homeassistant-stubs/helpers/{template.pyi → template/__init__.pyi} +12 -141
  1037. homeassistant-stubs/helpers/template/context.pyi +16 -0
  1038. homeassistant-stubs/helpers/template/extensions/__init__.pyi +14 -0
  1039. homeassistant-stubs/helpers/template/extensions/areas.pyi +14 -0
  1040. homeassistant-stubs/helpers/template/extensions/base.pyi +30 -0
  1041. homeassistant-stubs/helpers/template/extensions/base64.pyi +9 -0
  1042. homeassistant-stubs/helpers/template/extensions/collection.pyi +18 -0
  1043. homeassistant-stubs/helpers/template/extensions/crypto.pyi +13 -0
  1044. homeassistant-stubs/helpers/template/extensions/datetime.pyi +28 -0
  1045. homeassistant-stubs/helpers/template/extensions/devices.pyi +13 -0
  1046. homeassistant-stubs/helpers/template/extensions/floors.pyi +14 -0
  1047. homeassistant-stubs/helpers/template/extensions/issues.pyi +8 -0
  1048. homeassistant-stubs/helpers/template/extensions/labels.pyi +15 -0
  1049. homeassistant-stubs/helpers/template/extensions/math.pyi +49 -0
  1050. homeassistant-stubs/helpers/template/extensions/regex.pyi +14 -0
  1051. homeassistant-stubs/helpers/template/extensions/string.pyi +9 -0
  1052. homeassistant-stubs/helpers/template/helpers.pyi +6 -0
  1053. homeassistant-stubs/helpers/template/render_info.pyi +39 -0
  1054. homeassistant-stubs/helpers/trigger.pyi +136 -11
  1055. homeassistant-stubs/helpers/trigger_template_entity.pyi +2 -1
  1056. homeassistant-stubs/helpers/typing.pyi +0 -11
  1057. homeassistant-stubs/helpers/update_coordinator.pyi +6 -3
  1058. homeassistant-stubs/loader.pyi +3 -0
  1059. homeassistant-stubs/requirements.pyi +4 -3
  1060. homeassistant-stubs/runner.pyi +17 -1
  1061. homeassistant-stubs/util/__init__.pyi +1 -0
  1062. homeassistant-stubs/util/async_iterator.pyi +33 -0
  1063. homeassistant-stubs/util/unit_conversion.pyi +18 -0
  1064. {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/METADATA +2 -2
  1065. {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/RECORD +1067 -859
  1066. {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/WHEEL +1 -1
  1067. homeassistant-stubs/components/bluetooth_tracker/__init__.pyi +0 -0
  1068. homeassistant-stubs/components/bluetooth_tracker/const.pyi +0 -7
  1069. homeassistant-stubs/components/bluetooth_tracker/device_tracker.pyi +0 -19
  1070. homeassistant-stubs/components/elevenlabs/__init__.pyi +0 -22
  1071. homeassistant-stubs/components/elevenlabs/config_flow.pyi +0 -33
  1072. homeassistant-stubs/components/elevenlabs/const.pyi +0 -14
  1073. homeassistant-stubs/components/elevenlabs/tts.pyi +0 -36
  1074. homeassistant-stubs/components/home_connect/time.pyi +0 -29
  1075. homeassistant-stubs/components/music_assistant/actions.pyi +0 -22
  1076. homeassistant-stubs/components/pandora/__init__.pyi +0 -1
  1077. homeassistant-stubs/components/pandora/media_player.pyi +0 -52
  1078. homeassistant-stubs/components/recorder/history/legacy.pyi +0 -48
  1079. homeassistant-stubs/components/recorder/history/modern.pyi +0 -39
  1080. homeassistant-stubs/components/recorder/models/legacy.pyi +0 -45
  1081. homeassistant-stubs/components/sfr_box/models.pyi +0 -12
  1082. {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,4 +1,4 @@
1
- from .const import ATTR_FORMAT as ATTR_FORMAT, ATTR_IMAGES as ATTR_IMAGES, CONF_ROOMS_REGEX as CONF_ROOMS_REGEX, DOMAIN as DOMAIN, FORMAT_HTML as FORMAT_HTML
1
+ from .const import ATTR_FORMAT as ATTR_FORMAT, ATTR_IMAGES as ATTR_IMAGES, ATTR_MESSAGE_ID as ATTR_MESSAGE_ID, ATTR_REACTION as ATTR_REACTION, ATTR_ROOM as ATTR_ROOM, ATTR_THREAD_ID as ATTR_THREAD_ID, CONF_ROOMS_REGEX as CONF_ROOMS_REGEX, DOMAIN as DOMAIN, FORMAT_HTML as FORMAT_HTML
2
2
  from .services import async_setup_services as async_setup_services
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Sequence
@@ -10,6 +10,7 @@ from homeassistant.helpers.json import save_json as save_json
10
10
  from homeassistant.helpers.typing import ConfigType as ConfigType
11
11
  from homeassistant.util.json import JsonObjectType as JsonObjectType, load_json_object as load_json_object
12
12
  from nio import AsyncClient, Event, MatrixRoom as MatrixRoom
13
+ from nio.events.room_events import RoomMessageText
13
14
  from nio.responses import Response as Response
14
15
  from typing import Final, Required, TypedDict
15
16
 
@@ -20,11 +21,13 @@ CONF_ROOMS: Final[str]
20
21
  CONF_COMMANDS: Final[str]
21
22
  CONF_WORD: Final[str]
22
23
  CONF_EXPRESSION: Final[str]
24
+ CONF_REACTION: Final[str]
23
25
  CONF_USERNAME_REGEX: str
24
26
  EVENT_MATRIX_COMMAND: str
25
27
  DEFAULT_CONTENT_TYPE: str
26
28
  WordCommand: Incomplete
27
29
  ExpressionCommand: Incomplete
30
+ ReactionCommand: Incomplete
28
31
  RoomAlias: Incomplete
29
32
  RoomID: Incomplete
30
33
  RoomAnyID = RoomID | RoomAlias
@@ -34,6 +37,7 @@ class ConfigCommand(TypedDict, total=False):
34
37
  rooms: list[RoomID]
35
38
  word: WordCommand
36
39
  expression: ExpressionCommand
40
+ reaction: ReactionCommand
37
41
 
38
42
  COMMAND_SCHEMA: Incomplete
39
43
  CONFIG_SCHEMA: Incomplete
@@ -52,10 +56,12 @@ class MatrixBot:
52
56
  _listening_rooms: dict[RoomAnyID, RoomID]
53
57
  _word_commands: dict[RoomID, dict[WordCommand, ConfigCommand]]
54
58
  _expression_commands: dict[RoomID, list[ConfigCommand]]
59
+ _reaction_commands: dict[RoomID, dict[ReactionCommand, ConfigCommand]]
55
60
  _unparsed_commands: Incomplete
56
61
  def __init__(self, hass: HomeAssistant, config_file: str, homeserver: str, verify_ssl: bool, username: str, password: str, listening_rooms: list[RoomAnyID], commands: list[ConfigCommand]) -> None: ...
57
62
  def _load_commands(self, commands: list[ConfigCommand]) -> None: ...
58
63
  async def _handle_room_message(self, room: MatrixRoom, message: Event) -> None: ...
64
+ def _get_thread_parent(self, message: RoomMessageText) -> str | None: ...
59
65
  async def _resolve_room_alias(self, room_alias_or_id: RoomAnyID) -> dict[RoomAnyID, RoomID]: ...
60
66
  async def _resolve_room_aliases(self, listening_rooms: list[RoomAnyID]) -> None: ...
61
67
  async def _join_room(self, room_id: RoomID, room_alias_or_id: RoomAnyID) -> None: ...
@@ -65,6 +71,8 @@ class MatrixBot:
65
71
  async def _login(self) -> None: ...
66
72
  async def _handle_room_send(self, target_room: RoomAnyID, message_type: str, content: dict) -> None: ...
67
73
  async def _handle_multi_room_send(self, target_rooms: Sequence[RoomAnyID], message_type: str, content: dict) -> None: ...
68
- async def _send_image(self, image_path: str, target_rooms: Sequence[RoomAnyID]) -> None: ...
74
+ async def _send_image(self, image_path: str, target_rooms: Sequence[RoomAnyID], thread_id: str | None) -> None: ...
69
75
  async def _send_message(self, message: str, target_rooms: list[RoomAnyID], data: dict | None) -> None: ...
76
+ async def _send_reaction(self, reaction: str, target_room: RoomAnyID, message_id: str) -> None: ...
70
77
  async def handle_send_message(self, service: ServiceCall) -> None: ...
78
+ async def handle_send_reaction(self, service: ServiceCall) -> None: ...
@@ -1,7 +1,12 @@
1
1
  DOMAIN: str
2
2
  SERVICE_SEND_MESSAGE: str
3
+ SERVICE_REACT: str
3
4
  FORMAT_HTML: str
4
5
  FORMAT_TEXT: str
5
6
  ATTR_FORMAT: str
6
7
  ATTR_IMAGES: str
8
+ ATTR_THREAD_ID: str
9
+ ATTR_REACTION: str
10
+ ATTR_ROOM: str
11
+ ATTR_MESSAGE_ID: str
7
12
  CONF_ROOMS_REGEX: str
@@ -1,5 +1,5 @@
1
1
  from . import MatrixBot as MatrixBot
2
- from .const import ATTR_FORMAT as ATTR_FORMAT, ATTR_IMAGES as ATTR_IMAGES, CONF_ROOMS_REGEX as CONF_ROOMS_REGEX, DOMAIN as DOMAIN, FORMAT_HTML as FORMAT_HTML, FORMAT_TEXT as FORMAT_TEXT, SERVICE_SEND_MESSAGE as SERVICE_SEND_MESSAGE
2
+ from .const import ATTR_FORMAT as ATTR_FORMAT, ATTR_IMAGES as ATTR_IMAGES, ATTR_MESSAGE_ID as ATTR_MESSAGE_ID, ATTR_REACTION as ATTR_REACTION, ATTR_ROOM as ATTR_ROOM, ATTR_THREAD_ID as ATTR_THREAD_ID, CONF_ROOMS_REGEX as CONF_ROOMS_REGEX, DOMAIN as DOMAIN, FORMAT_HTML as FORMAT_HTML, FORMAT_TEXT as FORMAT_TEXT, SERVICE_REACT as SERVICE_REACT, SERVICE_SEND_MESSAGE as SERVICE_SEND_MESSAGE
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.notify import ATTR_DATA as ATTR_DATA, ATTR_MESSAGE as ATTR_MESSAGE, ATTR_TARGET as ATTR_TARGET
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
@@ -7,7 +7,9 @@ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as Se
7
7
  MESSAGE_FORMATS: Incomplete
8
8
  DEFAULT_MESSAGE_FORMAT = FORMAT_TEXT
9
9
  SERVICE_SCHEMA_SEND_MESSAGE: Incomplete
10
+ SERVICE_SCHEMA_REACT: Incomplete
10
11
 
11
12
  async def _handle_send_message(call: ServiceCall) -> None: ...
13
+ async def _handle_react(call: ServiceCall) -> None: ...
12
14
  @callback
13
15
  def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -6,6 +6,8 @@ from .const import CONF_INTEGRATION_CREATED_ADDON as CONF_INTEGRATION_CREATED_AD
6
6
  from .discovery import SUPPORTED_PLATFORMS as SUPPORTED_PLATFORMS
7
7
  from .helpers import MatterEntryData as MatterEntryData, get_matter as get_matter, get_node_from_device_entry as get_node_from_device_entry, node_from_ha_device_id as node_from_ha_device_id
8
8
  from .models import MatterDeviceInfo as MatterDeviceInfo
9
+ from .services import async_setup_services as async_setup_services
10
+ from _typeshed import Incomplete
9
11
  from functools import cache
10
12
  from homeassistant.components.hassio import AddonError as AddonError, AddonManager as AddonManager, AddonState as AddonState
11
13
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
@@ -15,14 +17,17 @@ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
15
17
  from homeassistant.helpers import device_registry as dr
16
18
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
17
19
  from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
20
+ from homeassistant.helpers.typing import ConfigType as ConfigType
18
21
  from matter_server.client import MatterClient
19
22
 
20
23
  CONNECT_TIMEOUT: int
21
24
  LISTEN_READY_TIMEOUT: int
25
+ CONFIG_SCHEMA: Incomplete
22
26
 
23
27
  @callback
24
28
  @cache
25
29
  def get_matter_device_info(hass: HomeAssistant, device_id: str) -> MatterDeviceInfo | None: ...
30
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
26
31
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
27
32
  async def _client_listen(hass: HomeAssistant, entry: ConfigEntry, matter_client: MatterClient, init_ready: asyncio.Event) -> None: ...
28
33
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -13,7 +13,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
13
13
 
14
14
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
15
 
16
- @dataclass(frozen=True)
16
+ @dataclass(frozen=True, kw_only=True)
17
17
  class MatterBinarySensorEntityDescription(BinarySensorEntityDescription, MatterEntityDescription): ...
18
18
 
19
19
  class MatterBinarySensor(MatterEntity, BinarySensorEntity):
@@ -13,7 +13,7 @@ from typing import Any
13
13
 
14
14
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
15
 
16
- @dataclass(frozen=True)
16
+ @dataclass(frozen=True, kw_only=True)
17
17
  class MatterButtonEntityDescription(ButtonEntityDescription, MatterEntityDescription):
18
18
  command: Callable[[], Any] | None = ...
19
19
 
@@ -1,8 +1,9 @@
1
- from .entity import MatterEntity as MatterEntity
1
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
2
2
  from .helpers import get_matter as get_matter
3
3
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
4
  from _typeshed import Incomplete
5
5
  from chip.clusters import Objects as clusters
6
+ from dataclasses import dataclass
6
7
  from enum import IntEnum
7
8
  from homeassistant.components.climate import ATTR_HVAC_MODE as ATTR_HVAC_MODE, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ClimateEntity as ClimateEntity, ClimateEntityDescription as ClimateEntityDescription, ClimateEntityFeature as ClimateEntityFeature, DEFAULT_MAX_TEMP as DEFAULT_MAX_TEMP, DEFAULT_MIN_TEMP as DEFAULT_MIN_TEMP, HVACAction as HVACAction, HVACMode as HVACMode
8
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -11,6 +12,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
11
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
13
  from typing import Any
13
14
 
15
+ HUMIDITY_SCALING_FACTOR: int
14
16
  TEMPERATURE_SCALING_FACTOR: int
15
17
  HVAC_SYSTEM_MODE_MAP: Incomplete
16
18
  SINGLE_SETPOINT_DEVICES: set[tuple[int, int]]
@@ -31,6 +33,9 @@ class ThermostatRunningState(IntEnum):
31
33
 
32
34
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
33
35
 
36
+ @dataclass(frozen=True, kw_only=True)
37
+ class MatterClimateEntityDescription(ClimateEntityDescription, MatterEntityDescription): ...
38
+
34
39
  class MatterClimate(MatterEntity, ClimateEntity):
35
40
  _attr_temperature_unit: str
36
41
  _attr_hvac_mode: HVACMode
@@ -39,6 +44,7 @@ class MatterClimate(MatterEntity, ClimateEntity):
39
44
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
40
45
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
41
46
  _attr_current_temperature: Incomplete
47
+ _attr_current_humidity: Incomplete
42
48
  _attr_hvac_action: Incomplete
43
49
  _attr_target_temperature: Incomplete
44
50
  _attr_target_temperature_high: Incomplete
@@ -1,8 +1,9 @@
1
1
  from .const import LOGGER as LOGGER
2
- from .entity import MatterEntity as MatterEntity
2
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
3
3
  from .helpers import get_matter as get_matter
4
4
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
5
5
  from _typeshed import Incomplete
6
+ from dataclasses import dataclass
6
7
  from enum import IntEnum
7
8
  from homeassistant.components.cover import ATTR_POSITION as ATTR_POSITION, ATTR_TILT_POSITION as ATTR_TILT_POSITION, CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity, CoverEntityDescription as CoverEntityDescription, CoverEntityFeature as CoverEntityFeature
8
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -22,8 +23,11 @@ class OperationalStatus(IntEnum):
22
23
 
23
24
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
24
25
 
26
+ @dataclass(frozen=True, kw_only=True)
27
+ class MatterCoverEntityDescription(CoverEntityDescription, MatterEntityDescription): ...
28
+
25
29
  class MatterCover(MatterEntity, CoverEntity):
26
- entity_description: CoverEntityDescription
30
+ entity_description: MatterCoverEntityDescription
27
31
  @property
28
32
  def is_closed(self) -> bool | None: ...
29
33
  async def async_stop_cover(self, **kwargs: Any) -> None: ...
@@ -17,10 +17,11 @@ from propcache.api import cached_property
17
17
  from typing import Any, Concatenate
18
18
 
19
19
  LOGGER: Incomplete
20
+ VENDOR_LABELING_LIST: dict[int, dict[int, list[str] | None]]
20
21
 
21
22
  def catch_matter_error[_R, **P](func: Callable[Concatenate[MatterEntity, P], Coroutine[Any, Any, _R]]) -> Callable[Concatenate[MatterEntity, P], Coroutine[Any, Any, _R]]: ...
22
23
 
23
- @dataclass(frozen=True)
24
+ @dataclass(frozen=True, kw_only=True)
24
25
  class MatterEntityDescription(EntityDescription):
25
26
  device_to_ha: Callable[[Any], Any] | None = ...
26
27
  ha_to_device: Callable[[Any], Any] | None = ...
@@ -41,8 +42,9 @@ class MatterEntity(Entity):
41
42
  _attr_device_info: Incomplete
42
43
  _attr_available: Incomplete
43
44
  _attr_translation_key: Incomplete
44
- _attr_name: Incomplete
45
45
  def __init__(self, matter_client: MatterClient, endpoint: MatterEndpoint, entity_info: MatterEntityInfo) -> None: ...
46
+ def _find_matching_labels(self) -> list[str]: ...
47
+ def _get_name_modifier(self) -> str | None: ...
46
48
  async def async_added_to_hass(self) -> None: ...
47
49
  @cached_property
48
50
  def name(self) -> str | UndefinedType | None: ...
@@ -1,7 +1,8 @@
1
- from .entity import MatterEntity as MatterEntity
1
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
2
2
  from .helpers import get_matter as get_matter
3
3
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
4
  from _typeshed import Incomplete
5
+ from dataclasses import dataclass
5
6
  from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
8
  from homeassistant.const import Platform as Platform
@@ -15,6 +16,9 @@ EVENT_TYPES_MAP: Incomplete
15
16
 
16
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
18
 
19
+ @dataclass(frozen=True, kw_only=True)
20
+ class MatterEventEntityDescription(EventEntityDescription, MatterEntityDescription): ...
21
+
18
22
  class MatterEventEntity(MatterEntity, EventEntity):
19
23
  _attr_event_types: Incomplete
20
24
  def __init__(self, *args: Any, **kwargs: Any) -> None: ...
@@ -1,7 +1,8 @@
1
- from .entity import MatterEntity as MatterEntity
1
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
2
2
  from .helpers import get_matter as get_matter
3
3
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
4
  from _typeshed import Incomplete
5
+ from dataclasses import dataclass
5
6
  from homeassistant.components.fan import DIRECTION_FORWARD as DIRECTION_FORWARD, DIRECTION_REVERSE as DIRECTION_REVERSE, FanEntity as FanEntity, FanEntityDescription as FanEntityDescription, FanEntityFeature as FanEntityFeature
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
8
  from homeassistant.const import Platform as Platform
@@ -23,6 +24,9 @@ PRESET_SLEEP_WIND: str
23
24
 
24
25
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
25
26
 
27
+ @dataclass(frozen=True, kw_only=True)
28
+ class MatterFanEntityDescription(FanEntityDescription, MatterEntityDescription): ...
29
+
26
30
  class MatterFan(MatterEntity, FanEntity):
27
31
  _last_known_preset_mode: str | None
28
32
  _last_known_percentage: int
@@ -1,9 +1,10 @@
1
1
  from .const import LOGGER as LOGGER
2
- from .entity import MatterEntity as MatterEntity
2
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
3
3
  from .helpers import get_matter as get_matter
4
4
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
5
5
  from .util import convert_to_hass_hs as convert_to_hass_hs, convert_to_hass_xy as convert_to_hass_xy, convert_to_matter_hs as convert_to_matter_hs, convert_to_matter_xy as convert_to_matter_xy, renormalize as renormalize
6
6
  from _typeshed import Incomplete
7
+ from dataclasses import dataclass
7
8
  from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_TRANSITION as ATTR_TRANSITION, ATTR_XY_COLOR as ATTR_XY_COLOR, ColorMode as ColorMode, DEFAULT_MAX_KELVIN as DEFAULT_MAX_KELVIN, DEFAULT_MIN_KELVIN as DEFAULT_MIN_KELVIN, LightEntity as LightEntity, LightEntityDescription as LightEntityDescription, LightEntityFeature as LightEntityFeature, filter_supported_color_modes as filter_supported_color_modes
8
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
10
  from homeassistant.const import Platform as Platform
@@ -16,8 +17,11 @@ TRANSITION_BLOCKLIST: Incomplete
16
17
 
17
18
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
19
 
20
+ @dataclass(frozen=True, kw_only=True)
21
+ class MatterLightEntityDescription(LightEntityDescription, MatterEntityDescription): ...
22
+
19
23
  class MatterLight(MatterEntity, LightEntity):
20
- entity_description: LightEntityDescription
24
+ entity_description: MatterLightEntityDescription
21
25
  _supports_brightness: bool
22
26
  _supports_color: bool
23
27
  _supports_color_temperature: bool
@@ -1,9 +1,10 @@
1
1
  import asyncio
2
2
  from .const import LOGGER as LOGGER
3
- from .entity import MatterEntity as MatterEntity
3
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
4
4
  from .helpers import get_matter as get_matter
5
5
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
6
6
  from _typeshed import Incomplete
7
+ from dataclasses import dataclass
7
8
  from homeassistant.components.lock import LockEntity as LockEntity, LockEntityDescription as LockEntityDescription, LockEntityFeature as LockEntityFeature
8
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
10
  from homeassistant.const import ATTR_CODE as ATTR_CODE, Platform as Platform
@@ -17,6 +18,9 @@ DoorLockFeature: Incomplete
17
18
 
18
19
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
20
 
21
+ @dataclass(frozen=True, kw_only=True)
22
+ class MatterLockEntityDescription(LockEntityDescription, MatterEntityDescription): ...
23
+
20
24
  class MatterLock(MatterEntity, LockEntity):
21
25
  _feature_map: int | None
22
26
  _optimistic_timer: asyncio.TimerHandle | None
@@ -1,9 +1,9 @@
1
+ from .entity import MatterEntityDescription as MatterEntityDescription
1
2
  from _typeshed import Incomplete
2
3
  from chip.clusters import Objects as clusters
3
4
  from chip.clusters.Objects import Cluster as Cluster, ClusterAttributeDescriptor as ClusterAttributeDescriptor
4
5
  from dataclasses import dataclass
5
6
  from homeassistant.const import Platform as Platform
6
- from homeassistant.helpers.entity import EntityDescription as EntityDescription
7
7
  from matter_server.client.models.device_types import DeviceType as DeviceType
8
8
  from matter_server.client.models.node import MatterEndpoint as MatterEndpoint
9
9
  from typing import Any, TypedDict
@@ -23,7 +23,7 @@ class MatterEntityInfo:
23
23
  endpoint: MatterEndpoint
24
24
  platform: Platform
25
25
  attributes_to_watch: list[type[ClusterAttributeDescriptor]]
26
- entity_description: EntityDescription
26
+ entity_description: MatterEntityDescription
27
27
  entity_class: type
28
28
  discovery_schema: MatterDiscoverySchema
29
29
  @property
@@ -32,12 +32,13 @@ class MatterEntityInfo:
32
32
  @dataclass
33
33
  class MatterDiscoverySchema:
34
34
  platform: Platform
35
- entity_description: EntityDescription
35
+ entity_description: MatterEntityDescription
36
36
  entity_class: type
37
37
  required_attributes: tuple[type[ClusterAttributeDescriptor], ...]
38
38
  device_type: tuple[type[DeviceType] | DeviceType, ...] | None = ...
39
39
  not_device_type: tuple[type[DeviceType] | DeviceType, ...] | None = ...
40
40
  vendor_id: tuple[int, ...] | None = ...
41
+ product_id: tuple[int, ...] | None = ...
41
42
  product_name: tuple[str, ...] | None = ...
42
43
  endpoint_id: tuple[int, ...] | None = ...
43
44
  absent_attributes: tuple[type[ClusterAttributeDescriptor], ...] | None = ...
@@ -14,7 +14,7 @@ from typing import Any
14
14
 
15
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
16
 
17
- @dataclass(frozen=True)
17
+ @dataclass(frozen=True, kw_only=True)
18
18
  class MatterNumberEntityDescription(NumberEntityDescription, MatterEntityDescription): ...
19
19
 
20
20
  @dataclass(frozen=True, kw_only=True)
@@ -13,6 +13,8 @@ from homeassistant.const import EntityCategory as EntityCategory, Platform as Pl
13
13
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
14
14
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
15
15
 
16
+ DOOR_LOCK_OPERATING_MODE_MAP: Incomplete
17
+ DOOR_LOCK_OPERATING_MODE_MAP_REVERSE: Incomplete
16
18
  NUMBER_OF_RINSES_STATE_MAP: Incomplete
17
19
  NUMBER_OF_RINSES_STATE_MAP_REVERSE: Incomplete
18
20
  PUMP_OPERATION_MODE_MAP: Incomplete
@@ -21,7 +23,7 @@ type SelectCluster = clusters.ModeSelect | clusters.OvenMode | clusters.LaundryW
21
23
 
22
24
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
25
 
24
- @dataclass(frozen=True)
26
+ @dataclass(frozen=True, kw_only=True)
25
27
  class MatterSelectEntityDescription(SelectEntityDescription, MatterEntityDescription): ...
26
28
 
27
29
  @dataclass(frozen=True, kw_only=True)
@@ -56,6 +58,12 @@ class MatterModeSelectEntity(MatterAttributeSelectEntity):
56
58
  @callback
57
59
  def _update_from_device(self) -> None: ...
58
60
 
61
+ class MatterDoorLockOperatingModeSelectEntity(MatterAttributeSelectEntity):
62
+ entity_description: MatterMapSelectEntityDescription
63
+ _attr_options: Incomplete
64
+ @callback
65
+ def _update_from_device(self) -> None: ...
66
+
59
67
  class MatterListSelectEntity(MatterEntity, SelectEntity):
60
68
  entity_description: MatterListSelectEntityDescription
61
69
  async def async_select_option(self, option: str) -> None: ...
@@ -5,6 +5,7 @@ from _typeshed import Incomplete
5
5
  from chip.clusters.ClusterObjects import ClusterAttributeDescriptor as ClusterAttributeDescriptor
6
6
  from chip.clusters.Types import Nullable as Nullable
7
7
  from dataclasses import dataclass, field
8
+ from datetime import datetime
8
9
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
10
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
11
  from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, Platform as Platform, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfReactivePower as UnitOfReactivePower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
@@ -16,17 +17,24 @@ AIR_QUALITY_MAP: Incomplete
16
17
  CONTAMINATION_STATE_MAP: Incomplete
17
18
  EVE_CLUSTER_WEATHER_MAP: Incomplete
18
19
  OPERATIONAL_STATE_MAP: Incomplete
20
+ OPERATIONAL_STATE_ERROR_MAP: Incomplete
19
21
  RVC_OPERATIONAL_STATE_MAP: Incomplete
22
+ RVC_OPERATIONAL_STATE_ERROR_MAP: Incomplete
20
23
  BOOST_STATE_MAP: Incomplete
21
24
  CHARGE_STATE_MAP: Incomplete
22
25
  DEM_OPT_OUT_STATE_MAP: Incomplete
23
26
  ESA_STATE_MAP: Incomplete
24
27
  EVSE_FAULT_STATE_MAP: Incomplete
25
28
  PUMP_CONTROL_MODE_MAP: Incomplete
29
+ MATTER_2000_TO_UNIX_EPOCH_OFFSET: int
30
+ HUMIDITY_SCALING_FACTOR: int
31
+ TEMPERATURE_SCALING_FACTOR: int
26
32
 
33
+ def matter_epoch_seconds_to_utc(x: int | None) -> datetime | None: ...
34
+ def matter_epoch_microseconds_to_utc(x: int | None) -> datetime | None: ...
27
35
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
28
36
 
29
- @dataclass(frozen=True)
37
+ @dataclass(frozen=True, kw_only=True)
30
38
  class MatterSensorEntityDescription(SensorEntityDescription, MatterEntityDescription): ...
31
39
 
32
40
  @dataclass(frozen=True, kw_only=True)
@@ -0,0 +1,11 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
3
+ from homeassistant.helpers import service as service
4
+
5
+ ATTR_DURATION: str
6
+ ATTR_EMERGENCY_BOOST: str
7
+ ATTR_TEMPORARY_SETPOINT: str
8
+ SERVICE_WATER_HEATER_BOOST: str
9
+
10
+ @callback
11
+ def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -16,6 +16,9 @@ EVSE_SUPPLY_STATE_MAP: Incomplete
16
16
 
17
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
18
 
19
+ @dataclass(frozen=True, kw_only=True)
20
+ class MatterSwitchEntityDescription(SwitchEntityDescription, MatterEntityDescription): ...
21
+
19
22
  class MatterSwitch(MatterEntity, SwitchEntity):
20
23
  _platform_translation_key: str
21
24
  async def async_turn_on(self, **kwargs: Any) -> None: ...
@@ -34,13 +37,13 @@ class MatterGenericCommandSwitch(MatterSwitch):
34
37
  def _update_from_device(self) -> None: ...
35
38
  async def send_device_command(self, command: ClusterCommand, command_timeout: int | None = None, **kwargs: Any) -> None: ...
36
39
 
37
- @dataclass(frozen=True)
40
+ @dataclass(frozen=True, kw_only=True)
38
41
  class MatterGenericCommandSwitchEntityDescription(SwitchEntityDescription, MatterEntityDescription):
39
42
  on_command: Callable[[], Any] | None = ...
40
43
  off_command: Callable[[], Any] | None = ...
41
44
  command_timeout: int | None = ...
42
45
 
43
- @dataclass(frozen=True)
46
+ @dataclass(frozen=True, kw_only=True)
44
47
  class MatterNumericSwitchEntityDescription(SwitchEntityDescription, MatterEntityDescription): ...
45
48
 
46
49
  class MatterNumericSwitch(MatterSwitch):
@@ -1,4 +1,4 @@
1
- from .entity import MatterEntity as MatterEntity
1
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
2
2
  from .helpers import get_matter as get_matter
3
3
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
4
  from _typeshed import Incomplete
@@ -28,6 +28,9 @@ class MatterUpdateExtraStoredData(ExtraStoredData):
28
28
 
29
29
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
30
30
 
31
+ @dataclass(frozen=True, kw_only=True)
32
+ class MatterUpdateEntityDescription(UpdateEntityDescription, MatterEntityDescription): ...
33
+
31
34
  class MatterUpdate(MatterEntity, UpdateEntity):
32
35
  _attr_should_poll: bool
33
36
  _software_update: MatterSoftwareVersion | None
@@ -1,8 +1,9 @@
1
- from .entity import MatterEntity as MatterEntity
1
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
2
2
  from .helpers import get_matter as get_matter
3
3
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
4
  from _typeshed import Incomplete
5
5
  from chip.clusters import Objects as clusters
6
+ from dataclasses import dataclass
6
7
  from enum import IntEnum
7
8
  from homeassistant.components.vacuum import StateVacuumEntity as StateVacuumEntity, StateVacuumEntityDescription as StateVacuumEntityDescription, VacuumActivity as VacuumActivity, VacuumEntityFeature as VacuumEntityFeature
8
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -28,10 +29,13 @@ class ModeTag(IntEnum):
28
29
 
29
30
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
30
31
 
32
+ @dataclass(frozen=True, kw_only=True)
33
+ class MatterStateVacuumEntityDescription(StateVacuumEntityDescription, MatterEntityDescription): ...
34
+
31
35
  class MatterVacuum(MatterEntity, StateVacuumEntity):
32
36
  _last_accepted_commands: list[int] | None
33
37
  _supported_run_modes: dict[int, clusters.RvcRunMode.Structs.ModeOptionStruct] | None
34
- entity_description: StateVacuumEntityDescription
38
+ entity_description: MatterStateVacuumEntityDescription
35
39
  _platform_translation_key: str
36
40
  def _get_run_mode_by_tag(self, tag: ModeTag) -> clusters.RvcRunMode.Structs.ModeOptionStruct | None: ...
37
41
  async def async_stop(self, **kwargs: Any) -> None: ...
@@ -1,7 +1,8 @@
1
- from .entity import MatterEntity as MatterEntity
1
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
2
2
  from .helpers import get_matter as get_matter
3
3
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
4
  from _typeshed import Incomplete
5
+ from dataclasses import dataclass
5
6
  from homeassistant.components.valve import ValveDeviceClass as ValveDeviceClass, ValveEntity as ValveEntity, ValveEntityDescription as ValveEntityDescription, ValveEntityFeature as ValveEntityFeature
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
8
  from homeassistant.const import Platform as Platform
@@ -13,9 +14,12 @@ ValveStateEnum: Incomplete
13
14
 
14
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
16
 
17
+ @dataclass(frozen=True, kw_only=True)
18
+ class MatterValveEntityDescription(ValveEntityDescription, MatterEntityDescription): ...
19
+
16
20
  class MatterValve(MatterEntity, ValveEntity):
17
21
  _feature_map: int | None
18
- entity_description: ValveEntityDescription
22
+ entity_description: MatterValveEntityDescription
19
23
  _platform_translation_key: str
20
24
  async def async_open_valve(self) -> None: ...
21
25
  async def async_close_valve(self) -> None: ...
@@ -1,20 +1,26 @@
1
- from .entity import MatterEntity as MatterEntity
1
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
2
2
  from .helpers import get_matter as get_matter
3
3
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
4
  from _typeshed import Incomplete
5
5
  from chip.clusters import Objects as clusters
6
+ from dataclasses import dataclass
6
7
  from homeassistant.components.water_heater import STATE_ECO as STATE_ECO, STATE_HIGH_DEMAND as STATE_HIGH_DEMAND, STATE_OFF as STATE_OFF, WaterHeaterEntity as WaterHeaterEntity, WaterHeaterEntityDescription as WaterHeaterEntityDescription, WaterHeaterEntityFeature as WaterHeaterEntityFeature
7
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
9
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_WHOLE as PRECISION_WHOLE, Platform as Platform, UnitOfTemperature as UnitOfTemperature
9
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
13
  from typing import Any
12
14
 
13
15
  TEMPERATURE_SCALING_FACTOR: int
14
16
  WATER_HEATER_SYSTEM_MODE_MAP: Incomplete
17
+ DEFAULT_BOOST_DURATION: int
15
18
 
16
19
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
20
 
21
+ @dataclass(frozen=True, kw_only=True)
22
+ class MatterWaterHeaterEntityDescription(WaterHeaterEntityDescription, MatterEntityDescription): ...
23
+
18
24
  class MatterWaterHeater(MatterEntity, WaterHeaterEntity):
19
25
  _attr_current_temperature: float | None
20
26
  _attr_current_operation: str
@@ -24,6 +30,7 @@ class MatterWaterHeater(MatterEntity, WaterHeaterEntity):
24
30
  _attr_target_temperature: float | None
25
31
  _attr_temperature_unit: Incomplete
26
32
  _platform_translation_key: str
33
+ async def async_set_boost(self, duration: int, emergency_boost: bool = False, temporary_setpoint: int | None = None) -> None: ...
27
34
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
28
35
  async def async_set_operation_mode(self, operation_mode: str) -> None: ...
29
36
  async def async_turn_on(self, **kwargs: Any) -> None: ...
@@ -1,14 +1,9 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import ModelContextProtocolCoordinator
3
- from .types import ModelContextProtocolConfigEntry
4
3
  from dataclasses import dataclass
5
- from homeassistant.core import HomeAssistant
6
4
  from homeassistant.helpers import llm
7
5
 
8
- __all__ = ['DOMAIN', 'async_setup_entry', 'async_unload_entry']
9
-
10
- async def async_setup_entry(hass: HomeAssistant, entry: ModelContextProtocolConfigEntry) -> bool: ...
11
- async def async_unload_entry(hass: HomeAssistant, entry: ModelContextProtocolConfigEntry) -> bool: ...
6
+ __all__ = ['DOMAIN']
12
7
 
13
8
  @dataclass(kw_only=True)
14
9
  class ModelContextProtocolAPI(llm.API):
@@ -1,9 +1,10 @@
1
1
  from . import async_get_config_entry_implementation as async_get_config_entry_implementation
2
2
  from .application_credentials import authorization_server_context as authorization_server_context
3
- from .const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_AUTHORIZATION_URL as CONF_AUTHORIZATION_URL, CONF_TOKEN_URL as CONF_TOKEN_URL, DOMAIN as DOMAIN
3
+ from .const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_AUTHORIZATION_URL as CONF_AUTHORIZATION_URL, CONF_SCOPE as CONF_SCOPE, CONF_TOKEN_URL as CONF_TOKEN_URL, DOMAIN as DOMAIN
4
4
  from .coordinator import TokenManager as TokenManager, mcp_client as mcp_client
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Mapping
7
+ from dataclasses import dataclass
7
8
  from homeassistant.components.application_credentials import AuthorizationServer as AuthorizationServer
8
9
  from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
9
10
  from homeassistant.const import CONF_TOKEN as CONF_TOKEN, CONF_URL as CONF_URL
@@ -16,8 +17,14 @@ _LOGGER: Incomplete
16
17
  STEP_USER_DATA_SCHEMA: Incomplete
17
18
  OAUTH_DISCOVERY_ENDPOINT: str
18
19
  MCP_DISCOVERY_HEADERS: Incomplete
20
+ EXAMPLE_URL: str
19
21
 
20
- async def async_discover_oauth_config(hass: HomeAssistant, mcp_server_url: str) -> AuthorizationServer: ...
22
+ @dataclass
23
+ class OAuthConfig:
24
+ authorization_server: AuthorizationServer
25
+ scopes: list[str] | None = ...
26
+
27
+ async def async_discover_oauth_config(hass: HomeAssistant, mcp_server_url: str) -> OAuthConfig: ...
21
28
  async def validate_input(hass: HomeAssistant, data: dict[str, Any], token_manager: TokenManager | None = None) -> dict[str, Any]: ...
22
29
 
23
30
  class ModelContextProtocolConfigFlow(AbstractOAuth2FlowHandler, domain=DOMAIN):
@@ -25,10 +32,13 @@ class ModelContextProtocolConfigFlow(AbstractOAuth2FlowHandler, domain=DOMAIN):
25
32
  DOMAIN = DOMAIN
26
33
  logger = _LOGGER
27
34
  data: dict[str, Any]
35
+ oauth_config: OAuthConfig | None
28
36
  def __init__(self) -> None: ...
29
37
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
30
38
  async def async_step_auth_discovery(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
39
  def authorization_server(self) -> AuthorizationServer: ...
40
+ @property
41
+ def extra_authorize_data(self) -> dict: ...
32
42
  async def async_step_credentials_choice(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
33
43
  async def async_step_new_credentials(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
34
44
  async def async_step_pick_implementation(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -2,3 +2,4 @@ DOMAIN: str
2
2
  CONF_ACCESS_TOKEN: str
3
3
  CONF_AUTHORIZATION_URL: str
4
4
  CONF_TOKEN_URL: str
5
+ CONF_SCOPE: str
@@ -15,7 +15,7 @@ from mcp.client.session import ClientSession
15
15
  _LOGGER: Incomplete
16
16
  UPDATE_INTERVAL: Incomplete
17
17
  TIMEOUT: int
18
- TokenManager = Callable[[], Awaitable[str]]
18
+ type TokenManager = Callable[[], Awaitable[str]]
19
19
 
20
20
  @asynccontextmanager
21
21
  async def mcp_client(url: str, token_manager: TokenManager | None = None) -> AsyncGenerator[ClientSession]: ...