homeassistant-stubs 2025.1.4__py3-none-any.whl → 2025.2.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 (731) hide show
  1. homeassistant-stubs/auth/mfa_modules/__init__.pyi +2 -4
  2. homeassistant-stubs/auth/models.pyi +1 -1
  3. homeassistant-stubs/auth/permissions/__init__.pyi +1 -1
  4. homeassistant-stubs/auth/providers/__init__.pyi +2 -4
  5. homeassistant-stubs/backup_restore.pyi +2 -0
  6. homeassistant-stubs/components/airgradient/button.pyi +4 -1
  7. homeassistant-stubs/components/airgradient/config_flow.pyi +5 -3
  8. homeassistant-stubs/components/airgradient/entity.pyi +5 -0
  9. homeassistant-stubs/components/airgradient/number.pyi +4 -1
  10. homeassistant-stubs/components/airgradient/select.pyi +4 -1
  11. homeassistant-stubs/components/airgradient/sensor.pyi +2 -0
  12. homeassistant-stubs/components/airgradient/switch.pyi +5 -1
  13. homeassistant-stubs/components/airgradient/update.pyi +2 -1
  14. homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
  15. homeassistant-stubs/components/airzone/__init__.pyi +2 -0
  16. homeassistant-stubs/components/airzone/config_flow.pyi +3 -2
  17. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -1
  18. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -2
  19. homeassistant-stubs/components/api/__init__.pyi +1 -1
  20. homeassistant-stubs/components/apple_tv/config_flow.pyi +2 -1
  21. homeassistant-stubs/components/apsystems/coordinator.pyi +1 -0
  22. homeassistant-stubs/components/aranet/sensor.pyi +1 -1
  23. homeassistant-stubs/components/arcam_fmj/config_flow.pyi +2 -2
  24. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  25. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +4 -1
  26. homeassistant-stubs/components/assist_pipeline/select.pyi +2 -2
  27. homeassistant-stubs/components/assist_pipeline/websocket_api.pyi +2 -2
  28. homeassistant-stubs/components/assist_satellite/__init__.pyi +1 -1
  29. homeassistant-stubs/components/assist_satellite/const.pyi +1 -0
  30. homeassistant-stubs/components/assist_satellite/entity.pyi +7 -1
  31. homeassistant-stubs/components/assist_satellite/intent.pyi +13 -0
  32. homeassistant-stubs/components/assist_satellite/websocket_api.pyi +0 -2
  33. homeassistant-stubs/components/automation/__init__.pyi +1 -1
  34. homeassistant-stubs/components/awair/config_flow.pyi +3 -2
  35. homeassistant-stubs/components/axis/config_flow.pyi +6 -4
  36. homeassistant-stubs/components/backup/__init__.pyi +8 -3
  37. homeassistant-stubs/components/backup/agent.pyi +6 -5
  38. homeassistant-stubs/components/backup/backup.pyi +6 -4
  39. homeassistant-stubs/components/backup/config.pyi +45 -3
  40. homeassistant-stubs/components/backup/http.pyi +8 -0
  41. homeassistant-stubs/components/backup/manager.pyi +42 -22
  42. homeassistant-stubs/components/backup/models.pyi +18 -3
  43. homeassistant-stubs/components/backup/store.pyi +7 -2
  44. homeassistant-stubs/components/backup/util.pyi +94 -0
  45. homeassistant-stubs/components/backup/websocket.pyi +6 -3
  46. homeassistant-stubs/components/baf/config_flow.pyi +2 -2
  47. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +1 -1
  48. homeassistant-stubs/components/bang_olufsen/const.pyi +6 -0
  49. homeassistant-stubs/components/bang_olufsen/event.pyi +23 -0
  50. homeassistant-stubs/components/bang_olufsen/websocket.pyi +3 -2
  51. homeassistant-stubs/components/binary_sensor/__init__.pyi +1 -1
  52. homeassistant-stubs/components/blueprint/importer.pyi +0 -1
  53. homeassistant-stubs/components/blueprint/models.pyi +0 -1
  54. homeassistant-stubs/components/blueprint/websocket_api.pyi +0 -1
  55. homeassistant-stubs/components/bluesound/__init__.pyi +2 -0
  56. homeassistant-stubs/components/bluesound/config_flow.pyi +2 -3
  57. homeassistant-stubs/components/bluesound/coordinator.pyi +30 -0
  58. homeassistant-stubs/components/bluesound/media_player.pyi +10 -25
  59. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -2
  60. homeassistant-stubs/components/bluetooth/api.pyi +3 -1
  61. homeassistant-stubs/components/bluetooth/config_flow.pyi +10 -3
  62. homeassistant-stubs/components/bluetooth/const.pyi +5 -0
  63. homeassistant-stubs/components/bluetooth/manager.pyi +5 -1
  64. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +1 -4
  65. homeassistant-stubs/components/bluetooth/storage.pyi +2 -0
  66. homeassistant-stubs/components/bluetooth/util.pyi +6 -1
  67. homeassistant-stubs/components/bluetooth/websocket_api.pyi +46 -0
  68. homeassistant-stubs/components/bond/config_flow.pyi +2 -2
  69. homeassistant-stubs/components/braviatv/config_flow.pyi +2 -2
  70. homeassistant-stubs/components/brother/config_flow.pyi +2 -2
  71. homeassistant-stubs/components/button/__init__.pyi +1 -1
  72. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +2 -2
  73. homeassistant-stubs/components/camera/__init__.pyi +1 -1
  74. homeassistant-stubs/components/canary/__init__.pyi +7 -7
  75. homeassistant-stubs/components/canary/alarm_control_panel.pyi +2 -4
  76. homeassistant-stubs/components/canary/camera.pyi +3 -4
  77. homeassistant-stubs/components/canary/const.pyi +0 -2
  78. homeassistant-stubs/components/canary/coordinator.pyi +3 -1
  79. homeassistant-stubs/components/canary/sensor.pyi +3 -4
  80. homeassistant-stubs/components/climate/__init__.pyi +2 -2
  81. homeassistant-stubs/components/climate/const.pyi +1 -0
  82. homeassistant-stubs/components/climate/intent.pyi +9 -1
  83. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  84. homeassistant-stubs/components/cloud/backup.pyi +3 -9
  85. homeassistant-stubs/components/cloud/const.pyi +0 -1
  86. homeassistant-stubs/components/cloud/http_api.pyi +7 -1
  87. homeassistant-stubs/components/config/core.pyi +1 -1
  88. homeassistant-stubs/components/cookidoo/__init__.pyi +6 -2
  89. homeassistant-stubs/components/cookidoo/button.pyi +27 -0
  90. homeassistant-stubs/components/cookidoo/config_flow.pyi +4 -1
  91. homeassistant-stubs/components/cookidoo/const.pyi +3 -0
  92. homeassistant-stubs/components/cookidoo/coordinator.pyi +3 -1
  93. homeassistant-stubs/components/cookidoo/diagnostics.pyi +10 -0
  94. homeassistant-stubs/components/cookidoo/helpers.pyi +9 -0
  95. homeassistant-stubs/components/cookidoo/sensor.pyi +34 -0
  96. homeassistant-stubs/components/cover/__init__.pyi +1 -1
  97. homeassistant-stubs/components/crownstone/__init__.pyi +6 -5
  98. homeassistant-stubs/components/crownstone/config_flow.pyi +6 -4
  99. homeassistant-stubs/components/crownstone/entry_manager.pyi +6 -6
  100. homeassistant-stubs/components/crownstone/helpers.pyi +2 -1
  101. homeassistant-stubs/components/crownstone/light.pyi +3 -4
  102. homeassistant-stubs/components/date/__init__.pyi +1 -1
  103. homeassistant-stubs/components/datetime/__init__.pyi +1 -1
  104. homeassistant-stubs/components/deconz/__init__.pyi +5 -4
  105. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +2 -2
  106. homeassistant-stubs/components/deconz/binary_sensor.pyi +2 -2
  107. homeassistant-stubs/components/deconz/button.pyi +2 -2
  108. homeassistant-stubs/components/deconz/climate.pyi +2 -2
  109. homeassistant-stubs/components/deconz/config_flow.pyi +3 -6
  110. homeassistant-stubs/components/deconz/cover.pyi +2 -2
  111. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -2
  112. homeassistant-stubs/components/deconz/diagnostics.pyi +2 -3
  113. homeassistant-stubs/components/deconz/fan.pyi +2 -2
  114. homeassistant-stubs/components/deconz/hub/api.pyi +2 -2
  115. homeassistant-stubs/components/deconz/hub/config.pyi +3 -3
  116. homeassistant-stubs/components/deconz/hub/hub.pyi +4 -6
  117. homeassistant-stubs/components/deconz/light.pyi +2 -2
  118. homeassistant-stubs/components/deconz/lock.pyi +2 -3
  119. homeassistant-stubs/components/deconz/number.pyi +2 -2
  120. homeassistant-stubs/components/deconz/scene.pyi +2 -3
  121. homeassistant-stubs/components/deconz/select.pyi +2 -3
  122. homeassistant-stubs/components/deconz/sensor.pyi +2 -2
  123. homeassistant-stubs/components/deconz/services.pyi +2 -1
  124. homeassistant-stubs/components/deconz/siren.pyi +2 -3
  125. homeassistant-stubs/components/deconz/switch.pyi +2 -3
  126. homeassistant-stubs/components/deconz/util.pyi +7 -0
  127. homeassistant-stubs/components/device_tracker/config_entry.pyi +1 -1
  128. homeassistant-stubs/components/device_tracker/legacy.pyi +1 -1
  129. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +2 -2
  130. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +2 -1
  131. homeassistant-stubs/components/dhcp/__init__.pyi +6 -7
  132. homeassistant-stubs/components/discovergy/sensor.pyi +2 -0
  133. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +7 -6
  134. homeassistant-stubs/components/dlna_dmr/media_player.pyi +2 -1
  135. homeassistant-stubs/components/dlna_dms/config_flow.pyi +5 -4
  136. homeassistant-stubs/components/dlna_dms/dms.pyi +3 -2
  137. homeassistant-stubs/components/doorbird/config_flow.pyi +2 -2
  138. homeassistant-stubs/components/doorbird/device.pyi +1 -1
  139. homeassistant-stubs/components/dormakaba_dkey/__init__.pyi +5 -9
  140. homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +3 -7
  141. homeassistant-stubs/components/dormakaba_dkey/coordinator.pyi +15 -0
  142. homeassistant-stubs/components/dormakaba_dkey/entity.pyi +4 -5
  143. homeassistant-stubs/components/dormakaba_dkey/lock.pyi +3 -7
  144. homeassistant-stubs/components/dormakaba_dkey/sensor.pyi +3 -7
  145. homeassistant-stubs/components/dunehd/__init__.pyi +4 -3
  146. homeassistant-stubs/components/dunehd/media_player.pyi +2 -2
  147. homeassistant-stubs/components/duotecno/__init__.pyi +4 -3
  148. homeassistant-stubs/components/duotecno/binary_sensor.pyi +2 -4
  149. homeassistant-stubs/components/duotecno/climate.pyi +2 -4
  150. homeassistant-stubs/components/duotecno/cover.pyi +2 -4
  151. homeassistant-stubs/components/duotecno/light.pyi +2 -4
  152. homeassistant-stubs/components/duotecno/switch.pyi +2 -4
  153. homeassistant-stubs/components/eheimdigital/climate.pyi +40 -0
  154. homeassistant-stubs/components/eheimdigital/config_flow.pyi +1 -1
  155. homeassistant-stubs/components/eheimdigital/const.pyi +4 -0
  156. homeassistant-stubs/components/eheimdigital/coordinator.pyi +2 -3
  157. homeassistant-stubs/components/eheimdigital/light.pyi +1 -0
  158. homeassistant-stubs/components/electrasmart/__init__.pyi +6 -4
  159. homeassistant-stubs/components/electrasmart/climate.pyi +2 -2
  160. homeassistant-stubs/components/electric_kiwi/__init__.pyi +3 -5
  161. homeassistant-stubs/components/electric_kiwi/const.pyi +0 -2
  162. homeassistant-stubs/components/electric_kiwi/coordinator.pyi +10 -2
  163. homeassistant-stubs/components/electric_kiwi/select.pyi +3 -4
  164. homeassistant-stubs/components/electric_kiwi/sensor.pyi +3 -4
  165. homeassistant-stubs/components/elevenlabs/const.pyi +1 -0
  166. homeassistant-stubs/components/elevenlabs/tts.pyi +1 -1
  167. homeassistant-stubs/components/elgato/config_flow.pyi +3 -2
  168. homeassistant-stubs/components/elkm1/binary_sensor.pyi +1 -1
  169. homeassistant-stubs/components/elkm1/config_flow.pyi +2 -2
  170. homeassistant-stubs/components/elkm1/sensor.pyi +5 -5
  171. homeassistant-stubs/components/energenie_power_sockets/__init__.pyi +5 -4
  172. homeassistant-stubs/components/energenie_power_sockets/switch.pyi +2 -2
  173. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +5 -5
  174. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +7 -0
  175. homeassistant-stubs/components/enphase_envoy/select.pyi +2 -2
  176. homeassistant-stubs/components/enphase_envoy/sensor.pyi +1 -4
  177. homeassistant-stubs/components/esphome/__init__.pyi +1 -0
  178. homeassistant-stubs/components/esphome/bluetooth.pyi +2 -1
  179. homeassistant-stubs/components/esphome/config_flow.pyi +5 -3
  180. homeassistant-stubs/components/esphome/dashboard.pyi +2 -1
  181. homeassistant-stubs/components/esphome/manager.pyi +1 -1
  182. homeassistant-stubs/components/event/__init__.pyi +2 -2
  183. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +3 -5
  184. homeassistant-stubs/components/evil_genius_labs/coordinator.pyi +4 -1
  185. homeassistant-stubs/components/evil_genius_labs/diagnostics.pyi +2 -4
  186. homeassistant-stubs/components/evil_genius_labs/light.pyi +2 -4
  187. homeassistant-stubs/components/fan/__init__.pyi +1 -1
  188. homeassistant-stubs/components/feedreader/__init__.pyi +3 -5
  189. homeassistant-stubs/components/feedreader/coordinator.pyi +5 -3
  190. homeassistant-stubs/components/filter/__init__.pyi +6 -4
  191. homeassistant-stubs/components/filter/config_flow.pyi +28 -0
  192. homeassistant-stubs/components/filter/const.pyi +29 -0
  193. homeassistant-stubs/components/filter/sensor.pyi +3 -24
  194. homeassistant-stubs/components/flux_led/config_flow.pyi +2 -2
  195. homeassistant-stubs/components/fritz/__init__.pyi +9 -7
  196. homeassistant-stubs/components/fritz/binary_sensor.pyi +2 -4
  197. homeassistant-stubs/components/fritz/button.pyi +3 -4
  198. homeassistant-stubs/components/fritz/config_flow.pyi +6 -5
  199. homeassistant-stubs/components/fritz/const.pyi +0 -3
  200. homeassistant-stubs/components/fritz/coordinator.pyi +12 -10
  201. homeassistant-stubs/components/fritz/device_tracker.pyi +2 -4
  202. homeassistant-stubs/components/fritz/diagnostics.pyi +2 -4
  203. homeassistant-stubs/components/fritz/image.pyi +2 -4
  204. homeassistant-stubs/components/fritz/sensor.pyi +3 -4
  205. homeassistant-stubs/components/fritz/services.pyi +5 -8
  206. homeassistant-stubs/components/fritz/switch.pyi +3 -4
  207. homeassistant-stubs/components/fritz/update.pyi +2 -4
  208. homeassistant-stubs/components/fritzbox/config_flow.pyi +2 -2
  209. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -1
  210. homeassistant-stubs/components/fronius/config_flow.pyi +1 -1
  211. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  212. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +2 -8
  213. homeassistant-stubs/components/fujitsu_fglair/entity.pyi +15 -0
  214. homeassistant-stubs/components/fujitsu_fglair/sensor.pyi +21 -0
  215. homeassistant-stubs/components/fully_kiosk/config_flow.pyi +1 -1
  216. homeassistant-stubs/components/fyta/binary_sensor.pyi +23 -0
  217. homeassistant-stubs/components/fyta/entity.pyi +2 -2
  218. homeassistant-stubs/components/fyta/image.pyi +18 -0
  219. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -0
  220. homeassistant-stubs/components/geo_location/__init__.pyi +1 -1
  221. homeassistant-stubs/components/goalzero/config_flow.pyi +2 -2
  222. homeassistant-stubs/components/google_drive/__init__.pyi +17 -0
  223. homeassistant-stubs/components/google_drive/api.pyi +35 -0
  224. homeassistant-stubs/components/google_drive/application_credentials.pyi +6 -0
  225. homeassistant-stubs/components/google_drive/backup.pyi +28 -0
  226. homeassistant-stubs/components/google_drive/config_flow.pyi +24 -0
  227. homeassistant-stubs/components/google_drive/const.pyi +1 -0
  228. homeassistant-stubs/components/guardian/config_flow.pyi +4 -3
  229. homeassistant-stubs/components/habitica/__init__.pyi +16 -0
  230. homeassistant-stubs/components/habitica/binary_sensor.pyi +33 -0
  231. homeassistant-stubs/components/habitica/button.pyi +53 -0
  232. homeassistant-stubs/components/habitica/calendar.pyi +56 -0
  233. homeassistant-stubs/components/habitica/config_flow.pyi +27 -0
  234. homeassistant-stubs/components/habitica/const.pyi +44 -0
  235. homeassistant-stubs/components/habitica/coordinator.pyi +29 -0
  236. homeassistant-stubs/components/habitica/diagnostics.pyi +7 -0
  237. homeassistant-stubs/components/habitica/entity.pyi +14 -0
  238. homeassistant-stubs/components/habitica/image.pyi +26 -0
  239. homeassistant-stubs/components/habitica/sensor.pyi +81 -0
  240. homeassistant-stubs/components/habitica/services.pyi +24 -0
  241. homeassistant-stubs/components/habitica/switch.pyi +32 -0
  242. homeassistant-stubs/components/habitica/todo.pyi +43 -0
  243. homeassistant-stubs/components/habitica/types.pyi +10 -0
  244. homeassistant-stubs/components/habitica/util.pyi +15 -0
  245. homeassistant-stubs/components/heos/__init__.pyi +15 -0
  246. homeassistant-stubs/components/heos/config_flow.pyi +32 -0
  247. homeassistant-stubs/components/heos/const.pyi +5 -0
  248. homeassistant-stubs/components/heos/coordinator.pyi +44 -0
  249. homeassistant-stubs/components/heos/diagnostics.pyi +14 -0
  250. homeassistant-stubs/components/heos/media_player.pyi +95 -0
  251. homeassistant-stubs/components/heos/services.pyi +16 -0
  252. homeassistant-stubs/components/holiday/config_flow.pyi +3 -1
  253. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +1 -3
  254. homeassistant-stubs/components/homeassistant_hardware/util.pyi +13 -1
  255. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +4 -2
  256. homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -2
  257. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -0
  258. homeassistant-stubs/components/homee/__init__.pyi +14 -0
  259. homeassistant-stubs/components/homee/config_flow.pyi +14 -0
  260. homeassistant-stubs/components/homee/const.pyi +9 -0
  261. homeassistant-stubs/components/homee/cover.pyi +43 -0
  262. homeassistant-stubs/components/homee/entity.pyi +43 -0
  263. homeassistant-stubs/components/homee/helpers.pyi +6 -0
  264. homeassistant-stubs/components/homee/sensor.pyi +49 -0
  265. homeassistant-stubs/components/homekit/util.pyi +1 -1
  266. homeassistant-stubs/components/homekit_controller/config_flow.pyi +3 -2
  267. homeassistant-stubs/components/homewizard/__init__.pyi +5 -0
  268. homeassistant-stubs/components/homewizard/config_flow.pyi +19 -19
  269. homeassistant-stubs/components/homewizard/const.pyi +0 -11
  270. homeassistant-stubs/components/homewizard/coordinator.pyi +6 -12
  271. homeassistant-stubs/components/homewizard/number.pyi +0 -1
  272. homeassistant-stubs/components/homewizard/repairs.pyi +17 -0
  273. homeassistant-stubs/components/homewizard/sensor.pyi +8 -5
  274. homeassistant-stubs/components/homewizard/switch.pyi +4 -4
  275. homeassistant-stubs/components/http/ban.pyi +0 -1
  276. homeassistant-stubs/components/huawei_lte/config_flow.pyi +2 -2
  277. homeassistant-stubs/components/humidifier/__init__.pyi +1 -1
  278. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +0 -3
  279. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +14 -0
  280. homeassistant-stubs/components/husqvarna_automower/number.pyi +1 -1
  281. homeassistant-stubs/components/hydrawise/__init__.pyi +3 -1
  282. homeassistant-stubs/components/hydrawise/config_flow.pyi +13 -5
  283. homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -4
  284. homeassistant-stubs/components/hydrawise/switch.pyi +3 -3
  285. homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
  286. homeassistant-stubs/components/image/__init__.pyi +1 -1
  287. homeassistant-stubs/components/imgw_pib/__init__.pyi +1 -1
  288. homeassistant-stubs/components/imgw_pib/sensor.pyi +2 -1
  289. homeassistant-stubs/components/incomfort/__init__.pyi +18 -0
  290. homeassistant-stubs/components/incomfort/binary_sensor.pyi +33 -0
  291. homeassistant-stubs/components/incomfort/climate.pyi +42 -0
  292. homeassistant-stubs/components/incomfort/config_flow.pyi +37 -0
  293. homeassistant-stubs/components/incomfort/const.pyi +2 -0
  294. homeassistant-stubs/components/incomfort/coordinator.pyi +25 -0
  295. homeassistant-stubs/components/incomfort/diagnostics.pyi +12 -0
  296. homeassistant-stubs/components/incomfort/entity.pyi +14 -0
  297. homeassistant-stubs/components/incomfort/errors.pyi +18 -0
  298. homeassistant-stubs/components/incomfort/sensor.pyi +33 -0
  299. homeassistant-stubs/components/incomfort/water_heater.pyi +32 -0
  300. homeassistant-stubs/components/intent/__init__.pyi +1 -1
  301. homeassistant-stubs/components/intent/timers.pyi +1 -2
  302. homeassistant-stubs/components/ipp/config_flow.pyi +2 -2
  303. homeassistant-stubs/components/iron_os/button.pyi +31 -0
  304. homeassistant-stubs/components/iron_os/coordinator.pyi +4 -1
  305. homeassistant-stubs/components/iron_os/diagnostics.pyi +6 -0
  306. homeassistant-stubs/components/iron_os/number.pyi +1 -2
  307. homeassistant-stubs/components/iron_os/select.pyi +2 -4
  308. homeassistant-stubs/components/iron_os/switch.pyi +43 -0
  309. homeassistant-stubs/components/isy994/__init__.pyi +1 -2
  310. homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
  311. homeassistant-stubs/components/kaleidescape/config_flow.pyi +2 -2
  312. homeassistant-stubs/components/knx/binary_sensor.pyi +18 -10
  313. homeassistant-stubs/components/knx/climate.pyi +10 -2
  314. homeassistant-stubs/components/knx/const.pyi +2 -0
  315. homeassistant-stubs/components/knx/entity.pyi +1 -1
  316. homeassistant-stubs/components/knx/light.pyi +1 -1
  317. homeassistant-stubs/components/knx/schema.pyi +5 -7
  318. homeassistant-stubs/components/knx/sensor.pyi +1 -1
  319. homeassistant-stubs/components/knx/storage/const.pyi +1 -0
  320. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -2
  321. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
  322. homeassistant-stubs/components/lametric/config_flow.pyi +2 -2
  323. homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -1
  324. homeassistant-stubs/components/lcn/__init__.pyi +2 -2
  325. homeassistant-stubs/components/lcn/climate.pyi +2 -1
  326. homeassistant-stubs/components/lcn/const.pyi +1 -0
  327. homeassistant-stubs/components/lcn/schemas.pyi +1 -1
  328. homeassistant-stubs/components/lektrico/config_flow.pyi +1 -1
  329. homeassistant-stubs/components/letpot/__init__.pyi +13 -0
  330. homeassistant-stubs/components/letpot/config_flow.pyi +19 -0
  331. homeassistant-stubs/components/letpot/const.pyi +6 -0
  332. homeassistant-stubs/components/letpot/coordinator.pyi +20 -0
  333. homeassistant-stubs/components/letpot/entity.pyi +10 -0
  334. homeassistant-stubs/components/letpot/time.pyi +33 -0
  335. homeassistant-stubs/components/lifx/config_flow.pyi +3 -3
  336. homeassistant-stubs/components/lifx/coordinator.pyi +1 -1
  337. homeassistant-stubs/components/lifx/manager.pyi +16 -1
  338. homeassistant-stubs/components/light/__init__.pyi +1 -1
  339. homeassistant-stubs/components/linkplay/config_flow.pyi +2 -2
  340. homeassistant-stubs/components/litterrobot/__init__.pyi +2 -6
  341. homeassistant-stubs/components/litterrobot/binary_sensor.pyi +6 -9
  342. homeassistant-stubs/components/litterrobot/button.pyi +6 -10
  343. homeassistant-stubs/components/litterrobot/{hub.pyi → coordinator.pyi} +11 -10
  344. homeassistant-stubs/components/litterrobot/entity.pyi +5 -7
  345. homeassistant-stubs/components/litterrobot/select.pyi +5 -14
  346. homeassistant-stubs/components/litterrobot/sensor.pyi +7 -7
  347. homeassistant-stubs/components/litterrobot/switch.pyi +7 -9
  348. homeassistant-stubs/components/litterrobot/time.pyi +3 -6
  349. homeassistant-stubs/components/litterrobot/update.pyi +1 -1
  350. homeassistant-stubs/components/litterrobot/vacuum.pyi +1 -5
  351. homeassistant-stubs/components/lock/__init__.pyi +1 -1
  352. homeassistant-stubs/components/logbook/models.pyi +1 -1
  353. homeassistant-stubs/components/lookin/config_flow.pyi +2 -2
  354. homeassistant-stubs/components/lovelace/__init__.pyi +39 -0
  355. homeassistant-stubs/components/lovelace/cast.pyi +18 -0
  356. homeassistant-stubs/components/lovelace/const.pyi +33 -0
  357. homeassistant-stubs/components/lovelace/dashboard.pyi +83 -0
  358. homeassistant-stubs/components/lovelace/resources.pyi +42 -0
  359. homeassistant-stubs/components/lovelace/system_health.pyi +9 -0
  360. homeassistant-stubs/components/lovelace/websocket.pyi +26 -0
  361. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -3
  362. homeassistant-stubs/components/mastodon/notify.pyi +1 -3
  363. homeassistant-stubs/components/matter/config_flow.pyi +1 -1
  364. homeassistant-stubs/components/matter/cover.pyi +0 -1
  365. homeassistant-stubs/components/matter/discovery.pyi +2 -2
  366. homeassistant-stubs/components/matter/entity.pyi +11 -4
  367. homeassistant-stubs/components/matter/light.pyi +0 -1
  368. homeassistant-stubs/components/matter/lock.pyi +0 -2
  369. homeassistant-stubs/components/matter/models.pyi +10 -1
  370. homeassistant-stubs/components/matter/number.pyi +1 -1
  371. homeassistant-stubs/components/matter/select.pyi +32 -2
  372. homeassistant-stubs/components/matter/sensor.pyi +24 -0
  373. homeassistant-stubs/components/matter/switch.pyi +15 -2
  374. homeassistant-stubs/components/matter/vacuum.pyi +0 -1
  375. homeassistant-stubs/components/matter/valve.pyi +0 -2
  376. homeassistant-stubs/components/mcp/__init__.pyi +16 -0
  377. homeassistant-stubs/components/mcp/config_flow.pyi +23 -0
  378. homeassistant-stubs/components/mcp/const.pyi +1 -0
  379. homeassistant-stubs/components/mcp/coordinator.pyi +40 -0
  380. homeassistant-stubs/components/mcp/types.pyi +4 -0
  381. homeassistant-stubs/components/mcp_server/__init__.pyi +13 -0
  382. homeassistant-stubs/components/mcp_server/config_flow.pyi +14 -0
  383. homeassistant-stubs/components/mcp_server/const.pyi +4 -0
  384. homeassistant-stubs/components/mcp_server/http.pyi +31 -0
  385. homeassistant-stubs/components/mcp_server/llm_api.pyi +15 -0
  386. homeassistant-stubs/components/mcp_server/server.pyi +13 -0
  387. homeassistant-stubs/components/mcp_server/session.pyi +20 -0
  388. homeassistant-stubs/components/mcp_server/types.pyi +4 -0
  389. homeassistant-stubs/components/media_player/__init__.pyi +1 -1
  390. homeassistant-stubs/components/media_source/__init__.pyi +1 -1
  391. homeassistant-stubs/components/media_source/models.pyi +1 -2
  392. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -1
  393. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  394. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -3
  395. homeassistant-stubs/components/modbus/climate.pyi +4 -3
  396. homeassistant-stubs/components/modbus/const.pyi +4 -0
  397. homeassistant-stubs/components/modbus/cover.pyi +1 -2
  398. homeassistant-stubs/components/modbus/entity.pyi +15 -8
  399. homeassistant-stubs/components/modbus/light.pyi +0 -1
  400. homeassistant-stubs/components/modbus/modbus.pyi +4 -0
  401. homeassistant-stubs/components/modbus/sensor.pyi +1 -2
  402. homeassistant-stubs/components/modbus/switch.pyi +0 -1
  403. homeassistant-stubs/components/modem_callerid/config_flow.pyi +2 -1
  404. homeassistant-stubs/components/motionmount/__init__.pyi +2 -2
  405. homeassistant-stubs/components/motionmount/config_flow.pyi +16 -6
  406. homeassistant-stubs/components/motionmount/entity.pyi +3 -2
  407. homeassistant-stubs/components/motionmount/select.pyi +2 -0
  408. homeassistant-stubs/components/mqtt/__init__.pyi +11 -34
  409. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -1
  410. homeassistant-stubs/components/mqtt/config_flow.pyi +3 -5
  411. homeassistant-stubs/components/mqtt/const.pyi +7 -1
  412. homeassistant-stubs/components/mqtt/diagnostics.pyi +0 -1
  413. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -1
  414. homeassistant-stubs/components/mqtt/light/schema_json.pyi +2 -1
  415. homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -1
  416. homeassistant-stubs/components/music_assistant/config_flow.pyi +2 -2
  417. homeassistant-stubs/components/nam/config_flow.pyi +2 -2
  418. homeassistant-stubs/components/nanoleaf/config_flow.pyi +6 -5
  419. homeassistant-stubs/components/nest/__init__.pyi +3 -4
  420. homeassistant-stubs/components/nest/api.pyi +2 -2
  421. homeassistant-stubs/components/nest/climate.pyi +2 -0
  422. homeassistant-stubs/components/nest/config_flow.pyi +6 -2
  423. homeassistant-stubs/components/netatmo/button.pyi +25 -0
  424. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  425. homeassistant-stubs/components/netatmo/data_handler.pyi +1 -1
  426. homeassistant-stubs/components/network/system_health.pyi +11 -0
  427. homeassistant-stubs/components/notify/__init__.pyi +1 -1
  428. homeassistant-stubs/components/number/__init__.pyi +2 -2
  429. homeassistant-stubs/components/nut/config_flow.pyi +2 -2
  430. homeassistant-stubs/components/onboarding/views.pyi +30 -2
  431. homeassistant-stubs/components/onedrive/__init__.pyi +26 -0
  432. homeassistant-stubs/components/onedrive/application_credentials.pyi +5 -0
  433. homeassistant-stubs/components/onedrive/backup.pyi +41 -0
  434. homeassistant-stubs/components/onedrive/config_flow.pyi +18 -0
  435. homeassistant-stubs/components/onedrive/const.pyi +10 -0
  436. homeassistant-stubs/components/onewire/__init__.pyi +4 -4
  437. homeassistant-stubs/components/onewire/binary_sensor.pyi +8 -4
  438. homeassistant-stubs/components/onewire/config_flow.pyi +12 -7
  439. homeassistant-stubs/components/onewire/const.pyi +0 -2
  440. homeassistant-stubs/components/onewire/diagnostics.pyi +1 -1
  441. homeassistant-stubs/components/onewire/onewirehub.pyi +22 -14
  442. homeassistant-stubs/components/onewire/select.pyi +27 -0
  443. homeassistant-stubs/components/onewire/sensor.pyi +7 -4
  444. homeassistant-stubs/components/onewire/switch.pyi +8 -4
  445. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -4
  446. homeassistant-stubs/components/open_meteo/__init__.pyi +4 -8
  447. homeassistant-stubs/components/open_meteo/coordinator.pyi +15 -0
  448. homeassistant-stubs/components/open_meteo/diagnostics.pyi +2 -5
  449. homeassistant-stubs/components/open_meteo/weather.pyi +3 -3
  450. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -6
  451. homeassistant-stubs/components/overkiz/__init__.pyi +1 -1
  452. homeassistant-stubs/components/overkiz/climate/__init__.pyi +1 -0
  453. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control_zone.pyi +1 -1
  454. homeassistant-stubs/components/overkiz/climate/evo_home_controller.pyi +24 -0
  455. homeassistant-stubs/components/overkiz/config_flow.pyi +4 -3
  456. homeassistant-stubs/components/overkiz/const.pyi +1 -0
  457. homeassistant-stubs/components/overkiz/coordinator.pyi +5 -3
  458. homeassistant-stubs/components/overseerr/__init__.pyi +37 -0
  459. homeassistant-stubs/components/overseerr/config_flow.pyi +14 -0
  460. homeassistant-stubs/components/overseerr/const.pyi +12 -0
  461. homeassistant-stubs/components/overseerr/coordinator.pyi +18 -0
  462. homeassistant-stubs/components/overseerr/diagnostics.pyi +6 -0
  463. homeassistant-stubs/components/overseerr/entity.pyi +11 -0
  464. homeassistant-stubs/components/overseerr/event.pyi +35 -0
  465. homeassistant-stubs/components/overseerr/sensor.pyi +27 -0
  466. homeassistant-stubs/components/overseerr/services.pyi +16 -0
  467. homeassistant-stubs/components/pandora/__init__.pyi +0 -0
  468. homeassistant-stubs/components/pandora/media_player.pyi +51 -0
  469. homeassistant-stubs/components/peblar/config_flow.pyi +3 -3
  470. homeassistant-stubs/components/person/__init__.pyi +103 -0
  471. homeassistant-stubs/components/person/const.pyi +1 -0
  472. homeassistant-stubs/components/person/significant_change.pyi +5 -0
  473. homeassistant-stubs/components/plugwise/config_flow.pyi +1 -1
  474. homeassistant-stubs/components/powerfox/sensor.pyi +3 -2
  475. homeassistant-stubs/components/powerwall/__init__.pyi +8 -3
  476. homeassistant-stubs/components/powerwall/config_flow.pyi +3 -3
  477. homeassistant-stubs/components/powerwall/const.pyi +2 -0
  478. homeassistant-stubs/components/proximity/__init__.pyi +2 -3
  479. homeassistant-stubs/components/proximity/coordinator.pyi +1 -2
  480. homeassistant-stubs/components/pure_energie/config_flow.pyi +2 -2
  481. homeassistant-stubs/components/python_script/__init__.pyi +48 -0
  482. homeassistant-stubs/components/qbus/__init__.pyi +15 -0
  483. homeassistant-stubs/components/qbus/config_flow.pyi +26 -0
  484. homeassistant-stubs/components/qbus/const.pyi +7 -0
  485. homeassistant-stubs/components/qbus/coordinator.pyi +48 -0
  486. homeassistant-stubs/components/qbus/entity.pyi +29 -0
  487. homeassistant-stubs/components/qbus/switch.pyi +21 -0
  488. homeassistant-stubs/components/qnap_qsw/config_flow.pyi +2 -2
  489. homeassistant-stubs/components/qnap_qsw/sensor.pyi +1 -4
  490. homeassistant-stubs/components/rabbitair/config_flow.pyi +2 -1
  491. homeassistant-stubs/components/rainforest_raven/config_flow.pyi +3 -2
  492. homeassistant-stubs/components/rainmachine/config_flow.pyi +4 -4
  493. homeassistant-stubs/components/recorder/auto_repairs/statistics/duplicates.pyi +1 -1
  494. homeassistant-stubs/components/recorder/const.pyi +0 -2
  495. homeassistant-stubs/components/recorder/core.pyi +2 -2
  496. homeassistant-stubs/components/recorder/db_schema.pyi +5 -2
  497. homeassistant-stubs/components/recorder/migration.pyi +1 -1
  498. homeassistant-stubs/components/recorder/models/state.pyi +1 -1
  499. homeassistant-stubs/components/recorder/util.pyi +1 -7
  500. homeassistant-stubs/components/remote/__init__.pyi +1 -1
  501. homeassistant-stubs/components/reolink/__init__.pyi +4 -2
  502. homeassistant-stubs/components/reolink/config_flow.pyi +7 -3
  503. homeassistant-stubs/components/reolink/const.pyi +1 -0
  504. homeassistant-stubs/components/reolink/entity.pyi +1 -1
  505. homeassistant-stubs/components/reolink/host.pyi +9 -2
  506. homeassistant-stubs/components/reolink/switch.pyi +5 -1
  507. homeassistant-stubs/components/reolink/util.pyi +6 -5
  508. homeassistant-stubs/components/repairs/__init__.pyi +1 -1
  509. homeassistant-stubs/components/ring/__init__.pyi +4 -15
  510. homeassistant-stubs/components/ring/binary_sensor.pyi +2 -0
  511. homeassistant-stubs/components/ring/button.pyi +1 -0
  512. homeassistant-stubs/components/ring/camera.pyi +1 -0
  513. homeassistant-stubs/components/ring/config_flow.pyi +2 -2
  514. homeassistant-stubs/components/ring/coordinator.pyi +14 -4
  515. homeassistant-stubs/components/ring/entity.pyi +1 -2
  516. homeassistant-stubs/components/ring/event.pyi +2 -0
  517. homeassistant-stubs/components/ring/light.pyi +1 -0
  518. homeassistant-stubs/components/ring/number.pyi +2 -0
  519. homeassistant-stubs/components/ring/sensor.pyi +2 -0
  520. homeassistant-stubs/components/ring/siren.pyi +1 -0
  521. homeassistant-stubs/components/ring/switch.pyi +1 -0
  522. homeassistant-stubs/components/roborock/__init__.pyi +3 -1
  523. homeassistant-stubs/components/roborock/const.pyi +4 -0
  524. homeassistant-stubs/components/roborock/coordinator.pyi +10 -6
  525. homeassistant-stubs/components/roborock/image.pyi +10 -11
  526. homeassistant-stubs/components/roborock/roborock_storage.pyi +23 -0
  527. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  528. homeassistant-stubs/components/roborock/vacuum.pyi +5 -1
  529. homeassistant-stubs/components/roku/config_flow.pyi +4 -3
  530. homeassistant-stubs/components/romy/config_flow.pyi +2 -2
  531. homeassistant-stubs/components/russound_rio/config_flow.pyi +6 -2
  532. homeassistant-stubs/components/russound_rio/const.pyi +0 -2
  533. homeassistant-stubs/components/russound_rio/media_player.pyi +13 -6
  534. homeassistant-stubs/components/ruuvi_gateway/config_flow.pyi +2 -2
  535. homeassistant-stubs/components/samsungtv/config_flow.pyi +6 -4
  536. homeassistant-stubs/components/scrape/sensor.pyi +2 -0
  537. homeassistant-stubs/components/script/__init__.pyi +1 -1
  538. homeassistant-stubs/components/select/__init__.pyi +2 -2
  539. homeassistant-stubs/components/sensibo/__init__.pyi +3 -3
  540. homeassistant-stubs/components/sensibo/binary_sensor.pyi +1 -0
  541. homeassistant-stubs/components/sensibo/climate.pyi +13 -7
  542. homeassistant-stubs/components/sensibo/config_flow.pyi +1 -1
  543. homeassistant-stubs/components/sensibo/coordinator.pyi +2 -0
  544. homeassistant-stubs/components/sensibo/entity.pyi +5 -1
  545. homeassistant-stubs/components/sensibo/select.pyi +6 -1
  546. homeassistant-stubs/components/sensibo/sensor.pyi +2 -0
  547. homeassistant-stubs/components/sensor/__init__.pyi +2 -2
  548. homeassistant-stubs/components/shelly/__init__.pyi +2 -0
  549. homeassistant-stubs/components/shelly/binary_sensor.pyi +11 -6
  550. homeassistant-stubs/components/shelly/bluetooth/__init__.pyi +1 -1
  551. homeassistant-stubs/components/shelly/climate.pyi +25 -2
  552. homeassistant-stubs/components/shelly/config_flow.pyi +1 -1
  553. homeassistant-stubs/components/shelly/const.pyi +3 -0
  554. homeassistant-stubs/components/shelly/coordinator.pyi +3 -2
  555. homeassistant-stubs/components/shelly/entity.pyi +4 -1
  556. homeassistant-stubs/components/shelly/number.pyi +21 -13
  557. homeassistant-stubs/components/shelly/sensor.pyi +12 -7
  558. homeassistant-stubs/components/shelly/utils.pyi +1 -1
  559. homeassistant-stubs/components/siren/__init__.pyi +1 -1
  560. homeassistant-stubs/components/slack/config_flow.pyi +2 -1
  561. homeassistant-stubs/components/slack/entity.pyi +3 -5
  562. homeassistant-stubs/components/slack/notify.pyi +4 -2
  563. homeassistant-stubs/components/slack/sensor.pyi +2 -2
  564. homeassistant-stubs/components/slack/utils.pyi +6 -0
  565. homeassistant-stubs/components/smhi/config_flow.pyi +1 -1
  566. homeassistant-stubs/components/smhi/weather.pyi +3 -3
  567. homeassistant-stubs/components/smlight/config_flow.pyi +7 -5
  568. homeassistant-stubs/components/spotify/__init__.pyi +1 -1
  569. homeassistant-stubs/components/spotify/browse_media.pyi +1 -1
  570. homeassistant-stubs/components/spotify/coordinator.pyi +2 -0
  571. homeassistant-stubs/components/squeezebox/config_flow.pyi +2 -2
  572. homeassistant-stubs/components/ssdp/__init__.pyi +34 -44
  573. homeassistant-stubs/components/starlink/coordinator.pyi +1 -0
  574. homeassistant-stubs/components/steamist/config_flow.pyi +2 -2
  575. homeassistant-stubs/components/stream/__init__.pyi +3 -15
  576. homeassistant-stubs/components/stream/const.pyi +9 -1
  577. homeassistant-stubs/components/stream/exceptions.pyi +13 -0
  578. homeassistant-stubs/components/stream/worker.pyi +4 -5
  579. homeassistant-stubs/components/stt/__init__.pyi +1 -1
  580. homeassistant-stubs/components/suez_water/__init__.pyi +4 -0
  581. homeassistant-stubs/components/switch/__init__.pyi +1 -1
  582. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +5 -5
  583. homeassistant-stubs/components/switchbot_cloud/button.pyi +17 -0
  584. homeassistant-stubs/components/switchbot_cloud/entity.pyi +5 -0
  585. homeassistant-stubs/components/switchbot_cloud/lock.pyi +2 -3
  586. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +5 -5
  587. homeassistant-stubs/components/switchbot_cloud/switch.pyi +3 -6
  588. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +1 -2
  589. homeassistant-stubs/components/switcher_kis/switch.pyi +29 -0
  590. homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -2
  591. homeassistant-stubs/components/synology_dsm/backup.pyi +36 -0
  592. homeassistant-stubs/components/synology_dsm/common.pyi +5 -2
  593. homeassistant-stubs/components/synology_dsm/config_flow.pyi +11 -4
  594. homeassistant-stubs/components/synology_dsm/const.pyi +6 -0
  595. homeassistant-stubs/components/synology_dsm/coordinator.pyi +1 -1
  596. homeassistant-stubs/components/system_health/__init__.pyi +3 -1
  597. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -3
  598. homeassistant-stubs/components/systemmonitor/config_flow.pyi +0 -4
  599. homeassistant-stubs/components/systemmonitor/coordinator.pyi +2 -1
  600. homeassistant-stubs/components/tailwind/config_flow.pyi +3 -3
  601. homeassistant-stubs/components/technove/binary_sensor.pyi +0 -4
  602. homeassistant-stubs/components/technove/config_flow.pyi +3 -2
  603. homeassistant-stubs/components/tedee/coordinator.pyi +1 -1
  604. homeassistant-stubs/components/text/__init__.pyi +1 -1
  605. homeassistant-stubs/components/tile/__init__.pyi +4 -15
  606. homeassistant-stubs/components/tile/binary_sensor.pyi +24 -0
  607. homeassistant-stubs/components/tile/config_flow.pyi +0 -1
  608. homeassistant-stubs/components/tile/coordinator.pyi +18 -0
  609. homeassistant-stubs/components/tile/device_tracker.pyi +6 -20
  610. homeassistant-stubs/components/tile/diagnostics.pyi +2 -4
  611. homeassistant-stubs/components/tile/entity.pyi +13 -0
  612. homeassistant-stubs/components/time/__init__.pyi +1 -1
  613. homeassistant-stubs/components/todo/__init__.pyi +1 -1
  614. homeassistant-stubs/components/tolo/config_flow.pyi +2 -2
  615. homeassistant-stubs/components/tplink/__init__.pyi +3 -6
  616. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -0
  617. homeassistant-stubs/components/tplink/button.pyi +2 -1
  618. homeassistant-stubs/components/tplink/camera.pyi +9 -9
  619. homeassistant-stubs/components/tplink/climate.pyi +18 -12
  620. homeassistant-stubs/components/tplink/config_flow.pyi +3 -2
  621. homeassistant-stubs/components/tplink/const.pyi +1 -1
  622. homeassistant-stubs/components/tplink/coordinator.pyi +20 -4
  623. homeassistant-stubs/components/tplink/deprecate.pyi +5 -3
  624. homeassistant-stubs/components/tplink/entity.pyi +30 -11
  625. homeassistant-stubs/components/tplink/fan.pyi +15 -7
  626. homeassistant-stubs/components/tplink/light.pyi +22 -11
  627. homeassistant-stubs/components/tplink/number.pyi +1 -0
  628. homeassistant-stubs/components/tplink/select.pyi +1 -0
  629. homeassistant-stubs/components/tplink/sensor.pyi +7 -2
  630. homeassistant-stubs/components/tplink/siren.pyi +22 -7
  631. homeassistant-stubs/components/tplink/switch.pyi +1 -0
  632. homeassistant-stubs/components/tplink/vacuum.pyi +43 -0
  633. homeassistant-stubs/components/tradfri/config_flow.pyi +2 -2
  634. homeassistant-stubs/components/trafikverket_camera/__init__.pyi +2 -2
  635. homeassistant-stubs/components/trafikverket_camera/camera.pyi +2 -0
  636. homeassistant-stubs/components/trafikverket_ferry/__init__.pyi +1 -1
  637. homeassistant-stubs/components/trafikverket_ferry/coordinator.pyi +1 -1
  638. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -0
  639. homeassistant-stubs/components/trafikverket_train/__init__.pyi +6 -3
  640. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +10 -4
  641. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +2 -2
  642. homeassistant-stubs/components/trafikverket_train/sensor.pyi +1 -0
  643. homeassistant-stubs/components/trafikverket_weatherstation/__init__.pyi +1 -1
  644. homeassistant-stubs/components/trafikverket_weatherstation/coordinator.pyi +1 -1
  645. homeassistant-stubs/components/trafikverket_weatherstation/diagnostics.pyi +5 -0
  646. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +1 -0
  647. homeassistant-stubs/components/tts/__init__.pyi +2 -2
  648. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  649. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -1
  650. homeassistant-stubs/components/unifi/switch.pyi +1 -0
  651. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  652. homeassistant-stubs/components/unifiprotect/config_flow.pyi +4 -3
  653. homeassistant-stubs/components/unifiprotect/light.pyi +1 -1
  654. homeassistant-stubs/components/unifiprotect/views.pyi +8 -0
  655. homeassistant-stubs/components/upcloud/__init__.pyi +6 -12
  656. homeassistant-stubs/components/upcloud/binary_sensor.pyi +2 -4
  657. homeassistant-stubs/components/upcloud/config_flow.pyi +3 -2
  658. homeassistant-stubs/components/upcloud/const.pyi +0 -1
  659. homeassistant-stubs/components/upcloud/coordinator.pyi +3 -2
  660. homeassistant-stubs/components/upcloud/entity.pyi +3 -3
  661. homeassistant-stubs/components/upcloud/switch.pyi +3 -4
  662. homeassistant-stubs/components/update/__init__.pyi +2 -2
  663. homeassistant-stubs/components/usb/__init__.pyi +21 -18
  664. homeassistant-stubs/components/usb/models.pyi +1 -1
  665. homeassistant-stubs/components/vacuum/__init__.pyi +1 -1
  666. homeassistant-stubs/components/velbus/config_flow.pyi +2 -2
  667. homeassistant-stubs/components/velbus/const.pyi +1 -0
  668. homeassistant-stubs/components/velbus/diagnostics.pyi +1 -3
  669. homeassistant-stubs/components/velbus/entity.pyi +4 -0
  670. homeassistant-stubs/components/velbus/services.pyi +5 -1
  671. homeassistant-stubs/components/wake_word/__init__.pyi +1 -1
  672. homeassistant-stubs/components/water_heater/__init__.pyi +7 -3
  673. homeassistant-stubs/components/weather/__init__.pyi +2 -3
  674. homeassistant-stubs/components/webhook/__init__.pyi +0 -1
  675. homeassistant-stubs/components/webostv/__init__.pyi +8 -24
  676. homeassistant-stubs/components/webostv/config_flow.pyi +14 -13
  677. homeassistant-stubs/components/webostv/const.pyi +0 -1
  678. homeassistant-stubs/components/webostv/device_trigger.pyi +1 -2
  679. homeassistant-stubs/components/webostv/diagnostics.pyi +2 -3
  680. homeassistant-stubs/components/webostv/helpers.pyi +11 -4
  681. homeassistant-stubs/components/webostv/media_player.pyi +17 -13
  682. homeassistant-stubs/components/webostv/notify.pyi +6 -4
  683. homeassistant-stubs/components/webostv/trigger.pyi +2 -0
  684. homeassistant-stubs/components/wiz/config_flow.pyi +3 -2
  685. homeassistant-stubs/components/wled/config_flow.pyi +3 -2
  686. homeassistant-stubs/components/worldclock/sensor.pyi +2 -7
  687. homeassistant-stubs/components/zeroconf/__init__.pyi +12 -20
  688. homeassistant-stubs/components/zwave_js/api.pyi +1 -1
  689. homeassistant-stubs/components/zwave_js/config_flow.pyi +3 -2
  690. homeassistant-stubs/config_entries.pyi +7 -9
  691. homeassistant-stubs/const.pyi +2 -0
  692. homeassistant-stubs/core.pyi +2 -3
  693. homeassistant-stubs/core_config.pyi +3 -3
  694. homeassistant-stubs/data_entry_flow.pyi +1 -2
  695. homeassistant-stubs/helpers/aiohttp_client.pyi +12 -1
  696. homeassistant-stubs/helpers/area_registry.pyi +11 -4
  697. homeassistant-stubs/helpers/collection.pyi +5 -7
  698. homeassistant-stubs/helpers/config_entry_flow.pyi +3 -3
  699. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +3 -0
  700. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -2
  701. homeassistant-stubs/helpers/deprecation.pyi +2 -2
  702. homeassistant-stubs/helpers/device_registry.pyi +1 -1
  703. homeassistant-stubs/helpers/entity.pyi +1 -1
  704. homeassistant-stubs/helpers/entity_component.pyi +2 -4
  705. homeassistant-stubs/helpers/entity_registry.pyi +2 -2
  706. homeassistant-stubs/helpers/frame.pyi +1 -1
  707. homeassistant-stubs/helpers/httpx_client.pyi +2 -1
  708. homeassistant-stubs/helpers/intent.pyi +4 -2
  709. homeassistant-stubs/helpers/llm.pyi +23 -8
  710. homeassistant-stubs/helpers/script.pyi +1 -1
  711. homeassistant-stubs/helpers/service_info/dhcp.pyi +8 -0
  712. homeassistant-stubs/helpers/service_info/ssdp.pyi +34 -0
  713. homeassistant-stubs/helpers/service_info/usb.pyi +11 -0
  714. homeassistant-stubs/helpers/service_info/zeroconf.pyi +20 -0
  715. homeassistant-stubs/helpers/singleton.pyi +6 -2
  716. homeassistant-stubs/helpers/storage.pyi +1 -1
  717. homeassistant-stubs/helpers/template.pyi +4 -4
  718. homeassistant-stubs/helpers/update_coordinator.pyi +7 -6
  719. homeassistant-stubs/loader.pyi +1 -1
  720. homeassistant-stubs/scripts/benchmark/__init__.pyi +8 -8
  721. homeassistant-stubs/util/event_type.pyi +1 -2
  722. homeassistant-stubs/util/ulid.pyi +1 -1
  723. homeassistant-stubs/util/yaml/__init__.pyi +1 -1
  724. homeassistant-stubs/util/yaml/loader.pyi +1 -1
  725. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/METADATA +4 -4
  726. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/RECORD +728 -593
  727. homeassistant-stubs/components/dormakaba_dkey/models.pyi +0 -8
  728. homeassistant-stubs/components/imgw_pib/binary_sensor.pyi +0 -27
  729. homeassistant-stubs/components/tplink/models.pyi +0 -10
  730. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/WHEEL +0 -0
  731. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,36 +1,35 @@
