homeassistant-stubs 2024.5.4__py3-none-any.whl → 2024.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (955) hide show
  1. homeassistant-stubs/auth/__init__.pyi +1 -2
  2. homeassistant-stubs/auth/auth_store.pyi +3 -0
  3. homeassistant-stubs/auth/mfa_modules/__init__.pyi +2 -1
  4. homeassistant-stubs/auth/providers/__init__.pyi +2 -1
  5. homeassistant-stubs/block_async_io.pyi +2 -0
  6. homeassistant-stubs/bootstrap.pyi +6 -4
  7. homeassistant-stubs/components/abode/__init__.pyi +3 -37
  8. homeassistant-stubs/components/abode/alarm_control_panel.pyi +2 -1
  9. homeassistant-stubs/components/abode/binary_sensor.pyi +2 -1
  10. homeassistant-stubs/components/abode/camera.pyi +2 -1
  11. homeassistant-stubs/components/abode/cover.pyi +2 -1
  12. homeassistant-stubs/components/abode/entity.pyi +39 -0
  13. homeassistant-stubs/components/abode/light.pyi +2 -1
  14. homeassistant-stubs/components/abode/lock.pyi +2 -1
  15. homeassistant-stubs/components/abode/sensor.pyi +2 -1
  16. homeassistant-stubs/components/abode/switch.pyi +2 -1
  17. homeassistant-stubs/components/accuweather/__init__.pyi +3 -3
  18. homeassistant-stubs/components/accuweather/diagnostics.pyi +2 -4
  19. homeassistant-stubs/components/accuweather/sensor.pyi +3 -4
  20. homeassistant-stubs/components/accuweather/system_health.pyi +1 -0
  21. homeassistant-stubs/components/accuweather/weather.pyi +4 -6
  22. homeassistant-stubs/components/acmeda/__init__.pyi +3 -3
  23. homeassistant-stubs/components/acmeda/cover.pyi +3 -4
  24. homeassistant-stubs/components/acmeda/helpers.pyi +2 -1
  25. homeassistant-stubs/components/acmeda/sensor.pyi +3 -4
  26. homeassistant-stubs/components/adguard/__init__.pyi +4 -3
  27. homeassistant-stubs/components/adguard/entity.pyi +3 -3
  28. homeassistant-stubs/components/adguard/sensor.pyi +3 -4
  29. homeassistant-stubs/components/adguard/switch.pyi +3 -4
  30. homeassistant-stubs/components/aftership/__init__.pyi +3 -2
  31. homeassistant-stubs/components/aftership/sensor.pyi +2 -2
  32. homeassistant-stubs/components/air_quality/__init__.pyi +1 -1
  33. homeassistant-stubs/components/air_quality/const.pyi +3 -0
  34. homeassistant-stubs/components/air_quality/group.pyi +1 -0
  35. homeassistant-stubs/components/airgradient/__init__.pyi +11 -0
  36. homeassistant-stubs/components/airgradient/config_flow.pyi +18 -0
  37. homeassistant-stubs/components/airgradient/const.pyi +4 -0
  38. homeassistant-stubs/components/airgradient/coordinator.pyi +24 -0
  39. homeassistant-stubs/components/airgradient/entity.pyi +10 -0
  40. homeassistant-stubs/components/airgradient/select.pyi +37 -0
  41. homeassistant-stubs/components/airgradient/sensor.pyi +30 -0
  42. homeassistant-stubs/components/airly/__init__.pyi +3 -2
  43. homeassistant-stubs/components/airly/coordinator.pyi +1 -1
  44. homeassistant-stubs/components/airly/diagnostics.pyi +2 -4
  45. homeassistant-stubs/components/airly/sensor.pyi +2 -3
  46. homeassistant-stubs/components/airly/system_health.pyi +1 -0
  47. homeassistant-stubs/components/airnow/__init__.pyi +3 -2
  48. homeassistant-stubs/components/airnow/const.pyi +1 -0
  49. homeassistant-stubs/components/airnow/diagnostics.pyi +2 -4
  50. homeassistant-stubs/components/airnow/sensor.pyi +3 -4
  51. homeassistant-stubs/components/airq/__init__.pyi +5 -3
  52. homeassistant-stubs/components/airq/config_flow.pyi +8 -2
  53. homeassistant-stubs/components/airq/const.pyi +2 -0
  54. homeassistant-stubs/components/airq/coordinator.pyi +3 -1
  55. homeassistant-stubs/components/airq/sensor.pyi +3 -4
  56. homeassistant-stubs/components/airthings/__init__.pyi +3 -2
  57. homeassistant-stubs/components/airthings/sensor.pyi +2 -3
  58. homeassistant-stubs/components/airthings_ble/__init__.pyi +5 -3
  59. homeassistant-stubs/components/airthings_ble/sensor.pyi +6 -6
  60. homeassistant-stubs/components/airtouch5/__init__.pyi +4 -2
  61. homeassistant-stubs/components/airtouch5/climate.pyi +2 -2
  62. homeassistant-stubs/components/airvisual_pro/__init__.pyi +3 -2
  63. homeassistant-stubs/components/airvisual_pro/diagnostics.pyi +2 -4
  64. homeassistant-stubs/components/airvisual_pro/sensor.pyi +2 -4
  65. homeassistant-stubs/components/airzone_cloud/climate.pyi +6 -9
  66. homeassistant-stubs/components/aladdin_connect/__init__.pyi +10 -8
  67. homeassistant-stubs/components/aladdin_connect/api.pyi +12 -0
  68. homeassistant-stubs/components/aladdin_connect/application_credentials.pyi +5 -0
  69. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +14 -19
  70. homeassistant-stubs/components/aladdin_connect/const.pyi +2 -10
  71. homeassistant-stubs/components/aladdin_connect/coordinator.pyi +15 -0
  72. homeassistant-stubs/components/aladdin_connect/cover.pyi +11 -28
  73. homeassistant-stubs/components/aladdin_connect/entity.pyi +12 -0
  74. homeassistant-stubs/components/aladdin_connect/sensor.pyi +9 -16
  75. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +15 -1
  76. homeassistant-stubs/components/alarm_control_panel/group.pyi +2 -1
  77. homeassistant-stubs/components/ambient_station/__init__.pyi +3 -2
  78. homeassistant-stubs/components/ambient_station/binary_sensor.pyi +3 -3
  79. homeassistant-stubs/components/ambient_station/diagnostics.pyi +3 -4
  80. homeassistant-stubs/components/ambient_station/sensor.pyi +3 -4
  81. homeassistant-stubs/components/analytics_insights/__init__.pyi +5 -4
  82. homeassistant-stubs/components/analytics_insights/coordinator.pyi +2 -2
  83. homeassistant-stubs/components/analytics_insights/sensor.pyi +2 -3
  84. homeassistant-stubs/components/androidtv/__init__.pyi +12 -4
  85. homeassistant-stubs/components/androidtv/const.pyi +0 -2
  86. homeassistant-stubs/components/androidtv/diagnostics.pyi +3 -3
  87. homeassistant-stubs/components/androidtv/entity.pyi +3 -9
  88. homeassistant-stubs/components/androidtv/media_player.pyi +4 -4
  89. homeassistant-stubs/components/androidtv_remote/__init__.pyi +4 -4
  90. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +1 -0
  91. homeassistant-stubs/components/androidtv_remote/diagnostics.pyi +2 -4
  92. homeassistant-stubs/components/androidtv_remote/media_player.pyi +3 -4
  93. homeassistant-stubs/components/androidtv_remote/remote.pyi +2 -4
  94. homeassistant-stubs/components/anova/__init__.pyi +3 -2
  95. homeassistant-stubs/components/anova/config_flow.pyi +0 -1
  96. homeassistant-stubs/components/anova/coordinator.pyi +7 -6
  97. homeassistant-stubs/components/anova/entity.pyi +2 -0
  98. homeassistant-stubs/components/anova/models.pyi +3 -3
  99. homeassistant-stubs/components/anova/sensor.pyi +7 -9
  100. homeassistant-stubs/components/apple_tv/__init__.pyi +2 -1
  101. homeassistant-stubs/components/apple_tv/media_player.pyi +2 -4
  102. homeassistant-stubs/components/apple_tv/remote.pyi +2 -4
  103. homeassistant-stubs/components/aprs/device_tracker.pyi +1 -0
  104. homeassistant-stubs/components/apsystems/__init__.pyi +10 -0
  105. homeassistant-stubs/components/{poolsense → apsystems}/config_flow.pyi +4 -5
  106. homeassistant-stubs/components/apsystems/const.pyi +4 -0
  107. homeassistant-stubs/components/apsystems/coordinator.pyi +10 -0
  108. homeassistant-stubs/components/apsystems/sensor.pyi +31 -0
  109. homeassistant-stubs/components/aquostv/media_player.pyi +1 -3
  110. homeassistant-stubs/components/aranet/const.pyi +1 -0
  111. homeassistant-stubs/components/aranet/sensor.pyi +8 -6
  112. homeassistant-stubs/components/arcam_fmj/media_player.pyi +1 -3
  113. homeassistant-stubs/components/asuswrt/__init__.pyi +4 -4
  114. homeassistant-stubs/components/asuswrt/bridge.pyi +3 -4
  115. homeassistant-stubs/components/asuswrt/const.pyi +0 -1
  116. homeassistant-stubs/components/asuswrt/device_tracker.pyi +2 -3
  117. homeassistant-stubs/components/asuswrt/diagnostics.pyi +2 -4
  118. homeassistant-stubs/components/asuswrt/router.pyi +2 -1
  119. homeassistant-stubs/components/asuswrt/sensor.pyi +3 -3
  120. homeassistant-stubs/components/auth/__init__.pyi +2 -7
  121. homeassistant-stubs/components/axis/__init__.pyi +2 -1
  122. homeassistant-stubs/components/axis/binary_sensor.pyi +2 -2
  123. homeassistant-stubs/components/axis/camera.pyi +2 -2
  124. homeassistant-stubs/components/axis/config_flow.pyi +2 -0
  125. homeassistant-stubs/components/axis/diagnostics.pyi +2 -3
  126. homeassistant-stubs/components/axis/hub/hub.pyi +3 -5
  127. homeassistant-stubs/components/axis/light.pyi +2 -2
  128. homeassistant-stubs/components/axis/switch.pyi +2 -2
  129. homeassistant-stubs/components/baf/__init__.pyi +6 -5
  130. homeassistant-stubs/components/baf/binary_sensor.pyi +2 -4
  131. homeassistant-stubs/components/baf/climate.pyi +2 -4
  132. homeassistant-stubs/components/baf/fan.pyi +3 -4
  133. homeassistant-stubs/components/baf/light.pyi +2 -4
  134. homeassistant-stubs/components/baf/models.pyi +0 -8
  135. homeassistant-stubs/components/baf/number.pyi +3 -4
  136. homeassistant-stubs/components/baf/sensor.pyi +2 -4
  137. homeassistant-stubs/components/baf/switch.pyi +2 -4
  138. homeassistant-stubs/components/bang_olufsen/entity.pyi +2 -1
  139. homeassistant-stubs/components/bang_olufsen/media_player.pyi +7 -7
  140. homeassistant-stubs/components/blue_current/sensor.pyi +7 -1
  141. homeassistant-stubs/components/blueprint/const.pyi +1 -0
  142. homeassistant-stubs/components/blueprint/schemas.pyi +4 -2
  143. homeassistant-stubs/components/bluetooth/active_update_coordinator.pyi +2 -3
  144. homeassistant-stubs/components/bluetooth/active_update_processor.pyi +4 -5
  145. homeassistant-stubs/components/bluetooth/api.pyi +1 -0
  146. homeassistant-stubs/components/bluetooth/config_flow.pyi +0 -1
  147. homeassistant-stubs/components/bluetooth/match.pyi +2 -3
  148. homeassistant-stubs/components/bluetooth/models.pyi +0 -2
  149. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +2 -0
  150. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +15 -17
  151. homeassistant-stubs/components/bluetooth/update_coordinator.pyi +0 -2
  152. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -0
  153. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +3 -10
  154. homeassistant-stubs/components/bond/__init__.pyi +4 -3
  155. homeassistant-stubs/components/bond/button.pyi +2 -4
  156. homeassistant-stubs/components/bond/cover.pyi +2 -4
  157. homeassistant-stubs/components/bond/diagnostics.pyi +2 -4
  158. homeassistant-stubs/components/bond/fan.pyi +3 -4
  159. homeassistant-stubs/components/bond/light.pyi +3 -4
  160. homeassistant-stubs/components/bond/switch.pyi +3 -4
  161. homeassistant-stubs/components/braviatv/__init__.pyi +4 -4
  162. homeassistant-stubs/components/braviatv/button.pyi +2 -3
  163. homeassistant-stubs/components/braviatv/coordinator.pyi +2 -4
  164. homeassistant-stubs/components/braviatv/diagnostics.pyi +2 -4
  165. homeassistant-stubs/components/braviatv/media_player.pyi +3 -3
  166. homeassistant-stubs/components/braviatv/remote.pyi +2 -3
  167. homeassistant-stubs/components/brother/__init__.pyi +5 -13
  168. homeassistant-stubs/components/brother/config_flow.pyi +1 -1
  169. homeassistant-stubs/components/brother/const.pyi +1 -2
  170. homeassistant-stubs/components/brother/coordinator.pyi +12 -0
  171. homeassistant-stubs/components/brother/diagnostics.pyi +2 -4
  172. homeassistant-stubs/components/brother/sensor.pyi +3 -4
  173. homeassistant-stubs/components/bthome/__init__.pyi +1 -1
  174. homeassistant-stubs/components/bthome/binary_sensor.pyi +2 -2
  175. homeassistant-stubs/components/bthome/coordinator.pyi +4 -5
  176. homeassistant-stubs/components/bthome/logbook.pyi +0 -1
  177. homeassistant-stubs/components/bthome/sensor.pyi +2 -2
  178. homeassistant-stubs/components/canary/alarm_control_panel.pyi +1 -0
  179. homeassistant-stubs/components/cert_expiry/__init__.pyi +2 -2
  180. homeassistant-stubs/components/cert_expiry/sensor.pyi +3 -3
  181. homeassistant-stubs/components/climate/group.pyi +2 -2
  182. homeassistant-stubs/components/climate/intent.pyi +2 -0
  183. homeassistant-stubs/components/cloud/__init__.pyi +3 -6
  184. homeassistant-stubs/components/cloud/const.pyi +0 -1
  185. homeassistant-stubs/components/cloud/http_api.pyi +4 -7
  186. homeassistant-stubs/components/cloud/prefs.pyi +3 -5
  187. homeassistant-stubs/components/co2signal/__init__.pyi +3 -2
  188. homeassistant-stubs/components/co2signal/diagnostics.pyi +2 -4
  189. homeassistant-stubs/components/co2signal/sensor.pyi +2 -2
  190. homeassistant-stubs/components/config/area_registry.pyi +0 -2
  191. homeassistant-stubs/components/config/device_registry.pyi +1 -1
  192. homeassistant-stubs/components/config/floor_registry.pyi +1 -1
  193. homeassistant-stubs/components/config/label_registry.pyi +1 -1
  194. homeassistant-stubs/components/config/view.pyi +2 -4
  195. homeassistant-stubs/components/counter/__init__.pyi +1 -2
  196. homeassistant-stubs/components/cover/__init__.pyi +2 -4
  197. homeassistant-stubs/components/cover/const.pyi +1 -0
  198. homeassistant-stubs/components/cover/group.pyi +1 -0
  199. homeassistant-stubs/components/deconz/__init__.pyi +6 -1
  200. homeassistant-stubs/components/deconz/binary_sensor.pyi +3 -14
  201. homeassistant-stubs/components/deconz/deconz_device.pyi +2 -6
  202. homeassistant-stubs/components/deconz/device_trigger.pyi +2 -1
  203. homeassistant-stubs/components/deconz/light.pyi +1 -2
  204. homeassistant-stubs/components/deconz/number.pyi +4 -8
  205. homeassistant-stubs/components/deconz/sensor.pyi +3 -1
  206. homeassistant-stubs/components/deconz/services.pyi +0 -2
  207. homeassistant-stubs/components/demo/alarm_control_panel.pyi +3 -0
  208. homeassistant-stubs/components/demo/lock.pyi +5 -1
  209. homeassistant-stubs/components/demo/notify.pyi +3 -2
  210. homeassistant-stubs/components/device_automation/__init__.pyi +2 -2
  211. homeassistant-stubs/components/device_tracker/group.pyi +1 -0
  212. homeassistant-stubs/components/devolo_home_control/__init__.pyi +6 -3
  213. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +2 -3
  214. homeassistant-stubs/components/devolo_home_control/climate.pyi +2 -3
  215. homeassistant-stubs/components/devolo_home_control/cover.pyi +2 -3
  216. homeassistant-stubs/components/devolo_home_control/diagnostics.pyi +2 -4
  217. homeassistant-stubs/components/devolo_home_control/light.pyi +2 -3
  218. homeassistant-stubs/components/devolo_home_control/sensor.pyi +2 -3
  219. homeassistant-stubs/components/devolo_home_control/siren.pyi +2 -3
  220. homeassistant-stubs/components/devolo_home_control/switch.pyi +2 -3
  221. homeassistant-stubs/components/devolo_home_network/__init__.pyi +11 -2
  222. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +4 -5
  223. homeassistant-stubs/components/devolo_home_network/button.pyi +3 -3
  224. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -2
  225. homeassistant-stubs/components/devolo_home_network/diagnostics.pyi +2 -4
  226. homeassistant-stubs/components/devolo_home_network/entity.pyi +4 -8
  227. homeassistant-stubs/components/devolo_home_network/image.pyi +4 -5
  228. homeassistant-stubs/components/devolo_home_network/sensor.pyi +5 -6
  229. homeassistant-stubs/components/devolo_home_network/switch.pyi +3 -3
  230. homeassistant-stubs/components/devolo_home_network/update.pyi +3 -3
  231. homeassistant-stubs/components/dhcp/__init__.pyi +1 -1
  232. homeassistant-stubs/components/diagnostics/util.pyi +1 -3
  233. homeassistant-stubs/components/discovergy/__init__.pyi +2 -2
  234. homeassistant-stubs/components/discovergy/diagnostics.pyi +2 -4
  235. homeassistant-stubs/components/discovergy/sensor.pyi +2 -2
  236. homeassistant-stubs/components/dlna_dmr/media_player.pyi +2 -5
  237. homeassistant-stubs/components/dlna_dms/dms.pyi +1 -4
  238. homeassistant-stubs/components/dnsip/sensor.pyi +2 -0
  239. homeassistant-stubs/components/duotecno/entity.pyi +2 -4
  240. homeassistant-stubs/components/ecovacs/__init__.pyi +3 -2
  241. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +2 -4
  242. homeassistant-stubs/components/ecovacs/button.pyi +3 -4
  243. homeassistant-stubs/components/ecovacs/controller.pyi +4 -1
  244. homeassistant-stubs/components/ecovacs/diagnostics.pyi +3 -4
  245. homeassistant-stubs/components/ecovacs/event.pyi +2 -4
  246. homeassistant-stubs/components/ecovacs/image.pyi +2 -4
  247. homeassistant-stubs/components/ecovacs/lawn_mower.pyi +2 -4
  248. homeassistant-stubs/components/ecovacs/number.pyi +2 -4
  249. homeassistant-stubs/components/ecovacs/select.pyi +2 -4
  250. homeassistant-stubs/components/ecovacs/sensor.pyi +3 -4
  251. homeassistant-stubs/components/ecovacs/switch.pyi +2 -4
  252. homeassistant-stubs/components/ecovacs/vacuum.pyi +2 -3
  253. homeassistant-stubs/components/elgato/__init__.pyi +3 -3
  254. homeassistant-stubs/components/elgato/button.pyi +2 -3
  255. homeassistant-stubs/components/elgato/diagnostics.pyi +2 -4
  256. homeassistant-stubs/components/elgato/light.pyi +3 -3
  257. homeassistant-stubs/components/elgato/sensor.pyi +2 -3
  258. homeassistant-stubs/components/elgato/switch.pyi +2 -3
  259. homeassistant-stubs/components/elkm1/__init__.pyi +3 -2
  260. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +3 -4
  261. homeassistant-stubs/components/elkm1/binary_sensor.pyi +2 -5
  262. homeassistant-stubs/components/elkm1/climate.pyi +2 -5
  263. homeassistant-stubs/components/elkm1/light.pyi +2 -4
  264. homeassistant-stubs/components/elkm1/scene.pyi +2 -5
  265. homeassistant-stubs/components/elkm1/sensor.pyi +3 -5
  266. homeassistant-stubs/components/elkm1/switch.pyi +2 -5
  267. homeassistant-stubs/components/energy/validate.pyi +3 -3
  268. homeassistant-stubs/components/energy/websocket_api.pyi +3 -3
  269. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +1 -0
  270. homeassistant-stubs/components/eq3btsmart/climate.pyi +1 -1
  271. homeassistant-stubs/components/esphome/config_flow.pyi +3 -0
  272. homeassistant-stubs/components/esphome/coordinator.pyi +16 -0
  273. homeassistant-stubs/components/esphome/dashboard.pyi +3 -14
  274. homeassistant-stubs/components/esphome/enum_mapper.pyi +3 -6
  275. homeassistant-stubs/components/esphome/manager.pyi +2 -1
  276. homeassistant-stubs/components/esphome/media_player.pyi +1 -1
  277. homeassistant-stubs/components/esphome/update.pyi +4 -3
  278. homeassistant-stubs/components/esphome/voice_assistant.pyi +5 -1
  279. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +2 -13
  280. homeassistant-stubs/components/evil_genius_labs/coordinator.pyi +17 -0
  281. homeassistant-stubs/components/evil_genius_labs/diagnostics.pyi +1 -1
  282. homeassistant-stubs/components/evil_genius_labs/light.pyi +2 -1
  283. homeassistant-stubs/components/evil_genius_labs/util.pyi +2 -6
  284. homeassistant-stubs/components/evohome/__init__.pyi +1 -1
  285. homeassistant-stubs/components/feedreader/__init__.pyi +4 -46
  286. homeassistant-stubs/components/feedreader/const.pyi +1 -0
  287. homeassistant-stubs/components/feedreader/coordinator.pyi +39 -0
  288. homeassistant-stubs/components/filesize/__init__.pyi +3 -1
  289. homeassistant-stubs/components/filesize/coordinator.pyi +1 -1
  290. homeassistant-stubs/components/filesize/sensor.pyi +4 -4
  291. homeassistant-stubs/components/fitbit/api.pyi +1 -2
  292. homeassistant-stubs/components/fitbit/coordinator.pyi +1 -1
  293. homeassistant-stubs/components/forecast_solar/__init__.pyi +3 -2
  294. homeassistant-stubs/components/forecast_solar/diagnostics.pyi +2 -5
  295. homeassistant-stubs/components/forecast_solar/energy.pyi +1 -1
  296. homeassistant-stubs/components/forecast_solar/sensor.pyi +2 -2
  297. homeassistant-stubs/components/fritz/__init__.pyi +1 -1
  298. homeassistant-stubs/components/fritz/binary_sensor.pyi +4 -3
  299. homeassistant-stubs/components/fritz/button.pyi +4 -3
  300. homeassistant-stubs/components/fritz/const.pyi +0 -3
  301. homeassistant-stubs/components/fritz/{common.pyi → coordinator.pyi} +7 -53
  302. homeassistant-stubs/components/fritz/device_tracker.pyi +2 -1
  303. homeassistant-stubs/components/fritz/diagnostics.pyi +1 -1
  304. homeassistant-stubs/components/fritz/entity.pyi +50 -0
  305. homeassistant-stubs/components/fritz/image.pyi +2 -1
  306. homeassistant-stubs/components/fritz/sensor.pyi +4 -3
  307. homeassistant-stubs/components/fritz/services.pyi +2 -2
  308. homeassistant-stubs/components/fritz/switch.pyi +2 -1
  309. homeassistant-stubs/components/fritz/update.pyi +4 -3
  310. homeassistant-stubs/components/fritzbox/__init__.pyi +6 -8
  311. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +2 -3
  312. homeassistant-stubs/components/fritzbox/button.pyi +2 -3
  313. homeassistant-stubs/components/fritzbox/climate.pyi +2 -3
  314. homeassistant-stubs/components/fritzbox/const.pyi +0 -2
  315. homeassistant-stubs/components/fritzbox/coordinator.pyi +10 -7
  316. homeassistant-stubs/components/fritzbox/cover.pyi +2 -3
  317. homeassistant-stubs/components/fritzbox/diagnostics.pyi +2 -4
  318. homeassistant-stubs/components/fritzbox/light.pyi +2 -3
  319. homeassistant-stubs/components/fritzbox/sensor.pyi +2 -3
  320. homeassistant-stubs/components/fritzbox/switch.pyi +2 -3
  321. homeassistant-stubs/components/fritzbox_callmonitor/__init__.pyi +5 -4
  322. homeassistant-stubs/components/fritzbox_callmonitor/const.pyi +0 -2
  323. homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +3 -3
  324. homeassistant-stubs/components/fronius/__init__.pyi +4 -6
  325. homeassistant-stubs/components/fronius/coordinator.pyi +1 -3
  326. homeassistant-stubs/components/{aladdin_connect → fronius}/diagnostics.pyi +2 -4
  327. homeassistant-stubs/components/fronius/sensor.pyi +2 -3
  328. homeassistant-stubs/components/gios/__init__.pyi +10 -10
  329. homeassistant-stubs/components/gios/coordinator.pyi +13 -0
  330. homeassistant-stubs/components/gios/diagnostics.pyi +2 -4
  331. homeassistant-stubs/components/gios/sensor.pyi +3 -3
  332. homeassistant-stubs/components/google/calendar.pyi +2 -29
  333. homeassistant-stubs/components/google/coordinator.pyi +38 -0
  334. homeassistant-stubs/components/group/entity.pyi +5 -2
  335. homeassistant-stubs/components/group/lock.pyi +3 -1
  336. homeassistant-stubs/components/group/registry.pyi +12 -6
  337. homeassistant-stubs/components/group/sensor.pyi +2 -0
  338. homeassistant-stubs/components/guardian/coordinator.pyi +1 -1
  339. homeassistant-stubs/components/guardian/util.pyi +1 -3
  340. homeassistant-stubs/components/history_stats/sensor.pyi +0 -2
  341. homeassistant-stubs/components/holiday/calendar.pyi +11 -1
  342. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -0
  343. homeassistant-stubs/components/homeassistant/triggers/numeric_state.pyi +0 -3
  344. homeassistant-stubs/components/homeassistant_alerts/__init__.pyi +3 -24
  345. homeassistant-stubs/components/homeassistant_alerts/const.pyi +6 -0
  346. homeassistant-stubs/components/homeassistant_alerts/coordinator.pyi +26 -0
  347. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +1 -0
  348. homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +1 -1
  349. homeassistant-stubs/components/homekit/const.pyi +2 -0
  350. homeassistant-stubs/components/homekit/type_sensors.pyi +3 -1
  351. homeassistant-stubs/components/homekit/util.pyi +2 -1
  352. homeassistant-stubs/components/homewizard/helpers.pyi +1 -4
  353. homeassistant-stubs/components/http/__init__.pyi +6 -7
  354. homeassistant-stubs/components/http/auth.pyi +2 -10
  355. homeassistant-stubs/components/http/ban.pyi +1 -3
  356. homeassistant-stubs/components/http/const.pyi +0 -6
  357. homeassistant-stubs/components/http/data_validator.pyi +2 -4
  358. homeassistant-stubs/components/http/decorators.pyi +2 -5
  359. homeassistant-stubs/components/http/web_runner.pyi +1 -1
  360. homeassistant-stubs/components/humidifier/intent.pyi +4 -0
  361. homeassistant-stubs/components/{poolsense → husqvarna_automower}/__init__.pyi +6 -4
  362. homeassistant-stubs/components/husqvarna_automower/api.pyi +11 -0
  363. homeassistant-stubs/components/husqvarna_automower/application_credentials.pyi +5 -0
  364. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +29 -0
  365. homeassistant-stubs/components/husqvarna_automower/config_flow.pyi +23 -0
  366. homeassistant-stubs/components/husqvarna_automower/const.pyi +5 -0
  367. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +20 -0
  368. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +21 -0
  369. homeassistant-stubs/components/husqvarna_automower/diagnostics.pyi +17 -0
  370. homeassistant-stubs/components/husqvarna_automower/entity.pyi +20 -0
  371. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +28 -0
  372. homeassistant-stubs/components/husqvarna_automower/number.pyi +67 -0
  373. homeassistant-stubs/components/husqvarna_automower/select.pyi +25 -0
  374. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +35 -0
  375. homeassistant-stubs/components/husqvarna_automower/switch.pyi +49 -0
  376. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +14 -4
  377. homeassistant-stubs/components/hydrawise/coordinator.pyi +8 -5
  378. homeassistant-stubs/components/hydrawise/entity.pyi +10 -3
  379. homeassistant-stubs/components/hydrawise/sensor.pyi +24 -7
  380. homeassistant-stubs/components/hydrawise/switch.pyi +12 -2
  381. homeassistant-stubs/components/ibeacon/__init__.pyi +5 -3
  382. homeassistant-stubs/components/ibeacon/device_tracker.pyi +3 -3
  383. homeassistant-stubs/components/ibeacon/sensor.pyi +3 -3
  384. homeassistant-stubs/components/idasen_desk/__init__.pyi +2 -12
  385. homeassistant-stubs/components/idasen_desk/coordinator.pyi +19 -0
  386. homeassistant-stubs/components/imgw_pib/__init__.pyi +21 -0
  387. homeassistant-stubs/components/imgw_pib/binary_sensor.pyi +28 -0
  388. homeassistant-stubs/components/imgw_pib/config_flow.pyi +12 -0
  389. homeassistant-stubs/components/imgw_pib/const.pyi +6 -0
  390. homeassistant-stubs/components/imgw_pib/coordinator.pyi +15 -0
  391. homeassistant-stubs/components/imgw_pib/diagnostics.pyi +5 -0
  392. homeassistant-stubs/components/imgw_pib/entity.pyi +10 -0
  393. homeassistant-stubs/components/imgw_pib/sensor.pyi +30 -0
  394. homeassistant-stubs/components/integration/config_flow.pyi +11 -4
  395. homeassistant-stubs/components/integration/sensor.pyi +2 -1
  396. homeassistant-stubs/components/intent/__init__.pyi +8 -16
  397. homeassistant-stubs/components/intent/const.pyi +3 -0
  398. homeassistant-stubs/components/intent/timers.pyi +133 -0
  399. homeassistant-stubs/components/intent_script/__init__.pyi +4 -1
  400. homeassistant-stubs/components/ipp/__init__.pyi +3 -2
  401. homeassistant-stubs/components/ipp/diagnostics.pyi +2 -4
  402. homeassistant-stubs/components/ipp/sensor.pyi +3 -4
  403. homeassistant-stubs/components/jellyfin/config_flow.pyi +11 -2
  404. homeassistant-stubs/components/jellyfin/const.pyi +2 -0
  405. homeassistant-stubs/components/jellyfin/media_source.pyi +4 -2
  406. homeassistant-stubs/components/jewish_calendar/__init__.pyi +11 -10
  407. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +7 -5
  408. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +25 -0
  409. homeassistant-stubs/components/jewish_calendar/const.pyi +9 -0
  410. homeassistant-stubs/components/jewish_calendar/sensor.pyi +7 -7
  411. homeassistant-stubs/components/knx/climate.pyi +3 -0
  412. homeassistant-stubs/components/knx/const.pyi +0 -1
  413. homeassistant-stubs/components/knx/device_trigger.pyi +6 -8
  414. homeassistant-stubs/components/knx/expose.pyi +4 -1
  415. homeassistant-stubs/components/knx/notify.pyi +2 -3
  416. homeassistant-stubs/components/knx/schema.pyi +1 -1
  417. homeassistant-stubs/components/knx/telegrams.pyi +14 -7
  418. homeassistant-stubs/components/knx/trigger.pyi +27 -0
  419. homeassistant-stubs/components/lamarzocco/coordinator.pyi +1 -2
  420. homeassistant-stubs/components/lametric/helpers.pyi +1 -4
  421. homeassistant-stubs/components/lcn/helpers.pyi +1 -2
  422. homeassistant-stubs/components/light/intent.pyi +2 -7
  423. homeassistant-stubs/components/linear_garage_door/coordinator.pyi +15 -9
  424. homeassistant-stubs/components/linear_garage_door/cover.pyi +2 -14
  425. homeassistant-stubs/components/linear_garage_door/entity.pyi +17 -0
  426. homeassistant-stubs/components/linear_garage_door/light.pyi +25 -0
  427. homeassistant-stubs/components/local_todo/__init__.pyi +3 -2
  428. homeassistant-stubs/components/local_todo/todo.pyi +3 -3
  429. homeassistant-stubs/components/lock/__init__.pyi +8 -2
  430. homeassistant-stubs/components/lock/const.pyi +1 -0
  431. homeassistant-stubs/components/lock/device_condition.pyi +1 -1
  432. homeassistant-stubs/components/lock/device_trigger.pyi +1 -1
  433. homeassistant-stubs/components/lock/group.pyi +2 -1
  434. homeassistant-stubs/components/lock/reproduce_state.pyi +1 -1
  435. homeassistant-stubs/components/lookin/coordinator.pyi +0 -2
  436. homeassistant-stubs/components/mastodon/notify.pyi +8 -1
  437. homeassistant-stubs/components/matter/api.pyi +1 -2
  438. homeassistant-stubs/components/matter/climate.pyi +3 -2
  439. homeassistant-stubs/components/matter/entity.pyi +1 -9
  440. homeassistant-stubs/components/matter/fan.pyi +44 -0
  441. homeassistant-stubs/components/matter/models.pyi +1 -2
  442. homeassistant-stubs/components/matter/sensor.pyi +2 -0
  443. homeassistant-stubs/components/media_extractor/__init__.pyi +3 -0
  444. homeassistant-stubs/components/media_extractor/config_flow.pyi +8 -0
  445. homeassistant-stubs/components/media_player/__init__.pyi +3 -0
  446. homeassistant-stubs/components/media_player/group.pyi +1 -0
  447. homeassistant-stubs/components/media_player/intent.pyi +27 -1
  448. homeassistant-stubs/components/media_source/__init__.pyi +4 -0
  449. homeassistant-stubs/components/metoffice/weather.pyi +1 -1
  450. homeassistant-stubs/components/mikrotik/__init__.pyi +1 -1
  451. homeassistant-stubs/components/mikrotik/config_flow.pyi +1 -1
  452. homeassistant-stubs/components/mikrotik/device_tracker.pyi +1 -1
  453. homeassistant-stubs/components/monzo/__init__.pyi +13 -0
  454. homeassistant-stubs/components/monzo/api.pyi +9 -0
  455. homeassistant-stubs/components/monzo/application_credentials.pyi +7 -0
  456. homeassistant-stubs/components/monzo/config_flow.pyi +14 -0
  457. homeassistant-stubs/components/monzo/const.pyi +1 -0
  458. homeassistant-stubs/components/monzo/coordinator.pyi +20 -0
  459. homeassistant-stubs/components/monzo/entity.pyi +17 -0
  460. homeassistant-stubs/components/monzo/sensor.pyi +31 -0
  461. homeassistant-stubs/components/mopeka/sensor.pyi +2 -2
  462. homeassistant-stubs/components/motionmount/entity.pyi +3 -0
  463. homeassistant-stubs/components/mqtt/__init__.pyi +10 -10
  464. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +4 -4
  465. homeassistant-stubs/components/mqtt/binary_sensor.pyi +6 -4
  466. homeassistant-stubs/components/mqtt/button.pyi +4 -3
  467. homeassistant-stubs/components/mqtt/camera.pyi +4 -4
  468. homeassistant-stubs/components/mqtt/client.pyi +29 -21
  469. homeassistant-stubs/components/mqtt/climate.pyi +8 -7
  470. homeassistant-stubs/components/mqtt/config_flow.pyi +0 -1
  471. homeassistant-stubs/components/mqtt/const.pyi +14 -4
  472. homeassistant-stubs/components/mqtt/cover.pyi +7 -5
  473. homeassistant-stubs/components/mqtt/debug_info.pyi +4 -9
  474. homeassistant-stubs/components/mqtt/device_tracker.pyi +6 -5
  475. homeassistant-stubs/components/mqtt/device_trigger.pyi +12 -16
  476. homeassistant-stubs/components/mqtt/diagnostics.pyi +1 -1
  477. homeassistant-stubs/components/mqtt/discovery.pyi +14 -9
  478. homeassistant-stubs/components/mqtt/event.pyi +5 -6
  479. homeassistant-stubs/components/mqtt/fan.pyi +9 -5
  480. homeassistant-stubs/components/mqtt/humidifier.pyi +8 -5
  481. homeassistant-stubs/components/mqtt/image.pyi +6 -6
  482. homeassistant-stubs/components/mqtt/lawn_mower.pyi +4 -4
  483. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +15 -5
  484. homeassistant-stubs/components/mqtt/light/schema_json.pyi +4 -4
  485. homeassistant-stubs/components/mqtt/light/schema_template.pyi +4 -4
  486. homeassistant-stubs/components/mqtt/lock.pyi +9 -4
  487. homeassistant-stubs/components/mqtt/mixins.pyi +35 -41
  488. homeassistant-stubs/components/mqtt/models.pyi +8 -6
  489. homeassistant-stubs/components/mqtt/notify.pyi +5 -4
  490. homeassistant-stubs/components/mqtt/number.pyi +4 -4
  491. homeassistant-stubs/components/mqtt/scene.pyi +4 -3
  492. homeassistant-stubs/components/mqtt/schemas.pyi +16 -0
  493. homeassistant-stubs/components/mqtt/select.pyi +4 -4
  494. homeassistant-stubs/components/mqtt/sensor.pyi +9 -7
  495. homeassistant-stubs/components/mqtt/siren.pyi +4 -4
  496. homeassistant-stubs/components/mqtt/subscription.pyi +17 -13
  497. homeassistant-stubs/components/mqtt/switch.pyi +6 -7
  498. homeassistant-stubs/components/mqtt/tag.pyi +7 -5
  499. homeassistant-stubs/components/mqtt/text.pyi +6 -5
  500. homeassistant-stubs/components/mqtt/trigger.pyi +1 -1
  501. homeassistant-stubs/components/mqtt/update.pyi +6 -5
  502. homeassistant-stubs/components/mqtt/util.pyi +5 -4
  503. homeassistant-stubs/components/mqtt/vacuum.pyi +4 -4
  504. homeassistant-stubs/components/mqtt/valve.pyi +5 -5
  505. homeassistant-stubs/components/mqtt/water_heater.pyi +4 -3
  506. homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
  507. homeassistant-stubs/components/myuplink/application_credentials.pyi +2 -1
  508. homeassistant-stubs/components/myuplink/binary_sensor.pyi +18 -2
  509. homeassistant-stubs/components/myuplink/entity.pyi +5 -0
  510. homeassistant-stubs/components/nam/__init__.pyi +5 -16
  511. homeassistant-stubs/components/nam/button.pyi +2 -4
  512. homeassistant-stubs/components/nam/config_flow.pyi +2 -0
  513. homeassistant-stubs/components/nam/coordinator.pyi +15 -0
  514. homeassistant-stubs/components/nam/diagnostics.pyi +2 -4
  515. homeassistant-stubs/components/nam/sensor.pyi +2 -3
  516. homeassistant-stubs/components/nest/__init__.pyi +2 -2
  517. homeassistant-stubs/components/nest/climate.pyi +2 -2
  518. homeassistant-stubs/components/netatmo/sensor.pyi +1 -1
  519. homeassistant-stubs/components/network/util.pyi +1 -1
  520. homeassistant-stubs/components/nextdns/__init__.pyi +18 -3
  521. homeassistant-stubs/components/nextdns/binary_sensor.pyi +10 -15
  522. homeassistant-stubs/components/nextdns/button.pyi +6 -6
  523. homeassistant-stubs/components/nextdns/diagnostics.pyi +3 -3
  524. homeassistant-stubs/components/nextdns/sensor.pyi +6 -10
  525. homeassistant-stubs/components/nextdns/switch.pyi +11 -15
  526. homeassistant-stubs/components/notify/__init__.pyi +8 -2
  527. homeassistant-stubs/components/notify/repairs.pyi +7 -0
  528. homeassistant-stubs/components/nut/__init__.pyi +11 -2
  529. homeassistant-stubs/components/nut/const.pyi +0 -4
  530. homeassistant-stubs/components/nut/device_action.pyi +4 -3
  531. homeassistant-stubs/components/nut/diagnostics.pyi +3 -4
  532. homeassistant-stubs/components/nut/sensor.pyi +3 -4
  533. homeassistant-stubs/components/onewire/__init__.pyi +5 -4
  534. homeassistant-stubs/components/onewire/binary_sensor.pyi +3 -3
  535. homeassistant-stubs/components/onewire/diagnostics.pyi +2 -4
  536. homeassistant-stubs/components/onewire/sensor.pyi +3 -3
  537. homeassistant-stubs/components/onewire/switch.pyi +3 -3
  538. homeassistant-stubs/components/oralb/sensor.pyi +2 -2
  539. homeassistant-stubs/components/otbr/util.pyi +1 -3
  540. homeassistant-stubs/components/p1_monitor/__init__.pyi +3 -19
  541. homeassistant-stubs/components/p1_monitor/coordinator.pyi +22 -0
  542. homeassistant-stubs/components/p1_monitor/diagnostics.pyi +1 -1
  543. homeassistant-stubs/components/p1_monitor/sensor.pyi +1 -1
  544. homeassistant-stubs/components/pi_hole/__init__.pyi +12 -4
  545. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +3 -5
  546. homeassistant-stubs/components/pi_hole/const.pyi +0 -2
  547. homeassistant-stubs/components/pi_hole/diagnostics.pyi +2 -4
  548. homeassistant-stubs/components/pi_hole/sensor.pyi +3 -5
  549. homeassistant-stubs/components/pi_hole/switch.pyi +3 -4
  550. homeassistant-stubs/components/pi_hole/update.pyi +3 -5
  551. homeassistant-stubs/components/ping/__init__.pyi +6 -6
  552. homeassistant-stubs/components/ping/binary_sensor.pyi +2 -2
  553. homeassistant-stubs/components/ping/device_tracker.pyi +2 -2
  554. homeassistant-stubs/components/ping/sensor.pyi +2 -3
  555. homeassistant-stubs/components/plugwise/__init__.pyi +4 -2
  556. homeassistant-stubs/components/plugwise/binary_sensor.pyi +3 -4
  557. homeassistant-stubs/components/plugwise/climate.pyi +3 -3
  558. homeassistant-stubs/components/plugwise/coordinator.pyi +5 -3
  559. homeassistant-stubs/components/plugwise/diagnostics.pyi +2 -4
  560. homeassistant-stubs/components/plugwise/number.pyi +4 -4
  561. homeassistant-stubs/components/plugwise/select.pyi +6 -5
  562. homeassistant-stubs/components/plugwise/sensor.pyi +3 -4
  563. homeassistant-stubs/components/plugwise/switch.pyi +3 -4
  564. homeassistant-stubs/components/plugwise/util.pyi +2 -6
  565. homeassistant-stubs/components/powerwall/sensor.pyi +10 -9
  566. homeassistant-stubs/components/prometheus/__init__.pyi +2 -3
  567. homeassistant-stubs/components/proximity/__init__.pyi +3 -3
  568. homeassistant-stubs/components/proximity/coordinator.pyi +2 -1
  569. homeassistant-stubs/components/proximity/diagnostics.pyi +2 -4
  570. homeassistant-stubs/components/proximity/sensor.pyi +2 -3
  571. homeassistant-stubs/components/prusalink/__init__.pyi +3 -31
  572. homeassistant-stubs/components/prusalink/button.pyi +3 -1
  573. homeassistant-stubs/components/prusalink/camera.pyi +3 -1
  574. homeassistant-stubs/components/prusalink/coordinator.pyi +34 -0
  575. homeassistant-stubs/components/prusalink/sensor.pyi +3 -1
  576. homeassistant-stubs/components/pure_energie/__init__.pyi +3 -16
  577. homeassistant-stubs/components/pure_energie/coordinator.pyi +19 -0
  578. homeassistant-stubs/components/pure_energie/diagnostics.pyi +1 -1
  579. homeassistant-stubs/components/pure_energie/sensor.pyi +1 -1
  580. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -1
  581. homeassistant-stubs/components/rainmachine/coordinator.pyi +22 -0
  582. homeassistant-stubs/components/rainmachine/switch.pyi +8 -6
  583. homeassistant-stubs/components/rainmachine/util.pyi +1 -17
  584. homeassistant-stubs/components/recorder/core.pyi +5 -4
  585. homeassistant-stubs/components/recorder/executor.pyi +3 -2
  586. homeassistant-stubs/components/recorder/pool.pyi +4 -5
  587. homeassistant-stubs/components/recorder/purge.pyi +2 -1
  588. homeassistant-stubs/components/recorder/table_managers/__init__.pyi +2 -4
  589. homeassistant-stubs/components/recorder/table_managers/event_data.pyi +2 -1
  590. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +2 -1
  591. homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +2 -1
  592. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +2 -1
  593. homeassistant-stubs/components/recorder/util.pyi +4 -12
  594. homeassistant-stubs/components/renault/__init__.pyi +11 -3
  595. homeassistant-stubs/components/renault/binary_sensor.pyi +2 -4
  596. homeassistant-stubs/components/renault/button.pyi +2 -4
  597. homeassistant-stubs/components/renault/device_tracker.pyi +2 -4
  598. homeassistant-stubs/components/renault/diagnostics.pyi +4 -5
  599. homeassistant-stubs/components/renault/renault_vehicle.pyi +2 -4
  600. homeassistant-stubs/components/renault/select.pyi +2 -4
  601. homeassistant-stubs/components/renault/sensor.pyi +2 -4
  602. homeassistant-stubs/components/renault/services.pyi +2 -2
  603. homeassistant-stubs/components/repairs/issue_handler.pyi +0 -1
  604. homeassistant-stubs/components/repairs/websocket_api.pyi +0 -1
  605. homeassistant-stubs/components/rfxtrx/__init__.pyi +1 -2
  606. homeassistant-stubs/components/ring/coordinator.pyi +0 -3
  607. homeassistant-stubs/components/ring/entity.pyi +1 -4
  608. homeassistant-stubs/components/roku/helpers.pyi +0 -3
  609. homeassistant-stubs/components/ruuvitag_ble/sensor.pyi +2 -2
  610. homeassistant-stubs/components/samsungtv/__init__.pyi +5 -3
  611. homeassistant-stubs/components/samsungtv/bridge.pyi +6 -4
  612. homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -0
  613. homeassistant-stubs/components/samsungtv/coordinator.pyi +17 -0
  614. homeassistant-stubs/components/samsungtv/device_trigger.pyi +0 -1
  615. homeassistant-stubs/components/samsungtv/diagnostics.pyi +3 -4
  616. homeassistant-stubs/components/samsungtv/entity.pyi +17 -6
  617. homeassistant-stubs/components/samsungtv/helpers.pyi +2 -0
  618. homeassistant-stubs/components/samsungtv/media_player.pyi +10 -19
  619. homeassistant-stubs/components/samsungtv/remote.pyi +7 -5
  620. homeassistant-stubs/components/scrape/__init__.pyi +2 -1
  621. homeassistant-stubs/components/scrape/sensor.pyi +2 -2
  622. homeassistant-stubs/components/sensibo/__init__.pyi +3 -1
  623. homeassistant-stubs/components/sensibo/binary_sensor.pyi +2 -3
  624. homeassistant-stubs/components/sensibo/button.pyi +2 -3
  625. homeassistant-stubs/components/sensibo/climate.pyi +2 -2
  626. homeassistant-stubs/components/sensibo/coordinator.pyi +3 -2
  627. homeassistant-stubs/components/sensibo/diagnostics.pyi +2 -4
  628. homeassistant-stubs/components/sensibo/entity.pyi +1 -4
  629. homeassistant-stubs/components/sensibo/number.pyi +2 -3
  630. homeassistant-stubs/components/sensibo/select.pyi +2 -2
  631. homeassistant-stubs/components/sensibo/sensor.pyi +2 -3
  632. homeassistant-stubs/components/sensibo/switch.pyi +2 -2
  633. homeassistant-stubs/components/sensibo/update.pyi +2 -3
  634. homeassistant-stubs/components/sensirion_ble/sensor.pyi +2 -2
  635. homeassistant-stubs/components/sensor/__init__.pyi +1 -2
  636. homeassistant-stubs/components/sensor/group.pyi +1 -0
  637. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +1 -4
  638. homeassistant-stubs/components/sfr_box/button.pyi +3 -6
  639. homeassistant-stubs/components/sfr_box/coordinator.pyi +4 -5
  640. homeassistant-stubs/components/sfr_box/sensor.pyi +1 -4
  641. homeassistant-stubs/components/shelly/__init__.pyi +7 -8
  642. homeassistant-stubs/components/shelly/binary_sensor.pyi +2 -2
  643. homeassistant-stubs/components/shelly/button.pyi +4 -7
  644. homeassistant-stubs/components/shelly/climate.pyi +5 -6
  645. homeassistant-stubs/components/shelly/config_flow.pyi +2 -0
  646. homeassistant-stubs/components/shelly/const.pyi +1 -1
  647. homeassistant-stubs/components/shelly/coordinator.pyi +15 -19
  648. homeassistant-stubs/components/shelly/cover.pyi +4 -5
  649. homeassistant-stubs/components/shelly/diagnostics.pyi +2 -3
  650. homeassistant-stubs/components/shelly/entity.pyi +8 -9
  651. homeassistant-stubs/components/shelly/event.pyi +2 -3
  652. homeassistant-stubs/components/shelly/light.pyi +4 -5
  653. homeassistant-stubs/components/shelly/number.pyi +2 -3
  654. homeassistant-stubs/components/shelly/sensor.pyi +2 -3
  655. homeassistant-stubs/components/shelly/switch.pyi +22 -8
  656. homeassistant-stubs/components/shelly/update.pyi +2 -3
  657. homeassistant-stubs/components/shelly/utils.pyi +3 -4
  658. homeassistant-stubs/components/shelly/valve.pyi +3 -4
  659. homeassistant-stubs/components/shopping_list/intent.pyi +4 -0
  660. homeassistant-stubs/components/sleepiq/entity.pyi +1 -2
  661. homeassistant-stubs/components/smhi/weather.pyi +2 -2
  662. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +2 -2
  663. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +4 -3
  664. homeassistant-stubs/components/speedtestdotnet/sensor.pyi +2 -2
  665. homeassistant-stubs/components/ssdp/__init__.pyi +2 -2
  666. homeassistant-stubs/components/sun/__init__.pyi +4 -4
  667. homeassistant-stubs/components/sun/entity.pyi +2 -0
  668. homeassistant-stubs/components/sun/sensor.pyi +2 -3
  669. homeassistant-stubs/components/surepetcare/__init__.pyi +4 -15
  670. homeassistant-stubs/components/surepetcare/binary_sensor.pyi +1 -1
  671. homeassistant-stubs/components/surepetcare/coordinator.pyi +21 -0
  672. homeassistant-stubs/components/surepetcare/entity.pyi +1 -1
  673. homeassistant-stubs/components/surepetcare/lock.pyi +1 -1
  674. homeassistant-stubs/components/surepetcare/sensor.pyi +1 -1
  675. homeassistant-stubs/components/switchbee/entity.pyi +2 -4
  676. homeassistant-stubs/components/switchbee/switch.pyi +1 -4
  677. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  678. homeassistant-stubs/components/switchbot_cloud/climate.pyi +1 -1
  679. homeassistant-stubs/components/switchbot_cloud/const.pyi +4 -1
  680. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +2 -2
  681. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +25 -0
  682. homeassistant-stubs/components/switcher_kis/__init__.pyi +7 -26
  683. homeassistant-stubs/components/switcher_kis/button.pyi +8 -7
  684. homeassistant-stubs/components/switcher_kis/climate.pyi +3 -3
  685. homeassistant-stubs/components/switcher_kis/config_flow.pyi +3 -9
  686. homeassistant-stubs/components/switcher_kis/const.pyi +0 -5
  687. homeassistant-stubs/components/switcher_kis/coordinator.pyi +22 -0
  688. homeassistant-stubs/components/switcher_kis/cover.pyi +1 -2
  689. homeassistant-stubs/components/switcher_kis/diagnostics.pyi +2 -3
  690. homeassistant-stubs/components/switcher_kis/sensor.pyi +1 -1
  691. homeassistant-stubs/components/switcher_kis/switch.pyi +1 -1
  692. homeassistant-stubs/components/switcher_kis/utils.pyi +2 -6
  693. homeassistant-stubs/components/synology_dsm/common.pyi +1 -1
  694. homeassistant-stubs/components/synology_dsm/config_flow.pyi +1 -1
  695. homeassistant-stubs/components/synology_dsm/coordinator.pyi +3 -6
  696. homeassistant-stubs/components/synology_dsm/entity.pyi +0 -3
  697. homeassistant-stubs/components/systemmonitor/__init__.pyi +10 -2
  698. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +3 -3
  699. homeassistant-stubs/components/systemmonitor/const.pyi +0 -1
  700. homeassistant-stubs/components/systemmonitor/diagnostics.pyi +2 -4
  701. homeassistant-stubs/components/systemmonitor/sensor.pyi +4 -3
  702. homeassistant-stubs/components/systemmonitor/util.pyi +4 -3
  703. homeassistant-stubs/components/tag/__init__.pyi +46 -5
  704. homeassistant-stubs/components/tag/const.pyi +4 -0
  705. homeassistant-stubs/components/tailwind/__init__.pyi +2 -1
  706. homeassistant-stubs/components/tailwind/binary_sensor.pyi +2 -4
  707. homeassistant-stubs/components/tailwind/button.pyi +2 -3
  708. homeassistant-stubs/components/tailwind/coordinator.pyi +0 -1
  709. homeassistant-stubs/components/tailwind/cover.pyi +2 -3
  710. homeassistant-stubs/components/tailwind/diagnostics.pyi +2 -4
  711. homeassistant-stubs/components/tailwind/number.pyi +2 -3
  712. homeassistant-stubs/components/tailwind/typing.pyi +4 -0
  713. homeassistant-stubs/components/technove/helpers.pyi +1 -4
  714. homeassistant-stubs/components/tedee/__init__.pyi +10 -3
  715. homeassistant-stubs/components/tedee/binary_sensor.pyi +2 -3
  716. homeassistant-stubs/components/tedee/config_flow.pyi +3 -1
  717. homeassistant-stubs/components/tedee/coordinator.pyi +5 -0
  718. homeassistant-stubs/components/tedee/diagnostics.pyi +2 -4
  719. homeassistant-stubs/components/tedee/lock.pyi +6 -3
  720. homeassistant-stubs/components/tedee/sensor.pyi +2 -3
  721. homeassistant-stubs/components/{ambiclimate → thethingsnetwork}/__init__.pyi +5 -4
  722. homeassistant-stubs/components/thethingsnetwork/config_flow.pyi +16 -0
  723. homeassistant-stubs/components/thethingsnetwork/const.pyi +8 -0
  724. homeassistant-stubs/components/thethingsnetwork/coordinator.pyi +16 -0
  725. homeassistant-stubs/components/thethingsnetwork/entity.pyi +22 -0
  726. homeassistant-stubs/components/thethingsnetwork/sensor.pyi +17 -0
  727. homeassistant-stubs/components/tibber/coordinator.pyi +19 -0
  728. homeassistant-stubs/components/tibber/notify.pyi +15 -3
  729. homeassistant-stubs/components/tibber/sensor.pyi +3 -13
  730. homeassistant-stubs/components/tilt_ble/sensor.pyi +2 -2
  731. homeassistant-stubs/components/timer/__init__.pyi +1 -2
  732. homeassistant-stubs/components/todo/intent.pyi +2 -0
  733. homeassistant-stubs/components/tplink/entity.pyi +2 -5
  734. homeassistant-stubs/components/tplink_omada/coordinator.pyi +3 -5
  735. homeassistant-stubs/components/tplink_omada/entity.pyi +2 -5
  736. homeassistant-stubs/components/tractive/__init__.pyi +10 -3
  737. homeassistant-stubs/components/tractive/binary_sensor.pyi +3 -4
  738. homeassistant-stubs/components/tractive/const.pyi +0 -2
  739. homeassistant-stubs/components/tractive/device_tracker.pyi +3 -4
  740. homeassistant-stubs/components/tractive/diagnostics.pyi +2 -3
  741. homeassistant-stubs/components/tractive/sensor.pyi +3 -4
  742. homeassistant-stubs/components/tractive/switch.pyi +3 -4
  743. homeassistant-stubs/components/trafikverket_camera/__init__.pyi +2 -1
  744. homeassistant-stubs/components/trafikverket_camera/binary_sensor.pyi +3 -4
  745. homeassistant-stubs/components/trafikverket_camera/camera.pyi +3 -3
  746. homeassistant-stubs/components/trafikverket_camera/coordinator.pyi +3 -2
  747. homeassistant-stubs/components/trafikverket_camera/sensor.pyi +3 -4
  748. homeassistant-stubs/components/trafikverket_ferry/__init__.pyi +4 -2
  749. homeassistant-stubs/components/trafikverket_ferry/coordinator.pyi +3 -2
  750. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +2 -2
  751. homeassistant-stubs/components/trafikverket_train/__init__.pyi +4 -2
  752. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +4 -3
  753. homeassistant-stubs/components/trafikverket_train/sensor.pyi +2 -2
  754. homeassistant-stubs/components/trafikverket_weatherstation/__init__.pyi +4 -2
  755. homeassistant-stubs/components/trafikverket_weatherstation/coordinator.pyi +3 -2
  756. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +2 -2
  757. homeassistant-stubs/components/twentemilieu/__init__.pyi +4 -1
  758. homeassistant-stubs/components/twentemilieu/calendar.pyi +5 -7
  759. homeassistant-stubs/components/twentemilieu/diagnostics.pyi +0 -4
  760. homeassistant-stubs/components/twentemilieu/entity.pyi +4 -5
  761. homeassistant-stubs/components/twentemilieu/sensor.pyi +1 -2
  762. homeassistant-stubs/components/unifi/__init__.pyi +5 -4
  763. homeassistant-stubs/components/unifi/button.pyi +2 -3
  764. homeassistant-stubs/components/unifi/config_flow.pyi +2 -1
  765. homeassistant-stubs/components/unifi/device_tracker.pyi +3 -3
  766. homeassistant-stubs/components/unifi/diagnostics.pyi +2 -3
  767. homeassistant-stubs/components/unifi/hub/entity_loader.pyi +0 -1
  768. homeassistant-stubs/components/unifi/hub/hub.pyi +3 -5
  769. homeassistant-stubs/components/unifi/image.pyi +2 -2
  770. homeassistant-stubs/components/unifi/sensor.pyi +2 -2
  771. homeassistant-stubs/components/unifi/services.pyi +0 -1
  772. homeassistant-stubs/components/unifi/switch.pyi +3 -3
  773. homeassistant-stubs/components/unifi/update.pyi +2 -3
  774. homeassistant-stubs/components/unifiprotect/entity.pyi +1 -1
  775. homeassistant-stubs/components/unifiprotect/migrate.pyi +1 -1
  776. homeassistant-stubs/components/upcloud/__init__.pyi +2 -9
  777. homeassistant-stubs/components/upcloud/coordinator.pyi +16 -0
  778. homeassistant-stubs/components/vacuum/__init__.pyi +2 -4
  779. homeassistant-stubs/components/vacuum/const.pyi +1 -0
  780. homeassistant-stubs/components/vacuum/group.pyi +1 -1
  781. homeassistant-stubs/components/vallox/__init__.pyi +5 -6
  782. homeassistant-stubs/components/vallox/binary_sensor.pyi +2 -1
  783. homeassistant-stubs/components/vallox/config_flow.pyi +2 -1
  784. homeassistant-stubs/components/vallox/coordinator.pyi +12 -0
  785. homeassistant-stubs/components/vallox/date.pyi +2 -1
  786. homeassistant-stubs/components/vallox/fan.pyi +2 -1
  787. homeassistant-stubs/components/vallox/number.pyi +2 -1
  788. homeassistant-stubs/components/vallox/sensor.pyi +2 -1
  789. homeassistant-stubs/components/vallox/switch.pyi +2 -1
  790. homeassistant-stubs/components/velbus/entity.pyi +2 -4
  791. homeassistant-stubs/components/vlc_telnet/__init__.pyi +10 -3
  792. homeassistant-stubs/components/vlc_telnet/media_player.pyi +6 -6
  793. homeassistant-stubs/components/wallbox/coordinator.pyi +1 -3
  794. homeassistant-stubs/components/waqi/sensor.pyi +3 -6
  795. homeassistant-stubs/components/water_heater/__init__.pyi +2 -3
  796. homeassistant-stubs/components/water_heater/const.pyi +1 -0
  797. homeassistant-stubs/components/water_heater/group.pyi +2 -2
  798. homeassistant-stubs/components/weather/__init__.pyi +8 -7
  799. homeassistant-stubs/components/weather/group.pyi +1 -0
  800. homeassistant-stubs/components/weather/intent.pyi +2 -0
  801. homeassistant-stubs/components/webostv/media_player.pyi +2 -5
  802. homeassistant-stubs/components/websocket_api/commands.pyi +5 -5
  803. homeassistant-stubs/components/websocket_api/connection.pyi +2 -2
  804. homeassistant-stubs/components/websocket_api/const.pyi +5 -3
  805. homeassistant-stubs/components/websocket_api/http.pyi +4 -1
  806. homeassistant-stubs/components/websocket_api/messages.pyi +4 -5
  807. homeassistant-stubs/components/wemo/__init__.pyi +1 -1
  808. homeassistant-stubs/components/wemo/binary_sensor.pyi +1 -1
  809. homeassistant-stubs/components/wemo/config_flow.pyi +1 -1
  810. homeassistant-stubs/components/wemo/device_trigger.pyi +1 -1
  811. homeassistant-stubs/components/wemo/entity.pyi +1 -1
  812. homeassistant-stubs/components/wemo/fan.pyi +1 -1
  813. homeassistant-stubs/components/wemo/light.pyi +1 -1
  814. homeassistant-stubs/components/wemo/models.pyi +3 -3
  815. homeassistant-stubs/components/wemo/sensor.pyi +1 -1
  816. homeassistant-stubs/components/wemo/switch.pyi +1 -1
  817. homeassistant-stubs/components/withings/__init__.pyi +6 -5
  818. homeassistant-stubs/components/withings/binary_sensor.pyi +2 -2
  819. homeassistant-stubs/components/withings/calendar.pyi +2 -3
  820. homeassistant-stubs/components/withings/coordinator.pyi +5 -7
  821. homeassistant-stubs/components/withings/diagnostics.pyi +2 -4
  822. homeassistant-stubs/components/withings/entity.pyi +0 -3
  823. homeassistant-stubs/components/withings/sensor.pyi +3 -7
  824. homeassistant-stubs/components/wled/__init__.pyi +4 -3
  825. homeassistant-stubs/components/wled/binary_sensor.pyi +3 -4
  826. homeassistant-stubs/components/wled/button.pyi +3 -4
  827. homeassistant-stubs/components/wled/diagnostics.pyi +2 -4
  828. homeassistant-stubs/components/wled/helpers.pyi +2 -5
  829. homeassistant-stubs/components/wled/light.pyi +4 -4
  830. homeassistant-stubs/components/wled/number.pyi +4 -4
  831. homeassistant-stubs/components/wled/select.pyi +3 -4
  832. homeassistant-stubs/components/wled/sensor.pyi +3 -4
  833. homeassistant-stubs/components/wled/switch.pyi +4 -4
  834. homeassistant-stubs/components/wled/update.pyi +3 -4
  835. homeassistant-stubs/components/xiaomi_ble/__init__.pyi +1 -1
  836. homeassistant-stubs/components/xiaomi_ble/binary_sensor.pyi +2 -2
  837. homeassistant-stubs/components/xiaomi_ble/coordinator.pyi +4 -4
  838. homeassistant-stubs/components/xiaomi_ble/sensor.pyi +2 -2
  839. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +4 -2
  840. homeassistant-stubs/components/yale_smart_alarm/alarm_control_panel.pyi +3 -3
  841. homeassistant-stubs/components/yale_smart_alarm/binary_sensor.pyi +2 -3
  842. homeassistant-stubs/components/yale_smart_alarm/button.pyi +4 -3
  843. homeassistant-stubs/components/yale_smart_alarm/const.pyi +0 -1
  844. homeassistant-stubs/components/yale_smart_alarm/diagnostics.pyi +2 -4
  845. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +3 -3
  846. homeassistant-stubs/components/yale_smart_alarm/sensor.pyi +16 -0
  847. homeassistant-stubs/components/yalexs_ble/__init__.pyi +5 -4
  848. homeassistant-stubs/components/yalexs_ble/binary_sensor.pyi +2 -4
  849. homeassistant-stubs/components/yalexs_ble/lock.pyi +2 -4
  850. homeassistant-stubs/components/yalexs_ble/sensor.pyi +2 -3
  851. homeassistant-stubs/components/zwave_js/api.pyi +2 -3
  852. homeassistant-stubs/components/zwave_js/diagnostics.pyi +1 -1
  853. homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +6 -6
  854. homeassistant-stubs/components/zwave_js/services.pyi +6 -8
  855. homeassistant-stubs/config.pyi +2 -1
  856. homeassistant-stubs/config_entries.pyi +18 -11
  857. homeassistant-stubs/const.pyi +5 -1
  858. homeassistant-stubs/core.pyi +19 -19
  859. homeassistant-stubs/data_entry_flow.pyi +0 -1
  860. homeassistant-stubs/generated/bluetooth.pyi +3 -1
  861. homeassistant-stubs/generated/countries.pyi +2 -2
  862. homeassistant-stubs/generated/dhcp.pyi +3 -1
  863. homeassistant-stubs/helpers/aiohttp_client.pyi +3 -2
  864. homeassistant-stubs/helpers/area_registry.pyi +9 -3
  865. homeassistant-stubs/helpers/category_registry.pyi +3 -1
  866. homeassistant-stubs/helpers/collection.pyi +3 -6
  867. homeassistant-stubs/helpers/condition.pyi +5 -5
  868. homeassistant-stubs/helpers/config_entry_flow.pyi +2 -3
  869. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +4 -2
  870. homeassistant-stubs/helpers/config_validation.pyi +5 -5
  871. homeassistant-stubs/helpers/debounce.pyi +1 -4
  872. homeassistant-stubs/helpers/deprecation.pyi +1 -5
  873. homeassistant-stubs/helpers/device_registry.pyi +6 -5
  874. homeassistant-stubs/helpers/discovery.pyi +1 -1
  875. homeassistant-stubs/helpers/discovery_flow.pyi +2 -1
  876. homeassistant-stubs/helpers/dispatcher.pyi +5 -5
  877. homeassistant-stubs/helpers/entity.pyi +6 -5
  878. homeassistant-stubs/helpers/entity_platform.pyi +11 -9
  879. homeassistant-stubs/helpers/entity_registry.pyi +6 -5
  880. homeassistant-stubs/helpers/entity_values.pyi +1 -2
  881. homeassistant-stubs/helpers/entityfilter.pyi +1 -1
  882. homeassistant-stubs/helpers/event.pyi +24 -22
  883. homeassistant-stubs/helpers/floor_registry.pyi +3 -1
  884. homeassistant-stubs/helpers/frame.pyi +4 -6
  885. homeassistant-stubs/helpers/httpx_client.pyi +5 -4
  886. homeassistant-stubs/helpers/icon.pyi +2 -2
  887. homeassistant-stubs/helpers/importlib.pyi +5 -3
  888. homeassistant-stubs/helpers/integration_platform.pyi +2 -1
  889. homeassistant-stubs/helpers/intent.pyi +114 -32
  890. homeassistant-stubs/helpers/issue_registry.pyi +13 -5
  891. homeassistant-stubs/helpers/label_registry.pyi +3 -1
  892. homeassistant-stubs/helpers/llm.pyi +87 -0
  893. homeassistant-stubs/helpers/normalized_name_base_registry.pyi +0 -2
  894. homeassistant-stubs/helpers/ratelimit.pyi +0 -2
  895. homeassistant-stubs/helpers/recorder.pyi +3 -2
  896. homeassistant-stubs/helpers/redact.pyi +1 -3
  897. homeassistant-stubs/helpers/registry.pyi +5 -6
  898. homeassistant-stubs/helpers/restore_state.pyi +3 -1
  899. homeassistant-stubs/helpers/script.pyi +19 -9
  900. homeassistant-stubs/helpers/selector.pyi +4 -5
  901. homeassistant-stubs/helpers/service.pyi +8 -8
  902. homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -2
  903. homeassistant-stubs/helpers/signal.pyi +3 -0
  904. homeassistant-stubs/helpers/significant_change.pyi +7 -3
  905. homeassistant-stubs/helpers/singleton.pyi +5 -2
  906. homeassistant-stubs/helpers/storage.pyi +8 -7
  907. homeassistant-stubs/helpers/sun.pyi +2 -1
  908. homeassistant-stubs/helpers/system_info.pyi +3 -0
  909. homeassistant-stubs/helpers/template.pyi +7 -12
  910. homeassistant-stubs/helpers/trace.pyi +1 -4
  911. homeassistant-stubs/helpers/translation.pyi +9 -3
  912. homeassistant-stubs/helpers/trigger.pyi +5 -2
  913. homeassistant-stubs/helpers/update_coordinator.pyi +1 -2
  914. homeassistant-stubs/loader.pyi +12 -8
  915. homeassistant-stubs/requirements.pyi +1 -0
  916. homeassistant-stubs/scripts/benchmark/__init__.pyi +1 -3
  917. homeassistant-stubs/setup.pyi +12 -10
  918. homeassistant-stubs/util/__init__.pyi +1 -3
  919. homeassistant-stubs/util/async_.pyi +1 -3
  920. homeassistant-stubs/util/collection.pyi +6 -0
  921. homeassistant-stubs/util/decorator.pyi +1 -5
  922. homeassistant-stubs/util/dt.pyi +2 -0
  923. homeassistant-stubs/util/enum.pyi +4 -8
  924. homeassistant-stubs/util/hass_dict.pyi +65 -0
  925. homeassistant-stubs/util/limited_size_dict.pyi +1 -4
  926. homeassistant-stubs/util/logging.pyi +1 -4
  927. homeassistant-stubs/util/loop.pyi +4 -7
  928. homeassistant-stubs/util/percentage.pyi +0 -3
  929. homeassistant-stubs/util/read_only_dict.pyi +3 -3
  930. homeassistant-stubs/util/signal_type.pyi +5 -12
  931. homeassistant-stubs/util/variance.pyi +2 -5
  932. homeassistant-stubs/util/yaml/loader.pyi +6 -0
  933. {homeassistant_stubs-2024.5.4.dist-info → homeassistant_stubs-2024.6.0.dist-info}/METADATA +2 -2
  934. {homeassistant_stubs-2024.5.4.dist-info → homeassistant_stubs-2024.6.0.dist-info}/RECORD +939 -863
  935. homeassistant-stubs/auth/session.pyi +0 -46
  936. homeassistant-stubs/components/aladdin_connect/model.pyi +0 -9
  937. homeassistant-stubs/components/ambiclimate/climate.pyi +0 -44
  938. homeassistant-stubs/components/ambiclimate/config_flow.pyi +0 -37
  939. homeassistant-stubs/components/ambiclimate/const.pyi +0 -9
  940. homeassistant-stubs/components/anova/util.pyi +0 -3
  941. homeassistant-stubs/components/brother/utils.pyi +0 -10
  942. homeassistant-stubs/components/cloud/util.pyi +0 -7
  943. homeassistant-stubs/components/fritzbox/common.pyi +0 -5
  944. homeassistant-stubs/components/http/session.pyi +0 -29
  945. homeassistant-stubs/components/knx/repairs.pyi +0 -7
  946. homeassistant-stubs/components/poolsense/binary_sensor.pyi +0 -15
  947. homeassistant-stubs/components/poolsense/const.pyi +0 -2
  948. homeassistant-stubs/components/poolsense/coordinator.pyi +0 -16
  949. homeassistant-stubs/components/poolsense/entity.pyi +0 -14
  950. homeassistant-stubs/components/poolsense/sensor.pyi +0 -16
  951. /homeassistant-stubs/components/mikrotik/{hub.pyi → coordinator.pyi} +0 -0
  952. /homeassistant-stubs/components/wemo/{wemo_device.pyi → coordinator.pyi} +0 -0
  953. /homeassistant-stubs/components/wled/{models.pyi → entity.pyi} +0 -0
  954. {homeassistant_stubs-2024.5.4.dist-info → homeassistant_stubs-2024.6.0.dist-info}/LICENSE +0 -0
  955. {homeassistant_stubs-2024.5.4.dist-info → homeassistant_stubs-2024.6.0.dist-info}/WHEEL +0 -0
