homeassistant-stubs 2024.9.3__py3-none-any.whl → 2024.10.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 (858) hide show
  1. homeassistant-stubs/components/__init__.pyi +0 -8
  2. homeassistant-stubs/components/abode/binary_sensor.pyi +1 -1
  3. homeassistant-stubs/components/accuweather/sensor.pyi +1 -1
  4. homeassistant-stubs/components/acmeda/__init__.pyi +1 -0
  5. homeassistant-stubs/components/acmeda/cover.pyi +2 -2
  6. homeassistant-stubs/components/acmeda/{base.pyi → entity.pyi} +1 -1
  7. homeassistant-stubs/components/acmeda/sensor.pyi +2 -2
  8. homeassistant-stubs/components/actiontec/device_tracker.pyi +1 -1
  9. homeassistant-stubs/components/air_quality/__init__.pyi +2 -0
  10. homeassistant-stubs/components/airgradient/__init__.pyi +2 -10
  11. homeassistant-stubs/components/airgradient/button.pyi +4 -4
  12. homeassistant-stubs/components/airgradient/coordinator.pyi +13 -11
  13. homeassistant-stubs/components/airgradient/diagnostics.pyi +5 -0
  14. homeassistant-stubs/components/airgradient/number.pyi +2 -3
  15. homeassistant-stubs/components/airgradient/select.pyi +2 -3
  16. homeassistant-stubs/components/airgradient/sensor.pyi +9 -9
  17. homeassistant-stubs/components/airgradient/switch.pyi +2 -3
  18. homeassistant-stubs/components/airgradient/update.pyi +2 -3
  19. homeassistant-stubs/components/airnow/__init__.pyi +0 -1
  20. homeassistant-stubs/components/airnow/const.pyi +4 -1
  21. homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
  22. homeassistant-stubs/components/airnow/sensor.pyi +2 -1
  23. homeassistant-stubs/components/airvisual/__init__.pyi +6 -14
  24. homeassistant-stubs/components/airvisual/diagnostics.pyi +3 -4
  25. homeassistant-stubs/components/airvisual/entity.pyi +13 -0
  26. homeassistant-stubs/components/airvisual/sensor.pyi +4 -3
  27. homeassistant-stubs/components/airvisual_pro/__init__.pyi +2 -11
  28. homeassistant-stubs/components/airvisual_pro/entity.pyi +12 -0
  29. homeassistant-stubs/components/airvisual_pro/sensor.pyi +2 -1
  30. homeassistant-stubs/components/airzone/diagnostics.pyi +1 -1
  31. homeassistant-stubs/components/airzone_cloud/diagnostics.pyi +1 -1
  32. homeassistant-stubs/components/airzone_cloud/sensor.pyi +1 -1
  33. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +2 -0
  34. homeassistant-stubs/components/alert/__init__.pyi +3 -43
  35. homeassistant-stubs/components/alert/entity.pyi +45 -0
  36. homeassistant-stubs/components/alexa/capabilities.pyi +2 -1
  37. homeassistant-stubs/components/alexa/config.pyi +1 -1
  38. homeassistant-stubs/components/alexa/smart_home.pyi +1 -1
  39. homeassistant-stubs/components/amazon_polly/tts.pyi +3 -1
  40. homeassistant-stubs/components/amberelectric/__init__.pyi +5 -3
  41. homeassistant-stubs/components/amberelectric/binary_sensor.pyi +3 -3
  42. homeassistant-stubs/components/amberelectric/sensor.pyi +3 -3
  43. homeassistant-stubs/components/ambient_network/__init__.pyi +3 -3
  44. homeassistant-stubs/components/ambient_network/sensor.pyi +2 -3
  45. homeassistant-stubs/components/androidtv_remote/media_player.pyi +1 -2
  46. homeassistant-stubs/components/anova/__init__.pyi +3 -5
  47. homeassistant-stubs/components/anova/models.pyi +3 -0
  48. homeassistant-stubs/components/anova/sensor.pyi +2 -4
  49. homeassistant-stubs/components/anthemav/__init__.pyi +4 -3
  50. homeassistant-stubs/components/anthemav/media_player.pyi +2 -3
  51. homeassistant-stubs/components/apcupsd/__init__.pyi +3 -4
  52. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +2 -4
  53. homeassistant-stubs/components/apcupsd/diagnostics.pyi +2 -4
  54. homeassistant-stubs/components/apcupsd/sensor.pyi +3 -3
  55. homeassistant-stubs/components/apple_tv/__init__.pyi +2 -19
  56. homeassistant-stubs/components/apple_tv/const.pyi +2 -0
  57. homeassistant-stubs/components/apple_tv/entity.pyi +21 -0
  58. homeassistant-stubs/components/apple_tv/media_player.pyi +2 -1
  59. homeassistant-stubs/components/apple_tv/remote.pyi +2 -1
  60. homeassistant-stubs/components/arcam_fmj/media_player.pyi +1 -2
  61. homeassistant-stubs/components/arris_tg2492lg/device_tracker.pyi +1 -1
  62. homeassistant-stubs/components/aruba/device_tracker.pyi +1 -1
  63. homeassistant-stubs/components/assist_pipeline/__init__.pyi +4 -3
  64. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
  65. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
  66. homeassistant-stubs/components/assist_pipeline/repair_flows.pyi +11 -0
  67. homeassistant-stubs/components/assist_pipeline/select.pyi +1 -3
  68. homeassistant-stubs/components/assist_satellite/__init__.pyi +5 -0
  69. homeassistant-stubs/components/assist_satellite/connection_test.pyi +15 -0
  70. homeassistant-stubs/components/assist_satellite/const.pyi +12 -0
  71. homeassistant-stubs/components/assist_satellite/entity.pyi +88 -0
  72. homeassistant-stubs/components/assist_satellite/errors.pyi +4 -0
  73. homeassistant-stubs/components/assist_satellite/websocket_api.pyi +16 -0
  74. homeassistant-stubs/components/asuswrt/bridge.pyi +8 -1
  75. homeassistant-stubs/components/asuswrt/const.pyi +3 -0
  76. homeassistant-stubs/components/asuswrt/device_tracker.pyi +1 -3
  77. homeassistant-stubs/components/asuswrt/sensor.pyi +3 -2
  78. homeassistant-stubs/components/autarco/coordinator.pyi +6 -4
  79. homeassistant-stubs/components/autarco/sensor.pyi +18 -2
  80. homeassistant-stubs/components/automation/__init__.pyi +5 -3
  81. homeassistant-stubs/components/automation/config.pyi +6 -2
  82. homeassistant-stubs/components/automation/const.pyi +2 -0
  83. homeassistant-stubs/components/axis/hub/__init__.pyi +2 -0
  84. homeassistant-stubs/components/axis/hub/event_source.pyi +1 -1
  85. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +1 -0
  86. homeassistant-stubs/components/bang_olufsen/const.pyi +6 -0
  87. homeassistant-stubs/components/bang_olufsen/media_player.pyi +21 -4
  88. homeassistant-stubs/components/bang_olufsen/util.pyi +1 -0
  89. homeassistant-stubs/components/bang_olufsen/websocket.pyi +2 -1
  90. homeassistant-stubs/components/bayesian/binary_sensor.pyi +9 -4
  91. homeassistant-stubs/components/bayesian/const.pyi +1 -0
  92. homeassistant-stubs/components/bayesian/helpers.pyi +2 -1
  93. homeassistant-stubs/components/binary_sensor/__init__.pyi +2 -0
  94. homeassistant-stubs/components/blueprint/__init__.pyi +1 -1
  95. homeassistant-stubs/components/blueprint/importer.pyi +1 -1
  96. homeassistant-stubs/components/blueprint/models.pyi +4 -3
  97. homeassistant-stubs/components/blueprint/websocket_api.pyi +1 -0
  98. homeassistant-stubs/components/bluesound/__init__.pyi +25 -0
  99. homeassistant-stubs/components/bluesound/config_flow.pyi +24 -0
  100. homeassistant-stubs/components/bluesound/const.pyi +8 -0
  101. homeassistant-stubs/components/bluesound/media_player.pyi +136 -0
  102. homeassistant-stubs/components/bluesound/utils.pyi +3 -0
  103. homeassistant-stubs/components/bluetooth/manager.pyi +3 -0
  104. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +1 -3
  105. homeassistant-stubs/components/bmw_connected_drive/diagnostics.pyi +1 -1
  106. homeassistant-stubs/components/braviatv/entity.pyi +1 -1
  107. homeassistant-stubs/components/braviatv/media_player.pyi +1 -2
  108. homeassistant-stubs/components/bryant_evolution/config_flow.pyi +3 -1
  109. homeassistant-stubs/components/bthome/device_trigger.pyi +4 -3
  110. homeassistant-stubs/components/button/__init__.pyi +2 -0
  111. homeassistant-stubs/components/calendar/__init__.pyi +7 -5
  112. homeassistant-stubs/components/calendar/const.pyi +5 -0
  113. homeassistant-stubs/components/calendar/trigger.pyi +2 -1
  114. homeassistant-stubs/components/camera/__init__.pyi +4 -4
  115. homeassistant-stubs/components/camera/const.pyi +12 -2
  116. homeassistant-stubs/components/camera/media_source.pyi +2 -4
  117. homeassistant-stubs/components/cert_expiry/entity.pyi +8 -0
  118. homeassistant-stubs/components/cert_expiry/sensor.pyi +3 -8
  119. homeassistant-stubs/components/climate/__init__.pyi +6 -2
  120. homeassistant-stubs/components/climate/const.pyi +1 -0
  121. homeassistant-stubs/components/climate/intent.pyi +1 -3
  122. homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
  123. homeassistant-stubs/components/cloud/google_config.pyi +1 -1
  124. homeassistant-stubs/components/co2signal/__init__.pyi +0 -1
  125. homeassistant-stubs/components/co2signal/config_flow.pyi +2 -1
  126. homeassistant-stubs/components/config/automation.pyi +1 -1
  127. homeassistant-stubs/components/config/category_registry.pyi +1 -1
  128. homeassistant-stubs/components/config/device_registry.pyi +1 -1
  129. homeassistant-stubs/components/config/entity_registry.pyi +1 -2
  130. homeassistant-stubs/components/config/floor_registry.pyi +1 -1
  131. homeassistant-stubs/components/config/label_registry.pyi +1 -1
  132. homeassistant-stubs/components/config/scene.pyi +1 -1
  133. homeassistant-stubs/components/config/script.pyi +0 -1
  134. homeassistant-stubs/components/cover/__init__.pyi +3 -1
  135. homeassistant-stubs/components/cover/const.pyi +2 -0
  136. homeassistant-stubs/components/cover/intent.pyi +1 -4
  137. homeassistant-stubs/components/crownstone/{devices.pyi → entity.pyi} +1 -1
  138. homeassistant-stubs/components/crownstone/light.pyi +2 -2
  139. homeassistant-stubs/components/deako/__init__.pyi +14 -0
  140. homeassistant-stubs/components/deako/config_flow.pyi +6 -0
  141. homeassistant-stubs/components/deako/const.pyi +2 -0
  142. homeassistant-stubs/components/deako/light.pyi +32 -0
  143. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +3 -3
  144. homeassistant-stubs/components/deconz/binary_sensor.pyi +3 -3
  145. homeassistant-stubs/components/deconz/button.pyi +4 -4
  146. homeassistant-stubs/components/deconz/climate.pyi +3 -3
  147. homeassistant-stubs/components/deconz/cover.pyi +3 -3
  148. homeassistant-stubs/components/deconz/deconz_event.pyi +1 -1
  149. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -2
  150. homeassistant-stubs/components/deconz/fan.pyi +3 -3
  151. homeassistant-stubs/components/deconz/hub/__init__.pyi +2 -0
  152. homeassistant-stubs/components/deconz/light.pyi +3 -3
  153. homeassistant-stubs/components/deconz/lock.pyi +3 -3
  154. homeassistant-stubs/components/deconz/number.pyi +3 -3
  155. homeassistant-stubs/components/deconz/scene.pyi +3 -3
  156. homeassistant-stubs/components/deconz/select.pyi +6 -6
  157. homeassistant-stubs/components/deconz/sensor.pyi +6 -5
  158. homeassistant-stubs/components/deconz/siren.pyi +3 -3
  159. homeassistant-stubs/components/deconz/switch.pyi +3 -3
  160. homeassistant-stubs/components/demo/lock.pyi +1 -2
  161. homeassistant-stubs/components/demo/notify.pyi +1 -1
  162. homeassistant-stubs/components/derivative/sensor.pyi +1 -1
  163. homeassistant-stubs/components/device_automation/__init__.pyi +1 -1
  164. homeassistant-stubs/components/device_tracker/__init__.pyi +1 -1
  165. homeassistant-stubs/components/device_tracker/config_entry.pyi +30 -4
  166. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
  167. homeassistant-stubs/components/devolo_home_control/devolo_multi_level_switch.pyi +1 -1
  168. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
  169. homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
  170. homeassistant-stubs/components/devolo_home_network/__init__.pyi +1 -1
  171. homeassistant-stubs/components/devolo_home_network/const.pyi +1 -0
  172. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -6
  173. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -1
  174. homeassistant-stubs/components/devolo_home_network/sensor.pyi +19 -14
  175. homeassistant-stubs/components/dhcp/__init__.pyi +7 -1
  176. homeassistant-stubs/components/discovergy/config_flow.pyi +1 -0
  177. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -1
  178. homeassistant-stubs/components/dlna_dms/dms.pyi +1 -2
  179. homeassistant-stubs/components/dlna_dms/media_source.pyi +1 -2
  180. homeassistant-stubs/components/downloader/__init__.pyi +1 -9
  181. homeassistant-stubs/components/downloader/config_flow.pyi +0 -1
  182. homeassistant-stubs/components/dsmr/const.pyi +1 -0
  183. homeassistant-stubs/components/dsmr/sensor.pyi +4 -2
  184. homeassistant-stubs/components/efergy/__init__.pyi +0 -9
  185. homeassistant-stubs/components/efergy/entity.pyi +11 -0
  186. homeassistant-stubs/components/efergy/sensor.pyi +2 -1
  187. homeassistant-stubs/components/elevenlabs/__init__.pyi +1 -0
  188. homeassistant-stubs/components/elevenlabs/config_flow.pyi +8 -2
  189. homeassistant-stubs/components/elevenlabs/const.pyi +11 -0
  190. homeassistant-stubs/components/elevenlabs/tts.pyi +7 -3
  191. homeassistant-stubs/components/elkm1/__init__.pyi +1 -34
  192. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -1
  193. homeassistant-stubs/components/elkm1/binary_sensor.pyi +2 -1
  194. homeassistant-stubs/components/elkm1/climate.pyi +4 -1
  195. homeassistant-stubs/components/elkm1/entity.pyi +43 -0
  196. homeassistant-stubs/components/elkm1/light.pyi +2 -1
  197. homeassistant-stubs/components/elkm1/scene.pyi +2 -1
  198. homeassistant-stubs/components/elkm1/sensor.pyi +2 -1
  199. homeassistant-stubs/components/elkm1/switch.pyi +19 -1
  200. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +3 -1
  201. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +2 -0
  202. homeassistant-stubs/components/enphase_envoy/sensor.pyi +13 -1
  203. homeassistant-stubs/components/enphase_envoy/switch.pyi +1 -1
  204. homeassistant-stubs/components/esphome/__init__.pyi +3 -2
  205. homeassistant-stubs/components/esphome/assist_satellite.pyi +75 -0
  206. homeassistant-stubs/components/esphome/binary_sensor.pyi +3 -0
  207. homeassistant-stubs/components/esphome/const.pyi +1 -0
  208. homeassistant-stubs/components/esphome/entry_data.pyi +3 -2
  209. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +49 -0
  210. homeassistant-stubs/components/esphome/manager.pyi +2 -9
  211. homeassistant-stubs/components/esphome/media_player.pyi +7 -1
  212. homeassistant-stubs/components/esphome/repairs.pyi +5 -0
  213. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +0 -7
  214. homeassistant-stubs/components/evil_genius_labs/entity.pyi +9 -0
  215. homeassistant-stubs/components/evil_genius_labs/light.pyi +1 -1
  216. homeassistant-stubs/components/evil_genius_labs/util.pyi +1 -1
  217. homeassistant-stubs/components/evohome/const.pyi +5 -5
  218. homeassistant-stubs/components/fan/__init__.pyi +2 -0
  219. homeassistant-stubs/components/forecast_solar/coordinator.pyi +1 -1
  220. homeassistant-stubs/components/fritz/device_tracker.pyi +1 -3
  221. homeassistant-stubs/components/fritz/switch.pyi +1 -1
  222. homeassistant-stubs/components/fritzbox/__init__.pyi +1 -27
  223. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +1 -1
  224. homeassistant-stubs/components/fritzbox/button.pyi +1 -1
  225. homeassistant-stubs/components/fritzbox/climate.pyi +1 -1
  226. homeassistant-stubs/components/fritzbox/cover.pyi +1 -1
  227. homeassistant-stubs/components/fritzbox/entity.pyi +29 -0
  228. homeassistant-stubs/components/fritzbox/light.pyi +2 -2
  229. homeassistant-stubs/components/fritzbox/sensor.pyi +1 -1
  230. homeassistant-stubs/components/fritzbox/switch.pyi +1 -1
  231. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  232. homeassistant-stubs/components/frontend/storage.pyi +1 -1
  233. homeassistant-stubs/components/fujitsu_fglair/__init__.pyi +2 -1
  234. homeassistant-stubs/components/fujitsu_fglair/config_flow.pyi +3 -1
  235. homeassistant-stubs/components/fujitsu_fglair/const.pyi +3 -1
  236. homeassistant-stubs/components/fully_kiosk/diagnostics.pyi +1 -1
  237. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +6 -6
  238. homeassistant-stubs/components/geo_location/__init__.pyi +2 -0
  239. homeassistant-stubs/components/google/calendar.pyi +20 -6
  240. homeassistant-stubs/components/google_cloud/__init__.pyi +10 -0
  241. homeassistant-stubs/components/google_cloud/config_flow.pyi +27 -0
  242. homeassistant-stubs/components/google_cloud/const.pyi +19 -0
  243. homeassistant-stubs/components/google_cloud/helpers.pyi +14 -0
  244. homeassistant-stubs/components/google_cloud/stt.pyi +34 -0
  245. homeassistant-stubs/components/google_cloud/tts.pyi +47 -0
  246. homeassistant-stubs/components/google_photos/__init__.pyi +3 -0
  247. homeassistant-stubs/components/google_photos/api.pyi +15 -0
  248. homeassistant-stubs/components/google_photos/application_credentials.pyi +6 -0
  249. homeassistant-stubs/components/google_photos/config_flow.pyi +19 -0
  250. homeassistant-stubs/components/google_photos/const.pyi +8 -0
  251. homeassistant-stubs/components/google_photos/coordinator.pyi +17 -0
  252. homeassistant-stubs/components/google_photos/media_source.pyi +54 -0
  253. homeassistant-stubs/components/google_photos/services.pyi +15 -0
  254. homeassistant-stubs/components/google_photos/types.pyi +4 -0
  255. homeassistant-stubs/components/group/__init__.pyi +1 -3
  256. homeassistant-stubs/components/group/button.pyi +1 -1
  257. homeassistant-stubs/components/group/const.pyi +7 -3
  258. homeassistant-stubs/components/group/cover.pyi +1 -1
  259. homeassistant-stubs/components/group/entity.pyi +1 -1
  260. homeassistant-stubs/components/group/event.pyi +1 -1
  261. homeassistant-stubs/components/group/fan.pyi +1 -1
  262. homeassistant-stubs/components/group/lock.pyi +2 -2
  263. homeassistant-stubs/components/group/media_player.pyi +1 -1
  264. homeassistant-stubs/components/group/notify.pyi +1 -1
  265. homeassistant-stubs/components/group/registry.pyi +2 -1
  266. homeassistant-stubs/components/group/sensor.pyi +1 -1
  267. homeassistant-stubs/components/group/switch.pyi +1 -1
  268. homeassistant-stubs/components/guardian/__init__.pyi +0 -24
  269. homeassistant-stubs/components/guardian/binary_sensor.pyi +2 -1
  270. homeassistant-stubs/components/guardian/button.pyi +2 -1
  271. homeassistant-stubs/components/guardian/entity.pyi +29 -0
  272. homeassistant-stubs/components/guardian/sensor.pyi +2 -1
  273. homeassistant-stubs/components/guardian/switch.pyi +2 -1
  274. homeassistant-stubs/components/guardian/util.pyi +1 -1
  275. homeassistant-stubs/components/guardian/valve.pyi +2 -1
  276. homeassistant-stubs/components/history/websocket_api.pyi +1 -2
  277. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -1
  278. homeassistant-stubs/components/homeassistant/triggers/time.pyi +9 -1
  279. homeassistant-stubs/components/homekit/config_flow.pyi +3 -3
  280. homeassistant-stubs/components/homekit/type_covers.pyi +1 -1
  281. homeassistant-stubs/components/homekit/type_fans.pyi +1 -1
  282. homeassistant-stubs/components/homekit/type_humidifiers.pyi +1 -1
  283. homeassistant-stubs/components/homekit/type_lights.pyi +1 -1
  284. homeassistant-stubs/components/homekit/type_locks.pyi +1 -1
  285. homeassistant-stubs/components/homekit/type_media_players.pyi +1 -1
  286. homeassistant-stubs/components/homekit/type_security_systems.pyi +1 -1
  287. homeassistant-stubs/components/homekit/type_switches.pyi +0 -1
  288. homeassistant-stubs/components/homekit/util.pyi +1 -0
  289. homeassistant-stubs/components/homekit_controller/config_flow.pyi +0 -1
  290. homeassistant-stubs/components/homekit_controller/lock.pyi +3 -3
  291. homeassistant-stubs/components/homeworks/__init__.pyi +0 -15
  292. homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -1
  293. homeassistant-stubs/components/homeworks/button.pyi +2 -1
  294. homeassistant-stubs/components/homeworks/config_flow.pyi +6 -2
  295. homeassistant-stubs/components/homeworks/entity.pyi +16 -0
  296. homeassistant-stubs/components/homeworks/light.pyi +2 -1
  297. homeassistant-stubs/components/homeworks/util.pyi +1 -0
  298. homeassistant-stubs/components/http/__init__.pyi +1 -1
  299. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -24
  300. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +1 -1
  301. homeassistant-stubs/components/huawei_lte/button.pyi +1 -1
  302. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +3 -4
  303. homeassistant-stubs/components/huawei_lte/entity.pyi +31 -0
  304. homeassistant-stubs/components/huawei_lte/select.pyi +2 -1
  305. homeassistant-stubs/components/huawei_lte/sensor.pyi +2 -1
  306. homeassistant-stubs/components/huawei_lte/switch.pyi +1 -1
  307. homeassistant-stubs/components/humidifier/__init__.pyi +7 -2
  308. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -0
  309. homeassistant-stubs/components/husqvarna_automower/button.pyi +20 -6
  310. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +21 -0
  311. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -0
  312. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +1 -3
  313. homeassistant-stubs/components/husqvarna_automower/entity.pyi +16 -2
  314. homeassistant-stubs/components/husqvarna_automower/number.pyi +4 -10
  315. homeassistant-stubs/components/husqvarna_automower/switch.pyi +12 -1
  316. homeassistant-stubs/components/image/__init__.pyi +1 -1
  317. homeassistant-stubs/components/image/const.pyi +4 -0
  318. homeassistant-stubs/components/image/media_source.pyi +2 -5
  319. homeassistant-stubs/components/ios/__init__.pyi +1 -15
  320. homeassistant-stubs/components/ios/const.pyi +16 -0
  321. homeassistant-stubs/components/ios/notify.pyi +1 -1
  322. homeassistant-stubs/components/ios/sensor.pyi +2 -2
  323. homeassistant-stubs/components/iotty/cover.pyi +36 -0
  324. homeassistant-stubs/components/iotty/entity.pyi +19 -0
  325. homeassistant-stubs/components/iotty/switch.pyi +2 -11
  326. homeassistant-stubs/components/iqvia/__init__.pyi +2 -15
  327. homeassistant-stubs/components/iqvia/entity.pyi +18 -0
  328. homeassistant-stubs/components/iqvia/sensor.pyi +1 -1
  329. homeassistant-stubs/components/isy994/const.pyi +2 -1
  330. homeassistant-stubs/components/jellyfin/browse_media.pyi +1 -2
  331. homeassistant-stubs/components/jellyfin/media_player.pyi +1 -2
  332. homeassistant-stubs/components/jellyfin/media_source.pyi +1 -1
  333. homeassistant-stubs/components/jellyfin/sensor.pyi +1 -0
  334. homeassistant-stubs/components/knx/__init__.pyi +4 -2
  335. homeassistant-stubs/components/knx/binary_sensor.pyi +2 -2
  336. homeassistant-stubs/components/knx/button.pyi +2 -2
  337. homeassistant-stubs/components/knx/climate.pyi +9 -3
  338. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  339. homeassistant-stubs/components/knx/const.pyi +9 -3
  340. homeassistant-stubs/components/knx/cover.pyi +2 -2
  341. homeassistant-stubs/components/knx/date.pyi +2 -2
  342. homeassistant-stubs/components/knx/datetime.pyi +2 -2
  343. homeassistant-stubs/components/knx/device_trigger.pyi +3 -5
  344. homeassistant-stubs/components/knx/diagnostics.pyi +1 -1
  345. homeassistant-stubs/components/knx/fan.pyi +2 -2
  346. homeassistant-stubs/components/knx/light.pyi +2 -2
  347. homeassistant-stubs/components/knx/notify.pyi +2 -2
  348. homeassistant-stubs/components/knx/number.pyi +2 -2
  349. homeassistant-stubs/components/knx/scene.pyi +2 -2
  350. homeassistant-stubs/components/knx/schema.pyi +8 -2
  351. homeassistant-stubs/components/knx/select.pyi +2 -2
  352. homeassistant-stubs/components/knx/sensor.pyi +2 -2
  353. homeassistant-stubs/components/knx/services.pyi +1 -1
  354. homeassistant-stubs/components/knx/switch.pyi +2 -2
  355. homeassistant-stubs/components/knx/text.pyi +2 -2
  356. homeassistant-stubs/components/knx/time.pyi +2 -2
  357. homeassistant-stubs/components/knx/weather.pyi +2 -2
  358. homeassistant-stubs/components/knx/websocket.pyi +1 -1
  359. homeassistant-stubs/components/lamarzocco/config_flow.pyi +5 -1
  360. homeassistant-stubs/components/laundrify/__init__.pyi +2 -0
  361. homeassistant-stubs/components/laundrify/binary_sensor.pyi +0 -1
  362. homeassistant-stubs/components/laundrify/config_flow.pyi +1 -0
  363. homeassistant-stubs/components/laundrify/sensor.pyi +41 -0
  364. homeassistant-stubs/components/lawn_mower/__init__.pyi +2 -0
  365. homeassistant-stubs/components/lcn/__init__.pyi +8 -30
  366. homeassistant-stubs/components/lcn/binary_sensor.pyi +7 -7
  367. homeassistant-stubs/components/lcn/climate.pyi +5 -5
  368. homeassistant-stubs/components/lcn/config_flow.pyi +8 -3
  369. homeassistant-stubs/components/lcn/const.pyi +1 -0
  370. homeassistant-stubs/components/lcn/cover.pyi +6 -6
  371. homeassistant-stubs/components/lcn/entity.pyi +28 -0
  372. homeassistant-stubs/components/lcn/helpers.pyi +2 -2
  373. homeassistant-stubs/components/lcn/light.pyi +6 -6
  374. homeassistant-stubs/components/lcn/scene.pyi +4 -5
  375. homeassistant-stubs/components/lcn/sensor.pyi +6 -6
  376. homeassistant-stubs/components/lcn/services.pyi +16 -0
  377. homeassistant-stubs/components/lcn/switch.pyi +6 -6
  378. homeassistant-stubs/components/lcn/websocket.pyi +3 -1
  379. homeassistant-stubs/components/lektrico/__init__.pyi +12 -0
  380. homeassistant-stubs/components/lektrico/button.pyi +27 -0
  381. homeassistant-stubs/components/lektrico/config_flow.pyi +24 -0
  382. homeassistant-stubs/components/lektrico/const.pyi +4 -0
  383. homeassistant-stubs/components/lektrico/coordinator.pyi +19 -0
  384. homeassistant-stubs/components/lektrico/entity.pyi +10 -0
  385. homeassistant-stubs/components/lektrico/number.pyi +29 -0
  386. homeassistant-stubs/components/lektrico/select.pyi +30 -0
  387. homeassistant-stubs/components/lektrico/sensor.pyi +34 -0
  388. homeassistant-stubs/components/lidarr/__init__.pyi +2 -11
  389. homeassistant-stubs/components/lidarr/entity.pyi +13 -0
  390. homeassistant-stubs/components/lidarr/sensor.pyi +2 -1
  391. homeassistant-stubs/components/light/__init__.pyi +4 -2
  392. homeassistant-stubs/components/linkplay/const.pyi +1 -1
  393. homeassistant-stubs/components/linkplay/media_player.pyi +9 -3
  394. homeassistant-stubs/components/linkplay/utils.pyi +1 -1
  395. homeassistant-stubs/components/local_todo/todo.pyi +1 -0
  396. homeassistant-stubs/components/lock/__init__.pyi +4 -2
  397. homeassistant-stubs/components/lock/const.pyi +11 -0
  398. homeassistant-stubs/components/lock/device_condition.pyi +2 -2
  399. homeassistant-stubs/components/lock/device_trigger.pyi +2 -2
  400. homeassistant-stubs/components/lock/reproduce_state.pyi +2 -2
  401. homeassistant-stubs/components/logbook/websocket_api.pyi +1 -2
  402. homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
  403. homeassistant-stubs/components/madvr/__init__.pyi +1 -1
  404. homeassistant-stubs/components/madvr/config_flow.pyi +2 -1
  405. homeassistant-stubs/components/madvr/diagnostics.pyi +10 -0
  406. homeassistant-stubs/components/matter/button.pyi +25 -0
  407. homeassistant-stubs/components/matter/entity.pyi +1 -4
  408. homeassistant-stubs/components/matter/light.pyi +0 -1
  409. homeassistant-stubs/components/matter/models.pyi +5 -3
  410. homeassistant-stubs/components/matter/number.pyi +2 -2
  411. homeassistant-stubs/components/matter/sensor.pyi +9 -0
  412. homeassistant-stubs/components/matter/valve.pyi +33 -0
  413. homeassistant-stubs/components/media_player/__init__.pyi +11 -4
  414. homeassistant-stubs/components/media_player/const.pyi +67 -63
  415. homeassistant-stubs/components/mikrotik/device_tracker.pyi +1 -3
  416. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -0
  417. homeassistant-stubs/components/minecraft_server/diagnostics.pyi +1 -1
  418. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -1
  419. homeassistant-stubs/components/modbus/climate.pyi +1 -1
  420. homeassistant-stubs/components/modbus/cover.pyi +1 -1
  421. homeassistant-stubs/components/modbus/fan.pyi +1 -1
  422. homeassistant-stubs/components/modbus/light.pyi +1 -1
  423. homeassistant-stubs/components/modbus/sensor.pyi +1 -1
  424. homeassistant-stubs/components/modbus/switch.pyi +1 -1
  425. homeassistant-stubs/components/mold_indicator/__init__.pyi +10 -0
  426. homeassistant-stubs/components/mold_indicator/config_flow.pyi +20 -0
  427. homeassistant-stubs/components/mold_indicator/const.pyi +6 -0
  428. homeassistant-stubs/components/mold_indicator/sensor.pyi +60 -0
  429. homeassistant-stubs/components/mopeka/__init__.pyi +1 -1
  430. homeassistant-stubs/components/motionmount/entity.pyi +3 -0
  431. homeassistant-stubs/components/motionmount/number.pyi +1 -0
  432. homeassistant-stubs/components/motionmount/select.pyi +5 -0
  433. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -1
  434. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -1
  435. homeassistant-stubs/components/mqtt/button.pyi +1 -1
  436. homeassistant-stubs/components/mqtt/camera.pyi +1 -1
  437. homeassistant-stubs/components/mqtt/climate.pyi +1 -6
  438. homeassistant-stubs/components/mqtt/config_flow.pyi +1 -2
  439. homeassistant-stubs/components/mqtt/cover.pyi +1 -1
  440. homeassistant-stubs/components/mqtt/device_automation.pyi +1 -1
  441. homeassistant-stubs/components/mqtt/device_tracker.pyi +3 -3
  442. homeassistant-stubs/components/mqtt/device_trigger.pyi +1 -1
  443. homeassistant-stubs/components/mqtt/discovery.pyi +1 -1
  444. homeassistant-stubs/components/mqtt/{mixins.pyi → entity.pyi} +0 -3
  445. homeassistant-stubs/components/mqtt/event.pyi +1 -1
  446. homeassistant-stubs/components/mqtt/fan.pyi +1 -1
  447. homeassistant-stubs/components/mqtt/humidifier.pyi +1 -1
  448. homeassistant-stubs/components/mqtt/image.pyi +1 -1
  449. homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -1
  450. homeassistant-stubs/components/mqtt/light/__init__.pyi +1 -1
  451. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +1 -1
  452. homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -1
  453. homeassistant-stubs/components/mqtt/light/schema_template.pyi +1 -1
  454. homeassistant-stubs/components/mqtt/lock.pyi +1 -1
  455. homeassistant-stubs/components/mqtt/notify.pyi +1 -1
  456. homeassistant-stubs/components/mqtt/number.pyi +1 -1
  457. homeassistant-stubs/components/mqtt/scene.pyi +1 -1
  458. homeassistant-stubs/components/mqtt/select.pyi +1 -1
  459. homeassistant-stubs/components/mqtt/sensor.pyi +1 -1
  460. homeassistant-stubs/components/mqtt/siren.pyi +1 -1
  461. homeassistant-stubs/components/mqtt/switch.pyi +1 -1
  462. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  463. homeassistant-stubs/components/mqtt/text.pyi +1 -1
  464. homeassistant-stubs/components/mqtt/trigger.pyi +3 -2
  465. homeassistant-stubs/components/mqtt/update.pyi +1 -1
  466. homeassistant-stubs/components/mqtt/vacuum.pyi +1 -1
  467. homeassistant-stubs/components/mqtt/valve.pyi +3 -3
  468. homeassistant-stubs/components/mqtt/water_heater.pyi +1 -1
  469. homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
  470. homeassistant-stubs/components/mysensors/binary_sensor.pyi +3 -2
  471. homeassistant-stubs/components/mysensors/climate.pyi +3 -2
  472. homeassistant-stubs/components/mysensors/cover.pyi +3 -2
  473. homeassistant-stubs/components/mysensors/device_tracker.pyi +5 -10
  474. homeassistant-stubs/components/mysensors/handler.pyi +1 -1
  475. homeassistant-stubs/components/mysensors/light.pyi +3 -3
  476. homeassistant-stubs/components/mysensors/remote.pyi +1 -1
  477. homeassistant-stubs/components/mysensors/sensor.pyi +4 -3
  478. homeassistant-stubs/components/mysensors/switch.pyi +1 -1
  479. homeassistant-stubs/components/mysensors/text.pyi +2 -2
  480. homeassistant-stubs/components/nanoleaf/device_trigger.pyi +1 -2
  481. homeassistant-stubs/components/nest/device_trigger.pyi +1 -2
  482. homeassistant-stubs/components/nest/media_source.pyi +1 -2
  483. homeassistant-stubs/components/netatmo/device_trigger.pyi +1 -2
  484. homeassistant-stubs/components/netatmo/media_source.pyi +1 -2
  485. homeassistant-stubs/components/network/websocket.pyi +1 -1
  486. homeassistant-stubs/components/nextdns/__init__.pyi +1 -1
  487. homeassistant-stubs/components/nextdns/config_flow.pyi +11 -1
  488. homeassistant-stubs/components/nextdns/coordinator.pyi +1 -0
  489. homeassistant-stubs/components/nissan_leaf/__init__.pyi +3 -14
  490. homeassistant-stubs/components/nissan_leaf/binary_sensor.pyi +2 -1
  491. homeassistant-stubs/components/nissan_leaf/button.pyi +2 -1
  492. homeassistant-stubs/components/nissan_leaf/const.pyi +1 -0
  493. homeassistant-stubs/components/nissan_leaf/entity.pyi +18 -0
  494. homeassistant-stubs/components/nissan_leaf/sensor.pyi +2 -1
  495. homeassistant-stubs/components/nissan_leaf/switch.pyi +2 -1
  496. homeassistant-stubs/components/notify/__init__.pyi +3 -2
  497. homeassistant-stubs/components/notify/legacy.pyi +5 -6
  498. homeassistant-stubs/components/notify/repairs.pyi +1 -2
  499. homeassistant-stubs/components/notion/__init__.pyi +1 -23
  500. homeassistant-stubs/components/notion/binary_sensor.pyi +1 -2
  501. homeassistant-stubs/components/notion/entity.pyi +33 -0
  502. homeassistant-stubs/components/notion/sensor.pyi +1 -2
  503. homeassistant-stubs/components/onewire/binary_sensor.pyi +1 -1
  504. homeassistant-stubs/components/onewire/sensor.pyi +1 -1
  505. homeassistant-stubs/components/onewire/switch.pyi +1 -1
  506. homeassistant-stubs/components/onkyo/media_player.pyi +84 -0
  507. homeassistant-stubs/components/onkyo/receiver.pyi +19 -0
  508. homeassistant-stubs/components/openuv/__init__.pyi +0 -11
  509. homeassistant-stubs/components/openuv/binary_sensor.pyi +1 -1
  510. homeassistant-stubs/components/openuv/entity.pyi +14 -0
  511. homeassistant-stubs/components/openuv/sensor.pyi +1 -1
  512. homeassistant-stubs/components/otbr/config_flow.pyi +3 -2
  513. homeassistant-stubs/components/overkiz/{climate_entities → climate}/__init__.pyi +9 -0
  514. homeassistant-stubs/components/overkiz/{water_heater.pyi → cover/__init__.pyi} +5 -4
  515. homeassistant-stubs/components/overkiz/executor.pyi +1 -1
  516. homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +17 -0
  517. homeassistant-stubs/components/pi_hole/__init__.pyi +1 -10
  518. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +2 -1
  519. homeassistant-stubs/components/pi_hole/entity.pyi +13 -0
  520. homeassistant-stubs/components/pi_hole/sensor.pyi +2 -1
  521. homeassistant-stubs/components/pi_hole/switch.pyi +2 -1
  522. homeassistant-stubs/components/pi_hole/update.pyi +2 -1
  523. homeassistant-stubs/components/ping/binary_sensor.pyi +0 -8
  524. homeassistant-stubs/components/ping/device_tracker.pyi +1 -3
  525. homeassistant-stubs/components/plugwise/binary_sensor.pyi +1 -1
  526. homeassistant-stubs/components/prusalink/__init__.pyi +1 -8
  527. homeassistant-stubs/components/prusalink/binary_sensor.pyi +1 -1
  528. homeassistant-stubs/components/prusalink/button.pyi +1 -1
  529. homeassistant-stubs/components/prusalink/camera.pyi +1 -1
  530. homeassistant-stubs/components/prusalink/entity.pyi +9 -0
  531. homeassistant-stubs/components/prusalink/sensor.pyi +1 -1
  532. homeassistant-stubs/components/purpleair/__init__.pyi +1 -17
  533. homeassistant-stubs/components/purpleair/entity.pyi +21 -0
  534. homeassistant-stubs/components/purpleair/sensor.pyi +1 -1
  535. homeassistant-stubs/components/qnap_qsw/diagnostics.pyi +1 -1
  536. homeassistant-stubs/components/radarr/__init__.pyi +2 -15
  537. homeassistant-stubs/components/radarr/binary_sensor.pyi +2 -1
  538. homeassistant-stubs/components/radarr/calendar.pyi +2 -1
  539. homeassistant-stubs/components/radarr/entity.pyi +16 -0
  540. homeassistant-stubs/components/radarr/sensor.pyi +2 -1
  541. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -18
  542. homeassistant-stubs/components/rainmachine/binary_sensor.pyi +2 -2
  543. homeassistant-stubs/components/rainmachine/button.pyi +2 -2
  544. homeassistant-stubs/components/rainmachine/entity.pyi +30 -0
  545. homeassistant-stubs/components/rainmachine/select.pyi +2 -2
  546. homeassistant-stubs/components/rainmachine/sensor.pyi +2 -2
  547. homeassistant-stubs/components/rainmachine/switch.pyi +2 -2
  548. homeassistant-stubs/components/rainmachine/update.pyi +2 -2
  549. homeassistant-stubs/components/recorder/const.pyi +2 -2
  550. homeassistant-stubs/components/recorder/core.pyi +3 -7
  551. homeassistant-stubs/components/recorder/history/legacy.pyi +9 -10
  552. homeassistant-stubs/components/recorder/history/modern.pyi +1 -1
  553. homeassistant-stubs/components/recorder/migration.pyi +28 -25
  554. homeassistant-stubs/components/recorder/models/__init__.pyi +2 -2
  555. homeassistant-stubs/components/recorder/models/legacy.pyi +1 -37
  556. homeassistant-stubs/components/recorder/models/time.pyi +0 -1
  557. homeassistant-stubs/components/recorder/statistics.pyi +2 -1
  558. homeassistant-stubs/components/recorder/tasks.pyi +4 -17
  559. homeassistant-stubs/components/recorder/util.pyi +6 -2
  560. homeassistant-stubs/components/recorder/websocket_api.pyi +6 -3
  561. homeassistant-stubs/components/remote/__init__.pyi +2 -0
  562. homeassistant-stubs/components/renault/device_tracker.pyi +8 -4
  563. homeassistant-stubs/components/renault/renault_hub.pyi +1 -1
  564. homeassistant-stubs/components/renault/renault_vehicle.pyi +2 -0
  565. homeassistant-stubs/components/renault/services.pyi +4 -0
  566. homeassistant-stubs/components/rfxtrx/__init__.pyi +2 -27
  567. homeassistant-stubs/components/rfxtrx/binary_sensor.pyi +2 -1
  568. homeassistant-stubs/components/rfxtrx/const.pyi +1 -0
  569. homeassistant-stubs/components/rfxtrx/cover.pyi +2 -1
  570. homeassistant-stubs/components/rfxtrx/device_action.pyi +1 -1
  571. homeassistant-stubs/components/rfxtrx/device_trigger.pyi +1 -2
  572. homeassistant-stubs/components/rfxtrx/entity.pyi +33 -0
  573. homeassistant-stubs/components/rfxtrx/event.pyi +2 -1
  574. homeassistant-stubs/components/rfxtrx/light.pyi +2 -1
  575. homeassistant-stubs/components/rfxtrx/sensor.pyi +2 -1
  576. homeassistant-stubs/components/rfxtrx/siren.pyi +2 -1
  577. homeassistant-stubs/components/rfxtrx/switch.pyi +3 -2
  578. homeassistant-stubs/components/ring/__init__.pyi +10 -9
  579. homeassistant-stubs/components/ring/binary_sensor.pyi +24 -20
  580. homeassistant-stubs/components/ring/button.pyi +2 -4
  581. homeassistant-stubs/components/ring/camera.pyi +2 -4
  582. homeassistant-stubs/components/ring/config_flow.pyi +2 -1
  583. homeassistant-stubs/components/ring/const.pyi +1 -1
  584. homeassistant-stubs/components/ring/coordinator.pyi +22 -7
  585. homeassistant-stubs/components/ring/diagnostics.pyi +2 -4
  586. homeassistant-stubs/components/ring/entity.pyi +27 -7
  587. homeassistant-stubs/components/ring/event.pyi +30 -0
  588. homeassistant-stubs/components/ring/light.pyi +2 -4
  589. homeassistant-stubs/components/ring/number.pyi +33 -0
  590. homeassistant-stubs/components/ring/sensor.pyi +6 -8
  591. homeassistant-stubs/components/ring/siren.pyi +30 -14
  592. homeassistant-stubs/components/ring/switch.pyi +25 -17
  593. homeassistant-stubs/components/roborock/binary_sensor.pyi +1 -1
  594. homeassistant-stubs/components/roborock/button.pyi +1 -1
  595. homeassistant-stubs/components/roborock/diagnostics.pyi +1 -1
  596. homeassistant-stubs/components/roborock/image.pyi +1 -1
  597. homeassistant-stubs/components/roborock/number.pyi +3 -2
  598. homeassistant-stubs/components/roborock/select.pyi +2 -1
  599. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  600. homeassistant-stubs/components/roborock/switch.pyi +3 -2
  601. homeassistant-stubs/components/roborock/time.pyi +3 -2
  602. homeassistant-stubs/components/roborock/vacuum.pyi +1 -1
  603. homeassistant-stubs/components/samsungtv/device_trigger.pyi +1 -2
  604. homeassistant-stubs/components/scene/__init__.pyi +2 -0
  605. homeassistant-stubs/components/schedule/__init__.pyi +5 -1
  606. homeassistant-stubs/components/schedule/const.pyi +1 -0
  607. homeassistant-stubs/components/script/helpers.pyi +1 -1
  608. homeassistant-stubs/components/sensibo/diagnostics.pyi +1 -1
  609. homeassistant-stubs/components/sensor/device_condition.pyi +1 -2
  610. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -2
  611. homeassistant-stubs/components/sensor/recorder.pyi +10 -6
  612. homeassistant-stubs/components/sensoterra/__init__.pyi +10 -0
  613. homeassistant-stubs/components/sensoterra/config_flow.pyi +11 -0
  614. homeassistant-stubs/components/sensoterra/const.pyi +9 -0
  615. homeassistant-stubs/components/sensoterra/coordinator.pyi +15 -0
  616. homeassistant-stubs/components/sensoterra/sensor.pyi +39 -0
  617. homeassistant-stubs/components/shelly/cover.pyi +7 -1
  618. homeassistant-stubs/components/shelly/device_trigger.pyi +1 -2
  619. homeassistant-stubs/components/shelly/update.pyi +1 -0
  620. homeassistant-stubs/components/simplisafe/__init__.pyi +4 -38
  621. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +2 -1
  622. homeassistant-stubs/components/simplisafe/binary_sensor.pyi +2 -1
  623. homeassistant-stubs/components/simplisafe/button.pyi +2 -1
  624. homeassistant-stubs/components/simplisafe/const.pyi +6 -0
  625. homeassistant-stubs/components/simplisafe/entity.pyi +38 -0
  626. homeassistant-stubs/components/simplisafe/lock.pyi +2 -1
  627. homeassistant-stubs/components/simplisafe/sensor.pyi +2 -1
  628. homeassistant-stubs/components/siren/__init__.pyi +2 -0
  629. homeassistant-stubs/components/slack/__init__.pyi +1 -13
  630. homeassistant-stubs/components/slack/entity.pyi +15 -0
  631. homeassistant-stubs/components/slack/sensor.pyi +1 -1
  632. homeassistant-stubs/components/smlight/__init__.pyi +18 -0
  633. homeassistant-stubs/components/smlight/binary_sensor.pyi +46 -0
  634. homeassistant-stubs/components/smlight/button.pyi +32 -0
  635. homeassistant-stubs/components/smlight/config_flow.pyi +27 -0
  636. homeassistant-stubs/components/smlight/const.pyi +11 -0
  637. homeassistant-stubs/components/smlight/coordinator.pyi +49 -0
  638. homeassistant-stubs/components/smlight/diagnostics.pyi +5 -0
  639. homeassistant-stubs/components/smlight/entity.pyi +10 -0
  640. homeassistant-stubs/components/smlight/sensor.pyi +56 -0
  641. homeassistant-stubs/components/smlight/switch.pyi +39 -0
  642. homeassistant-stubs/components/smlight/update.pyi +48 -0
  643. homeassistant-stubs/components/solarlog/__init__.pyi +14 -0
  644. homeassistant-stubs/components/solarlog/config_flow.pyi +27 -0
  645. homeassistant-stubs/components/solarlog/const.pyi +4 -0
  646. homeassistant-stubs/components/solarlog/coordinator.pyi +19 -0
  647. homeassistant-stubs/components/solarlog/diagnostics.pyi +10 -0
  648. homeassistant-stubs/components/solarlog/entity.pyi +23 -0
  649. homeassistant-stubs/components/solarlog/sensor.pyi +36 -0
  650. homeassistant-stubs/components/squeezebox/__init__.pyi +24 -0
  651. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +17 -0
  652. homeassistant-stubs/components/squeezebox/browse_media.pyi +18 -0
  653. homeassistant-stubs/components/squeezebox/config_flow.pyi +27 -0
  654. homeassistant-stubs/components/squeezebox/const.pyi +29 -0
  655. homeassistant-stubs/components/squeezebox/coordinator.pyi +14 -0
  656. homeassistant-stubs/components/squeezebox/entity.pyi +14 -0
  657. homeassistant-stubs/components/squeezebox/media_player.pyi +111 -0
  658. homeassistant-stubs/components/squeezebox/sensor.pyi +18 -0
  659. homeassistant-stubs/components/ssdp/__init__.pyi +3 -1
  660. homeassistant-stubs/components/starlink/device_tracker.pyi +2 -5
  661. homeassistant-stubs/components/starlink/diagnostics.pyi +1 -1
  662. homeassistant-stubs/components/stt/const.pyi +6 -2
  663. homeassistant-stubs/components/surepetcare/lock.pyi +3 -4
  664. homeassistant-stubs/components/switch/__init__.pyi +2 -0
  665. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  666. homeassistant-stubs/components/switchbot_cloud/const.pyi +4 -0
  667. homeassistant-stubs/components/switchbot_cloud/entity.pyi +1 -1
  668. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +32 -0
  669. homeassistant-stubs/components/switcher_kis/__init__.pyi +1 -1
  670. homeassistant-stubs/components/switcher_kis/config_flow.pyi +23 -2
  671. homeassistant-stubs/components/switcher_kis/coordinator.pyi +2 -0
  672. homeassistant-stubs/components/switcher_kis/cover.pyi +2 -1
  673. homeassistant-stubs/components/switcher_kis/utils.pyi +1 -1
  674. homeassistant-stubs/components/tailscale/__init__.pyi +0 -13
  675. homeassistant-stubs/components/tailscale/binary_sensor.pyi +1 -1
  676. homeassistant-stubs/components/tailscale/config_flow.pyi +2 -0
  677. homeassistant-stubs/components/tailscale/entity.pyi +15 -0
  678. homeassistant-stubs/components/tailscale/sensor.pyi +1 -1
  679. homeassistant-stubs/components/tailwind/cover.pyi +1 -1
  680. homeassistant-stubs/components/tami4/button.pyi +14 -1
  681. homeassistant-stubs/components/tautulli/__init__.pyi +0 -13
  682. homeassistant-stubs/components/tautulli/entity.pyi +15 -0
  683. homeassistant-stubs/components/tautulli/sensor.pyi +2 -1
  684. homeassistant-stubs/components/tcp/binary_sensor.pyi +2 -1
  685. homeassistant-stubs/components/tcp/common.pyi +0 -17
  686. homeassistant-stubs/components/tcp/entity.pyi +21 -0
  687. homeassistant-stubs/components/tcp/sensor.pyi +2 -1
  688. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -17
  689. homeassistant-stubs/components/threshold/const.pyi +20 -5
  690. homeassistant-stubs/components/tibber/services.pyi +2 -2
  691. homeassistant-stubs/components/tile/device_tracker.pyi +1 -3
  692. homeassistant-stubs/components/todo/__init__.pyi +1 -1
  693. homeassistant-stubs/components/todo/const.pyi +4 -0
  694. homeassistant-stubs/components/todo/intent.pyi +2 -2
  695. homeassistant-stubs/components/tolo/__init__.pyi +3 -22
  696. homeassistant-stubs/components/tolo/binary_sensor.pyi +2 -1
  697. homeassistant-stubs/components/tolo/button.pyi +2 -1
  698. homeassistant-stubs/components/tolo/climate.pyi +2 -1
  699. homeassistant-stubs/components/tolo/coordinator.pyi +20 -0
  700. homeassistant-stubs/components/tolo/entity.pyi +11 -0
  701. homeassistant-stubs/components/tolo/fan.pyi +2 -1
  702. homeassistant-stubs/components/tolo/light.pyi +2 -1
  703. homeassistant-stubs/components/tolo/number.pyi +2 -1
  704. homeassistant-stubs/components/tolo/select.pyi +2 -1
  705. homeassistant-stubs/components/tolo/sensor.pyi +2 -1
  706. homeassistant-stubs/components/tolo/switch.pyi +2 -1
  707. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -1
  708. homeassistant-stubs/components/tplink/button.pyi +2 -1
  709. homeassistant-stubs/components/tplink/deprecate.pyi +18 -0
  710. homeassistant-stubs/components/tplink/entity.pyi +8 -4
  711. homeassistant-stubs/components/tplink/number.pyi +3 -1
  712. homeassistant-stubs/components/tplink/select.pyi +1 -1
  713. homeassistant-stubs/components/tplink/sensor.pyi +2 -1
  714. homeassistant-stubs/components/tplink/siren.pyi +22 -0
  715. homeassistant-stubs/components/tplink/switch.pyi +1 -1
  716. homeassistant-stubs/components/tplink_omada/__init__.pyi +2 -0
  717. homeassistant-stubs/components/tplink_omada/controller.pyi +10 -5
  718. homeassistant-stubs/components/tplink_omada/coordinator.pyi +7 -2
  719. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +1 -3
  720. homeassistant-stubs/components/tplink_omada/entity.pyi +0 -1
  721. homeassistant-stubs/components/tplink_omada/update.pyi +8 -7
  722. homeassistant-stubs/components/trace/__init__.pyi +1 -2
  723. homeassistant-stubs/components/trace/const.pyi +7 -3
  724. homeassistant-stubs/components/tractive/device_tracker.pyi +3 -9
  725. homeassistant-stubs/components/tradfri/cover.pyi +1 -1
  726. homeassistant-stubs/components/tradfri/fan.pyi +1 -1
  727. homeassistant-stubs/components/tradfri/light.pyi +1 -1
  728. homeassistant-stubs/components/tradfri/sensor.pyi +1 -1
  729. homeassistant-stubs/components/tradfri/switch.pyi +1 -1
  730. homeassistant-stubs/components/tts/__init__.pyi +2 -1
  731. homeassistant-stubs/components/tts/const.pyi +6 -1
  732. homeassistant-stubs/components/tts/helper.pyi +2 -3
  733. homeassistant-stubs/components/tts/legacy.pyi +0 -1
  734. homeassistant-stubs/components/tts/media_source.pyi +3 -3
  735. homeassistant-stubs/components/unifi/device_tracker.pyi +2 -4
  736. homeassistant-stubs/components/unifi/hub/__init__.pyi +2 -0
  737. homeassistant-stubs/components/unifi/switch.pyi +1 -1
  738. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +1 -2
  739. homeassistant-stubs/components/unifiprotect/button.pyi +1 -2
  740. homeassistant-stubs/components/unifiprotect/entity.pyi +40 -3
  741. homeassistant-stubs/components/unifiprotect/event.pyi +1 -2
  742. homeassistant-stubs/components/unifiprotect/media_source.pyi +1 -1
  743. homeassistant-stubs/components/unifiprotect/number.pyi +1 -2
  744. homeassistant-stubs/components/unifiprotect/select.pyi +1 -2
  745. homeassistant-stubs/components/unifiprotect/sensor.pyi +1 -2
  746. homeassistant-stubs/components/unifiprotect/switch.pyi +1 -2
  747. homeassistant-stubs/components/unifiprotect/text.pyi +1 -2
  748. homeassistant-stubs/components/upcloud/__init__.pyi +2 -37
  749. homeassistant-stubs/components/upcloud/binary_sensor.pyi +2 -1
  750. homeassistant-stubs/components/upcloud/const.pyi +1 -0
  751. homeassistant-stubs/components/upcloud/entity.pyi +38 -0
  752. homeassistant-stubs/components/upcloud/switch.pyi +4 -1
  753. homeassistant-stubs/components/update/__init__.pyi +1 -0
  754. homeassistant-stubs/components/uvc/__init__.pyi +0 -0
  755. homeassistant-stubs/components/uvc/camera.pyi +54 -0
  756. homeassistant-stubs/components/vacuum/__init__.pyi +21 -14
  757. homeassistant-stubs/components/vallox/__init__.pyi +6 -9
  758. homeassistant-stubs/components/vallox/binary_sensor.pyi +1 -1
  759. homeassistant-stubs/components/vallox/config_flow.pyi +5 -2
  760. homeassistant-stubs/components/vallox/const.pyi +3 -3
  761. homeassistant-stubs/components/vallox/date.pyi +1 -1
  762. homeassistant-stubs/components/vallox/entity.pyi +12 -0
  763. homeassistant-stubs/components/vallox/fan.pyi +2 -2
  764. homeassistant-stubs/components/vallox/number.pyi +1 -1
  765. homeassistant-stubs/components/vallox/sensor.pyi +2 -2
  766. homeassistant-stubs/components/vallox/switch.pyi +1 -1
  767. homeassistant-stubs/components/valve/__init__.pyi +3 -1
  768. homeassistant-stubs/components/valve/const.pyi +9 -0
  769. homeassistant-stubs/components/velbus/climate.pyi +4 -1
  770. homeassistant-stubs/components/wallbox/const.pyi +4 -0
  771. homeassistant-stubs/components/wallbox/coordinator.pyi +3 -1
  772. homeassistant-stubs/components/wallbox/number.pyi +1 -1
  773. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  774. homeassistant-stubs/components/water_heater/__init__.pyi +2 -0
  775. homeassistant-stubs/components/weather/__init__.pyi +1 -1
  776. homeassistant-stubs/components/weather/const.pyi +5 -0
  777. homeassistant-stubs/components/weather/intent.pyi +1 -3
  778. homeassistant-stubs/components/weather/websocket_api.pyi +1 -2
  779. homeassistant-stubs/components/webostv/device_trigger.pyi +1 -2
  780. homeassistant-stubs/components/withings/config_flow.pyi +1 -1
  781. homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +1 -0
  782. homeassistant-stubs/components/yale_smart_alarm/entity.pyi +9 -1
  783. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +10 -6
  784. homeassistant-stubs/components/yale_smart_alarm/switch.pyi +20 -0
  785. homeassistant-stubs/components/youtube/const.pyi +1 -0
  786. homeassistant-stubs/components/youtube/coordinator.pyi +1 -1
  787. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  788. homeassistant-stubs/components/zeroconf/__init__.pyi +4 -0
  789. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  790. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +1 -0
  791. homeassistant-stubs/components/zwave_js/const.pyi +1 -0
  792. homeassistant-stubs/components/zwave_js/cover.pyi +5 -0
  793. homeassistant-stubs/components/zwave_js/device_condition.pyi +1 -1
  794. homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -2
  795. homeassistant-stubs/components/zwave_js/diagnostics.pyi +1 -2
  796. homeassistant-stubs/components/zwave_js/entity.pyi +1 -2
  797. homeassistant-stubs/components/zwave_js/lock.pyi +2 -3
  798. homeassistant-stubs/components/zwave_js/migrate.pyi +8 -7
  799. homeassistant-stubs/components/zwave_js/sensor.pyi +8 -4
  800. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +1 -1
  801. homeassistant-stubs/config_entries.pyi +9 -4
  802. homeassistant-stubs/const.pyi +19 -8
  803. homeassistant-stubs/helpers/aiohttp_client.pyi +8 -7
  804. homeassistant-stubs/helpers/condition.pyi +2 -0
  805. homeassistant-stubs/helpers/config_validation.pyi +5 -1
  806. homeassistant-stubs/helpers/discovery.pyi +1 -1
  807. homeassistant-stubs/helpers/discovery_flow.pyi +12 -2
  808. homeassistant-stubs/helpers/frame.pyi +1 -1
  809. homeassistant-stubs/helpers/llm.pyi +5 -5
  810. homeassistant-stubs/helpers/script.pyi +1 -1
  811. homeassistant-stubs/helpers/state.pyi +2 -1
  812. homeassistant-stubs/helpers/template.pyi +5 -1
  813. homeassistant-stubs/util/aiohttp.pyi +10 -0
  814. homeassistant-stubs/util/package.pyi +3 -0
  815. homeassistant-stubs/util/ssl.pyi +8 -4
  816. homeassistant-stubs/util/unit_conversion.pyi +2 -0
  817. homeassistant-stubs/util/unit_system.pyi +1 -0
  818. {homeassistant_stubs-2024.9.3.dist-info → homeassistant_stubs-2024.10.0.dist-info}/METADATA +2 -2
  819. {homeassistant_stubs-2024.9.3.dist-info → homeassistant_stubs-2024.10.0.dist-info}/RECORD +850 -725
  820. homeassistant-stubs/components/esphome/voice_assistant.pyi +0 -66
  821. homeassistant-stubs/components/notion/model.pyi +0 -7
  822. homeassistant-stubs/components/overkiz/climate.pyi +0 -10
  823. homeassistant-stubs/components/overkiz/cover.pyi +0 -11
  824. homeassistant-stubs/components/overkiz/water_heater_entities/__init__.pyi +0 -8
  825. homeassistant-stubs/components/rainmachine/model.pyi +0 -7
  826. homeassistant-stubs/components/recorder/history/common.pyi +0 -4
  827. homeassistant-stubs/components/unifiprotect/models.pyi +0 -44
  828. /homeassistant-stubs/components/deconz/{deconz_device.pyi → entity.pyi} +0 -0
  829. /homeassistant-stubs/components/devolo_home_control/{devolo_device.pyi → entity.pyi} +0 -0
  830. /homeassistant-stubs/components/knx/{knx_entity.pyi → entity.pyi} +0 -0
  831. /homeassistant-stubs/components/modbus/{base_platform.pyi → entity.pyi} +0 -0
  832. /homeassistant-stubs/components/mysensors/{device.pyi → entity.pyi} +0 -0
  833. /homeassistant-stubs/components/onewire/{onewire_entities.pyi → entity.pyi} +0 -0
  834. /homeassistant-stubs/components/{overkiz/cover_entities → onkyo}/__init__.pyi +0 -0
  835. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_heater.pyi +0 -0
  836. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +0 -0
  837. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_towel_dryer.pyi +0 -0
  838. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_heat_recovery_ventilation.pyi +0 -0
  839. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_heat_pump_main_component.pyi +0 -0
  840. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_heating_zone.pyi +0 -0
  841. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_zone_control.pyi +0 -0
  842. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_zone_control_zone.pyi +0 -0
  843. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/hitachi_air_to_air_heat_pump_hlrrwifi.pyi +0 -0
  844. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/hitachi_air_to_air_heat_pump_ovp.pyi +0 -0
  845. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/somfy_heating_temperature_interface.pyi +0 -0
  846. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/somfy_thermostat.pyi +0 -0
  847. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/valve_heating_temperature_interface.pyi +0 -0
  848. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/awning.pyi +0 -0
  849. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/generic_cover.pyi +0 -0
  850. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/vertical_cover.pyi +0 -0
  851. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/atlantic_domestic_hot_water_production_mlb_component.pyi +0 -0
  852. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/atlantic_pass_apc_dhw.pyi +0 -0
  853. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/domestic_hot_water_production.pyi +0 -0
  854. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/hitachi_dhw.pyi +0 -0
  855. /homeassistant-stubs/components/roborock/{device.pyi → entity.pyi} +0 -0
  856. /homeassistant-stubs/components/tradfri/{base_class.pyi → entity.pyi} +0 -0
  857. {homeassistant_stubs-2024.9.3.dist-info → homeassistant_stubs-2024.10.0.dist-info}/WHEEL +0 -0
  858. {homeassistant_stubs-2024.9.3.dist-info → homeassistant_stubs-2024.10.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,27 @@
1
+ from . import SolarlogConfigEntry as SolarlogConfigEntry
2
+ from .const import CONF_HAS_PWD as CONF_HAS_PWD, DEFAULT_HOST as DEFAULT_HOST, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Mapping
5
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD
7
+ from homeassistant.util import slugify as slugify
8
+ from typing import Any
9
+
10
+ _LOGGER: Incomplete
11
+
12
+ class SolarLogConfigFlow(ConfigFlow, domain=DOMAIN):
13
+ _entry: SolarlogConfigEntry | None
14
+ VERSION: int
15
+ MINOR_VERSION: int
16
+ _errors: Incomplete
17
+ _user_input: Incomplete
18
+ def __init__(self) -> None: ...
19
+ def _parse_url(self, host: str) -> str: ...
20
+ async def _test_connection(self, host: str) -> bool: ...
21
+ async def _test_extended_data(self, host: str, pwd: str = '') -> bool: ...
22
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
+ async def async_step_password(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
+ async def async_step_reconfigure(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
25
+ async def async_step_reconfigure_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
27
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,4 @@
1
+ DOMAIN: str
2
+ DEFAULT_HOST: str
3
+ DEFAULT_NAME: str
4
+ CONF_HAS_PWD: str
@@ -0,0 +1,19 @@
1
+ from . import SolarlogConfigEntry as SolarlogConfigEntry
2
+ from _typeshed import Incomplete
3
+ from homeassistant.const import CONF_HOST as CONF_HOST
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
6
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
7
+ from solarlog_cli.solarlog_models import SolarlogData
8
+
9
+ _LOGGER: Incomplete
10
+
11
+ class SolarLogCoordinator(DataUpdateCoordinator[SolarlogData]):
12
+ unique_id: Incomplete
13
+ name: Incomplete
14
+ host: Incomplete
15
+ solarlog: Incomplete
16
+ def __init__(self, hass: HomeAssistant, entry: SolarlogConfigEntry) -> None: ...
17
+ async def _async_setup(self) -> None: ...
18
+ async def _async_update_data(self) -> SolarlogData: ...
19
+ async def renew_authentication(self) -> bool: ...
@@ -0,0 +1,10 @@
1
+ from . import SolarlogConfigEntry as SolarlogConfigEntry
2
+ from _typeshed import Incomplete
3
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
+ from homeassistant.const import CONF_HOST as CONF_HOST
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from typing import Any
7
+
8
+ TO_REDACT: Incomplete
9
+
10
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: SolarlogConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,23 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import SolarLogCoordinator as SolarLogCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.sensor import SensorEntityDescription as SensorEntityDescription
5
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
6
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
+ from homeassistant.util import slugify as slugify
8
+
9
+ class SolarLogBaseEntity(CoordinatorEntity[SolarLogCoordinator]):
10
+ _attr_has_entity_name: bool
11
+ entity_description: Incomplete
12
+ def __init__(self, coordinator: SolarLogCoordinator, description: SensorEntityDescription) -> None: ...
13
+
14
+ class SolarLogCoordinatorEntity(SolarLogBaseEntity):
15
+ _attr_unique_id: Incomplete
16
+ _attr_device_info: Incomplete
17
+ def __init__(self, coordinator: SolarLogCoordinator, description: SensorEntityDescription) -> None: ...
18
+
19
+ class SolarLogInverterEntity(SolarLogBaseEntity):
20
+ _attr_unique_id: Incomplete
21
+ _attr_device_info: Incomplete
22
+ device_id: Incomplete
23
+ def __init__(self, coordinator: SolarLogCoordinator, description: SensorEntityDescription, device_id: int) -> None: ...
@@ -0,0 +1,36 @@
1
+ from . import SolarlogConfigEntry as SolarlogConfigEntry
2
+ from .entity import SolarLogCoordinatorEntity as SolarLogCoordinatorEntity, SolarLogInverterEntity as SolarLogInverterEntity
3
+ from collections.abc import Callable as Callable
4
+ from dataclasses import dataclass
5
+ from datetime import datetime
6
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
7
+ from homeassistant.const import PERCENTAGE as PERCENTAGE, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
+ from homeassistant.helpers.typing import StateType as StateType
11
+ from solarlog_cli.solarlog_models import InverterData as InverterData, SolarlogData as SolarlogData
12
+
13
+ @dataclass(frozen=True, kw_only=True)
14
+ class SolarLogCoordinatorSensorEntityDescription(SensorEntityDescription):
15
+ value_fn: Callable[[SolarlogData], StateType | datetime | None]
16
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
17
+
18
+ @dataclass(frozen=True, kw_only=True)
19
+ class SolarLogInverterSensorEntityDescription(SensorEntityDescription):
20
+ value_fn: Callable[[InverterData], float | None]
21
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
22
+
23
+ SOLARLOG_SENSOR_TYPES: tuple[SolarLogCoordinatorSensorEntityDescription, ...]
24
+ INVERTER_SENSOR_TYPES: tuple[SolarLogInverterSensorEntityDescription, ...]
25
+
26
+ async def async_setup_entry(hass: HomeAssistant, entry: SolarlogConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
27
+
28
+ class SolarLogCoordinatorSensor(SolarLogCoordinatorEntity, SensorEntity):
29
+ entity_description: SolarLogCoordinatorSensorEntityDescription
30
+ @property
31
+ def native_value(self) -> StateType | datetime: ...
32
+
33
+ class SolarLogInverterSensor(SolarLogInverterEntity, SensorEntity):
34
+ entity_description: SolarLogInverterSensorEntityDescription
35
+ @property
36
+ def native_value(self) -> StateType: ...
@@ -0,0 +1,24 @@
1
+ from .const import CONF_HTTPS as CONF_HTTPS, DISCOVERY_TASK as DISCOVERY_TASK, DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER, SERVER_MODEL as SERVER_MODEL, STATUS_API_TIMEOUT as STATUS_API_TIMEOUT, STATUS_QUERY_LIBRARYNAME as STATUS_QUERY_LIBRARYNAME, STATUS_QUERY_MAC as STATUS_QUERY_MAC, STATUS_QUERY_UUID as STATUS_QUERY_UUID, STATUS_QUERY_VERSION as STATUS_QUERY_VERSION
2
+ from .coordinator import LMSStatusDataUpdateCoordinator as LMSStatusDataUpdateCoordinator
3
+ from _typeshed import Incomplete
4
+ from dataclasses import dataclass
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, Platform as Platform
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
9
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
10
+ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceEntryType as DeviceEntryType, format_mac as format_mac
11
+ from pysqueezebox import Server
12
+
13
+ _LOGGER: Incomplete
14
+ PLATFORMS: Incomplete
15
+
16
+ @dataclass
17
+ class SqueezeboxData:
18
+ coordinator: LMSStatusDataUpdateCoordinator
19
+ server: Server
20
+ def __init__(self, coordinator, server) -> None: ...
21
+ SqueezeboxConfigEntry = ConfigEntry[SqueezeboxData]
22
+
23
+ async def async_setup_entry(hass: HomeAssistant, entry: SqueezeboxConfigEntry) -> bool: ...
24
+ async def async_unload_entry(hass: HomeAssistant, entry: SqueezeboxConfigEntry) -> bool: ...
@@ -0,0 +1,17 @@
1
+ from . import SqueezeboxConfigEntry as SqueezeboxConfigEntry
2
+ from .const import STATUS_SENSOR_NEEDSRESTART as STATUS_SENSOR_NEEDSRESTART, STATUS_SENSOR_RESCAN as STATUS_SENSOR_RESCAN
3
+ from .entity import LMSStatusEntity as LMSStatusEntity
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
6
+ from homeassistant.const import EntityCategory as EntityCategory
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
+
10
+ SENSORS: tuple[BinarySensorEntityDescription, ...]
11
+ _LOGGER: Incomplete
12
+
13
+ async def async_setup_entry(hass: HomeAssistant, entry: SqueezeboxConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
+
15
+ class ServerStatusBinarySensor(LMSStatusEntity, BinarySensorEntity):
16
+ @property
17
+ def is_on(self) -> bool: ...
@@ -0,0 +1,18 @@
1
+ from _typeshed import Incomplete
2
+ from homeassistant.components import media_source as media_source
3
+ from homeassistant.components.media_player import BrowseError as BrowseError, BrowseMedia as BrowseMedia, MediaClass as MediaClass, MediaPlayerEntity as MediaPlayerEntity, MediaType as MediaType
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from homeassistant.helpers.network import is_internal_request as is_internal_request
6
+ from pysqueezebox import Player as Player
7
+
8
+ LIBRARY: Incomplete
9
+ MEDIA_TYPE_TO_SQUEEZEBOX: Incomplete
10
+ SQUEEZEBOX_ID_BY_TYPE: Incomplete
11
+ CONTENT_TYPE_MEDIA_CLASS: dict[str | MediaType, dict[str, MediaClass | None]]
12
+ CONTENT_TYPE_TO_CHILD_TYPE: Incomplete
13
+ BROWSE_LIMIT: int
14
+
15
+ async def build_item_response(entity: MediaPlayerEntity, player: Player, payload: dict[str, str | None]) -> BrowseMedia: ...
16
+ async def library_payload(hass: HomeAssistant, player: Player) -> BrowseMedia: ...
17
+ def media_source_content_filter(item: BrowseMedia) -> bool: ...
18
+ async def generate_playlist(player: Player, payload: dict[str, str]) -> list | None: ...
@@ -0,0 +1,27 @@
1
+ import voluptuous as vol
2
+ from .const import CONF_HTTPS as CONF_HTTPS, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components import dhcp as dhcp
5
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
7
+ from homeassistant.data_entry_flow import AbortFlow as AbortFlow
8
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
+ from homeassistant.helpers.device_registry import format_mac as format_mac
10
+ from typing import Any
11
+
12
+ _LOGGER: Incomplete
13
+ TIMEOUT: int
14
+
15
+ def _base_schema(discovery_info: dict[str, Any] | None = None) -> vol.Schema: ...
16
+
17
+ class SqueezeboxConfigFlow(ConfigFlow, domain=DOMAIN):
18
+ VERSION: int
19
+ data_schema: Incomplete
20
+ discovery_info: Incomplete
21
+ def __init__(self) -> None: ...
22
+ async def _discover(self, uuid: str | None = None) -> None: ...
23
+ async def _validate_input(self, data: dict[str, Any]) -> str | None: ...
24
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
25
+ async def async_step_edit(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
+ async def async_step_integration_discovery(self, discovery_info: dict[str, Any]) -> ConfigFlowResult: ...
27
+ async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) -> ConfigFlowResult: ...
@@ -0,0 +1,29 @@
1
+ from _typeshed import Incomplete
2
+
3
+ CONF_HTTPS: str
4
+ DISCOVERY_TASK: str
5
+ DOMAIN: str
6
+ DEFAULT_PORT: int
7
+ KNOWN_PLAYERS: str
8
+ MANUFACTURER: str
9
+ PLAYER_DISCOVERY_UNSUB: str
10
+ SENSOR_UPDATE_INTERVAL: int
11
+ SERVER_MODEL: str
12
+ STATUS_API_TIMEOUT: int
13
+ STATUS_SENSOR_LASTSCAN: str
14
+ STATUS_SENSOR_NEEDSRESTART: str
15
+ STATUS_SENSOR_NEWVERSION: str
16
+ STATUS_SENSOR_NEWPLUGINS: str
17
+ STATUS_SENSOR_RESCAN: str
18
+ STATUS_SENSOR_INFO_TOTAL_ALBUMS: str
19
+ STATUS_SENSOR_INFO_TOTAL_ARTISTS: str
20
+ STATUS_SENSOR_INFO_TOTAL_DURATION: str
21
+ STATUS_SENSOR_INFO_TOTAL_GENRES: str
22
+ STATUS_SENSOR_INFO_TOTAL_SONGS: str
23
+ STATUS_SENSOR_PLAYER_COUNT: str
24
+ STATUS_SENSOR_OTHER_PLAYER_COUNT: str
25
+ STATUS_QUERY_LIBRARYNAME: str
26
+ STATUS_QUERY_MAC: str
27
+ STATUS_QUERY_UUID: str
28
+ STATUS_QUERY_VERSION: str
29
+ SQUEEZEBOX_SOURCE_STRINGS: Incomplete
@@ -0,0 +1,14 @@
1
+ from .const import SENSOR_UPDATE_INTERVAL as SENSOR_UPDATE_INTERVAL, STATUS_API_TIMEOUT as STATUS_API_TIMEOUT, STATUS_SENSOR_LASTSCAN as STATUS_SENSOR_LASTSCAN, STATUS_SENSOR_NEEDSRESTART as STATUS_SENSOR_NEEDSRESTART, STATUS_SENSOR_RESCAN as STATUS_SENSOR_RESCAN
2
+ from _typeshed import Incomplete
3
+ from homeassistant.core import HomeAssistant as HomeAssistant
4
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
5
+ from pysqueezebox import Server as Server
6
+
7
+ _LOGGER: Incomplete
8
+
9
+ class LMSStatusDataUpdateCoordinator(DataUpdateCoordinator):
10
+ lms: Incomplete
11
+ newversion_regex: Incomplete
12
+ def __init__(self, hass: HomeAssistant, lms: Server) -> None: ...
13
+ async def _async_update_data(self) -> dict: ...
14
+ def _prepare_status_data(self, data: dict) -> dict: ...
@@ -0,0 +1,14 @@
1
+ from .const import DOMAIN as DOMAIN, STATUS_QUERY_UUID as STATUS_QUERY_UUID
2
+ from .coordinator import LMSStatusDataUpdateCoordinator as LMSStatusDataUpdateCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
5
+ from homeassistant.helpers.entity import EntityDescription as EntityDescription
6
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
+
8
+ class LMSStatusEntity(CoordinatorEntity[LMSStatusDataUpdateCoordinator]):
9
+ _attr_has_entity_name: bool
10
+ entity_description: Incomplete
11
+ _attr_translation_key: Incomplete
12
+ _attr_unique_id: Incomplete
13
+ _attr_device_info: Incomplete
14
+ def __init__(self, coordinator: LMSStatusDataUpdateCoordinator, description: EntityDescription) -> None: ...
@@ -0,0 +1,111 @@
1
+ from . import SqueezeboxConfigEntry as SqueezeboxConfigEntry
2
+ from .browse_media import build_item_response as build_item_response, generate_playlist as generate_playlist, library_payload as library_payload, media_source_content_filter as media_source_content_filter
3
+ from .const import DISCOVERY_TASK as DISCOVERY_TASK, DOMAIN as DOMAIN, KNOWN_PLAYERS as KNOWN_PLAYERS, SQUEEZEBOX_SOURCE_STRINGS as SQUEEZEBOX_SOURCE_STRINGS
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Callable as Callable
6
+ from datetime import datetime
7
+ from homeassistant.components import media_source as media_source
8
+ from homeassistant.components.media_player import ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, BrowseError as BrowseError, BrowseMedia as BrowseMedia, MediaPlayerEnqueue as MediaPlayerEnqueue, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, RepeatMode as RepeatMode, async_process_play_media_url as async_process_play_media_url
9
+ from homeassistant.config_entries import SOURCE_INTEGRATION_DISCOVERY as SOURCE_INTEGRATION_DISCOVERY
10
+ from homeassistant.const import ATTR_COMMAND as ATTR_COMMAND, CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT
11
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
13
+ from homeassistant.helpers import discovery_flow as discovery_flow, entity_platform as entity_platform
14
+ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo, format_mac as format_mac
15
+ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
16
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
17
+ from homeassistant.helpers.event import async_call_later as async_call_later
18
+ from homeassistant.helpers.start import async_at_start as async_at_start
19
+ from homeassistant.util.dt import utcnow as utcnow
20
+ from pysqueezebox import Player as Player, Server as Server
21
+ from typing import Any
22
+
23
+ SERVICE_CALL_METHOD: str
24
+ SERVICE_CALL_QUERY: str
25
+ ATTR_QUERY_RESULT: str
26
+ SIGNAL_PLAYER_REDISCOVERED: str
27
+ _LOGGER: Incomplete
28
+ DISCOVERY_INTERVAL: int
29
+ KNOWN_SERVERS: str
30
+ ATTR_PARAMETERS: str
31
+ ATTR_OTHER_PLAYER: str
32
+ ATTR_TO_PROPERTY: Incomplete
33
+ SQUEEZEBOX_MODE: Incomplete
34
+
35
+ async def start_server_discovery(hass: HomeAssistant) -> None: ...
36
+ async def async_setup_entry(hass: HomeAssistant, entry: SqueezeboxConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
37
+
38
+ class SqueezeBoxEntity(MediaPlayerEntity):
39
+ _attr_supported_features: Incomplete
40
+ _attr_has_entity_name: bool
41
+ _attr_name: Incomplete
42
+ _last_update: datetime | None
43
+ _attr_available: bool
44
+ _player: Incomplete
45
+ _query_result: Incomplete
46
+ _remove_dispatcher: Incomplete
47
+ _attr_unique_id: Incomplete
48
+ _attr_device_info: Incomplete
49
+ def __init__(self, player: Player, server: Server) -> None: ...
50
+ @property
51
+ def extra_state_attributes(self) -> dict[str, Any]: ...
52
+ def rediscovered(self, unique_id: str, connected: bool) -> None: ...
53
+ @property
54
+ def state(self) -> MediaPlayerState | None: ...
55
+ async def async_update(self) -> None: ...
56
+ async def async_will_remove_from_hass(self) -> None: ...
57
+ @property
58
+ def volume_level(self) -> float | None: ...
59
+ @property
60
+ def is_volume_muted(self) -> bool: ...
61
+ @property
62
+ def media_content_id(self) -> str | None: ...
63
+ @property
64
+ def media_content_type(self) -> MediaType | None: ...
65
+ @property
66
+ def media_duration(self) -> int: ...
67
+ @property
68
+ def media_position(self) -> int: ...
69
+ @property
70
+ def media_position_updated_at(self) -> datetime | None: ...
71
+ @property
72
+ def media_image_url(self) -> str | None: ...
73
+ @property
74
+ def media_title(self) -> str | None: ...
75
+ @property
76
+ def media_channel(self) -> str | None: ...
77
+ @property
78
+ def media_artist(self) -> str | None: ...
79
+ @property
80
+ def media_album_name(self) -> str | None: ...
81
+ @property
82
+ def repeat(self) -> RepeatMode: ...
83
+ @property
84
+ def shuffle(self) -> bool: ...
85
+ @property
86
+ def group_members(self) -> list[str]: ...
87
+ @property
88
+ def query_result(self) -> dict | bool: ...
89
+ async def async_turn_off(self) -> None: ...
90
+ async def async_volume_up(self) -> None: ...
91
+ async def async_volume_down(self) -> None: ...
92
+ async def async_set_volume_level(self, volume: float) -> None: ...
93
+ async def async_mute_volume(self, mute: bool) -> None: ...
94
+ async def async_media_stop(self) -> None: ...
95
+ async def async_media_play_pause(self) -> None: ...
96
+ async def async_media_play(self) -> None: ...
97
+ async def async_media_pause(self) -> None: ...
98
+ async def async_media_next_track(self) -> None: ...
99
+ async def async_media_previous_track(self) -> None: ...
100
+ async def async_media_seek(self, position: float) -> None: ...
101
+ async def async_turn_on(self) -> None: ...
102
+ async def async_play_media(self, media_type: MediaType | str, media_id: str, **kwargs: Any) -> None: ...
103
+ async def async_set_repeat(self, repeat: RepeatMode) -> None: ...
104
+ async def async_set_shuffle(self, shuffle: bool) -> None: ...
105
+ async def async_clear_playlist(self) -> None: ...
106
+ async def async_call_method(self, command: str, parameters: list[str] | None = None) -> None: ...
107
+ async def async_call_query(self, command: str, parameters: list[str] | None = None) -> None: ...
108
+ async def async_join_players(self, group_members: list[str]) -> None: ...
109
+ async def async_unjoin_player(self) -> None: ...
110
+ async def async_browse_media(self, media_content_type: MediaType | str | None = None, media_content_id: str | None = None) -> BrowseMedia: ...
111
+ async def async_get_browse_image(self, media_content_type: MediaType | str, media_content_id: str, media_image_id: str | None = None) -> tuple[bytes | None, str | None]: ...
@@ -0,0 +1,18 @@
1
+ from . import SqueezeboxConfigEntry as SqueezeboxConfigEntry
2
+ from .const import STATUS_SENSOR_INFO_TOTAL_ALBUMS as STATUS_SENSOR_INFO_TOTAL_ALBUMS, STATUS_SENSOR_INFO_TOTAL_ARTISTS as STATUS_SENSOR_INFO_TOTAL_ARTISTS, STATUS_SENSOR_INFO_TOTAL_DURATION as STATUS_SENSOR_INFO_TOTAL_DURATION, STATUS_SENSOR_INFO_TOTAL_GENRES as STATUS_SENSOR_INFO_TOTAL_GENRES, STATUS_SENSOR_INFO_TOTAL_SONGS as STATUS_SENSOR_INFO_TOTAL_SONGS, STATUS_SENSOR_LASTSCAN as STATUS_SENSOR_LASTSCAN, STATUS_SENSOR_OTHER_PLAYER_COUNT as STATUS_SENSOR_OTHER_PLAYER_COUNT, STATUS_SENSOR_PLAYER_COUNT as STATUS_SENSOR_PLAYER_COUNT
3
+ from .entity import LMSStatusEntity as LMSStatusEntity
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
6
+ from homeassistant.const import UnitOfTime as UnitOfTime
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
+ from homeassistant.helpers.typing import StateType as StateType
10
+
11
+ SENSORS: tuple[SensorEntityDescription, ...]
12
+ _LOGGER: Incomplete
13
+
14
+ async def async_setup_entry(hass: HomeAssistant, entry: SqueezeboxConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
+
16
+ class ServerStatusSensor(LMSStatusEntity, SensorEntity):
17
+ @property
18
+ def native_value(self) -> StateType: ...
@@ -12,6 +12,7 @@ from homeassistant.core import Event as Event, HassJob as HassJob, HomeAssistant
12
12
  from homeassistant.data_entry_flow import BaseServiceInfo as BaseServiceInfo
13
13
  from homeassistant.helpers import discovery_flow as discovery_flow
14
14
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
15
+ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
15
16
  from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
16
17
  from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError, get_url as get_url
17
18
  from homeassistant.helpers.system_info import async_get_system_info as async_get_system_info
@@ -115,13 +116,14 @@ class Scanner:
115
116
  def _async_get_matching_callbacks(self, combined_headers: CaseInsensitiveDict) -> list[SsdpHassJobCallback]: ...
116
117
  def _ssdp_listener_callback(self, ssdp_device: SsdpDevice, dst: DeviceOrServiceType, source: SsdpSource) -> None: ...
117
118
  async def _ssdp_listener_process_callback_with_lookup(self, ssdp_device: SsdpDevice, dst: DeviceOrServiceType, source: SsdpSource) -> None: ...
118
- def _ssdp_listener_process_callback(self, ssdp_device: SsdpDevice, dst: DeviceOrServiceType, source: SsdpSource, info_desc: Mapping[str, Any]) -> None: ...
119
+ def _ssdp_listener_process_callback(self, ssdp_device: SsdpDevice, dst: DeviceOrServiceType, source: SsdpSource, info_desc: Mapping[str, Any], skip_callbacks: bool = False) -> None: ...
119
120
  def _async_dismiss_discoveries(self, byebye_discovery_info: SsdpServiceInfo) -> None: ...
120
121
  async def _async_get_description_dict(self, location: str | None) -> Mapping[str, str]: ...
121
122
  async def _async_headers_to_discovery_info(self, ssdp_device: SsdpDevice, headers: CaseInsensitiveDict) -> SsdpServiceInfo: ...
122
123
  async def async_get_discovery_info_by_udn_st(self, udn: str, st: str) -> SsdpServiceInfo | None: ...
123
124
  async def async_get_discovery_info_by_st(self, st: str) -> list[SsdpServiceInfo]: ...
124
125
  async def async_get_discovery_info_by_udn(self, udn: str) -> list[SsdpServiceInfo]: ...
126
+ def _handle_config_entry_removed(self, entry: config_entries.ConfigEntry) -> None: ...
125
127
 
126
128
  def discovery_info_from_headers_and_description(ssdp_device: SsdpDevice, combined_headers: CaseInsensitiveDict, info_desc: Mapping[str, Any]) -> SsdpServiceInfo: ...
127
129
  def _udn_from_usn(usn: str | None) -> str | None: ...
@@ -4,17 +4,16 @@ from .entity import StarlinkEntity as StarlinkEntity
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
7
- from homeassistant.components.device_tracker import SourceType as SourceType, TrackerEntity as TrackerEntity
7
+ from homeassistant.components.device_tracker import TrackerEntity as TrackerEntity, TrackerEntityDescription as TrackerEntityDescription
8
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
- from homeassistant.helpers.entity import EntityDescription as EntityDescription
11
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
11
  from typing import Any
13
12
 
14
13
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
14
 
16
15
  @dataclass(frozen=True, kw_only=True)
17
- class StarlinkDeviceTrackerEntityDescription(EntityDescription):
16
+ class StarlinkDeviceTrackerEntityDescription(TrackerEntityDescription):
18
17
  latitude_fn: Callable[[StarlinkData], float]
19
18
  longitude_fn: Callable[[StarlinkData], float]
20
19
  altitude_fn: Callable[[StarlinkData], float]
@@ -25,8 +24,6 @@ DEVICE_TRACKERS: Incomplete
25
24
  class StarlinkDeviceTrackerEntity(StarlinkEntity, TrackerEntity):
26
25
  entity_description: StarlinkDeviceTrackerEntityDescription
27
26
  @property
28
- def source_type(self) -> SourceType | str: ...
29
- @property
30
27
  def latitude(self) -> float | None: ...
31
28
  @property
32
29
  def longitude(self) -> float | None: ...
@@ -1,7 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import StarlinkUpdateCoordinator as StarlinkUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
- from homeassistant.components.diagnostics.util import async_redact_data as async_redact_data
4
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from typing import Any
@@ -1,8 +1,12 @@
1
- from _typeshed import Incomplete
1
+ from . import SpeechToTextEntity as SpeechToTextEntity
2
+ from .legacy import Provider as Provider
2
3
  from enum import Enum
4
+ from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
5
+ from homeassistant.util.hass_dict import HassKey as HassKey
3
6
 
4
7
  DOMAIN: str
5
- DATA_PROVIDERS: Incomplete
8
+ DATA_COMPONENT: HassKey[EntityComponent[SpeechToTextEntity]]
9
+ DATA_PROVIDERS: HassKey[dict[str, Provider]]
6
10
 
7
11
  class AudioCodecs(str, Enum):
8
12
  PCM = 'pcm'
@@ -2,13 +2,12 @@ from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import SurePetcareDataCoordinator as SurePetcareDataCoordinator
3
3
  from .entity import SurePetcareEntity as SurePetcareEntity
4
4
  from _typeshed import Incomplete
5
- from homeassistant.components.lock import LockEntity as LockEntity
5
+ from homeassistant.components.lock import LockEntity as LockEntity, LockState as LockState
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
- from homeassistant.const import STATE_LOCKED as STATE_LOCKED, STATE_UNLOCKED as STATE_UNLOCKED
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
9
  from surepy.entities import SurepyEntity as SurepyEntity
11
- from surepy.enums import LockState
10
+ from surepy.enums import LockState as SurepyLockState
12
11
  from typing import Any
13
12
 
14
13
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -18,7 +17,7 @@ class SurePetcareLock(SurePetcareEntity, LockEntity):
18
17
  _available: bool
19
18
  _attr_name: Incomplete
20
19
  _attr_unique_id: Incomplete
21
- def __init__(self, surepetcare_id: int, coordinator: SurePetcareDataCoordinator, lock_state: LockState) -> None: ...
20
+ def __init__(self, surepetcare_id: int, coordinator: SurePetcareDataCoordinator, lock_state: SurepyLockState) -> None: ...
22
21
  @property
23
22
  def available(self) -> bool: ...
24
23
  _attr_is_locked: Incomplete
@@ -10,8 +10,10 @@ from homeassistant.helpers.entity import ToggleEntity as ToggleEntity, ToggleEnt
10
10
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
11
11
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
12
  from homeassistant.loader import bind_hass as bind_hass
13
+ from homeassistant.util.hass_dict import HassKey as HassKey
13
14
 
14
15
  _LOGGER: Incomplete
16
+ DATA_COMPONENT: HassKey[EntityComponent[SwitchEntity]]
15
17
  ENTITY_ID_FORMAT: Incomplete
16
18
  PLATFORM_SCHEMA: Incomplete
17
19
  PLATFORM_SCHEMA_BASE: Incomplete
@@ -16,7 +16,8 @@ class SwitchbotDevices:
16
16
  climates: list[Remote] = ...
17
17
  switches: list[Device | Remote] = ...
18
18
  sensors: list[Device] = ...
19
- def __init__(self, climates=..., switches=..., sensors=...) -> None: ...
19
+ vacuums: list[Device] = ...
20
+ def __init__(self, climates=..., switches=..., sensors=..., vacuums=...) -> None: ...
20
21
 
21
22
  @dataclass
22
23
  class SwitchbotCloudData:
@@ -7,3 +7,7 @@ DEFAULT_SCAN_INTERVAL: Incomplete
7
7
  SENSOR_KIND_TEMPERATURE: str
8
8
  SENSOR_KIND_HUMIDITY: str
9
9
  SENSOR_KIND_BATTERY: str
10
+ VACUUM_FAN_SPEED_QUIET: str
11
+ VACUUM_FAN_SPEED_STANDARD: str
12
+ VACUUM_FAN_SPEED_STRONG: str
13
+ VACUUM_FAN_SPEED_MAX: str
@@ -13,4 +13,4 @@ class SwitchBotCloudEntity(CoordinatorEntity[SwitchBotCoordinator]):
13
13
  _attr_unique_id: Incomplete
14
14
  _attr_device_info: Incomplete
15
15
  def __init__(self, api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator) -> None: ...
16
- async def send_command(self, command: Commands, command_type: str = 'command', parameters: dict | str = 'default') -> None: ...
16
+ async def send_api_command(self, command: Commands, command_type: str = 'command', parameters: dict | str = 'default') -> None: ...
@@ -0,0 +1,32 @@
1
+ from . import SwitchbotCloudData as SwitchbotCloudData
2
+ from .const import DOMAIN as DOMAIN, VACUUM_FAN_SPEED_MAX as VACUUM_FAN_SPEED_MAX, VACUUM_FAN_SPEED_QUIET as VACUUM_FAN_SPEED_QUIET, VACUUM_FAN_SPEED_STANDARD as VACUUM_FAN_SPEED_STANDARD, VACUUM_FAN_SPEED_STRONG as VACUUM_FAN_SPEED_STRONG
3
+ from .coordinator import SwitchBotCoordinator as SwitchBotCoordinator
4
+ from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
5
+ from _typeshed import Incomplete
6
+ from homeassistant.components.vacuum import STATE_CLEANING as STATE_CLEANING, STATE_DOCKED as STATE_DOCKED, STATE_ERROR as STATE_ERROR, STATE_IDLE as STATE_IDLE, STATE_PAUSED as STATE_PAUSED, STATE_RETURNING as STATE_RETURNING, StateVacuumEntity as StateVacuumEntity, VacuumEntityFeature as VacuumEntityFeature
7
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
+ from switchbot_api import Device as Device, Remote as Remote, SwitchBotAPI as SwitchBotAPI
11
+ from typing import Any
12
+
13
+ async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
+
15
+ VACUUM_SWITCHBOT_STATE_TO_HA_STATE: dict[str, str]
16
+ VACUUM_FAN_SPEED_TO_SWITCHBOT_FAN_SPEED: dict[str, str]
17
+
18
+ class SwitchBotCloudVacuum(SwitchBotCloudEntity, StateVacuumEntity):
19
+ _attr_supported_features: VacuumEntityFeature
20
+ _attr_name: Incomplete
21
+ _attr_fan_speed_list: list[str]
22
+ _attr_fan_speed: Incomplete
23
+ async def async_set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None: ...
24
+ async def async_pause(self) -> None: ...
25
+ async def async_return_to_base(self, **kwargs: Any) -> None: ...
26
+ async def async_start(self) -> None: ...
27
+ _attr_battery_level: Incomplete
28
+ _attr_available: Incomplete
29
+ _attr_state: Incomplete
30
+ def _handle_coordinator_update(self) -> None: ...
31
+
32
+ def _async_make_entity(api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator) -> SwitchBotCloudVacuum: ...
@@ -3,7 +3,7 @@ from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoor
3
3
  from _typeshed import Incomplete
4
4
  from aioswitcher.device import SwitcherBase as SwitcherBase
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
- from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
6
+ from homeassistant.const import CONF_TOKEN as CONF_TOKEN, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
7
7
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers import device_registry as dr
9
9
 
@@ -1,3 +1,24 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from .utils import async_has_devices as async_has_devices
3
- from homeassistant.helpers import config_entry_flow as config_entry_flow
2
+ from .utils import async_discover_devices as async_discover_devices
3
+ from _typeshed import Incomplete
4
+ from aioswitcher.bridge import SwitcherBase as SwitcherBase
5
+ from collections.abc import Mapping
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
7
+ from homeassistant.const import CONF_TOKEN as CONF_TOKEN, CONF_USERNAME as CONF_USERNAME
8
+ from typing import Any, Final
9
+
10
+ _LOGGER: Incomplete
11
+ CONFIG_SCHEMA: Final[Incomplete]
12
+
13
+ class SwitcherFlowHandler(ConfigFlow, domain=DOMAIN):
14
+ VERSION: int
15
+ entry: ConfigEntry | None
16
+ username: str | None
17
+ token: str | None
18
+ discovered_devices: dict[str, SwitcherBase]
19
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
20
+ async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
+ async def async_step_credentials(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
+ async def async_step_reauth(self, user_input: Mapping[str, Any]) -> ConfigFlowResult: ...
23
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
+ async def _create_entry(self) -> ConfigFlowResult: ...