1
1
  from . import RoborockConfigEntry as RoborockConfigEntry
2
- from .const import DEFAULT_DRAWABLES as DEFAULT_DRAWABLES, DOMAIN as DOMAIN, DRAWABLES as DRAWABLES, IMAGE_CACHE_INTERVAL as IMAGE_CACHE_INTERVAL, MAP_SLEEP as MAP_SLEEP
2
+ from .const import DEFAULT_DRAWABLES as DEFAULT_DRAWABLES, DOMAIN as DOMAIN, DRAWABLES as DRAWABLES, IMAGE_CACHE_INTERVAL as IMAGE_CACHE_INTERVAL, MAP_FILE_FORMAT as MAP_FILE_FORMAT, MAP_SLEEP as MAP_SLEEP
3
3
  from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
4
4
  from .entity import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
5
5
  from _typeshed import Incomplete
6
+ from collections.abc import Callable as Callable
6
7
  from datetime import datetime
7
8
  from homeassistant.components.image import ImageEntity as ImageEntity
9
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
10
  from homeassistant.const import EntityCategory as EntityCategory
9
11
  from homeassistant.core import HomeAssistant as HomeAssistant
10
12
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
13
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
- from homeassistant.util import slugify as slugify
13
- from vacuum_map_parser_base.config.drawable import Drawable as Drawable
14
14
 