@@ -2,80 +2,63 @@ import abc
2
2
  import voluptuous as vol
3
3
  from . import debug_info as debug_info, subscription as subscription
4
4
  from .client import async_publish as async_publish
5
- from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, ATTR_DISCOVERY_PAYLOAD as ATTR_DISCOVERY_PAYLOAD, ATTR_DISCOVERY_TOPIC as ATTR_DISCOVERY_TOPIC, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_DEPRECATED_VIA_HUB as CONF_DEPRECATED_VIA_HUB, CONF_ENCODING as CONF_ENCODING, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_ORIGIN as CONF_ORIGIN, CONF_QOS as CONF_QOS, CONF_SCHEMA as CONF_SCHEMA, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_NOT_AVAILABLE as DEFAULT_PAYLOAD_NOT_AVAILABLE, DOMAIN as DOMAIN, MQTT_CONNECTED as MQTT_CONNECTED, MQTT_DISCONNECTED as MQTT_DISCONNECTED
6
- from .debug_info import log_message as log_message, log_messages as log_messages
7
- from .discovery import MQTTDiscoveryPayload as MQTTDiscoveryPayload, MQTT_DISCOVERY_DONE as MQTT_DISCOVERY_DONE, MQTT_DISCOVERY_NEW as MQTT_DISCOVERY_NEW, MQTT_DISCOVERY_UPDATED as MQTT_DISCOVERY_UPDATED, MQTT_ORIGIN_INFO_SCHEMA as MQTT_ORIGIN_INFO_SCHEMA, clear_discovery_hash as clear_discovery_hash, set_discovery_hash as set_discovery_hash
8
- from .models import MessageCallbackType as MessageCallbackType, MqttValueTemplate as MqttValueTemplate, MqttValueTemplateException as MqttValueTemplateException, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
9
- from .subscription import EntitySubscription as EntitySubscription, async_prepare_subscribe_topics as async_prepare_subscribe_topics, async_subscribe_topics as async_subscribe_topics, async_unsubscribe_topics as async_unsubscribe_topics
10
- from .util import get_mqtt_data as get_mqtt_data, mqtt_config_entry_enabled as mqtt_config_entry_enabled, valid_subscribe_topic as valid_subscribe_topic
5
+ from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, ATTR_DISCOVERY_PAYLOAD as ATTR_DISCOVERY_PAYLOAD, ATTR_DISCOVERY_TOPIC as ATTR_DISCOVERY_TOPIC, AVAILABILITY_ALL as AVAILABILITY_ALL, AVAILABILITY_ANY as AVAILABILITY_ANY, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_AVAILABILITY_MODE as CONF_AVAILABILITY_MODE, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_ENABLED_BY_DEFAULT as CONF_ENABLED_BY_DEFAULT, CONF_ENCODING as CONF_ENCODING, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_JSON_ATTRS_TEMPLATE as CONF_JSON_ATTRS_TEMPLATE, CONF_JSON_ATTRS_TOPIC as CONF_JSON_ATTRS_TOPIC, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_SCHEMA as CONF_SCHEMA, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_ENCODING as DEFAULT_ENCODING, DOMAIN as DOMAIN, MQTT_CONNECTION_STATE as MQTT_CONNECTION_STATE
6
+ from .debug_info import log_message as log_message
7
+ from .discovery import MQTTDiscoveryPayload as MQTTDiscoveryPayload, MQTT_DISCOVERY_DONE as MQTT_DISCOVERY_DONE, MQTT_DISCOVERY_NEW as MQTT_DISCOVERY_NEW, MQTT_DISCOVERY_UPDATED as MQTT_DISCOVERY_UPDATED, clear_discovery_hash as clear_discovery_hash, set_discovery_hash as set_discovery_hash
8
+ from .models import DATA_MQTT as DATA_MQTT, MessageCallbackType as MessageCallbackType, MqttValueTemplate as MqttValueTemplate, MqttValueTemplateException as MqttValueTemplateException, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
9
+ from .subscription import EntitySubscription as EntitySubscription, async_prepare_subscribe_topics as async_prepare_subscribe_topics, async_subscribe_topics_internal as async_subscribe_topics_internal, async_unsubscribe_topics as async_unsubscribe_topics
10
+ from .util import mqtt_config_entry_enabled as mqtt_config_entry_enabled
11
11
  from _typeshed import Incomplete
