homeassistant-stubs 2025.10.3__py3-none-any.whl → 2025.11.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of homeassistant-stubs might be problematic. Click here for more details.

Files changed (458) hide show
  1. homeassistant-stubs/auth/mfa_modules/totp.pyi +2 -0
  2. homeassistant-stubs/components/acaia/coordinator.pyi +2 -0
  3. homeassistant-stubs/components/airly/config_flow.pyi +3 -0
  4. homeassistant-stubs/components/airnow/config_flow.pyi +1 -0
  5. homeassistant-stubs/components/airos/__init__.pyi +4 -2
  6. homeassistant-stubs/components/airos/config_flow.pyi +10 -1
  7. homeassistant-stubs/components/airos/coordinator.pyi +1 -1
  8. homeassistant-stubs/components/airthings/config_flow.pyi +1 -0
  9. homeassistant-stubs/components/airthings_ble/config_flow.pyi +4 -2
  10. homeassistant-stubs/components/airthings_ble/sensor.pyi +2 -1
  11. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +0 -10
  12. homeassistant-stubs/components/alexa_devices/const.pyi +2 -0
  13. homeassistant-stubs/components/alexa_devices/sensor.pyi +12 -2
  14. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -0
  15. homeassistant-stubs/components/apple_tv/__init__.pyi +3 -3
  16. homeassistant-stubs/components/assist_pipeline/__init__.pyi +3 -3
  17. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
  18. homeassistant-stubs/components/asuswrt/bridge.pyi +9 -9
  19. homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -1
  20. homeassistant-stubs/components/asuswrt/device_tracker.pyi +0 -3
  21. homeassistant-stubs/components/asuswrt/helpers.pyi +2 -3
  22. homeassistant-stubs/components/asuswrt/router.pyi +1 -1
  23. homeassistant-stubs/components/backup/http.pyi +1 -0
  24. homeassistant-stubs/components/backup/manager.pyi +2 -1
  25. homeassistant-stubs/components/backup/util.pyi +2 -32
  26. homeassistant-stubs/components/bang_olufsen/media_player.pyi +5 -5
  27. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -5
  28. homeassistant-stubs/components/bluetooth/api.pyi +2 -0
  29. homeassistant-stubs/components/bluetooth/manager.pyi +2 -0
  30. homeassistant-stubs/components/bryant_evolution/climate.pyi +2 -2
  31. homeassistant-stubs/components/calendar/trigger.pyi +1 -1
  32. homeassistant-stubs/components/camera/__init__.pyi +1 -9
  33. homeassistant-stubs/components/cert_expiry/config_flow.pyi +1 -1
  34. homeassistant-stubs/components/cert_expiry/errors.pyi +1 -0
  35. homeassistant-stubs/components/cert_expiry/helper.pyi +1 -1
  36. homeassistant-stubs/components/cloud/__init__.pyi +2 -1
  37. homeassistant-stubs/components/cloud/client.pyi +1 -1
  38. homeassistant-stubs/components/cloud/const.pyi +1 -1
  39. homeassistant-stubs/components/comelit/binary_sensor.pyi +1 -0
  40. homeassistant-stubs/components/comelit/cover.pyi +2 -2
  41. homeassistant-stubs/components/comelit/light.pyi +1 -1
  42. homeassistant-stubs/components/comelit/sensor.pyi +1 -0
  43. homeassistant-stubs/components/comelit/switch.pyi +1 -1
  44. homeassistant-stubs/components/comelit/utils.pyi +5 -1
  45. homeassistant-stubs/components/config/config_entries.pyi +5 -1
  46. homeassistant-stubs/components/cover/__init__.pyi +1 -11
  47. homeassistant-stubs/components/demo/valve.pyi +14 -5
  48. homeassistant-stubs/components/derivative/__init__.pyi +0 -1
  49. homeassistant-stubs/components/derivative/config_flow.pyi +1 -0
  50. homeassistant-stubs/components/derivative/sensor.pyi +2 -1
  51. homeassistant-stubs/components/device_automation/condition.pyi +7 -6
  52. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
  53. homeassistant-stubs/components/devolo_home_control/entity.pyi +1 -2
  54. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
  55. homeassistant-stubs/components/devolo_home_control/subscriber.pyi +0 -1
  56. homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
  57. homeassistant-stubs/components/dnsip/sensor.pyi +3 -3
  58. homeassistant-stubs/components/ecovacs/button.pyi +1 -1
  59. homeassistant-stubs/components/ecovacs/select.pyi +14 -2
  60. homeassistant-stubs/components/eheimdigital/sensor.pyi +1 -2
  61. homeassistant-stubs/components/enphase_envoy/sensor.pyi +4 -22
  62. homeassistant-stubs/components/eq3btsmart/sensor.pyi +1 -2
  63. homeassistant-stubs/components/esphome/__init__.pyi +1 -1
  64. homeassistant-stubs/components/esphome/assist_satellite.pyi +12 -2
  65. homeassistant-stubs/components/esphome/climate.pyi +1 -0
  66. homeassistant-stubs/components/esphome/config_flow.pyi +7 -4
  67. homeassistant-stubs/components/esphome/const.pyi +2 -0
  68. homeassistant-stubs/components/esphome/entry_data.pyi +1 -0
  69. homeassistant-stubs/components/esphome/manager.pyi +8 -3
  70. homeassistant-stubs/components/esphome/select.pyi +1 -1
  71. homeassistant-stubs/components/evohome/climate.pyi +1 -1
  72. homeassistant-stubs/components/fastdotcom/coordinator.pyi +2 -2
  73. homeassistant-stubs/components/fastdotcom/sensor.pyi +1 -1
  74. homeassistant-stubs/components/filter/__init__.pyi +0 -1
  75. homeassistant-stubs/components/filter/config_flow.pyi +1 -0
  76. homeassistant-stubs/components/firefly_iii/__init__.pyi +8 -0
  77. homeassistant-stubs/components/firefly_iii/config_flow.pyi +24 -0
  78. homeassistant-stubs/components/firefly_iii/const.pyi +3 -0
  79. homeassistant-stubs/components/firefly_iii/coordinator.pyi +30 -0
  80. homeassistant-stubs/components/firefly_iii/diagnostics.pyi +11 -0
  81. homeassistant-stubs/components/firefly_iii/entity.pyi +30 -0
  82. homeassistant-stubs/components/firefly_iii/sensor.pyi +66 -0
  83. homeassistant-stubs/components/fritz/coordinator.pyi +3 -0
  84. homeassistant-stubs/components/fritz/models.pyi +2 -2
  85. homeassistant-stubs/components/fritz/services.pyi +3 -0
  86. homeassistant-stubs/components/fritzbox/climate.pyi +2 -5
  87. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +0 -1
  88. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  89. homeassistant-stubs/components/generic_thermostat/__init__.pyi +0 -1
  90. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  91. homeassistant-stubs/components/github/__init__.pyi +12 -0
  92. homeassistant-stubs/components/github/config_flow.pyi +28 -0
  93. homeassistant-stubs/components/github/const.pyi +10 -0
  94. homeassistant-stubs/components/github/coordinator.pyi +26 -0
  95. homeassistant-stubs/components/github/diagnostics.pyi +7 -0
  96. homeassistant-stubs/components/github/sensor.pyi +37 -0
  97. homeassistant-stubs/components/go2rtc/__init__.pyi +1 -2
  98. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +2 -1
  99. homeassistant-stubs/components/google_drive/api.pyi +1 -0
  100. homeassistant-stubs/components/google_sheets/services.pyi +9 -2
  101. homeassistant-stubs/components/group/__init__.pyi +0 -1
  102. homeassistant-stubs/components/group/config_flow.pyi +2 -0
  103. homeassistant-stubs/components/group/entity.pyi +3 -0
  104. homeassistant-stubs/components/group/light.pyi +1 -1
  105. homeassistant-stubs/components/group/util.pyi +1 -0
  106. homeassistant-stubs/components/group/valve.pyi +47 -0
  107. homeassistant-stubs/components/habitica/__init__.pyi +1 -0
  108. homeassistant-stubs/components/habitica/config_flow.pyi +11 -3
  109. homeassistant-stubs/components/habitica/const.pyi +1 -0
  110. homeassistant-stubs/components/habitica/coordinator.pyi +9 -3
  111. homeassistant-stubs/components/habitica/entity.pyi +15 -2
  112. homeassistant-stubs/components/habitica/image.pyi +6 -2
  113. homeassistant-stubs/components/habitica/notify.pyi +42 -0
  114. homeassistant-stubs/components/habitica/sensor.pyi +9 -4
  115. homeassistant-stubs/components/hardkernel/hardware.pyi +1 -1
  116. homeassistant-stubs/components/hardware/__init__.pyi +2 -10
  117. homeassistant-stubs/components/history_stats/__init__.pyi +0 -1
  118. homeassistant-stubs/components/history_stats/config_flow.pyi +1 -0
  119. homeassistant-stubs/components/home_connect/application_credentials.pyi +1 -0
  120. homeassistant-stubs/components/home_connect/const.pyi +1 -0
  121. homeassistant-stubs/components/home_connect/select.pyi +1 -1
  122. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +4 -2
  123. homeassistant-stubs/components/homeassistant_green/hardware.pyi +1 -1
  124. homeassistant-stubs/components/homeassistant_hardware/const.pyi +1 -0
  125. homeassistant-stubs/components/homeassistant_hardware/helpers.pyi +12 -2
  126. homeassistant-stubs/components/homeassistant_hardware/switch.pyi +23 -0
  127. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +13 -4
  128. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +4 -0
  129. homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -1
  130. homeassistant-stubs/components/homeassistant_sky_connect/switch.pyi +17 -0
  131. homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +5 -7
  132. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +12 -4
  133. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -1
  134. homeassistant-stubs/components/homeassistant_yellow/hardware.pyi +1 -1
  135. homeassistant-stubs/components/homeassistant_yellow/switch.pyi +17 -0
  136. homeassistant-stubs/components/homeassistant_yellow/update.pyi +5 -7
  137. homeassistant-stubs/components/homee/__init__.pyi +1 -0
  138. homeassistant-stubs/components/homewizard/__init__.pyi +2 -0
  139. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
  140. homeassistant-stubs/components/husqvarna_automower/entity.pyi +8 -4
  141. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +5 -0
  142. homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
  143. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -0
  144. homeassistant-stubs/components/husqvarna_automower/switch.pyi +2 -0
  145. homeassistant-stubs/components/imap/__init__.pyi +3 -1
  146. homeassistant-stubs/components/imap/coordinator.pyi +4 -1
  147. homeassistant-stubs/components/inels/__init__.pyi +18 -0
  148. homeassistant-stubs/components/inels/config_flow.pyi +13 -0
  149. homeassistant-stubs/components/inels/const.pyi +7 -0
  150. homeassistant-stubs/components/inels/entity.pyi +20 -0
  151. homeassistant-stubs/components/inels/switch.pyi +34 -0
  152. homeassistant-stubs/components/knx/climate.pyi +23 -11
  153. homeassistant-stubs/components/knx/const.pyi +14 -0
  154. homeassistant-stubs/components/knx/schema.pyi +1 -13
  155. homeassistant-stubs/components/knx/sensor.pyi +8 -9
  156. homeassistant-stubs/components/knx/storage/const.pyi +20 -0
  157. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +13 -2
  158. homeassistant-stubs/components/lametric/config_flow.pyi +2 -0
  159. homeassistant-stubs/components/lcn/sensor.pyi +1 -1
  160. homeassistant-stubs/components/libre_hardware_monitor/__init__.pyi +3 -0
  161. homeassistant-stubs/components/libre_hardware_monitor/sensor.pyi +2 -3
  162. homeassistant-stubs/components/litterrobot/update.pyi +2 -0
  163. homeassistant-stubs/components/lock/__init__.pyi +1 -6
  164. homeassistant-stubs/components/london_underground/__init__.pyi +9 -0
  165. homeassistant-stubs/components/london_underground/config_flow.pyi +22 -0
  166. homeassistant-stubs/components/london_underground/const.pyi +1 -0
  167. homeassistant-stubs/components/london_underground/coordinator.pyi +3 -1
  168. homeassistant-stubs/components/london_underground/sensor.pyi +10 -5
  169. homeassistant-stubs/components/lunatone/__init__.pyi +12 -0
  170. homeassistant-stubs/components/lunatone/config_flow.pyi +16 -0
  171. homeassistant-stubs/components/lunatone/const.pyi +3 -0
  172. homeassistant-stubs/components/lunatone/coordinator.pyi +29 -0
  173. homeassistant-stubs/components/lunatone/light.pyi +43 -0
  174. homeassistant-stubs/components/matrix/__init__.pyi +10 -2
  175. homeassistant-stubs/components/matrix/const.pyi +5 -0
  176. homeassistant-stubs/components/matrix/services.pyi +3 -1
  177. homeassistant-stubs/components/matter/__init__.pyi +5 -0
  178. homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
  179. homeassistant-stubs/components/matter/button.pyi +1 -1
  180. homeassistant-stubs/components/matter/climate.pyi +7 -1
  181. homeassistant-stubs/components/matter/cover.pyi +6 -2
  182. homeassistant-stubs/components/matter/entity.pyi +4 -2
  183. homeassistant-stubs/components/matter/event.pyi +5 -1
  184. homeassistant-stubs/components/matter/fan.pyi +5 -1
  185. homeassistant-stubs/components/matter/light.pyi +6 -2
  186. homeassistant-stubs/components/matter/lock.pyi +5 -1
  187. homeassistant-stubs/components/matter/models.pyi +3 -3
  188. homeassistant-stubs/components/matter/number.pyi +1 -1
  189. homeassistant-stubs/components/matter/select.pyi +1 -1
  190. homeassistant-stubs/components/matter/sensor.pyi +4 -1
  191. homeassistant-stubs/components/matter/services.pyi +11 -0
  192. homeassistant-stubs/components/matter/switch.pyi +5 -2
  193. homeassistant-stubs/components/matter/update.pyi +4 -1
  194. homeassistant-stubs/components/matter/vacuum.pyi +6 -2
  195. homeassistant-stubs/components/matter/valve.pyi +6 -2
  196. homeassistant-stubs/components/matter/water_heater.pyi +8 -1
  197. homeassistant-stubs/components/mcp/__init__.pyi +1 -6
  198. homeassistant-stubs/components/mcp/config_flow.pyi +12 -2
  199. homeassistant-stubs/components/mcp/const.pyi +1 -0
  200. homeassistant-stubs/components/mcp/coordinator.pyi +1 -1
  201. homeassistant-stubs/components/mcp_server/__init__.pyi +1 -8
  202. homeassistant-stubs/components/mcp_server/http.pyi +23 -1
  203. homeassistant-stubs/components/mealie/config_flow.pyi +8 -1
  204. homeassistant-stubs/components/media_player/__init__.pyi +1 -9
  205. homeassistant-stubs/components/media_player/const.pyi +10 -69
  206. homeassistant-stubs/components/media_player/intent.pyi +7 -9
  207. homeassistant-stubs/components/metoffice/__init__.pyi +1 -0
  208. homeassistant-stubs/components/metoffice/helpers.pyi +2 -2
  209. homeassistant-stubs/components/metoffice/weather.pyi +11 -11
  210. homeassistant-stubs/components/min_max/__init__.pyi +0 -1
  211. homeassistant-stubs/components/min_max/config_flow.pyi +1 -0
  212. homeassistant-stubs/components/mold_indicator/__init__.pyi +0 -1
  213. homeassistant-stubs/components/mold_indicator/config_flow.pyi +1 -0
  214. homeassistant-stubs/components/mqtt/__init__.pyi +1 -4
  215. homeassistant-stubs/components/mqtt/config_flow.pyi +23 -4
  216. homeassistant-stubs/components/mqtt/const.pyi +7 -1
  217. homeassistant-stubs/components/mqtt/number.pyi +1 -5
  218. homeassistant-stubs/components/mqtt/siren.pyi +1 -9
  219. homeassistant-stubs/components/music_assistant/const.pyi +4 -0
  220. homeassistant-stubs/components/music_assistant/media_player.pyi +1 -1
  221. homeassistant-stubs/components/music_assistant/schemas.pyi +2 -2
  222. homeassistant-stubs/components/nasweb/sensor.pyi +0 -5
  223. homeassistant-stubs/components/nasweb/switch.pyi +1 -0
  224. homeassistant-stubs/components/nextdns/config_flow.pyi +6 -1
  225. homeassistant-stubs/components/number/const.pyi +2 -1
  226. homeassistant-stubs/components/onedrive/backup.pyi +2 -1
  227. homeassistant-stubs/components/onewire/binary_sensor.pyi +5 -12
  228. homeassistant-stubs/components/onewire/const.pyi +0 -2
  229. homeassistant-stubs/components/onewire/diagnostics.pyi +2 -0
  230. homeassistant-stubs/components/onewire/entity.pyi +6 -14
  231. homeassistant-stubs/components/onewire/onewirehub.pyi +5 -5
  232. homeassistant-stubs/components/onewire/select.pyi +3 -10
  233. homeassistant-stubs/components/onewire/sensor.pyi +5 -7
  234. homeassistant-stubs/components/onewire/switch.pyi +7 -14
  235. homeassistant-stubs/components/onkyo/receiver.pyi +1 -1
  236. homeassistant-stubs/components/open_router/entity.pyi +4 -1
  237. homeassistant-stubs/components/openai_conversation/ai_task.pyi +1 -1
  238. homeassistant-stubs/components/openai_conversation/config_flow.pyi +1 -1
  239. homeassistant-stubs/components/openai_conversation/const.pyi +2 -0
  240. homeassistant-stubs/components/openai_conversation/entity.pyi +1 -1
  241. homeassistant-stubs/components/opower/coordinator.pyi +1 -0
  242. homeassistant-stubs/components/ping/__init__.pyi +1 -0
  243. homeassistant-stubs/components/ping/config_flow.pyi +1 -0
  244. homeassistant-stubs/components/ping/device_tracker.pyi +3 -2
  245. homeassistant-stubs/components/ping/entity.pyi +1 -0
  246. homeassistant-stubs/components/portainer/button.pyi +29 -0
  247. homeassistant-stubs/components/portainer/config_flow.pyi +4 -0
  248. homeassistant-stubs/components/portainer/const.pyi +1 -0
  249. homeassistant-stubs/components/portainer/coordinator.pyi +11 -2
  250. homeassistant-stubs/components/portainer/diagnostics.pyi +12 -0
  251. homeassistant-stubs/components/portainer/entity.pyi +2 -0
  252. homeassistant-stubs/components/portainer/sensor.pyi +41 -0
  253. homeassistant-stubs/components/portainer/switch.pyi +35 -0
  254. homeassistant-stubs/components/qbus/entity.pyi +1 -3
  255. homeassistant-stubs/components/raspberry_pi/hardware.pyi +1 -1
  256. homeassistant-stubs/components/recorder/const.pyi +1 -1
  257. homeassistant-stubs/components/recorder/core.pyi +3 -3
  258. homeassistant-stubs/components/recorder/db_schema.pyi +3 -10
  259. homeassistant-stubs/components/recorder/entity_registry.pyi +1 -0
  260. homeassistant-stubs/components/recorder/history/__init__.pyi +2 -2
  261. homeassistant-stubs/components/recorder/migration.pyi +4 -1
  262. homeassistant-stubs/components/recorder/models/statistics.pyi +1 -0
  263. homeassistant-stubs/components/recorder/statistics.pyi +17 -12
  264. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +0 -1
  265. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +4 -2
  266. homeassistant-stubs/components/recorder/tasks.pyi +1 -0
  267. homeassistant-stubs/components/recorder/util.pyi +1 -1
  268. homeassistant-stubs/components/recorder/websocket_api.pyi +6 -4
  269. homeassistant-stubs/components/renault/sensor.pyi +1 -1
  270. homeassistant-stubs/components/reolink/__init__.pyi +1 -1
  271. homeassistant-stubs/components/reolink/binary_sensor.pyi +15 -0
  272. homeassistant-stubs/components/reolink/siren.pyi +2 -0
  273. homeassistant-stubs/components/reolink/switch.pyi +25 -7
  274. homeassistant-stubs/components/roborock/__init__.pyi +1 -1
  275. homeassistant-stubs/components/roborock/config_flow.pyi +1 -1
  276. homeassistant-stubs/components/roborock/coordinator.pyi +2 -1
  277. homeassistant-stubs/components/roborock/entity.pyi +1 -1
  278. homeassistant-stubs/components/roborock/models.pyi +1 -1
  279. homeassistant-stubs/components/scrape/coordinator.pyi +1 -2
  280. homeassistant-stubs/components/sensibo/__init__.pyi +6 -0
  281. homeassistant-stubs/components/sensibo/climate.pyi +3 -26
  282. homeassistant-stubs/components/sensibo/services.pyi +31 -0
  283. homeassistant-stubs/components/sensor/const.pyi +2 -1
  284. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  285. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  286. homeassistant-stubs/components/sensor/recorder.pyi +6 -3
  287. homeassistant-stubs/components/sfr_box/__init__.pyi +4 -6
  288. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +5 -14
  289. homeassistant-stubs/components/sfr_box/button.pyi +4 -9
  290. homeassistant-stubs/components/sfr_box/config_flow.pyi +2 -1
  291. homeassistant-stubs/components/sfr_box/coordinator.pyi +13 -2
  292. homeassistant-stubs/components/sfr_box/diagnostics.pyi +2 -4
  293. homeassistant-stubs/components/sfr_box/entity.pyi +18 -0
  294. homeassistant-stubs/components/sfr_box/sensor.pyi +4 -13
  295. homeassistant-stubs/components/shelly/__init__.pyi +2 -2
  296. homeassistant-stubs/components/shelly/binary_sensor.pyi +6 -2
  297. homeassistant-stubs/components/shelly/button.pyi +26 -16
  298. homeassistant-stubs/components/shelly/climate.pyi +61 -7
  299. homeassistant-stubs/components/shelly/const.pyi +15 -3
  300. homeassistant-stubs/components/shelly/cover.pyi +31 -10
  301. homeassistant-stubs/components/shelly/entity.pyi +5 -4
  302. homeassistant-stubs/components/shelly/event.pyi +4 -0
  303. homeassistant-stubs/components/shelly/light.pyi +23 -7
  304. homeassistant-stubs/components/shelly/number.pyi +11 -2
  305. homeassistant-stubs/components/shelly/repairs.pyi +2 -2
  306. homeassistant-stubs/components/shelly/select.pyi +4 -1
  307. homeassistant-stubs/components/shelly/sensor.pyi +8 -7
  308. homeassistant-stubs/components/shelly/switch.pyi +7 -4
  309. homeassistant-stubs/components/shelly/text.pyi +4 -1
  310. homeassistant-stubs/components/shelly/update.pyi +4 -0
  311. homeassistant-stubs/components/shelly/utils.pyi +10 -5
  312. homeassistant-stubs/components/shelly/valve.pyi +34 -5
  313. homeassistant-stubs/components/simplisafe/config_flow.pyi +2 -0
  314. homeassistant-stubs/components/sleep_as_android/event.pyi +1 -0
  315. homeassistant-stubs/components/sma/__init__.pyi +15 -0
  316. homeassistant-stubs/components/sma/config_flow.pyi +27 -0
  317. homeassistant-stubs/components/sma/const.pyi +11 -0
  318. homeassistant-stubs/components/sma/coordinator.pyi +28 -0
  319. homeassistant-stubs/components/sma/diagnostics.pyi +10 -0
  320. homeassistant-stubs/components/sma/sensor.pyi +33 -0
  321. homeassistant-stubs/components/sql/__init__.pyi +2 -4
  322. homeassistant-stubs/components/sql/sensor.pyi +6 -13
  323. homeassistant-stubs/components/sql/services.pyi +17 -0
  324. homeassistant-stubs/components/sql/util.pyi +16 -3
  325. homeassistant-stubs/components/squeezebox/__init__.pyi +4 -1
  326. homeassistant-stubs/components/squeezebox/browse_media.pyi +4 -3
  327. homeassistant-stubs/components/squeezebox/button.pyi +1 -0
  328. homeassistant-stubs/components/squeezebox/const.pyi +0 -1
  329. homeassistant-stubs/components/squeezebox/media_player.pyi +7 -2
  330. homeassistant-stubs/components/squeezebox/switch.pyi +1 -0
  331. homeassistant-stubs/components/squeezebox/util.pyi +6 -0
  332. homeassistant-stubs/components/suez_water/coordinator.pyi +2 -1
  333. homeassistant-stubs/components/sun/condition.pyi +10 -5
  334. homeassistant-stubs/components/switch_as_x/__init__.pyi +0 -1
  335. homeassistant-stubs/components/switch_as_x/config_flow.pyi +1 -0
  336. homeassistant-stubs/components/switchbot_cloud/climate.pyi +2 -0
  337. homeassistant-stubs/components/switchbot_cloud/lock.pyi +7 -2
  338. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +25 -2
  339. homeassistant-stubs/components/switchbot_cloud/switch.pyi +13 -1
  340. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +4 -4
  341. homeassistant-stubs/components/switcher_kis/button.pyi +5 -6
  342. homeassistant-stubs/components/switcher_kis/climate.pyi +3 -3
  343. homeassistant-stubs/components/switcher_kis/const.pyi +1 -0
  344. homeassistant-stubs/components/switcher_kis/cover.pyi +4 -3
  345. homeassistant-stubs/components/switcher_kis/light.pyi +3 -2
  346. homeassistant-stubs/components/switcher_kis/sensor.pyi +4 -2
  347. homeassistant-stubs/components/switcher_kis/switch.pyi +3 -5
  348. homeassistant-stubs/components/systemmonitor/__init__.pyi +0 -1
  349. homeassistant-stubs/components/systemmonitor/config_flow.pyi +1 -0
  350. homeassistant-stubs/components/systemmonitor/coordinator.pyi +1 -0
  351. homeassistant-stubs/components/systemmonitor/sensor.pyi +3 -1
  352. homeassistant-stubs/components/telegram_bot/__init__.pyi +2 -1
  353. homeassistant-stubs/components/telegram_bot/bot.pyi +10 -5
  354. homeassistant-stubs/components/telegram_bot/const.pyi +9 -0
  355. homeassistant-stubs/components/telegram_bot/diagnostics.pyi +11 -0
  356. homeassistant-stubs/components/telegram_bot/entity.pyi +16 -0
  357. homeassistant-stubs/components/telegram_bot/event.pyi +18 -0
  358. homeassistant-stubs/components/telegram_bot/notify.pyi +6 -10
  359. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  360. homeassistant-stubs/components/tod/__init__.pyi +0 -1
  361. homeassistant-stubs/components/tod/config_flow.pyi +1 -0
  362. homeassistant-stubs/components/tolo/__init__.pyi +3 -5
  363. homeassistant-stubs/components/tolo/binary_sensor.pyi +4 -6
  364. homeassistant-stubs/components/tolo/button.pyi +3 -5
  365. homeassistant-stubs/components/tolo/climate.pyi +3 -5
  366. homeassistant-stubs/components/tolo/coordinator.pyi +3 -2
  367. homeassistant-stubs/components/tolo/entity.pyi +2 -3
  368. homeassistant-stubs/components/tolo/fan.pyi +3 -5
  369. homeassistant-stubs/components/tolo/light.pyi +3 -5
  370. homeassistant-stubs/components/tolo/number.pyi +3 -5
  371. homeassistant-stubs/components/tolo/select.pyi +4 -5
  372. homeassistant-stubs/components/tolo/sensor.pyi +3 -5
  373. homeassistant-stubs/components/tolo/switch.pyi +3 -5
  374. homeassistant-stubs/components/trend/__init__.pyi +0 -1
  375. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  376. homeassistant-stubs/components/tts/__init__.pyi +2 -3
  377. homeassistant-stubs/components/unifi/light.pyi +44 -0
  378. homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +2 -0
  379. homeassistant-stubs/components/uptimerobot/sensor.pyi +2 -0
  380. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -0
  381. homeassistant-stubs/components/uptimerobot/utils.pyi +5 -0
  382. homeassistant-stubs/components/usb/__init__.pyi +2 -0
  383. homeassistant-stubs/components/usb/utils.pyi +7 -0
  384. homeassistant-stubs/components/vacuum/__init__.pyi +0 -15
  385. homeassistant-stubs/components/vivotek/__init__.pyi +0 -0
  386. homeassistant-stubs/components/vivotek/camera.pyi +35 -0
  387. homeassistant-stubs/components/vodafone_station/__init__.pyi +3 -1
  388. homeassistant-stubs/components/vodafone_station/config_flow.pyi +3 -2
  389. homeassistant-stubs/components/vodafone_station/const.pyi +3 -0
  390. homeassistant-stubs/components/vodafone_station/coordinator.pyi +4 -4
  391. homeassistant-stubs/components/volvo/__init__.pyi +2 -0
  392. homeassistant-stubs/components/volvo/binary_sensor.pyi +1 -3
  393. homeassistant-stubs/components/volvo/button.pyi +27 -0
  394. homeassistant-stubs/components/volvo/coordinator.pyi +12 -14
  395. homeassistant-stubs/components/volvo/device_tracker.pyi +23 -0
  396. homeassistant-stubs/components/volvo/diagnostics.pyi +12 -0
  397. homeassistant-stubs/components/volvo/entity.pyi +9 -5
  398. homeassistant-stubs/components/volvo/sensor.pyi +9 -8
  399. homeassistant-stubs/components/waqi/__init__.pyi +8 -0
  400. homeassistant-stubs/components/waqi/config_flow.pyi +14 -9
  401. homeassistant-stubs/components/waqi/const.pyi +1 -1
  402. homeassistant-stubs/components/waqi/coordinator.pyi +5 -4
  403. homeassistant-stubs/components/webostv/media_player.pyi +3 -0
  404. homeassistant-stubs/components/websocket_api/commands.pyi +2 -0
  405. homeassistant-stubs/components/wled/select.pyi +6 -3
  406. homeassistant-stubs/components/worldclock/__init__.pyi +0 -1
  407. homeassistant-stubs/components/worldclock/config_flow.pyi +1 -0
  408. homeassistant-stubs/components/zeroconf/__init__.pyi +3 -1
  409. homeassistant-stubs/components/zeroconf/discovery.pyi +8 -1
  410. homeassistant-stubs/components/zeroconf/repairs.pyi +13 -0
  411. homeassistant-stubs/components/zone/condition.pyi +10 -4
  412. homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -0
  413. homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -1
  414. homeassistant-stubs/components/zwave_js/triggers/event.pyi +6 -8
  415. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +6 -6
  416. homeassistant-stubs/config_entries.pyi +9 -0
  417. homeassistant-stubs/const.pyi +4 -21
  418. homeassistant-stubs/core.pyi +1 -7
  419. homeassistant-stubs/data_entry_flow.pyi +2 -0
  420. homeassistant-stubs/helpers/automation.pyi +6 -0
  421. homeassistant-stubs/helpers/condition.pyi +15 -5
  422. homeassistant-stubs/helpers/debounce.pyi +6 -1
  423. homeassistant-stubs/helpers/entity_platform.pyi +1 -1
  424. homeassistant-stubs/helpers/event.pyi +1 -1
  425. homeassistant-stubs/helpers/instance_id.pyi +1 -0
  426. homeassistant-stubs/helpers/llm.pyi +6 -1
  427. homeassistant-stubs/helpers/selector.pyi +5 -4
  428. homeassistant-stubs/helpers/service.pyi +4 -4
  429. homeassistant-stubs/helpers/template/__init__.pyi +0 -5
  430. homeassistant-stubs/helpers/trigger.pyi +18 -5
  431. homeassistant-stubs/helpers/update_coordinator.pyi +1 -0
  432. homeassistant-stubs/runner.pyi +1 -1
  433. homeassistant-stubs/util/async_iterator.pyi +33 -0
  434. homeassistant-stubs/util/unit_conversion.pyi +15 -0
  435. {homeassistant_stubs-2025.10.3.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/METADATA +2 -2
  436. {homeassistant_stubs-2025.10.3.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/RECORD +438 -402
  437. homeassistant-stubs/components/elevenlabs/__init__.pyi +0 -22
  438. homeassistant-stubs/components/elevenlabs/config_flow.pyi +0 -33
  439. homeassistant-stubs/components/elevenlabs/const.pyi +0 -14
  440. homeassistant-stubs/components/elevenlabs/tts.pyi +0 -36
  441. homeassistant-stubs/components/neato/__init__.pyi +0 -15
  442. homeassistant-stubs/components/neato/api.pyi +0 -17
  443. homeassistant-stubs/components/neato/application_credentials.pyi +0 -6
  444. homeassistant-stubs/components/neato/button.pyi +0 -18
  445. homeassistant-stubs/components/neato/camera.pyi +0 -34
  446. homeassistant-stubs/components/neato/config_flow.pyi +0 -15
  447. homeassistant-stubs/components/neato/const.pyi +0 -13
  448. homeassistant-stubs/components/neato/entity.pyi +0 -11
  449. homeassistant-stubs/components/neato/hub.pyi +0 -17
  450. homeassistant-stubs/components/neato/sensor.pyi +0 -30
  451. homeassistant-stubs/components/neato/switch.pyi +0 -34
  452. homeassistant-stubs/components/neato/vacuum.pyi +0 -70
  453. homeassistant-stubs/components/recorder/history/legacy.pyi +0 -48
  454. homeassistant-stubs/components/recorder/history/modern.pyi +0 -39
  455. homeassistant-stubs/components/recorder/models/legacy.pyi +0 -45
  456. homeassistant-stubs/components/sfr_box/models.pyi +0 -12
  457. {homeassistant_stubs-2025.10.3.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/WHEEL +0 -0
  458. {homeassistant_stubs-2025.10.3.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,47 @@
1
+ from .entity import GroupEntity as GroupEntity
2
+ from .util import reduce_attribute as reduce_attribute
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.valve import ATTR_CURRENT_POSITION as ATTR_CURRENT_POSITION, ATTR_POSITION as ATTR_POSITION, ValveEntity as ValveEntity, ValveEntityFeature as ValveEntityFeature, ValveState as ValveState
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, CONF_ENTITIES as CONF_ENTITIES, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, SERVICE_CLOSE_VALVE as SERVICE_CLOSE_VALVE, SERVICE_OPEN_VALVE as SERVICE_OPEN_VALVE, SERVICE_SET_VALVE_POSITION as SERVICE_SET_VALVE_POSITION, SERVICE_STOP_VALVE as SERVICE_STOP_VALVE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
7
+ from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
8
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, AddEntitiesCallback as AddEntitiesCallback
9
+ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
10
+ from typing import Any
11
+
12
+ KEY_OPEN_CLOSE: str
13
+ KEY_STOP: str
14
+ KEY_SET_POSITION: str
15
+ DEFAULT_NAME: str
16
+ PARALLEL_UPDATES: int
17
+ PLATFORM_SCHEMA: Incomplete
18
+
19
+ async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
20
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
21
+ @callback
22
+ def async_create_preview_valve(hass: HomeAssistant, name: str, validated_config: dict[str, Any]) -> ValveGroup: ...
23
+
24
+ class ValveGroup(GroupEntity, ValveEntity):
25
+ _attr_available: bool
26
+ _attr_current_valve_position: int | None
27
+ _attr_is_closed: bool | None
28
+ _attr_is_closing: bool | None
29
+ _attr_is_opening: bool | None
30
+ _attr_reports_position: bool
31
+ _entity_ids: Incomplete
32
+ _valves: dict[str, set[str]]
33
+ _attr_name: Incomplete
34
+ _attr_extra_state_attributes: Incomplete
35
+ _attr_unique_id: Incomplete
36
+ def __init__(self, unique_id: str | None, name: str, entities: list[str]) -> None: ...
37
+ @callback
38
+ def async_update_supported_features(self, entity_id: str, new_state: State | None) -> None: ...
39
+ async def async_open_valve(self) -> None: ...
40
+ async def async_handle_open_valve(self) -> None: ...
41
+ async def async_close_valve(self) -> None: ...
42
+ async def async_handle_close_valve(self) -> None: ...
43
+ async def async_set_valve_position(self, position: int) -> None: ...
44
+ async def async_stop_valve(self) -> None: ...
45
+ _attr_supported_features: Incomplete
46
+ @callback
47
+ def async_update_group_state(self) -> None: ...
@@ -15,5 +15,6 @@ PLATFORMS: Incomplete
15
15
 
16
16
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
17
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: HabiticaConfigEntry) -> bool: ...
18
+ async def _async_update_listener(hass: HomeAssistant, entry: HabiticaConfigEntry) -> None: ...
18
19
  async def shutdown_party_coordinator(hass: HomeAssistant, party_added: UUID) -> None: ...
19
20
  async def async_unload_entry(hass: HomeAssistant, entry: HabiticaConfigEntry) -> bool: ...
@@ -1,13 +1,15 @@
1
- from .const import CONF_API_USER as CONF_API_USER, DEFAULT_URL as DEFAULT_URL, DOMAIN as DOMAIN, FORGOT_PASSWORD_URL as FORGOT_PASSWORD_URL, HABITICANS_URL as HABITICANS_URL, SECTION_DANGER_ZONE as SECTION_DANGER_ZONE, SECTION_REAUTH_API_KEY as SECTION_REAUTH_API_KEY, SECTION_REAUTH_LOGIN as SECTION_REAUTH_LOGIN, SIGN_UP_URL as SIGN_UP_URL, SITE_DATA_URL as SITE_DATA_URL, X_CLIENT as X_CLIENT
1
+ from . import HABITICA_KEY as HABITICA_KEY
2
+ from .const import CONF_API_USER as CONF_API_USER, CONF_PARTY_MEMBER as CONF_PARTY_MEMBER, DEFAULT_URL as DEFAULT_URL, DOMAIN as DOMAIN, FORGOT_PASSWORD_URL as FORGOT_PASSWORD_URL, HABITICANS_URL as HABITICANS_URL, SECTION_DANGER_ZONE as SECTION_DANGER_ZONE, SECTION_REAUTH_API_KEY as SECTION_REAUTH_API_KEY, SECTION_REAUTH_LOGIN as SECTION_REAUTH_LOGIN, SIGN_UP_URL as SIGN_UP_URL, SITE_DATA_URL as SITE_DATA_URL, X_CLIENT as X_CLIENT
2
3
  from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry
3
4
  from _typeshed import Incomplete
4
5
  from collections.abc import Mapping
5
6
  from habiticalib import LoginData as LoginData, UserData as UserData
6
7
  from homeassistant import data_entry_flow as data_entry_flow
7
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, ConfigSubentryFlow as ConfigSubentryFlow, SubentryFlowResult as SubentryFlowResult
8
9
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_URL as CONF_URL, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
10
+ from homeassistant.core import callback as callback
9
11
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
10
- from homeassistant.helpers.selector import TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
12
+ from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
11
13
  from typing import Any
12
14
 
13
15
  STEP_ADVANCED_DATA_SCHEMA: Incomplete
@@ -25,3 +27,9 @@ class HabiticaConfigFlow(ConfigFlow, domain=DOMAIN):
25
27
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
28
  async def validate_login(self, user_input: Mapping[str, Any]) -> tuple[dict[str, str], LoginData | None, UserData | None]: ...
27
29
  async def validate_api_key(self, user_input: Mapping[str, Any]) -> tuple[dict[str, str], UserData | None]: ...
30
+ @classmethod
31
+ @callback
32
+ def async_get_supported_subentry_types(cls, config_entry: ConfigEntry) -> dict[str, type[ConfigSubentryFlow]]: ...
33
+
34
+ class PartyMembersSubentryFlowHandler(ConfigSubentryFlow):
35
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
@@ -2,6 +2,7 @@ from _typeshed import Incomplete
2
2
  from homeassistant.const import APPLICATION_NAME as APPLICATION_NAME, __version__ as __version__
3
3
 
4
4
  CONF_API_USER: str
5
+ CONF_PARTY_MEMBER: str
5
6
  DEFAULT_URL: str
6
7
  ASSETS_URL: str
7
8
  SITE_DATA_URL: str
@@ -5,13 +5,14 @@ from abc import abstractmethod
5
5
  from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
7
7
  from datetime import timedelta
8
- from habiticalib import Avatar as Avatar, ContentData as ContentData, GroupData, Habitica as Habitica, TaskData as TaskData, UserData as UserData
8
+ from habiticalib import Avatar as Avatar, ContentData as ContentData, GroupData as GroupData, Habitica as Habitica, TaskData as TaskData, UserData as UserData
9
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
12
12
  from homeassistant.helpers.debounce import Debouncer as Debouncer
13
13
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
14
14
  from typing import Any
15
+ from uuid import UUID
15
16
 
16
17
  _LOGGER: Incomplete
17
18
 
@@ -19,6 +20,11 @@ _LOGGER: Incomplete
19
20
  class HabiticaData:
20
21
  user: UserData
21
22
  tasks: list[TaskData]
23
+
24
+ @dataclass
25
+ class HabiticaPartyData:
26
+ party: GroupData
27
+ members: dict[UUID, UserData]
22
28
  type HabiticaConfigEntry = ConfigEntry[HabiticaDataUpdateCoordinator]
23
29
 
24
30
  class HabiticaBaseCoordinator[_DataT](DataUpdateCoordinator[_DataT], metaclass=abc.ABCMeta):
@@ -38,6 +44,6 @@ class HabiticaDataUpdateCoordinator(HabiticaBaseCoordinator[HabiticaData]):
38
44
  async def execute(self, func: Callable[[Habitica], Any]) -> None: ...
39
45
  async def generate_avatar(self, avatar: Avatar) -> bytes: ...
40
46
 
41
- class HabiticaPartyCoordinator(HabiticaBaseCoordinator[GroupData]):
47
+ class HabiticaPartyCoordinator(HabiticaBaseCoordinator[HabiticaPartyData]):
42
48
  _update_interval: Incomplete
43
- async def _update_data(self) -> GroupData: ...
49
+ async def _update_data(self) -> HabiticaPartyData: ...
@@ -1,7 +1,8 @@
1
1
  from .const import DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER, NAME as NAME
2
2
  from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry, HabiticaDataUpdateCoordinator as HabiticaDataUpdateCoordinator, HabiticaPartyCoordinator as HabiticaPartyCoordinator
3
3
  from _typeshed import Incomplete
4
- from habiticalib import ContentData as ContentData
4
+ from habiticalib import ContentData as ContentData, UserData as UserData
5
+ from homeassistant.config_entries import ConfigSubentry as ConfigSubentry
5
6
  from homeassistant.const import CONF_URL as CONF_URL
6
7
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
7
8
  from homeassistant.helpers.entity import EntityDescription as EntityDescription
@@ -10,9 +11,21 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity as Coordi
10
11
  class HabiticaBase(CoordinatorEntity[HabiticaDataUpdateCoordinator]):
11
12
  _attr_has_entity_name: bool
12
13
  entity_description: Incomplete
14
+ subentry: Incomplete
13
15
  _attr_unique_id: Incomplete
14
16
  _attr_device_info: Incomplete
15
- def __init__(self, coordinator: HabiticaDataUpdateCoordinator, entity_description: EntityDescription) -> None: ...
17
+ def __init__(self, coordinator: HabiticaDataUpdateCoordinator, entity_description: EntityDescription, subentry: ConfigSubentry | None = None) -> None: ...
18
+ @property
19
+ def user(self) -> UserData | None: ...
20
+
21
+ class HabiticaPartyMemberBase(HabiticaBase):
22
+ party_coordinator: Incomplete
23
+ def __init__(self, coordinator: HabiticaDataUpdateCoordinator, party_coordinator: HabiticaPartyCoordinator, entity_description: EntityDescription, subentry: ConfigSubentry | None = None) -> None: ...
24
+ @property
25
+ def user(self) -> UserData | None: ...
26
+ @property
27
+ def available(self) -> bool: ...
28
+ async def async_added_to_hass(self) -> None: ...
16
29
 
17
30
  class HabiticaPartyBase(CoordinatorEntity[HabiticaPartyCoordinator]):
18
31
  _attr_has_entity_name: bool
@@ -1,11 +1,12 @@
1
1
  from . import HABITICA_KEY as HABITICA_KEY
2
2
  from .const import ASSETS_URL as ASSETS_URL
3
3
  from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry, HabiticaDataUpdateCoordinator as HabiticaDataUpdateCoordinator, HabiticaPartyCoordinator as HabiticaPartyCoordinator
4
- from .entity import HabiticaBase as HabiticaBase, HabiticaPartyBase as HabiticaPartyBase
4
+ from .entity import HabiticaBase as HabiticaBase, HabiticaPartyBase as HabiticaPartyBase, HabiticaPartyMemberBase as HabiticaPartyMemberBase
5
5
  from _typeshed import Incomplete
6
6
  from enum import StrEnum
7
7
  from habiticalib import Avatar as Avatar, ContentData as ContentData
8
8
  from homeassistant.components.image import Image as Image, ImageEntity as ImageEntity, ImageEntityDescription as ImageEntityDescription
9
+ from homeassistant.config_entries import ConfigSubentry as ConfigSubentry
9
10
  from homeassistant.core import HomeAssistant as HomeAssistant
10
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
12
 
@@ -23,10 +24,13 @@ class HabiticaImage(HabiticaBase, ImageEntity):
23
24
  _avatar: Avatar | None
24
25
  _cache: bytes | None
25
26
  _attr_image_last_updated: Incomplete
26
- def __init__(self, hass: HomeAssistant, coordinator: HabiticaDataUpdateCoordinator) -> None: ...
27
+ def __init__(self, hass: HomeAssistant, coordinator: HabiticaDataUpdateCoordinator, subentry: ConfigSubentry | None = None) -> None: ...
27
28
  def _handle_coordinator_update(self) -> None: ...
28
29
  async def async_image(self) -> bytes | None: ...
29
30
 
31
+ class HabiticaPartyMemberImage(HabiticaImage, HabiticaPartyMemberBase):
32
+ def __init__(self, hass: HomeAssistant, coordinator: HabiticaDataUpdateCoordinator, party_coordinator: HabiticaPartyCoordinator, subentry: ConfigSubentry | None = None) -> None: ...
33
+
30
34
  class HabiticaPartyImage(HabiticaPartyBase, ImageEntity):
31
35
  entity_description: Incomplete
32
36
  _attr_content_type: str
@@ -0,0 +1,42 @@
1
+ import abc
2
+ from . import HABITICA_KEY as HABITICA_KEY
3
+ from .const import DOMAIN as DOMAIN
4
+ from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry, HabiticaDataUpdateCoordinator as HabiticaDataUpdateCoordinator
5
+ from .entity import HabiticaBase as HabiticaBase
6
+ from _typeshed import Incomplete
7
+ from abc import abstractmethod
8
+ from enum import StrEnum
9
+ from habiticalib import GroupData as GroupData, UserData as UserData
10
+ from homeassistant.components.notify import NotifyEntity as NotifyEntity, NotifyEntityDescription as NotifyEntityDescription
11
+ from homeassistant.const import CONF_NAME as CONF_NAME
12
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
14
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
15
+
16
+ PARALLEL_UPDATES: int
17
+
18
+ class HabiticaNotify(StrEnum):
19
+ PARTY_CHAT = 'party_chat'
20
+ PRIVATE_MESSAGE = 'private_message'
21
+
22
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HabiticaConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
+
24
+ class HabiticaBaseNotifyEntity(HabiticaBase, NotifyEntity, metaclass=abc.ABCMeta):
25
+ def __init__(self, coordinator: HabiticaDataUpdateCoordinator) -> None: ...
26
+ @abstractmethod
27
+ async def _send_message(self, message: str) -> None: ...
28
+ async def async_send_message(self, message: str, title: str | None = None) -> None: ...
29
+
30
+ class HabiticaPartyChatNotifyEntity(HabiticaBaseNotifyEntity):
31
+ _attr_translation_placeholders: Incomplete
32
+ entity_description: Incomplete
33
+ party: Incomplete
34
+ def __init__(self, coordinator: HabiticaDataUpdateCoordinator, party: GroupData) -> None: ...
35
+ async def _send_message(self, message: str) -> None: ...
36
+
37
+ class HabiticaPrivateMessageNotifyEntity(HabiticaBaseNotifyEntity):
38
+ _attr_translation_placeholders: Incomplete
39
+ entity_description: Incomplete
40
+ member: Incomplete
41
+ def __init__(self, coordinator: HabiticaDataUpdateCoordinator, member: UserData) -> None: ...
42
+ async def _send_message(self, message: str) -> None: ...
@@ -1,11 +1,12 @@
1
1
  from . import HABITICA_KEY as HABITICA_KEY
2
2
  from .const import ASSETS_URL as ASSETS_URL
3
3
  from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry
4
- from .entity import HabiticaBase as HabiticaBase, HabiticaPartyBase as HabiticaPartyBase
4
+ from .entity import HabiticaBase as HabiticaBase, HabiticaPartyBase as HabiticaPartyBase, HabiticaPartyMemberBase as HabiticaPartyMemberBase
5
5
  from .util import collected_quest_items as collected_quest_items, get_attribute_points as get_attribute_points, get_attributes_total as get_attributes_total, inventory_list as inventory_list, pending_damage as pending_damage, pending_quest_items as pending_quest_items, quest_attributes as quest_attributes, quest_boss as quest_boss, rage_attributes as rage_attributes
6
6
  from _typeshed import Incomplete
7
7
  from collections.abc import Callable as Callable
8
8
  from dataclasses import dataclass
9
+ from datetime import datetime
9
10
  from enum import StrEnum
10
11
  from habiticalib import ContentData as ContentData, GroupData as GroupData, TaskData as TaskData, UserData as UserData
11
12
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
@@ -20,7 +21,7 @@ PARALLEL_UPDATES: int
20
21
 
21
22
  @dataclass(kw_only=True, frozen=True)
22
23
  class HabiticaSensorEntityDescription(SensorEntityDescription):
23
- value_fn: Callable[[UserData, ContentData], StateType]
24
+ value_fn: Callable[[UserData, ContentData], StateType | datetime]
24
25
  attributes_fn: Callable[[UserData, ContentData], dict[str, Any] | None] | None = ...
25
26
  entity_picture: str | None = ...
26
27
 
@@ -68,7 +69,9 @@ class HabiticaSensorEntity(StrEnum):
68
69
  COLLECTED_ITEMS = 'collected_items'
69
70
  BOSS_RAGE = 'boss_rage'
70
71
  BOSS_RAGE_LIMIT = 'boss_rage_limit'
72
+ LAST_CHECKIN = 'last_checkin'
71
73
 
74
+ SENSOR_DESCRIPTIONS_COMMON: tuple[HabiticaSensorEntityDescription, ...]
72
75
  SENSOR_DESCRIPTIONS: tuple[HabiticaSensorEntityDescription, ...]
73
76
  SENSOR_DESCRIPTIONS_PARTY: tuple[HabiticaPartySensorEntityDescription, ...]
74
77
 
@@ -77,16 +80,18 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: HabiticaConfigEnt
77
80
  class HabiticaSensor(HabiticaBase, SensorEntity):
78
81
  entity_description: HabiticaSensorEntityDescription
79
82
  @property
80
- def native_value(self) -> StateType: ...
83
+ def native_value(self) -> StateType | datetime: ...
81
84
  @property
82
85
  def extra_state_attributes(self) -> dict[str, float | None] | None: ...
83
86
  @property
84
87
  def entity_picture(self) -> str | None: ...
85
88
 
89
+ class HabiticaPartyMemberSensor(HabiticaSensor, HabiticaPartyMemberBase): ...
90
+
86
91
  class HabiticaPartySensor(HabiticaPartyBase, SensorEntity):
87
92
  entity_description: HabiticaPartySensorEntityDescription
88
93
  @property
89
- def native_value(self) -> StateType: ...
94
+ def native_value(self) -> StateType | datetime: ...
90
95
  @property
91
96
  def entity_picture(self) -> str | None: ...
92
97
  @property
@@ -1,6 +1,6 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from homeassistant.components.hardware.models import BoardInfo as BoardInfo, HardwareInfo as HardwareInfo
3
+ from homeassistant.components.hardware import BoardInfo as BoardInfo, HardwareInfo as HardwareInfo
4
4
  from homeassistant.components.hassio import get_os_info as get_os_info
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
6
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -1,11 +1,3 @@
1
- from . import websocket_api as websocket_api
2
- from .const import DATA_HARDWARE as DATA_HARDWARE, DOMAIN as DOMAIN
3
- from .hardware import async_process_hardware_platforms as async_process_hardware_platforms
4
- from .models import HardwareData as HardwareData, SystemStatus as SystemStatus
5
- from _typeshed import Incomplete
6
- from homeassistant.core import HomeAssistant as HomeAssistant
7
- from homeassistant.helpers.typing import ConfigType as ConfigType
1
+ from .models import BoardInfo as BoardInfo, HardwareInfo as HardwareInfo, USBInfo as USBInfo
8
2
 
9
- CONFIG_SCHEMA: Incomplete
10
-
11
- async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
3
+ __all__ = ['BoardInfo', 'HardwareInfo', 'USBInfo']
@@ -15,4 +15,3 @@ _LOGGER: Incomplete
15
15
  async def async_setup_entry(hass: HomeAssistant, entry: HistoryStatsConfigEntry) -> bool: ...
16
16
  async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
17
17
  async def async_unload_entry(hass: HomeAssistant, entry: HistoryStatsConfigEntry) -> bool: ...
18
- async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
@@ -30,6 +30,7 @@ class HistoryStatsConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
30
30
  MINOR_VERSION: int
31
31
  config_flow = CONFIG_FLOW
32
32
  options_flow = OPTIONS_FLOW
33
+ options_flow_reloads: bool
33
34
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
34
35
  @staticmethod
35
36
  async def async_setup_preview(hass: HomeAssistant) -> None: ...
@@ -2,3 +2,4 @@ from homeassistant.components.application_credentials import AuthorizationServer
2
2
  from homeassistant.core import HomeAssistant as HomeAssistant
3
3
 
4
4
  async def async_get_authorization_server(hass: HomeAssistant) -> AuthorizationServer: ...
5
+ async def async_get_description_placeholders(hass: HomeAssistant) -> dict[str, str]: ...
@@ -33,6 +33,7 @@ TRANSLATION_KEYS_PROGRAMS_MAP: Incomplete
33
33
  PROGRAMS_TRANSLATION_KEYS_MAP: Incomplete
34
34
  AVAILABLE_MAPS_ENUM: Incomplete
35
35
  CLEANING_MODE_OPTIONS: Incomplete
36
+ SUCTION_POWER_OPTIONS: Incomplete
36
37
  BEAN_AMOUNT_OPTIONS: Incomplete
37
38
  COFFEE_TEMPERATURE_OPTIONS: Incomplete
38
39
  BEAN_CONTAINER_OPTIONS: Incomplete
@@ -1,5 +1,5 @@
1
1
  from .common import setup_home_connect_entry as setup_home_connect_entry
2
- from .const import AVAILABLE_MAPS_ENUM as AVAILABLE_MAPS_ENUM, BEAN_AMOUNT_OPTIONS as BEAN_AMOUNT_OPTIONS, BEAN_CONTAINER_OPTIONS as BEAN_CONTAINER_OPTIONS, CLEANING_MODE_OPTIONS as CLEANING_MODE_OPTIONS, COFFEE_MILK_RATIO_OPTIONS as COFFEE_MILK_RATIO_OPTIONS, COFFEE_TEMPERATURE_OPTIONS as COFFEE_TEMPERATURE_OPTIONS, DOMAIN as DOMAIN, DRYING_TARGET_OPTIONS as DRYING_TARGET_OPTIONS, FLOW_RATE_OPTIONS as FLOW_RATE_OPTIONS, HOT_WATER_TEMPERATURE_OPTIONS as HOT_WATER_TEMPERATURE_OPTIONS, INTENSIVE_LEVEL_OPTIONS as INTENSIVE_LEVEL_OPTIONS, PROGRAMS_TRANSLATION_KEYS_MAP as PROGRAMS_TRANSLATION_KEYS_MAP, SPIN_SPEED_OPTIONS as SPIN_SPEED_OPTIONS, TEMPERATURE_OPTIONS as TEMPERATURE_OPTIONS, TRANSLATION_KEYS_PROGRAMS_MAP as TRANSLATION_KEYS_PROGRAMS_MAP, VARIO_PERFECT_OPTIONS as VARIO_PERFECT_OPTIONS, VENTING_LEVEL_OPTIONS as VENTING_LEVEL_OPTIONS, WARMING_LEVEL_OPTIONS as WARMING_LEVEL_OPTIONS
2
+ from .const import AVAILABLE_MAPS_ENUM as AVAILABLE_MAPS_ENUM, BEAN_AMOUNT_OPTIONS as BEAN_AMOUNT_OPTIONS, BEAN_CONTAINER_OPTIONS as BEAN_CONTAINER_OPTIONS, CLEANING_MODE_OPTIONS as CLEANING_MODE_OPTIONS, COFFEE_MILK_RATIO_OPTIONS as COFFEE_MILK_RATIO_OPTIONS, COFFEE_TEMPERATURE_OPTIONS as COFFEE_TEMPERATURE_OPTIONS, DOMAIN as DOMAIN, DRYING_TARGET_OPTIONS as DRYING_TARGET_OPTIONS, FLOW_RATE_OPTIONS as FLOW_RATE_OPTIONS, HOT_WATER_TEMPERATURE_OPTIONS as HOT_WATER_TEMPERATURE_OPTIONS, INTENSIVE_LEVEL_OPTIONS as INTENSIVE_LEVEL_OPTIONS, PROGRAMS_TRANSLATION_KEYS_MAP as PROGRAMS_TRANSLATION_KEYS_MAP, SPIN_SPEED_OPTIONS as SPIN_SPEED_OPTIONS, SUCTION_POWER_OPTIONS as SUCTION_POWER_OPTIONS, TEMPERATURE_OPTIONS as TEMPERATURE_OPTIONS, TRANSLATION_KEYS_PROGRAMS_MAP as TRANSLATION_KEYS_PROGRAMS_MAP, VARIO_PERFECT_OPTIONS as VARIO_PERFECT_OPTIONS, VENTING_LEVEL_OPTIONS as VENTING_LEVEL_OPTIONS, WARMING_LEVEL_OPTIONS as WARMING_LEVEL_OPTIONS
3
3
  from .coordinator import HomeConnectApplianceData as HomeConnectApplianceData, HomeConnectConfigEntry as HomeConnectConfigEntry, HomeConnectCoordinator as HomeConnectCoordinator
4
4
  from .entity import HomeConnectEntity as HomeConnectEntity, HomeConnectOptionEntity as HomeConnectOptionEntity, constraint_fetcher as constraint_fetcher
5
5
  from .utils import bsh_key_to_translation_key as bsh_key_to_translation_key, get_dict_from_home_connect_error as get_dict_from_home_connect_error
@@ -1,8 +1,8 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from homeassistant.components.hassio import HassioAPIError as HassioAPIError, async_get_green_settings as async_get_green_settings, async_set_green_settings as async_set_green_settings
3
+ from homeassistant.components.hassio import GreenOptions as GreenOptions, SupervisorError as SupervisorError, get_supervisor_client as get_supervisor_client
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
5
- from homeassistant.core import callback as callback
5
+ from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass, callback as callback
6
6
  from homeassistant.helpers import selector as selector
7
7
  from homeassistant.helpers.hassio import is_hassio as is_hassio
8
8
  from typing import Any
@@ -19,5 +19,7 @@ class HomeAssistantGreenConfigFlow(ConfigFlow, domain=DOMAIN):
19
19
 
20
20
  class HomeAssistantGreenOptionsFlow(OptionsFlow):
21
21
  _hw_settings: dict[str, bool] | None
22
+ _supervisor_client: Incomplete
23
+ def __init__(self, hass: HomeAssistant, *args: Any, **kwargs: Any) -> None: ...
22
24
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
25
  async def async_step_hardware_settings(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,5 +1,5 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from homeassistant.components.hardware.models import BoardInfo as BoardInfo, HardwareInfo as HardwareInfo
2
+ from homeassistant.components.hardware import BoardInfo as BoardInfo, HardwareInfo as HardwareInfo
3
3
  from homeassistant.components.hassio import get_os_info as get_os_info
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
5
5
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -7,6 +7,7 @@ DOMAIN: str
7
7
  DATA_COMPONENT: HassKey[HardwareInfoDispatcher]
8
8
  ZHA_DOMAIN: str
9
9
  OTBR_DOMAIN: str
10
+ HARDWARE_INTEGRATION_DOMAINS: Incomplete
10
11
  OTBR_ADDON_NAME: str
11
12
  OTBR_ADDON_MANAGER_DATA: str
12
13
  OTBR_ADDON_SLUG: str
@@ -1,15 +1,21 @@
1
1
  from . import DATA_COMPONENT as DATA_COMPONENT
2
+ from .const import HARDWARE_INTEGRATION_DOMAINS as HARDWARE_INTEGRATION_DOMAINS
2
3
  from .util import FirmwareInfo as FirmwareInfo
3
4
  from _typeshed import Incomplete
4
5
  from collections import defaultdict
5
6
  from collections.abc import AsyncIterator, Awaitable, Callable as Callable
6
7
  from contextlib import asynccontextmanager
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
+ from homeassistant.components.usb import USBDevice as USBDevice, async_get_usb_matchers_for_device as async_get_usb_matchers_for_device, usb_device_from_path as usb_device_from_path
9
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
8
10
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as hass_callback
9
- from typing import Protocol
11
+ from typing import Protocol, TypedDict
10
12
 
11
13
  _LOGGER: Incomplete
12
14
 
15
+ class HardwareFirmwareDiscoveryInfo(TypedDict):
16
+ usb_device: USBDevice | None
17
+ firmware_info: FirmwareInfo
18
+
13
19
  class SyncHardwareFirmwareInfoModule(Protocol):
14
20
  def get_firmware_info(self, hass: HomeAssistant, entry: ConfigEntry) -> FirmwareInfo | None: ...
15
21
 
@@ -17,6 +23,9 @@ class AsyncHardwareFirmwareInfoModule(Protocol):
17
23
  async def async_get_firmware_info(self, hass: HomeAssistant, entry: ConfigEntry) -> FirmwareInfo | None: ...
18
24
  type HardwareFirmwareInfoModule = SyncHardwareFirmwareInfoModule | AsyncHardwareFirmwareInfoModule
19
25
 
26
+ @hass_callback
27
+ def async_get_hardware_domain_for_usb_device(hass: HomeAssistant, usb_device: USBDevice) -> str | None: ...
28
+
20
29
  class HardwareInfoDispatcher:
21
30
  hass: Incomplete
22
31
  _providers: dict[str, HardwareFirmwareInfoModule]
@@ -26,6 +35,7 @@ class HardwareInfoDispatcher:
26
35
  def register_firmware_info_provider(self, domain: str, platform: HardwareFirmwareInfoModule) -> None: ...
27
36
  def register_firmware_info_callback(self, device: str, callback: Callable[[FirmwareInfo], None]) -> CALLBACK_TYPE: ...
28
37
  async def notify_firmware_info(self, domain: str, firmware_info: FirmwareInfo) -> None: ...
38
+ async def _async_trigger_hardware_discovery(self, firmware_info: FirmwareInfo) -> None: ...
29
39
  async def iter_firmware_info(self) -> AsyncIterator[FirmwareInfo]: ...
30
40
  def register_firmware_update_in_progress(self, device: str, source_domain: str) -> None: ...
31
41
  def unregister_firmware_update_in_progress(self, device: str, source_domain: str) -> None: ...
@@ -0,0 +1,23 @@
1
+ from .coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
2
+ from _typeshed import Incomplete
3
+ from homeassistant.components.switch import SwitchEntity as SwitchEntity
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from homeassistant.const import EntityCategory as EntityCategory
6
+ from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
7
+ from typing import Any
8
+
9
+ _LOGGER: Incomplete
10
+
11
+ class BaseBetaFirmwareSwitch(SwitchEntity, RestoreEntity):
12
+ _attr_has_entity_name: bool
13
+ _attr_entity_category: Incomplete
14
+ _attr_entity_registry_enabled_default: bool
15
+ _attr_translation_key: str
16
+ _coordinator: Incomplete
17
+ _config_entry: Incomplete
18
+ def __init__(self, coordinator: FirmwareUpdateCoordinator, config_entry: ConfigEntry) -> None: ...
19
+ _attr_is_on: Incomplete
20
+ async def async_added_to_hass(self) -> None: ...
21
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
22
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
23
+ async def _update_coordinator_prerelease(self) -> None: ...
@@ -1,16 +1,25 @@
1
- from .const import DESCRIPTION as DESCRIPTION, DEVICE as DEVICE, DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, MANUFACTURER as MANUFACTURER, PID as PID, PRODUCT as PRODUCT, SERIAL_NUMBER as SERIAL_NUMBER, VID as VID
1
+ from .const import DESCRIPTION as DESCRIPTION, DEVICE as DEVICE, DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, MANUFACTURER as MANUFACTURER, NABU_CASA_FIRMWARE_RELEASES_URL as NABU_CASA_FIRMWARE_RELEASES_URL, PID as PID, PRODUCT as PRODUCT, SERIAL_NUMBER as SERIAL_NUMBER, VID as VID
2
2
  from _typeshed import Incomplete
3
+ from dataclasses import dataclass
4
+ from homeassistant.components.homeassistant_hardware.coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
3
5
  from homeassistant.components.homeassistant_hardware.util import guess_firmware_info as guess_firmware_info
4
6
  from homeassistant.components.usb import USBDevice as USBDevice, async_register_port_event_callback as async_register_port_event_callback, scan_serial_ports as scan_serial_ports
5
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
9
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
10
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
11
  from homeassistant.helpers.typing import ConfigType as ConfigType
9
12
 
10
13
  _LOGGER: Incomplete
14
+ type HomeAssistantSkyConnectConfigEntry = ConfigEntry[HomeAssistantSkyConnectData]
15
+
16
+ @dataclass
17
+ class HomeAssistantSkyConnectData:
18
+ coordinator: FirmwareUpdateCoordinator
19
+
11
20
  CONFIG_SCHEMA: Incomplete
12
21
 
13
22
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
14
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
15
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
16
- async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
23
+ async def async_setup_entry(hass: HomeAssistant, entry: HomeAssistantSkyConnectConfigEntry) -> bool: ...
24
+ async def async_unload_entry(hass: HomeAssistant, entry: HomeAssistantSkyConnectConfigEntry) -> bool: ...
25
+ async def async_migrate_entry(hass: HomeAssistant, config_entry: HomeAssistantSkyConnectConfigEntry) -> bool: ...
@@ -4,7 +4,9 @@ from .util import get_hardware_variant as get_hardware_variant, get_usb_service_
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components import usb as usb
6
6
  from homeassistant.components.homeassistant_hardware import firmware_config_flow as firmware_config_flow, silabs_multiprotocol_addon as silabs_multiprotocol_addon
7
+ from homeassistant.components.homeassistant_hardware.helpers import HardwareFirmwareDiscoveryInfo as HardwareFirmwareDiscoveryInfo
7
8
  from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo
9
+ from homeassistant.components.usb import usb_service_info_from_device as usb_service_info_from_device, usb_unique_id_from_service_info as usb_unique_id_from_service_info
8
10
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryBaseFlow as ConfigEntryBaseFlow, ConfigFlowContext as ConfigFlowContext, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
9
11
  from homeassistant.core import callback as callback
10
12
  from homeassistant.helpers.service_info.usb import UsbServiceInfo as UsbServiceInfo
@@ -34,6 +36,8 @@ class HomeAssistantSkyConnectConfigFlow(SkyConnectFirmwareMixin, firmware_config
34
36
  _device: Incomplete
35
37
  _hardware_name: Incomplete
36
38
  async def async_step_usb(self, discovery_info: UsbServiceInfo) -> ConfigFlowResult: ...
39
+ _probed_firmware_info: Incomplete
40
+ async def async_step_import(self, fw_discovery_info: HardwareFirmwareDiscoveryInfo) -> ConfigFlowResult: ...
37
41
  def _async_flow_finished(self) -> ConfigFlowResult: ...
38
42
 
39
43
  class HomeAssistantSkyConnectMultiPanOptionsFlowHandler(silabs_multiprotocol_addon.OptionsFlowHandler):
@@ -2,7 +2,7 @@ from .config_flow import HomeAssistantSkyConnectConfigFlow as HomeAssistantSkyCo
2
2
  from .const import DOMAIN as DOMAIN
3
3
  from .util import get_hardware_variant as get_hardware_variant
4
4
  from _typeshed import Incomplete
5
- from homeassistant.components.hardware.models import HardwareInfo as HardwareInfo, USBInfo as USBInfo
5
+ from homeassistant.components.hardware import HardwareInfo as HardwareInfo, USBInfo as USBInfo
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
7
 
8
8
  DOCUMENTATION_URL: str
@@ -0,0 +1,17 @@
1
+ from . import HomeAssistantSkyConnectConfigEntry as HomeAssistantSkyConnectConfigEntry
2
+ from .const import DOMAIN as DOMAIN, HardwareVariant as HardwareVariant, PRODUCT as PRODUCT, SERIAL_NUMBER as SERIAL_NUMBER
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.homeassistant_hardware.coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
5
+ from homeassistant.components.homeassistant_hardware.switch import BaseBetaFirmwareSwitch as BaseBetaFirmwareSwitch
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
+
10
+ _LOGGER: Incomplete
11
+
12
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HomeAssistantSkyConnectConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
+
14
+ class BetaFirmwareSwitch(BaseBetaFirmwareSwitch):
15
+ _attr_unique_id: Incomplete
16
+ _attr_device_info: Incomplete
17
+ def __init__(self, coordinator: FirmwareUpdateCoordinator, config_entry: HomeAssistantSkyConnectConfigEntry) -> None: ...
@@ -1,29 +1,27 @@
1
- import aiohttp
2
- from .const import DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, HardwareVariant as HardwareVariant, NABU_CASA_FIRMWARE_RELEASES_URL as NABU_CASA_FIRMWARE_RELEASES_URL, PRODUCT as PRODUCT, SERIAL_NUMBER as SERIAL_NUMBER
1
+ from . import HomeAssistantSkyConnectConfigEntry as HomeAssistantSkyConnectConfigEntry
2
+ from .const import DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, HardwareVariant as HardwareVariant, PRODUCT as PRODUCT, SERIAL_NUMBER as SERIAL_NUMBER
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.homeassistant_hardware.coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
5
5
  from homeassistant.components.homeassistant_hardware.update import BaseFirmwareUpdateEntity as BaseFirmwareUpdateEntity, FirmwareUpdateEntityDescription as FirmwareUpdateEntityDescription
6
6
  from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo
7
7
  from homeassistant.components.update import UpdateDeviceClass as UpdateDeviceClass
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
8
  from homeassistant.const import EntityCategory as EntityCategory
10
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
12
10
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
13
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
14
12
 
15
13
  _LOGGER: Incomplete
16
14
  FIRMWARE_ENTITY_DESCRIPTIONS: dict[ApplicationType | None, FirmwareUpdateEntityDescription]
17
15
 
18
- def _async_create_update_entity(hass: HomeAssistant, config_entry: ConfigEntry, session: aiohttp.ClientSession, async_add_entities: AddConfigEntryEntitiesCallback) -> FirmwareUpdateEntity: ...
19
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
+ def _async_create_update_entity(hass: HomeAssistant, config_entry: HomeAssistantSkyConnectConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> FirmwareUpdateEntity: ...
17
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HomeAssistantSkyConnectConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
20
18
 
21
19
  class FirmwareUpdateEntity(BaseFirmwareUpdateEntity):
22
20
  bootloader_reset_methods: Incomplete
23
21
  _attr_unique_id: Incomplete
24
22
  _attr_device_info: Incomplete
25
23
  _current_firmware_info: Incomplete
26
- def __init__(self, device: str, config_entry: ConfigEntry, update_coordinator: FirmwareUpdateCoordinator, entity_description: FirmwareUpdateEntityDescription) -> None: ...
24
+ def __init__(self, device: str, config_entry: HomeAssistantSkyConnectConfigEntry, update_coordinator: FirmwareUpdateCoordinator, entity_description: FirmwareUpdateEntityDescription) -> None: ...
27
25
  def _update_attributes(self) -> None: ...
28
26
  @callback
29
27
  def _firmware_info_callback(self, firmware_info: FirmwareInfo) -> None: ...
@@ -1,16 +1,24 @@
1
- from .const import FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, RADIO_DEVICE as RADIO_DEVICE, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
1
+ from .const import FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, NABU_CASA_FIRMWARE_RELEASES_URL as NABU_CASA_FIRMWARE_RELEASES_URL, RADIO_DEVICE as RADIO_DEVICE, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
2
2
  from _typeshed import Incomplete
3
+ from dataclasses import dataclass
3
4
  from homeassistant.components.hassio import get_os_info as get_os_info
5
+ from homeassistant.components.homeassistant_hardware.coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
4
6
  from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import check_multi_pan_addon as check_multi_pan_addon
5
7
  from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, guess_firmware_info as guess_firmware_info
6
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_HARDWARE as SOURCE_HARDWARE
7
9
  from homeassistant.core import HomeAssistant as HomeAssistant
8
10
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
9
11
  from homeassistant.helpers import discovery_flow as discovery_flow
12
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
10
13
  from homeassistant.helpers.hassio import is_hassio as is_hassio
11
14
 
12
15
  _LOGGER: Incomplete
16
+ type HomeAssistantYellowConfigEntry = ConfigEntry[HomeAssistantYellowData]
13
17
 
14
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
15
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
16
- async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
18
+ @dataclass
19
+ class HomeAssistantYellowData:
20
+ coordinator: FirmwareUpdateCoordinator
21
+
22
+ async def async_setup_entry(hass: HomeAssistant, entry: HomeAssistantYellowConfigEntry) -> bool: ...
23
+ async def async_unload_entry(hass: HomeAssistant, entry: HomeAssistantYellowConfigEntry) -> bool: ...
24
+ async def async_migrate_entry(hass: HomeAssistant, config_entry: HomeAssistantYellowConfigEntry) -> bool: ...
@@ -3,7 +3,7 @@ from .const import DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as F
3
3
  from .hardware import BOARD_NAME as BOARD_NAME
4
4
  from _typeshed import Incomplete
5
5
  from abc import ABC, abstractmethod
6
- from homeassistant.components.hassio import HassioAPIError as HassioAPIError, async_get_yellow_settings as async_get_yellow_settings, async_set_yellow_settings as async_set_yellow_settings, get_supervisor_client as get_supervisor_client
6
+ from homeassistant.components.hassio import SupervisorError as SupervisorError, YellowOptions as YellowOptions, get_supervisor_client as get_supervisor_client
7
7
  from homeassistant.components.homeassistant_hardware.firmware_config_flow import BaseFirmwareConfigFlow as BaseFirmwareConfigFlow, BaseFirmwareOptionsFlow as BaseFirmwareOptionsFlow
8
8
  from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import OptionsFlowHandler as MultiprotocolOptionsFlowHandler, SerialPortSettings as MultiprotocolSerialPortSettings
9
9
  from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, ResetTarget as ResetTarget, probe_silabs_firmware_info as probe_silabs_firmware_info