15
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: RoborockConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
16
 
17
17
  class RoborockMap(RoborockCoordinatedEntityV1, ImageEntity):
18
18
  _attr_has_entity_name: bool
19
19
  image_last_updated: datetime
20
- _attr_name: Incomplete
20
+ _attr_name: str
21
+ config_entry: Incomplete
21
22
  parser: Incomplete
22
- _attr_image_last_updated: Incomplete
23
23
  map_flag: Incomplete
24
- cached_map: Incomplete
24
+ cached_map: bytes
25
25
  _attr_entity_category: Incomplete
26
- def __init__(self, unique_id: str, coordinator: RoborockDataUpdateCoordinator, map_flag: int, starting_map: bytes, map_name: str, drawables: list[Drawable]) -> None: ...
27
- @property
28
- def available(self) -> bool: ...
26
+ def __init__(self, config_entry: ConfigEntry, unique_id: str, coordinator: RoborockDataUpdateCoordinator, map_flag: int, map_name: str, parser: Callable[[bytes], bytes | None]) -> None: ...
29
27
  @property
30
28
  def is_selected(self) -> bool: ...
31
29
  def is_map_valid(self) -> bool: ...
30
+ _attr_image_last_updated: Incomplete
31
+ async def async_added_to_hass(self) -> None: ...
32
32
  def _handle_coordinator_update(self) -> None: ...