12
12
  from abc import ABC, abstractmethod
13
13
  from collections.abc import Callable as Callable, Coroutine
14
14
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
15
15
  from homeassistant.const import ATTR_CONFIGURATION_URL as ATTR_CONFIGURATION_URL, ATTR_HW_VERSION as ATTR_HW_VERSION, ATTR_MANUFACTURER as ATTR_MANUFACTURER, ATTR_MODEL as ATTR_MODEL, ATTR_NAME as ATTR_NAME, ATTR_SERIAL_NUMBER as ATTR_SERIAL_NUMBER, ATTR_SUGGESTED_AREA as ATTR_SUGGESTED_AREA, ATTR_SW_VERSION as ATTR_SW_VERSION, ATTR_VIA_DEVICE as ATTR_VIA_DEVICE, CONF_DEVICE as CONF_DEVICE, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ICON as CONF_ICON, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
16
- from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
16
+ from homeassistant.core import Event as Event, HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback
17
17
  from homeassistant.helpers import entity_registry as er
18
18
  from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry, DeviceInfo as DeviceInfo, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
19
19
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
20
- from homeassistant.helpers.entity import ENTITY_CATEGORIES_SCHEMA as ENTITY_CATEGORIES_SCHEMA, Entity as Entity, async_generate_entity_id as async_generate_entity_id
20
+ from homeassistant.helpers.entity import Entity as Entity, async_generate_entity_id as async_generate_entity_id
21
21
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
22
22
  from homeassistant.helpers.event import async_track_device_registry_updated_event as async_track_device_registry_updated_event, async_track_entity_registry_updated_event as async_track_entity_registry_updated_event
23
23
  from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
24
+ from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as ReceivePayloadType
24
25
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
25
26
  from homeassistant.util.json import json_loads as json_loads
26
27
  from typing import Any, Protocol
27
28
 
28
29
  _LOGGER: Incomplete
29
- AVAILABILITY_ALL: str
30
- AVAILABILITY_ANY: str
31
- AVAILABILITY_LATEST: str
32
- AVAILABILITY_MODES: Incomplete
33
- CONF_AVAILABILITY_MODE: str
34
- CONF_AVAILABILITY_TEMPLATE: str
35
- CONF_AVAILABILITY_TOPIC: str
36
- CONF_ENABLED_BY_DEFAULT: str
37
- CONF_PAYLOAD_AVAILABLE: str
38
- CONF_PAYLOAD_NOT_AVAILABLE: str
39
- CONF_JSON_ATTRS_TOPIC: str
40
- CONF_JSON_ATTRS_TEMPLATE: str
41
30
  MQTT_ATTRIBUTES_BLOCKED: Incomplete
42
- MQTT_AVAILABILITY_SINGLE_SCHEMA: Incomplete
43
- MQTT_AVAILABILITY_LIST_SCHEMA: Incomplete
44
- MQTT_AVAILABILITY_SCHEMA: Incomplete
45
-
46
- def validate_device_has_at_least_one_identifier(value: ConfigType) -> ConfigType: ...
47
-
48
- MQTT_ENTITY_DEVICE_INFO_SCHEMA: Incomplete
49
- MQTT_ENTITY_COMMON_SCHEMA: Incomplete
50
31
 