33
33
  async def async_image(self) -> bytes | None: ...
34
- def _create_image(self, map_bytes: bytes) -> bytes: ...
35
34
 
36
- async def create_coordinator_maps(coord: RoborockDataUpdateCoordinator, drawables: list[Drawable]) -> list[RoborockMap]: ...
35
+ async def refresh_coordinators(hass: HomeAssistant, coord: RoborockDataUpdateCoordinator) -> None: ...
@@ -0,0 +1,23 @@
1
+ from .const import DOMAIN as DOMAIN, MAP_FILENAME_SUFFIX as MAP_FILENAME_SUFFIX
2
+ from _typeshed import Incomplete
3
+ from homeassistant.core import HomeAssistant as HomeAssistant
4
+ from pathlib import Path
5
+
6
+ _LOGGER: Incomplete
7
+ STORAGE_PATH: Incomplete
8
+ MAPS_PATH: str
9
+
10
+ def _storage_path_prefix(hass: HomeAssistant, entry_id: str) -> Path: ...
11
+
12
+ class RoborockMapStorage:
13
+ _hass: Incomplete
14
+ _path_prefix: Incomplete
15
+ _write_queue: dict[int, bytes]
16
+ def __init__(self, hass: HomeAssistant, entry_id: str, device_id_slug: str) -> None: ...
17
+ async def async_load_map(self, map_flag: int) -> bytes | None: ...
18
+ def _load_map(self, filename: Path) -> bytes | None: ...
19
+ async def async_save_map(self, map_flag: int, content: bytes) -> None: ...
20
+ async def flush(self) -> None: ...
21
+ def _save_map(self, filename: Path, content: bytes) -> None: ...
22
+
23
+ async def async_remove_map_storage(hass: HomeAssistant, entry_id: str) -> None: ...
@@ -5,7 +5,7 @@ from .entity import RoborockCoordinatedEntityA01 as RoborockCoordinatedEntityA01
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable
7
7
  from dataclasses import dataclass