51
32
  class SetupEntity(Protocol):
52
33
  async def __call__(self, hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = None) -> None: ...
53
34
 
54
35
  def async_handle_schema_error(discovery_payload: MQTTDiscoveryPayload, err: vol.MultipleInvalid) -> None: ...
55
- async def _async_discover(hass: HomeAssistant, domain: str, setup: Callable[[MQTTDiscoveryPayload], None] | None, async_setup: Callable[[MQTTDiscoveryPayload], Coroutine[Any, Any, None]] | None, discovery_payload: MQTTDiscoveryPayload) -> None: ...
36
+ def _handle_discovery_failure(hass: HomeAssistant, discovery_payload: MQTTDiscoveryPayload) -> None: ...
37
+ def _verify_mqtt_config_entry_enabled_for_discovery(hass: HomeAssistant, domain: str, discovery_payload: MQTTDiscoveryPayload) -> bool: ...
56
38
 
57
39
  class _SetupNonEntityHelperCallbackProtocol(Protocol):
58
40
  async def __call__(self, config: ConfigType, discovery_data: DiscoveryInfoType) -> None: ...
59
41
 
60
- async def async_setup_non_entity_entry_helper(hass: HomeAssistant, domain: str, async_setup: _SetupNonEntityHelperCallbackProtocol, discovery_schema: vol.Schema) -> None: ...
61
- async def async_setup_entity_entry_helper(hass: HomeAssistant, entry: ConfigEntry, entity_class: type[MqttEntity] | None, domain: str, async_add_entities: AddEntitiesCallback, discovery_schema: vol.Schema, platform_schema_modern: vol.Schema, schema_class_mapping: dict[str, type[MqttEntity]] | None = None) -> None: ...
42
+ def async_setup_non_entity_entry_helper(hass: HomeAssistant, domain: str, async_setup: _SetupNonEntityHelperCallbackProtocol, discovery_schema: vol.Schema) -> None: ...
43
+ def async_setup_entity_entry_helper(hass: HomeAssistant, entry: ConfigEntry, entity_class: type[MqttEntity] | None, domain: str, async_add_entities: AddEntitiesCallback, discovery_schema: vol.Schema, platform_schema_modern: vol.Schema, schema_class_mapping: dict[str, type[MqttEntity]] | None = None) -> None: ...
62
44
  def init_entity_id_from_config(hass: HomeAssistant, entity: Entity, config: ConfigType, entity_id_format: str) -> None: ...