8
- from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
8
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
9
  from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfArea as UnitOfArea, UnitOfTime as UnitOfTime
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -1,10 +1,12 @@
1
1
  from . import RoborockConfigEntry as RoborockConfigEntry
2
- from .const import DOMAIN as DOMAIN, GET_MAPS_SERVICE_NAME as GET_MAPS_SERVICE_NAME
2
+ from .const import DOMAIN as DOMAIN, GET_MAPS_SERVICE_NAME as GET_MAPS_SERVICE_NAME, GET_VACUUM_CURRENT_POSITION_SERVICE_NAME as GET_VACUUM_CURRENT_POSITION_SERVICE_NAME, SET_VACUUM_GOTO_POSITION_SERVICE_NAME as SET_VACUUM_GOTO_POSITION_SERVICE_NAME
3
3
  from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
4
4
  from .entity import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
5
+ from .image import ColorsPalette as ColorsPalette, ImageConfig as ImageConfig, RoborockMapDataParser as RoborockMapDataParser, Sizes as Sizes
5
6
  from _typeshed import Incomplete
6
7
  from homeassistant.components.vacuum import StateVacuumEntity as StateVacuumEntity, VacuumActivity as VacuumActivity, VacuumEntityFeature as VacuumEntityFeature
7
8
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
9
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
10
  from homeassistant.helpers import entity_platform as entity_platform