63
- def write_state_on_attr_change(entity: Entity, attributes: set[str]) -> Callable[[MessageCallbackType], MessageCallbackType]: ...
64
45
 
65
- class MqttAttributes(Entity):
46
+ class MqttAttributesMixin(Entity):
66
47
  _attributes_extra_blocked: frozenset[str]
48
+ _attr_tpl: Callable[[ReceivePayloadType], ReceivePayloadType] | None
67
49
  _attributes_sub_state: Incomplete
68
50
  _attributes_config: Incomplete
69
51
  def __init__(self, config: ConfigType) -> None: ...
70
52
  async def async_added_to_hass(self) -> None: ...
71
53
  def attributes_prepare_discovery_update(self, config: DiscoveryInfoType) -> None: ...
72
54
  async def attributes_discovery_update(self, config: DiscoveryInfoType) -> None: ...
73
- _attr_extra_state_attributes: Incomplete
74
55
  def _attributes_prepare_subscribe_topics(self) -> None: ...
75
- async def _attributes_subscribe_topics(self) -> None: ...
56
+ def _attributes_subscribe_topics(self) -> None: ...
76
57
  async def async_will_remove_from_hass(self) -> None: ...
58
+ _attr_extra_state_attributes: Incomplete
59
+ def _attributes_message_received(self, msg: ReceiveMessage) -> None: ...
77
60
 
78
- class MqttAvailability(Entity):
61
+ class MqttAvailabilityMixin(Entity):
79
62
  _availability_sub_state: Incomplete
80
63
  _available: Incomplete
81
64
  _available_latest: bool
@@ -87,8 +70,9 @@ class MqttAvailability(Entity):
87
70
  _avail_config: Incomplete
88
71
  def _availability_setup_from_config(self, config: ConfigType) -> None: ...
89
72
  def _availability_prepare_subscribe_topics(self) -> None: ...
90
- async def _availability_subscribe_topics(self) -> None: ...
91
- def async_mqtt_connect(self) -> None: ...
73
+ def _availability_message_received(self, msg: ReceiveMessage) -> None: ...
74
+ def _availability_subscribe_topics(self) -> None: ...
75
+ def async_mqtt_connection_state_changed(self, state: bool) -> None: ...
92
76
  async def async_will_remove_from_hass(self) -> None: ...
93
77
  @property
94
78
  def available(self) -> bool: ...
@@ -100,7 +84,7 @@ def stop_discovery_updates(hass: HomeAssistant, discovery_data: DiscoveryInfoTyp
100
84
  async def async_remove_discovery_payload(hass: HomeAssistant, discovery_data: DiscoveryInfoType) -> None: ...
101
85
  async def async_clear_discovery_topic_if_entity_removed(hass: HomeAssistant, discovery_data: DiscoveryInfoType, event: Event[er.EventEntityRegistryUpdatedData]) -> None: ...
102
86
 
103
- class MqttDiscoveryDeviceUpdate(ABC, metaclass=abc.ABCMeta):
87
+ class MqttDiscoveryDeviceUpdateMixin(ABC, metaclass=abc.ABCMeta):
104
88
  hass: Incomplete
105
89
  log_name: Incomplete
106
90
  _discovery_data: Incomplete
@@ -120,7 +104,7 @@ class MqttDiscoveryDeviceUpdate(ABC, metaclass=abc.ABCMeta):
120
104
  @abstractmethod
121
105
  async def async_tear_down(self) -> None: ...
122
106
 
123
- class MqttDiscoveryUpdate(Entity):
107
+ class MqttDiscoveryUpdateMixin(Entity):
124
108
  _discovery_data: Incomplete
125
109
  _discovery_update: Incomplete
126
110
  _remove_discovery_updated: Incomplete
@@ -128,6 +112,10 @@ class MqttDiscoveryUpdate(Entity):
128
112
  _registry_hooks: Incomplete
129
113
  def __init__(self, hass: HomeAssistant, discovery_data: DiscoveryInfoType | None, discovery_update: Callable[[MQTTDiscoveryPayload], Coroutine[Any, Any, None]] | None = None) -> None: ...
130
114
  async def async_added_to_hass(self) -> None: ...
115
+ async def _async_remove_state_and_registry_entry(self) -> None: ...
116
+ async def _async_process_discovery_update(self, payload: MQTTDiscoveryPayload, discovery_update: Callable[[MQTTDiscoveryPayload], Coroutine[Any, Any, None]], discovery_data: DiscoveryInfoType) -> None: ...
117
+ async def _async_process_discovery_update_and_remove(self) -> None: ...
118
+ def _async_discovery_callback(self, payload: MQTTDiscoveryPayload) -> None: ...
131
119
  async def async_removed_from_registry(self) -> None: ...
132
120
  async def add_to_platform_finish(self) -> None: ...
133
121
  def add_to_platform_abort(self) -> None: ...
@@ -144,7 +132,8 @@ class MqttEntityDeviceInfo(Entity):
144
132
  @property
145
133
  def device_info(self) -> DeviceInfo | None: ...
146
134
 
147
- class MqttEntity(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, MqttEntityDeviceInfo, metaclass=abc.ABCMeta):
135
+ class MqttEntity(MqttAttributesMixin, MqttAvailabilityMixin, MqttDiscoveryUpdateMixin, MqttEntityDeviceInfo, metaclass=abc.ABCMeta):
136
+ _attr_force_update: bool
148
137
  _attr_has_entity_name: bool
149
138
  _attr_should_poll: bool
150
139
  _default_name: str | None
@@ -154,6 +143,7 @@ class MqttEntity(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, MqttEnti
154
143
  _attr_unique_id: Incomplete
155
144
  _sub_state: Incomplete
156
145
  _discovery: Incomplete
146
+ _subscriptions: Incomplete
157
147
  def __init__(self, hass: HomeAssistant, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
158
148
  def _init_entity_id(self) -> None: ...
159
149
  async def async_added_to_hass(self) -> None: ...
@@ -161,6 +151,7 @@ class MqttEntity(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, MqttEnti
161
151
  async def discovery_update(self, discovery_payload: MQTTDiscoveryPayload) -> None: ...
162
152
  async def async_will_remove_from_hass(self) -> None: ...
163
153
  async def async_publish(self, topic: str, payload: PublishPayloadType, qos: int = 0, retain: bool = False, encoding: str | None = ...) -> None: ...
154
+ async def async_publish_with_config(self, topic: str, payload: PublishPayloadType) -> None: ...
164
155
  @staticmethod
165
156
  @abstractmethod
166
157
  def config_schema() -> vol.Schema: ...
@@ -175,6 +166,9 @@ class MqttEntity(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, MqttEnti
175
166
  def _prepare_subscribe_topics(self) -> None: ...
176
167
  @abstractmethod
177
168
  async def _subscribe_topics(self) -> None: ...
169
+ def _attrs_have_changed(self, attrs_snapshot: tuple[tuple[str, Any | UndefinedType], ...]) -> bool: ...
170
+ def _message_callback(self, msg_callback: MessageCallbackType, attributes: set[str] | None, msg: ReceiveMessage) -> None: ...
171
+ def add_subscription(self, state_topic_config_key: str, msg_callback: Callable[[ReceiveMessage], None], tracked_attributes: set[str] | None, disable_encoding: bool = False) -> bool: ...
178
172
 
179
173
  def update_device(hass: HomeAssistant, config_entry: ConfigEntry, config: ConfigType) -> str | None: ...
180
174
  def async_removed_from_device(hass: HomeAssistant, event: Event[EventDeviceRegistryUpdatedData], mqtt_device_id: str, config_entry_id: str) -> bool: ...
@@ -1,5 +1,4 @@
1
1
  import asyncio
2
- import datetime as dt
3
2
  import voluptuous as vol
4
3
  from .client import MQTT as MQTT, Subscription as Subscription
5
4
  from .const import DOMAIN as DOMAIN, TEMPLATE_ERRORS as TEMPLATE_ERRORS
@@ -9,7 +8,7 @@ from .discovery import MQTTDiscoveryPayload as MQTTDiscoveryPayload
9
8
  from .tag import MQTTTagScanner as MQTTTagScanner
10
9
  from _typeshed import Incomplete
11
10
  from collections import deque
12
- from collections.abc import Callable, Coroutine
11
+ from collections.abc import Callable
13
12
  from dataclasses import dataclass
14
13
  from enum import StrEnum
15
14
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_NAME as ATTR_NAME, Platform as Platform
@@ -19,8 +18,9 @@ from homeassistant.helpers import template as template
19
18
  from homeassistant.helpers.entity import Entity as Entity
20
19
  from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as ReceivePayloadType
21
20
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, TemplateVarsType as TemplateVarsType
21
+ from homeassistant.util.hass_dict import HassKey as HassKey
22
22
  from paho.mqtt.client import MQTTMessage as MQTTMessage
23
- from typing import Any, TypedDict
23
+ from typing import TypedDict
24
24
 
25
25
  class PayloadSentinel(StrEnum):
26
26
  NONE: str
@@ -38,16 +38,15 @@ class PublishMessage:
38
38
  retain: bool
39
39
  def __init__(self, topic, payload, qos, retain) -> None: ...
40
40
 
41
- @dataclass(slots=True, frozen=True)
41
+ @dataclass(slots=True, frozen=True, eq=False)
42
42
  class ReceiveMessage:
43
43
  topic: str
44
44
  payload: ReceivePayloadType
45
45
  qos: int
46
46
  retain: bool
47
47
  subscribed_topic: str
48
- timestamp: dt.datetime
48
+ timestamp: float
49
49
  def __init__(self, topic, payload, qos, retain, subscribed_topic, timestamp) -> None: ...
50
- AsyncMessageCallbackType = Callable[[ReceiveMessage], Coroutine[Any, Any, None]]
51
50
  MessageCallbackType = Callable[[ReceiveMessage], None]
52
51
 
53
52
  class SubscriptionDebugInfo(TypedDict):
@@ -130,3 +129,6 @@ class MqttData:
130
129
  subscriptions_to_restore: list[Subscription] = ...
131
130
  tags: dict[str, dict[str, MQTTTagScanner]] = ...
132
131
  def __init__(self, client, config, debug_info_entities, debug_info_triggers, device_triggers, data_config_flow_lock, discovery_already_discovered, discovery_pending_discovered, discovery_registry_hooks, discovery_unsubscribe, integration_unsubscribe, last_discovery, platforms_loaded, reload_dispatchers, reload_handlers, reload_schema, state_write_requests, subscriptions_to_restore, tags) -> None: ...
132
+
133
+ DATA_MQTT: HassKey[MqttData]
134
+ DATA_MQTT_AVAILABLE: HassKey[asyncio.Future[bool]]
@@ -1,15 +1,16 @@
1
1
  import voluptuous as vol
2
2
  from .config import DEFAULT_RETAIN as DEFAULT_RETAIN, MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
3
- from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN
4
- from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
3
+ from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_RETAIN as CONF_RETAIN
4
+ from .mixins import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
5
5
  from .models import MqttCommandTemplate as MqttCommandTemplate
6
+ from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
6
7
  from .util import valid_publish_topic as valid_publish_topic
7
8
  from _typeshed import Incomplete
8
9
  from homeassistant.components import notify as notify
9
10
  from homeassistant.components.notify import NotifyEntity as NotifyEntity
10
11
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
12
  from homeassistant.const import CONF_NAME as CONF_NAME
12
- from homeassistant.core import HomeAssistant as HomeAssistant
13
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
14
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
15
  from homeassistant.helpers.typing import ConfigType as ConfigType
15
16
 
@@ -28,4 +29,4 @@ class MqttNotify(MqttEntity, NotifyEntity):
28
29
  def _setup_from_config(self, config: ConfigType) -> None: ...
29
30
  def _prepare_subscribe_topics(self) -> None: ...
30
31
  async def _subscribe_topics(self) -> None: ...
31
- async def async_send_message(self, message: str) -> None: ...
32
+ async def async_send_message(self, message: str, title: str | None = None) -> None: ...
@@ -1,10 +1,10 @@
1
1
  import voluptuous as vol
2
2
  from . import subscription as subscription
3
3
  from .config import MQTT_RW_SCHEMA as MQTT_RW_SCHEMA
4
- from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_ENCODING as CONF_ENCODING, CONF_PAYLOAD_RESET as CONF_PAYLOAD_RESET, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_STATE_TOPIC as CONF_STATE_TOPIC
5
- from .debug_info import log_messages as log_messages
6
- from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper, write_state_on_attr_change as write_state_on_attr_change
4
+ from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_PAYLOAD_RESET as CONF_PAYLOAD_RESET, CONF_STATE_TOPIC as CONF_STATE_TOPIC
5
+ from .mixins import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
7
6
  from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
7
+ from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
8
8
  from _typeshed import Incomplete
9
9
  from collections.abc import Callable as Callable
10
10
  from homeassistant.components import number as number
@@ -50,7 +50,7 @@ class MqttNumber(MqttEntity, RestoreNumber):
50
50
  _attr_native_unit_of_measurement: Incomplete
51
51
  def _setup_from_config(self, config: ConfigType) -> None: ...
52
52
  _attr_native_value: Incomplete
53
- _sub_state: Incomplete
53
+ def _message_received(self, msg: ReceiveMessage) -> None: ...
54
54
  def _prepare_subscribe_topics(self) -> None: ...
55
55
  async def _subscribe_topics(self) -> None: ...
56
56
  async def async_set_native_value(self, value: float) -> None: ...
@@ -1,14 +1,15 @@
1
1
  import voluptuous as vol
2
2
  from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
3
- from .const import CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN
4
- from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
3
+ from .const import CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_RETAIN as CONF_RETAIN
4
+ from .mixins import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
5
+ from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
5
6
  from .util import valid_publish_topic as valid_publish_topic
6
7
  from _typeshed import Incomplete
7
8
  from homeassistant.components import scene as scene
8
9
  from homeassistant.components.scene import Scene as Scene
9
10
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
11
  from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON
11
- from homeassistant.core import HomeAssistant as HomeAssistant
12
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
13
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
14
  from homeassistant.helpers.typing import ConfigType as ConfigType
14
15
  from typing import Any
@@ -0,0 +1,16 @@
1
+ from .const import AVAILABILITY_LATEST as AVAILABILITY_LATEST, AVAILABILITY_MODES as AVAILABILITY_MODES, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_AVAILABILITY_MODE as CONF_AVAILABILITY_MODE, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_DEPRECATED_VIA_HUB as CONF_DEPRECATED_VIA_HUB, CONF_ENABLED_BY_DEFAULT as CONF_ENABLED_BY_DEFAULT, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_JSON_ATTRS_TEMPLATE as CONF_JSON_ATTRS_TEMPLATE, CONF_JSON_ATTRS_TOPIC as CONF_JSON_ATTRS_TOPIC, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_ORIGIN as CONF_ORIGIN, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SUPPORT_URL as CONF_SUPPORT_URL, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_NOT_AVAILABLE as DEFAULT_PAYLOAD_NOT_AVAILABLE
2
+ from .util import valid_subscribe_topic as valid_subscribe_topic
3
+ from _typeshed import Incomplete
4
+ from homeassistant.const import CONF_DEVICE as CONF_DEVICE, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ICON as CONF_ICON, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
5
+ from homeassistant.helpers.entity import ENTITY_CATEGORIES_SCHEMA as ENTITY_CATEGORIES_SCHEMA
6
+ from homeassistant.helpers.typing import ConfigType as ConfigType
7
+
8
+ MQTT_AVAILABILITY_SINGLE_SCHEMA: Incomplete
9
+ MQTT_AVAILABILITY_LIST_SCHEMA: Incomplete
10
+ MQTT_AVAILABILITY_SCHEMA: Incomplete
11
+
12
+ def validate_device_has_at_least_one_identifier(value: ConfigType) -> ConfigType: ...
13
+
14
+ MQTT_ENTITY_DEVICE_INFO_SCHEMA: Incomplete
15
+ MQTT_ORIGIN_INFO_SCHEMA: Incomplete
16
+ MQTT_ENTITY_COMMON_SCHEMA: Incomplete
@@ -1,10 +1,10 @@
1
1
  import voluptuous as vol
2
2
  from . import subscription as subscription
3
3
  from .config import MQTT_RW_SCHEMA as MQTT_RW_SCHEMA
4
- from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_STATE_TOPIC as CONF_STATE_TOPIC
5
- from .debug_info import log_messages as log_messages
6
- from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper, write_state_on_attr_change as write_state_on_attr_change
4
+ from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_STATE_TOPIC as CONF_STATE_TOPIC
5
+ from .mixins import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
7
6
  from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
7
+ from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
8
8
  from _typeshed import Incomplete
9
9
  from collections.abc import Callable as Callable
10
10
  from homeassistant.components import select as select
@@ -38,7 +38,7 @@ class MqttSelect(MqttEntity, SelectEntity, RestoreEntity):
38
38
  _attr_assumed_state: Incomplete
39
39
  _attr_options: Incomplete
40
40
  def _setup_from_config(self, config: ConfigType) -> None: ...
41
- _sub_state: Incomplete
41
+ def _message_received(self, msg: ReceiveMessage) -> None: ...
42
42
  def _prepare_subscribe_topics(self) -> None: ...
43
43
  async def _subscribe_topics(self) -> None: ...
44
44
  async def async_select_option(self, option: str) -> None: ...
@@ -1,10 +1,11 @@
1
1
  import voluptuous as vol
2
2
  from . import subscription as subscription
3
3
  from .config import MQTT_RO_SCHEMA as MQTT_RO_SCHEMA
4
- from .const import CONF_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_NONE as PAYLOAD_NONE
5
- from .debug_info import log_messages as log_messages
6
- from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttAvailability as MqttAvailability, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper, write_state_on_attr_change as write_state_on_attr_change
4
+ from .const import CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_NONE as PAYLOAD_NONE
5
+ from .mixins import MqttAvailabilityMixin as MqttAvailabilityMixin, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
7
6
  from .models import MqttValueTemplate as MqttValueTemplate, PayloadSentinel as PayloadSentinel, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
7
+ from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
8
+ from .util import check_state_too_long as check_state_too_long
8
9
  from _typeshed import Incomplete
9
10
  from collections.abc import Callable as Callable
10
11
  from datetime import datetime
@@ -19,7 +20,6 @@ from homeassistant.helpers.typing import ConfigType as ConfigType
19
20
 
20
21
  _LOGGER: Incomplete
21
22
  CONF_EXPIRE_AFTER: str
22
- CONF_LAST_RESET_TOPIC: str
23
23
  CONF_LAST_RESET_VALUE_TEMPLATE: str
24
24
  CONF_SUGGESTED_DISPLAY_PRECISION: str
25
25
  MQTT_SENSOR_ATTRIBUTES_BLOCKED: Incomplete
@@ -42,8 +42,8 @@ class MqttSensor(MqttEntity, RestoreSensor):
42
42
  _expiration_trigger: CALLBACK_TYPE | None
43
43
  _expire_after: int | None
44
44
  _expired: bool | None
45
- _template: Callable[[ReceivePayloadType, PayloadSentinel], ReceivePayloadType]
46
- _last_reset_template: Callable[[ReceivePayloadType], ReceivePayloadType]
45
+ _template: Callable[[ReceivePayloadType, PayloadSentinel], ReceivePayloadType] | None
46
+ _last_reset_template: Callable[[ReceivePayloadType], ReceivePayloadType] | None
47
47
  _attr_native_value: Incomplete
48
48
  async def mqtt_async_added_to_hass(self) -> None: ...
49
49
  async def async_will_remove_from_hass(self) -> None: ...
@@ -55,7 +55,9 @@ class MqttSensor(MqttEntity, RestoreSensor):
55
55
  _attr_native_unit_of_measurement: Incomplete
56
56
  _attr_state_class: Incomplete
57
57
  def _setup_from_config(self, config: ConfigType) -> None: ...
58
- _sub_state: Incomplete
58
+ def _update_state(self, msg: ReceiveMessage) -> None: ...
59
+ def _update_last_reset(self, msg: ReceiveMessage) -> None: ...
60
+ def _state_message_received(self, msg: ReceiveMessage) -> None: ...
59
61
  def _prepare_subscribe_topics(self) -> None: ...
60
62
  async def _subscribe_topics(self) -> None: ...
61
63
  def _value_is_expired(self, *_: datetime) -> None: ...
@@ -1,10 +1,10 @@
1
1
  import voluptuous as vol
2
2
  from . import subscription as subscription
3
3
  from .config import MQTT_RW_SCHEMA as MQTT_RW_SCHEMA
4
- from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_STATE_VALUE_TEMPLATE as CONF_STATE_VALUE_TEMPLATE, PAYLOAD_EMPTY_JSON as PAYLOAD_EMPTY_JSON, PAYLOAD_NONE as PAYLOAD_NONE
5
- from .debug_info import log_messages as log_messages
6
- from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper, write_state_on_attr_change as write_state_on_attr_change
4
+ from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_STATE_VALUE_TEMPLATE as CONF_STATE_VALUE_TEMPLATE, PAYLOAD_EMPTY_JSON as PAYLOAD_EMPTY_JSON, PAYLOAD_NONE as PAYLOAD_NONE
5
+ from .mixins import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
7
6
  from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
7
+ from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
8
8
  from _typeshed import Incomplete
9
9
  from collections.abc import Callable as Callable
10
10
  from homeassistant.components import siren as siren
@@ -56,7 +56,7 @@ class MqttSiren(MqttEntity, SirenEntity):
56
56
  _attr_assumed_state: Incomplete
57
57
  _attr_is_on: Incomplete
58
58
  def _setup_from_config(self, config: ConfigType) -> None: ...
59
- _sub_state: Incomplete
59
+ def _state_message_received(self, msg: ReceiveMessage) -> None: ...
60
60
  def _prepare_subscribe_topics(self) -> None: ...
61
61
  async def _subscribe_topics(self) -> None: ...
62
62
  @property
@@ -1,28 +1,32 @@
1
1
  from . import debug_info as debug_info
2
- from .. import mqtt as mqtt
2
+ from .client import async_subscribe_internal as async_subscribe_internal
3
3
  from .const import DEFAULT_QOS as DEFAULT_QOS
4
4
  from .models import MessageCallbackType as MessageCallbackType
5
- from collections.abc import Callable as Callable, Coroutine
6
- from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from _typeshed import Incomplete
6
+ from collections.abc import Callable as Callable
7
+ from dataclasses import dataclass
8
+ from homeassistant.core import HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback
7
9
  from typing import Any
8
10
 
11
+ @dataclass(slots=True, kw_only=True)
9
12
  class EntitySubscription:
10
13
  hass: HomeAssistant
11
14
  topic: str | None
12
15
  message_callback: MessageCallbackType
13
- subscribe_task: Coroutine[Any, Any, Callable[[], None]] | None
16
+ should_subscribe: bool | None
14
17
  unsubscribe_callback: Callable[[], None] | None
15
- qos: int
16
- encoding: str
18
+ qos: int = ...
19
+ encoding: str = ...
20
+ entity_id: str | None
21
+ job_type: HassJobType | None
17
22
  def resubscribe_if_necessary(self, hass: HomeAssistant, other: EntitySubscription | None) -> None: ...
18
- async def subscribe(self) -> None: ...
23
+ def subscribe(self) -> None: ...
19
24
  def _should_resubscribe(self, other: EntitySubscription | None) -> bool: ...
20
- def __init__(self, hass, topic, message_callback, subscribe_task, unsubscribe_callback, qos, encoding) -> None: ...
21
- def __lt__(self, other): ...
22
- def __le__(self, other): ...
23
- def __gt__(self, other): ...
24
- def __ge__(self, other): ...
25
+ def __init__(self, *, hass, topic, message_callback, should_subscribe, unsubscribe_callback, qos, encoding, entity_id, job_type) -> None: ...
25
26
 
26
- def async_prepare_subscribe_topics(hass: HomeAssistant, new_state: dict[str, EntitySubscription] | None, topics: dict[str, Any]) -> dict[str, EntitySubscription]: ...
27
+ def async_prepare_subscribe_topics(hass: HomeAssistant, new_state: dict[str, EntitySubscription] | None, topics: dict[str, dict[str, Any]]) -> dict[str, EntitySubscription]: ...
27
28
  async def async_subscribe_topics(hass: HomeAssistant, sub_state: dict[str, EntitySubscription]) -> None: ...
29
+ def async_subscribe_topics_internal(hass: HomeAssistant, sub_state: dict[str, EntitySubscription]) -> None: ...
28
30
  def async_unsubscribe_topics(hass: HomeAssistant, sub_state: dict[str, EntitySubscription] | None) -> dict[str, EntitySubscription]: ...
31
+
32
+ async_unsubscribe_topics: Incomplete
@@ -1,10 +1,10 @@
1
1
  import voluptuous as vol
2
2
  from . import subscription as subscription
3
3
  from .config import MQTT_RW_SCHEMA as MQTT_RW_SCHEMA
4
- from .const import CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_NONE as PAYLOAD_NONE
5
- from .debug_info import log_messages as log_messages
6
- from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper, write_state_on_attr_change as write_state_on_attr_change
4
+ from .const import CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_NONE as PAYLOAD_NONE
5
+ from .mixins import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
7
6
  from .models import MqttValueTemplate as MqttValueTemplate, ReceiveMessage as ReceiveMessage
7
+ from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
8
8
  from _typeshed import Incomplete
9
9
  from collections.abc import Callable as Callable
10
10
  from homeassistant.components import switch as switch
@@ -32,16 +32,15 @@ class MqttSwitch(MqttEntity, SwitchEntity, RestoreEntity):
32
32
  _default_name = DEFAULT_NAME
33
33
  _entity_id_format: Incomplete
34
34
  _optimistic: bool
35
- _state_on: str
36
- _state_off: str
35
+ _is_on_map: dict[str | bytes, bool | None]
37
36
  _value_template: Callable[[ReceivePayloadType], ReceivePayloadType]
38
37
  @staticmethod
39
38
  def config_schema() -> vol.Schema: ...
40
39
  _attr_device_class: Incomplete
41
40
  _attr_assumed_state: Incomplete
42
41
  def _setup_from_config(self, config: ConfigType) -> None: ...
43
- _attr_is_on: bool
44
- _sub_state: Incomplete
42
+ _attr_is_on: Incomplete
43
+ def _state_message_received(self, msg: ReceiveMessage) -> None: ...
45
44
  def _prepare_subscribe_topics(self) -> None: ...
46
45
  async def _subscribe_topics(self) -> None: ...
47
46
  async def async_turn_on(self, **kwargs: Any) -> None: ...
@@ -2,16 +2,17 @@ from . import subscription as subscription
2
2
  from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
3
3
  from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, CONF_QOS as CONF_QOS, CONF_TOPIC as CONF_TOPIC
4
4
  from .discovery import MQTTDiscoveryPayload as MQTTDiscoveryPayload
5
- from .mixins import MQTT_ENTITY_DEVICE_INFO_SCHEMA as MQTT_ENTITY_DEVICE_INFO_SCHEMA, MqttDiscoveryDeviceUpdate as MqttDiscoveryDeviceUpdate, async_handle_schema_error as async_handle_schema_error, async_setup_non_entity_entry_helper as async_setup_non_entity_entry_helper, send_discovery_done as send_discovery_done, update_device as update_device
6
- from .models import MqttValueTemplate as MqttValueTemplate, MqttValueTemplateException as MqttValueTemplateException, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
5
+ from .mixins import MqttDiscoveryDeviceUpdateMixin as MqttDiscoveryDeviceUpdateMixin, async_handle_schema_error as async_handle_schema_error, async_setup_non_entity_entry_helper as async_setup_non_entity_entry_helper, send_discovery_done as send_discovery_done, update_device as update_device
6
+ from .models import DATA_MQTT as DATA_MQTT, MqttValueTemplate as MqttValueTemplate, MqttValueTemplateException as MqttValueTemplateException, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
7
+ from .schemas import MQTT_ENTITY_DEVICE_INFO_SCHEMA as MQTT_ENTITY_DEVICE_INFO_SCHEMA
7
8
  from .subscription import EntitySubscription as EntitySubscription
8
- from .util import get_mqtt_data as get_mqtt_data, valid_subscribe_topic as valid_subscribe_topic
9
+ from .util import valid_subscribe_topic as valid_subscribe_topic
9
10
  from _typeshed import Incomplete
10
11
  from collections.abc import Callable as Callable
11
12
  from homeassistant.components import tag as tag
12
13
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
13
14
  from homeassistant.const import CONF_DEVICE as CONF_DEVICE, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
14
- from homeassistant.core import HomeAssistant as HomeAssistant
15
+ from homeassistant.core import HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback
15
16
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
16
17
 
17
18
  _LOGGER: Incomplete
@@ -23,7 +24,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> N
23
24
  async def _async_setup_tag(hass: HomeAssistant, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType) -> None: ...
24
25
  def async_has_tags(hass: HomeAssistant, device_id: str) -> bool: ...
25
26
 
26
- class MQTTTagScanner(MqttDiscoveryDeviceUpdate):
27
+ class MQTTTagScanner(MqttDiscoveryDeviceUpdateMixin):
27
28
  _value_template: Callable[[ReceivePayloadType, str], ReceivePayloadType]
28
29
  _config: Incomplete
29
30
  _config_entry: Incomplete
@@ -33,5 +34,6 @@ class MQTTTagScanner(MqttDiscoveryDeviceUpdate):
33
34
  _sub_state: Incomplete
34
35
  def __init__(self, hass: HomeAssistant, config: ConfigType, device_id: str | None, discovery_data: DiscoveryInfoType, config_entry: ConfigEntry) -> None: ...
35
36
  async def async_update(self, discovery_data: MQTTDiscoveryPayload) -> None: ...
37
+ def _async_tag_scanned(self, msg: ReceiveMessage) -> None: ...
36
38
  async def subscribe_topics(self) -> None: ...
37
39
  async def async_tear_down(self) -> None: ...
@@ -2,10 +2,11 @@ import re
2
2
  import voluptuous as vol
3
3
  from . import subscription as subscription
4
4
  from .config import MQTT_RW_SCHEMA as MQTT_RW_SCHEMA
5
- from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_STATE_TOPIC as CONF_STATE_TOPIC
6
- from .debug_info import log_messages as log_messages
7
- from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper, write_state_on_attr_change as write_state_on_attr_change
8
- from .models import MessageCallbackType as MessageCallbackType, MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
5
+ from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_STATE_TOPIC as CONF_STATE_TOPIC
6
+ from .mixins import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
7
+ from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
8
+ from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
9
+ from .util import check_state_too_long as check_state_too_long
9
10
  from _typeshed import Incomplete
10
11
  from collections.abc import Callable as Callable
11
12
  from homeassistant.components import text as text
@@ -50,7 +51,7 @@ class MqttTextEntity(MqttEntity, TextEntity):
50
51
  _attr_pattern: Incomplete
51
52
  _attr_assumed_state: Incomplete
52
53
  def _setup_from_config(self, config: ConfigType) -> None: ...
53
- _sub_state: Incomplete
54
+ def _handle_state_message_received(self, msg: ReceiveMessage) -> None: ...
54
55
  def _prepare_subscribe_topics(self) -> None: ...
55
56
  async def _subscribe_topics(self) -> None: ...
56
57
  async def async_set_value(self, value: str) -> None: ...
@@ -4,7 +4,7 @@ from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplat
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from homeassistant.const import CONF_PAYLOAD as CONF_PAYLOAD, CONF_PLATFORM as CONF_PLATFORM, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
7
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
7
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers.template import Template as Template
9
9
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerData as TriggerData, TriggerInfo as TriggerInfo
10
10
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
@@ -1,10 +1,10 @@
1
1
  import voluptuous as vol
2
2
  from . import subscription as subscription
3
3
  from .config import DEFAULT_RETAIN as DEFAULT_RETAIN, MQTT_RO_SCHEMA as MQTT_RO_SCHEMA
4
- from .const import CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_EMPTY_JSON as PAYLOAD_EMPTY_JSON
5
- from .debug_info import log_messages as log_messages
6
- from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper, write_state_on_attr_change as write_state_on_attr_change
7
- from .models import MessageCallbackType as MessageCallbackType, MqttValueTemplate as MqttValueTemplate, ReceiveMessage as ReceiveMessage
4
+ from .const import CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_RETAIN as CONF_RETAIN, CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_EMPTY_JSON as PAYLOAD_EMPTY_JSON
5
+ from .mixins import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
6
+ from .models import MqttValueTemplate as MqttValueTemplate, ReceiveMessage as ReceiveMessage
7
+ from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
8
8
  from .util import valid_publish_topic as valid_publish_topic, valid_subscribe_topic as valid_subscribe_topic
9
9
  from _typeshed import Incomplete
10
10
  from homeassistant.components import update as update
@@ -56,7 +56,8 @@ class MqttUpdate(MqttEntity, UpdateEntity, RestoreEntity):
56
56
  def _setup_from_config(self, config: ConfigType) -> None: ...
57
57
  _attr_installed_version: Incomplete
58
58
  _attr_latest_version: Incomplete
59
- _sub_state: Incomplete
59
+ def _handle_state_message_received(self, msg: ReceiveMessage) -> None: ...
60
+ def _handle_latest_version_received(self, msg: ReceiveMessage) -> None: ...
60
61
  def _prepare_subscribe_topics(self) -> None: ...
61
62
  async def _subscribe_topics(self) -> None: ...
62
63
  async def async_install(self, version: str | None, backup: bool, **kwargs: Any) -> None: ...