9
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
12
  from typing import Any
@@ -33,5 +35,7 @@ class RoborockVacuum(RoborockCoordinatedEntityV1, StateVacuumEntity):
33
35
  async def async_clean_spot(self, **kwargs: Any) -> None: ...
34
36
  async def async_locate(self, **kwargs: Any) -> None: ...
35
37
  async def async_set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None: ...
38
+ async def async_set_vacuum_goto_position(self, x: int, y: int) -> None: ...
36
39
  async def async_send_command(self, command: str, params: dict[str, Any] | list[Any] | None = None, **kwargs: Any) -> None: ...
37
40
  async def get_maps(self) -> ServiceResponse: ...
41
+ async def get_vacuum_current_position(self) -> ServiceResponse: ...
@@ -1,11 +1,12 @@
1
1
  from . import RokuConfigEntry as RokuConfigEntry
2
2
  from .const import CONF_PLAY_MEDIA_APP_ID as CONF_PLAY_MEDIA_APP_ID, DEFAULT_PLAY_MEDIA_APP_ID as DEFAULT_PLAY_MEDIA_APP_ID, DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
- from homeassistant.components import ssdp as ssdp, zeroconf as zeroconf
5
4
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
6
5
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
7
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from homeassistant.helpers.service_info.ssdp import ATTR_UPNP_FRIENDLY_NAME as ATTR_UPNP_FRIENDLY_NAME, ATTR_UPNP_SERIAL as ATTR_UPNP_SERIAL, SsdpServiceInfo as SsdpServiceInfo
9
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
9
10
  from typing import Any
10
11
 
11
12
  DATA_SCHEMA: Incomplete
@@ -23,8 +24,8 @@ class RokuConfigFlow(ConfigFlow, domain=DOMAIN):
23
24
  def _show_form(self, user_input: dict[str, Any] | None, errors: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
25
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
25
26
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
- async def async_step_homekit(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
27
- async def async_step_ssdp(self, discovery_info: ssdp.SsdpServiceInfo) -> ConfigFlowResult: ...
27
+ async def async_step_homekit(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
28
+ async def async_step_ssdp(self, discovery_info: SsdpServiceInfo) -> ConfigFlowResult: ...
28
29
  async def async_step_discovery_confirm(self, user_input: dict | None = None) -> ConfigFlowResult: ...
29
30
  @staticmethod
30
31
  @callback
@@ -1,7 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
2
- from homeassistant.components import zeroconf as zeroconf
3
2
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
4
3
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD
4
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
5
5
 
6
6
  class RomyConfigFlow(ConfigFlow, domain=DOMAIN):
7
7
  VERSION: int
@@ -11,6 +11,6 @@ class RomyConfigFlow(ConfigFlow, domain=DOMAIN):
11
11
  def __init__(self) -> None: ...
12
12
  async def async_step_user(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
13
13
  async def async_step_password(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
14
- async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
14
+ async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
15
15
  async def async_step_zeroconf_confirm(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
16
16
  async def _async_step_finish_config(self) -> ConfigFlowResult: ...
@@ -1,7 +1,8 @@
1
1
  from .const import DOMAIN as DOMAIN, RUSSOUND_RIO_EXCEPTIONS as RUSSOUND_RIO_EXCEPTIONS
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
4
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT
4
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT
5
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
5
6
  from typing import Any
6
7
 
7
8
  DATA_SCHEMA: Incomplete
@@ -9,6 +10,9 @@ _LOGGER: Incomplete
9
10
 
10
11
  class FlowHandler(ConfigFlow, domain=DOMAIN):
11
12
  VERSION: int
13
+ data: dict[str, Any]
14
+ def __init__(self) -> None: ...
15
+ async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
16
+ async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
12
17
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
13
18
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
14
- async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
@@ -1,6 +1,4 @@
1
1
  from _typeshed import Incomplete
2
- from homeassistant.components.media_player import MediaPlayerEntityFeature as MediaPlayerEntityFeature
3
2
 
4
3
  DOMAIN: str
5
4
  RUSSOUND_RIO_EXCEPTIONS: Incomplete
6
- MP_FEATURES_BY_FLAG: Incomplete
@@ -1,22 +1,17 @@
1
+ import datetime as dt
1
2
  from . import RussoundConfigEntry as RussoundConfigEntry
2
- from .const import DOMAIN as DOMAIN, MP_FEATURES_BY_FLAG as MP_FEATURES_BY_FLAG
3
3
  from .entity import RussoundBaseEntity as RussoundBaseEntity, command as command
4
4
  from _typeshed import Incomplete
5
5
  from aiorussound import Controller as Controller
6
6
  from aiorussound.models import Source as Source
7
7
  from aiorussound.rio import ZoneControlSurface as ZoneControlSurface
8
8
  from homeassistant.components.media_player import MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType
9
- from homeassistant.config_entries import SOURCE_IMPORT as SOURCE_IMPORT
10
9
  from homeassistant.core import HomeAssistant as HomeAssistant
11
- from homeassistant.data_entry_flow import FlowResultType as FlowResultType
12
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
- from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
14
- from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
15
11
 
16
12
  _LOGGER: Incomplete
17
13
  PARALLEL_UPDATES: int
18
14
 
19
- async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
20
15
  async def async_setup_entry(hass: HomeAssistant, entry: RussoundConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
16
 
22
17
  class RussoundZoneDevice(RussoundBaseEntity, MediaPlayerEntity):
@@ -47,7 +42,15 @@ class RussoundZoneDevice(RussoundBaseEntity, MediaPlayerEntity):
47
42
  @property
48
43
  def media_image_url(self) -> str | None: ...
49
44
  @property
45
+ def media_duration(self) -> int | None: ...
46
+ @property
47
+ def media_position(self) -> int | None: ...
48
+ @property
49
+ def media_position_updated_at(self) -> dt.datetime: ...
50
+ @property
50
51
  def volume_level(self) -> float: ...
52
+ @property
53
+ def is_volume_muted(self) -> bool: ...
51
54
  @command
52
55
  async def async_turn_off(self) -> None: ...
53
56
  @command
@@ -60,3 +63,7 @@ class RussoundZoneDevice(RussoundBaseEntity, MediaPlayerEntity):
60
63
  async def async_volume_up(self) -> None: ...
61
64
  @command
62
65
  async def async_volume_down(self) -> None: ...
66
+ @command
67
+ async def async_mute_volume(self, mute: bool) -> None: ...
68
+ @command
69
+ async def async_media_seek(self, position: float) -> None: ...
@@ -1,11 +1,11 @@
1
1
  from . import DOMAIN as DOMAIN
2
2
  from .schemata import CONFIG_SCHEMA as CONFIG_SCHEMA, get_config_schema_with_default_host as get_config_schema_with_default_host
3
3
  from _typeshed import Incomplete
4
- from homeassistant.components import dhcp as dhcp
5
4
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
5
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_TOKEN as CONF_TOKEN
7
6
  from homeassistant.helpers.device_registry import format_mac as format_mac
8
7
  from homeassistant.helpers.httpx_client import get_async_client as get_async_client
8
+ from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
9
9
  from typing import Any
10
10
 
11
11
  _LOGGER: Incomplete
@@ -16,4 +16,4 @@ class RuuviConfigFlow(ConfigFlow, domain=DOMAIN):
16
16
  def __init__(self) -> None: ...
17
17
  async def _async_validate(self, user_input: dict[str, Any]) -> tuple[ConfigFlowResult | None, dict[str, str]]: ...
18
18
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
19
- async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) -> ConfigFlowResult: ...
19
+ async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
@@ -2,13 +2,15 @@ from .bridge import SamsungTVBridge as SamsungTVBridge, async_get_device_info as
2
2
  from .const import CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_SESSION_ID as CONF_SESSION_ID, CONF_SSDP_MAIN_TV_AGENT_LOCATION as CONF_SSDP_MAIN_TV_AGENT_LOCATION, CONF_SSDP_RENDERING_CONTROL_LOCATION as CONF_SSDP_RENDERING_CONTROL_LOCATION, DEFAULT_MANUFACTURER as DEFAULT_MANUFACTURER, DOMAIN as DOMAIN, LOGGER as LOGGER, METHOD_ENCRYPTED_WEBSOCKET as METHOD_ENCRYPTED_WEBSOCKET, METHOD_LEGACY as METHOD_LEGACY, RESULT_AUTH_MISSING as RESULT_AUTH_MISSING, RESULT_CANNOT_CONNECT as RESULT_CANNOT_CONNECT, RESULT_INVALID_PIN as RESULT_INVALID_PIN, RESULT_NOT_SUPPORTED as RESULT_NOT_SUPPORTED, RESULT_SUCCESS as RESULT_SUCCESS, RESULT_UNKNOWN_HOST as RESULT_UNKNOWN_HOST, SUCCESSFUL_RESULTS as SUCCESSFUL_RESULTS, UPNP_SVC_MAIN_TV_AGENT as UPNP_SVC_MAIN_TV_AGENT, UPNP_SVC_RENDERING_CONTROL as UPNP_SVC_RENDERING_CONTROL
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Mapping
5
- from homeassistant.components import dhcp as dhcp, ssdp as ssdp, zeroconf as zeroconf
6
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
7
6
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_METHOD as CONF_METHOD, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, CONF_TOKEN as CONF_TOKEN
8
7
  from homeassistant.core import callback as callback
9
8
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow
10
9
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
11
10
  from homeassistant.helpers.device_registry import format_mac as format_mac
11
+ from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
12
+ from homeassistant.helpers.service_info.ssdp import ATTR_UPNP_MANUFACTURER as ATTR_UPNP_MANUFACTURER, ATTR_UPNP_MODEL_NAME as ATTR_UPNP_MODEL_NAME, ATTR_UPNP_UDN as ATTR_UPNP_UDN, SsdpServiceInfo as SsdpServiceInfo
13
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
12
14
  from samsungtvws.encrypted.authenticator import SamsungTVEncryptedWSAsyncAuthenticator
13
15
  from typing import Any, Self
14
16
 
@@ -61,9 +63,9 @@ class SamsungTVConfigFlow(ConfigFlow, domain=DOMAIN):
61
63
  def is_matching(self, other_flow: Self) -> bool: ...
62
64
  @callback
63
65
  def _abort_if_manufacturer_is_not_samsung(self) -> None: ...
64
- async def async_step_ssdp(self, discovery_info: ssdp.SsdpServiceInfo) -> ConfigFlowResult: ...
65
- async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) -> ConfigFlowResult: ...
66
- async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
66
+ async def async_step_ssdp(self, discovery_info: SsdpServiceInfo) -> ConfigFlowResult: ...
67
+ async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
68
+ async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
67
69
  async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
68
70
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
69
71
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -27,12 +27,14 @@ class ScrapeSensor(CoordinatorEntity[ScrapeCoordinator], ManualTriggerSensorEnti
27
27
  _index: Incomplete
28
28
  _value_template: Incomplete
29
29
  _attr_native_value: Incomplete
30
+ _available: bool
30
31
  _attr_name: Incomplete
31
32
  _attr_has_entity_name: bool
32
33
  _attr_device_info: Incomplete
33
34
  def __init__(self, hass: HomeAssistant, coordinator: ScrapeCoordinator, trigger_entity_config: ConfigType, select: str, attr: str | None, index: int, value_template: Template | None, yaml: bool) -> None: ...
34
35
  def _extract_value(self) -> Any: ...
35
36
  async def async_added_to_hass(self) -> None: ...
37
+ _attr_available: Incomplete
36
38
  def _async_update_from_rest_data(self) -> None: ...
37
39
  @property
38
40
  def available(self) -> bool: ...
@@ -22,7 +22,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType
22
22
  from homeassistant.loader import bind_hass as bind_hass
23
23
  from homeassistant.util.async_ import create_eager_task as create_eager_task
24
24
  from homeassistant.util.dt import parse_datetime as parse_datetime
25
- from propcache import cached_property
25
+ from propcache.api import cached_property
26
26
  from typing import Any
27
27
 
28
28
  SCRIPT_SERVICE_SCHEMA: Incomplete
@@ -2,10 +2,10 @@ from .const import ATTR_CYCLE as ATTR_CYCLE, ATTR_OPTION as ATTR_OPTION, ATTR_OP
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.core import callback
4
4
  from homeassistant.helpers.entity import Entity, EntityDescription
5
- from propcache import cached_property
5
+ from propcache.api import cached_property
6
6
  from typing import Any, final
7
7
 
8
- __all__ = ['ATTR_CYCLE', 'ATTR_OPTION', 'ATTR_OPTIONS', 'DOMAIN', 'PLATFORM_SCHEMA_BASE', 'PLATFORM_SCHEMA', 'SelectEntity', 'SelectEntityDescription', 'SERVICE_SELECT_FIRST', 'SERVICE_SELECT_LAST', 'SERVICE_SELECT_NEXT', 'SERVICE_SELECT_OPTION', 'SERVICE_SELECT_PREVIOUS']
8
+ __all__ = ['ATTR_CYCLE', 'ATTR_OPTION', 'ATTR_OPTIONS', 'DOMAIN', 'PLATFORM_SCHEMA', 'PLATFORM_SCHEMA_BASE', 'SERVICE_SELECT_FIRST', 'SERVICE_SELECT_LAST', 'SERVICE_SELECT_NEXT', 'SERVICE_SELECT_OPTION', 'SERVICE_SELECT_PREVIOUS', 'SelectEntity', 'SelectEntityDescription']
9
9
 
10
10
  PLATFORM_SCHEMA: Incomplete
11
11
  PLATFORM_SCHEMA_BASE: Incomplete
@@ -8,6 +8,6 @@ from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
8
8
 
9
9
  type SensiboConfigEntry = ConfigEntry[SensiboDataUpdateCoordinator]
10
10
  async def async_setup_entry(hass: HomeAssistant, entry: SensiboConfigEntry) -> bool: ...
11
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
12
- async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
13
- async def async_remove_config_entry_device(hass: HomeAssistant, entry: ConfigEntry, device: DeviceEntry) -> bool: ...
11
+ async def async_unload_entry(hass: HomeAssistant, entry: SensiboConfigEntry) -> bool: ...
12
+ async def async_migrate_entry(hass: HomeAssistant, entry: SensiboConfigEntry) -> bool: ...
13
+ async def async_remove_config_entry_device(hass: HomeAssistant, entry: SensiboConfigEntry, device: DeviceEntry) -> bool: ...
@@ -1,4 +1,5 @@
1
1
  from . import SensiboConfigEntry as SensiboConfigEntry
2
+ from .const import LOGGER as LOGGER
2
3
  from .coordinator import SensiboDataUpdateCoordinator as SensiboDataUpdateCoordinator
3
4
  from .entity import SensiboDeviceBaseEntity as SensiboDeviceBaseEntity, SensiboMotionBaseEntity as SensiboMotionBaseEntity
4
5
  from _typeshed import Incomplete
@@ -3,10 +3,10 @@ from .const import DOMAIN as DOMAIN
3
3
  from .coordinator import SensiboDataUpdateCoordinator as SensiboDataUpdateCoordinator
4
4
  from .entity import SensiboDeviceBaseEntity as SensiboDeviceBaseEntity, async_handle_api_call as async_handle_api_call
5
5
  from _typeshed import Incomplete
6
- from homeassistant.components.climate import ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_SWING_MODE as ATTR_SWING_MODE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode
6
+ from homeassistant.components.climate import ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_HVAC_MODE as ATTR_HVAC_MODE, ATTR_SWING_MODE as ATTR_SWING_MODE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode
7
7
  from homeassistant.const import ATTR_MODE as ATTR_MODE, ATTR_STATE as ATTR_STATE, ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS, UnitOfTemperature as UnitOfTemperature
8
- from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
+ from homeassistant.core import HomeAssistant as HomeAssistant, SupportsResponse as SupportsResponse
9
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
10
10
  from homeassistant.helpers import entity_platform as entity_platform
11
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
12
  from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
@@ -19,6 +19,7 @@ SERVICE_ENABLE_PURE_BOOST: str
19
19
  SERVICE_DISABLE_PURE_BOOST: str
20
20
  SERVICE_FULL_STATE: str
21
21
  SERVICE_ENABLE_CLIMATE_REACT: str
22
+ SERVICE_GET_DEVICE_CAPABILITIES: str
22
23
  ATTR_HIGH_TEMPERATURE_THRESHOLD: str
23
24
  ATTR_HIGH_TEMPERATURE_STATE: str
24
25
  ATTR_LOW_TEMPERATURE_THRESHOLD: str
@@ -35,6 +36,7 @@ ATTR_LIGHT: str
35
36
  BOOST_INCLUSIVE: str
36
37
  AVAILABLE_FAN_MODES: Incomplete
37
38
  AVAILABLE_SWING_MODES: Incomplete
39
+ AVAILABLE_HORIZONTAL_SWING_MODES: Incomplete
38
40
  PARALLEL_UPDATES: int
39
41
  FIELD_TO_FLAG: Incomplete
40
42
  SENSIBO_TO_HA: Incomplete
@@ -50,9 +52,9 @@ class SensiboClimate(SensiboDeviceBaseEntity, ClimateEntity):
50
52
  _attr_translation_key: str
51
53
  _attr_unique_id: Incomplete
52
54
  _attr_temperature_unit: Incomplete
53
- _attr_supported_features: Incomplete
54
55
  def __init__(self, coordinator: SensiboDataUpdateCoordinator, device_id: str) -> None: ...
55
- def get_features(self) -> ClimateEntityFeature: ...
56
+ @property
57
+ def supported_features(self) -> ClimateEntityFeature: ...
56
58
  @property
57
59
  def current_humidity(self) -> int | None: ...
58
60
  @property
@@ -76,17 +78,21 @@ class SensiboClimate(SensiboDeviceBaseEntity, ClimateEntity):
76
78
  @property
77
79
  def swing_modes(self) -> list[str] | None: ...
78
80
  @property
81
+ def swing_horizontal_mode(self) -> str | None: ...
82
+ @property
83
+ def swing_horizontal_modes(self) -> list[str] | None: ...
84
+ @property
79
85
  def min_temp(self) -> float: ...
80
86
  @property
81
87
  def max_temp(self) -> float: ...
82
- @property
83
- def available(self) -> bool: ...
84
88
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
85
89
  async def async_set_fan_mode(self, fan_mode: str) -> None: ...
86
90
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
87
91
  async def async_set_swing_mode(self, swing_mode: str) -> None: ...
92
+ async def async_set_swing_horizontal_mode(self, swing_horizontal_mode: str) -> None: ...
88
93
  async def async_turn_on(self) -> None: ...
89
94
  async def async_turn_off(self) -> None: ...
95
+ async def async_get_device_capabilities(self, hvac_mode: HVACMode) -> dict[str, Any]: ...
90
96
  async def async_assume_state(self, state: str) -> None: ...
91
97
  async def async_full_ac_state(self, mode: str, target_temperature: int | None = None, fan_mode: str | None = None, swing_mode: str | None = None, horizontal_swing_mode: str | None = None, light: str | None = None) -> None: ...
92
98
  async def async_enable_timer(self, minutes: int) -> None: ...
@@ -1,4 +1,4 @@
1
- from .const import DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
1
+ from .const import DOMAIN as DOMAIN
2
2
  from .util import NoDevicesError as NoDevicesError, NoUsernameError as NoUsernameError, async_validate_api as async_validate_api
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Mapping
@@ -14,5 +14,7 @@ REQUEST_REFRESH_DELAY: float
14
14
  class SensiboDataUpdateCoordinator(DataUpdateCoordinator[SensiboData]):
15
15
  config_entry: SensiboConfigEntry
16
16
  client: Incomplete
17
+ previous_devices: set[str]
17
18
  def __init__(self, hass: HomeAssistant, config_entry: SensiboConfigEntry) -> None: ...
19
+ def get_devices(self, added_devices: set[str]) -> tuple[set[str], set[str], set[str]]: ...
18
20
  async def _async_update_data(self) -> SensiboData: ...
@@ -17,6 +17,8 @@ class SensiboBaseEntity(CoordinatorEntity[SensiboDataUpdateCoordinator]):
17
17
  def __init__(self, coordinator: SensiboDataUpdateCoordinator, device_id: str) -> None: ...
18
18
  @property
19
19
  def device_data(self) -> SensiboDevice: ...
20
+ @property
21
+ def available(self) -> bool: ...
20
22
 
21
23
  class SensiboDeviceBaseEntity(SensiboBaseEntity):
22
24
  _attr_device_info: Incomplete
@@ -27,4 +29,6 @@ class SensiboMotionBaseEntity(SensiboBaseEntity):
27
29
  _attr_device_info: Incomplete
28
30
  def __init__(self, coordinator: SensiboDataUpdateCoordinator, device_id: str, sensor_id: str, sensor_data: MotionSensor) -> None: ...
29
31
  @property
30
- def sensor_data(self) -> MotionSensor | None: ...
32
+ def sensor_data(self) -> MotionSensor: ...
33
+ @property
34
+ def available(self) -> bool: ...
@@ -5,10 +5,12 @@ from .entity import SensiboDeviceBaseEntity as SensiboDeviceBaseEntity, async_ha
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable
7
7
  from dataclasses import dataclass
8
+ from homeassistant.components.automation import automations_with_entity as automations_with_entity
9
+ from homeassistant.components.script import scripts_with_entity as scripts_with_entity
8
10
  from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
9
11
  from homeassistant.core import HomeAssistant as HomeAssistant
10
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
12
14
  from pysensibo.model import SensiboDevice as SensiboDevice
13
15
  from typing import Any
14
16
 
@@ -21,6 +23,7 @@ class SensiboSelectEntityDescription(SelectEntityDescription):
21
23
  options_fn: Callable[[SensiboDevice], list[str] | None]
22
24
  transformation: Callable[[SensiboDevice], dict | None]
23
25
 
26
+ HORIZONTAL_SWING_MODE_TYPE: Incomplete
24
27
  DEVICE_SELECT_TYPES: Incomplete
25
28
 
26
29
  async def async_setup_entry(hass: HomeAssistant, entry: SensiboConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -30,6 +33,8 @@ class SensiboSelect(SensiboDeviceBaseEntity, SelectEntity):
30
33
  _attr_unique_id: Incomplete
31
34
  def __init__(self, coordinator: SensiboDataUpdateCoordinator, device_id: str, entity_description: SensiboSelectEntityDescription) -> None: ...
32
35
  @property
36
+ def available(self) -> bool: ...
37
+ @property
33
38
  def current_option(self) -> str | None: ...
34
39
  @property
35
40
  def options(self) -> list[str]: ...
@@ -15,6 +15,8 @@ from typing import Any
15
15
 
16
16
  PARALLEL_UPDATES: int
17
17
 
18
+ def _smart_type_name(_type: str | None) -> str | None: ...
19
+
18
20
  @dataclass(frozen=True, kw_only=True)
19
21
  class SensiboMotionSensorEntityDescription(SensorEntityDescription):
20
22
  value_fn: Callable[[MotionSensor], StateType]
@@ -10,10 +10,10 @@ from homeassistant.helpers.entity import Entity, EntityDescription
10
10
  from homeassistant.helpers.entity_platform import EntityPlatform
11
11
  from homeassistant.helpers.restore_state import ExtraStoredData, RestoreEntity
12
12
  from homeassistant.helpers.typing import StateType, UndefinedType
13
- from propcache import cached_property
13
+ from propcache.api import cached_property
14
14
  from typing import Any, Self, final, override
15
15
 
16
- __all__ = ['ATTR_LAST_RESET', 'ATTR_OPTIONS', 'ATTR_STATE_CLASS', 'CONF_STATE_CLASS', 'DEVICE_CLASS_STATE_CLASSES', 'DOMAIN', 'PLATFORM_SCHEMA_BASE', 'PLATFORM_SCHEMA', 'RestoreSensor', 'SensorDeviceClass', 'SensorEntity', 'SensorEntityDescription', 'SensorExtraStoredData', 'SensorStateClass']
16
+ __all__ = ['ATTR_LAST_RESET', 'ATTR_OPTIONS', 'ATTR_STATE_CLASS', 'CONF_STATE_CLASS', 'DEVICE_CLASS_STATE_CLASSES', 'DOMAIN', 'PLATFORM_SCHEMA', 'PLATFORM_SCHEMA_BASE', 'RestoreSensor', 'SensorDeviceClass', 'SensorEntity', 'SensorEntityDescription', 'SensorExtraStoredData', 'SensorStateClass']
17
17
 
18
18
  PLATFORM_SCHEMA: Incomplete
19
19
  PLATFORM_SCHEMA_BASE: Incomplete
@@ -2,6 +2,7 @@ from .const import BLOCK_EXPECTED_SLEEP_PERIOD as BLOCK_EXPECTED_SLEEP_PERIOD, B
2
2
  from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyEntryData as ShellyEntryData, ShellyRestCoordinator as ShellyRestCoordinator, ShellyRpcCoordinator as ShellyRpcCoordinator, ShellyRpcPollingCoordinator as ShellyRpcPollingCoordinator
3
3
  from .utils import async_create_issue_unsupported_firmware as async_create_issue_unsupported_firmware, get_coap_context as get_coap_context, get_device_entry_gen as get_device_entry_gen, get_http_port as get_http_port, get_ws_context as get_ws_context
4
4
  from _typeshed import Incomplete
5
+ from homeassistant.components.bluetooth import async_remove_scanner as async_remove_scanner
5
6
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant
7
8
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
@@ -21,3 +22,4 @@ async def async_setup_entry(hass: HomeAssistant, entry: ShellyConfigEntry) -> bo
21
22
  async def _async_setup_block_entry(hass: HomeAssistant, entry: ShellyConfigEntry) -> bool: ...
22
23
  async def _async_setup_rpc_entry(hass: HomeAssistant, entry: ShellyConfigEntry) -> bool: ...
23
24
  async def async_unload_entry(hass: HomeAssistant, entry: ShellyConfigEntry) -> bool: ...
25
+ async def async_remove_entry(hass: HomeAssistant, entry: ShellyConfigEntry) -> None: ...
@@ -1,5 +1,5 @@
1
1
  from .const import CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD
2
- from .coordinator import ShellyConfigEntry as ShellyConfigEntry
2
+ from .coordinator import ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
3
3
  from .entity import BlockEntityDescription as BlockEntityDescription, RestEntityDescription as RestEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyBlockAttributeEntity as ShellyBlockAttributeEntity, ShellyRestAttributeEntity as ShellyRestAttributeEntity, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity, ShellySleepingRpcAttributeEntity as ShellySleepingRpcAttributeEntity, async_setup_entry_attribute_entities as async_setup_entry_attribute_entities, async_setup_entry_rest as async_setup_entry_rest, async_setup_entry_rpc as async_setup_entry_rpc
4
4
  from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_device_entry_gen as get_device_entry_gen, get_virtual_component_ids as get_virtual_component_ids, is_block_momentary_input as is_block_momentary_input, is_rpc_momentary_input as is_rpc_momentary_input
5
5
  from _typeshed import Incomplete
@@ -7,6 +7,7 @@ from dataclasses import dataclass
7
7
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
8
8
  from homeassistant.const import EntityCategory as EntityCategory, STATE_ON as STATE_ON
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, DeviceInfo as DeviceInfo
10
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
12
  from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
12
13
  from typing import Final
@@ -18,6 +19,15 @@ class RpcBinarySensorDescription(RpcEntityDescription, BinarySensorEntityDescrip
18
19
  @dataclass(frozen=True, kw_only=True)
19
20
  class RestBinarySensorDescription(RestEntityDescription, BinarySensorEntityDescription): ...
20
21
 
22
+ class RpcBinarySensor(ShellyRpcAttributeEntity, BinarySensorEntity):
23
+ entity_description: RpcBinarySensorDescription
24
+ @property
25
+ def is_on(self) -> bool: ...
26
+
27
+ class RpcBluTrvBinarySensor(RpcBinarySensor):
28
+ _attr_device_info: Incomplete
29
+ def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcBinarySensorDescription) -> None: ...
30
+
21
31
  SENSORS: dict[tuple[str, str], BlockBinarySensorDescription]
22
32
  REST_SENSORS: Final[Incomplete]
23
33
  RPC_SENSORS: Final[Incomplete]
@@ -34,11 +44,6 @@ class RestBinarySensor(ShellyRestAttributeEntity, BinarySensorEntity):
34
44
  @property
35
45
  def is_on(self) -> bool: ...
36
46
 
37
- class RpcBinarySensor(ShellyRpcAttributeEntity, BinarySensorEntity):
38
- entity_description: RpcBinarySensorDescription
39
- @property
40
- def is_on(self) -> bool: ...
41
-
42
47
  class BlockSleepingBinarySensor(ShellySleepingBlockAttributeEntity, BinarySensorEntity, RestoreEntity):
43
48
  entity_description: BlockBinarySensorDescription
44
49
  last_state: Incomplete
@@ -4,4 +4,4 @@ from homeassistant.components.bluetooth import async_register_scanner as async_r
4
4
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
5
5
  from homeassistant.helpers.device_registry import format_mac as format_mac
6
6
 
7
- async def async_connect_scanner(hass: HomeAssistant, coordinator: ShellyRpcCoordinator, scanner_mode: BLEScannerMode) -> CALLBACK_TYPE: ...
7
+ async def async_connect_scanner(hass: HomeAssistant, coordinator: ShellyRpcCoordinator, scanner_mode: BLEScannerMode, device_id: str) -> CALLBACK_TYPE: ...
@@ -1,4 +1,4 @@
1
- from .const import DOMAIN as DOMAIN, LOGGER as LOGGER, NOT_CALIBRATED_ISSUE_ID as NOT_CALIBRATED_ISSUE_ID, RPC_THERMOSTAT_SETTINGS as RPC_THERMOSTAT_SETTINGS, SHTRV_01_TEMPERATURE_SETTINGS as SHTRV_01_TEMPERATURE_SETTINGS
1
+ from .const import BLU_TRV_TEMPERATURE_SETTINGS as BLU_TRV_TEMPERATURE_SETTINGS, BLU_TRV_TIMEOUT as BLU_TRV_TIMEOUT, DOMAIN as DOMAIN, LOGGER as LOGGER, NOT_CALIBRATED_ISSUE_ID as NOT_CALIBRATED_ISSUE_ID, RPC_THERMOSTAT_SETTINGS as RPC_THERMOSTAT_SETTINGS, SHTRV_01_TEMPERATURE_SETTINGS as SHTRV_01_TEMPERATURE_SETTINGS
2
2
  from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
3
3
  from .entity import ShellyRpcEntity as ShellyRpcEntity
4
4
  from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_key_ids as get_rpc_key_ids, is_rpc_thermostat_internal_actuator as is_rpc_thermostat_internal_actuator
@@ -10,7 +10,7 @@ from homeassistant.components.climate import ClimateEntity as ClimateEntity, Cli
10
10
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
12
12
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
- from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
13
+ from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
14
14
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
15
15
  from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
16
16
  from homeassistant.helpers.restore_state import ExtraStoredData as ExtraStoredData, RestoreEntity as RestoreEntity
@@ -101,3 +101,26 @@ class RpcClimate(ShellyRpcEntity, ClimateEntity):
101
101
  def hvac_action(self) -> HVACAction: ...
102
102
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
103
103
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
104
+
105
+ class RpcBluTrvClimate(ShellyRpcEntity, ClimateEntity):
106
+ _attr_max_temp: Incomplete
107
+ _attr_min_temp: Incomplete
108
+ _attr_supported_features: Incomplete
109
+ _attr_hvac_modes: Incomplete
110
+ _attr_hvac_mode: Incomplete
111
+ _attr_target_temperature_step: Incomplete
112
+ _attr_temperature_unit: Incomplete
113
+ _attr_has_entity_name: bool
114
+ _id: Incomplete
115
+ _config: Incomplete
116
+ _attr_unique_id: Incomplete
117
+ _attr_device_info: Incomplete
118
+ _attr_name: Incomplete
119
+ def __init__(self, coordinator: ShellyRpcCoordinator, id_: int) -> None: ...
120
+ @property
121
+ def target_temperature(self) -> float | None: ...
122
+ @property
123
+ def current_temperature(self) -> float | None: ...
124
+ @property
125
+ def hvac_action(self) -> HVACAction: ...
126
+ async def async_set_temperature(self, **kwargs: Any) -> None: ...
@@ -3,12 +3,12 @@ from .coordinator import async_reconnect_soon as async_reconnect_soon
3
3
  from .utils import get_block_device_sleep_period as get_block_device_sleep_period, get_coap_context as get_coap_context, get_device_entry_gen as get_device_entry_gen, get_http_port as get_http_port, get_info_auth as get_info_auth, get_info_gen as get_info_gen, get_model_name as get_model_name, get_rpc_device_wakeup_period as get_rpc_device_wakeup_period, get_ws_context as get_ws_context, mac_address_from_name as mac_address_from_name
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Mapping
6
- from homeassistant.components.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
7
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
8
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
9
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
11
10
  from homeassistant.helpers.selector import SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig
11
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
12
12
  from typing import Any, Final
13
13
 
14
14
  CONFIG_SCHEMA: Final[Incomplete]