homeassistant-stubs 2024.12.4__py3-none-any.whl → 2025.1.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 (590) hide show
  1. homeassistant-stubs/auth/__init__.pyi +1 -1
  2. homeassistant-stubs/auth/mfa_modules/__init__.pyi +6 -4
  3. homeassistant-stubs/auth/mfa_modules/notify.pyi +2 -3
  4. homeassistant-stubs/auth/mfa_modules/totp.pyi +2 -3
  5. homeassistant-stubs/auth/providers/__init__.pyi +6 -4
  6. homeassistant-stubs/auth/providers/command_line.pyi +2 -2
  7. homeassistant-stubs/auth/providers/homeassistant.pyi +2 -2
  8. homeassistant-stubs/auth/providers/insecure_example.pyi +2 -2
  9. homeassistant-stubs/auth/providers/trusted_networks.pyi +2 -2
  10. homeassistant-stubs/backup_restore.pyi +11 -4
  11. homeassistant-stubs/bootstrap.pyi +2 -1
  12. homeassistant-stubs/components/abode/light.pyi +4 -3
  13. homeassistant-stubs/components/acaia/__init__.pyi +9 -0
  14. homeassistant-stubs/components/acaia/binary_sensor.pyi +24 -0
  15. homeassistant-stubs/components/acaia/button.pyi +24 -0
  16. homeassistant-stubs/components/acaia/config_flow.pyi +18 -0
  17. homeassistant-stubs/components/acaia/const.pyi +2 -0
  18. homeassistant-stubs/components/acaia/coordinator.pyi +19 -0
  19. homeassistant-stubs/components/{stookalert → acaia}/diagnostics.pyi +2 -3
  20. homeassistant-stubs/components/acaia/entity.pyi +17 -0
  21. homeassistant-stubs/components/acaia/sensor.pyi +44 -0
  22. homeassistant-stubs/components/adax/climate.pyi +0 -1
  23. homeassistant-stubs/components/airtouch5/climate.pyi +0 -1
  24. homeassistant-stubs/components/airzone/climate.pyi +0 -1
  25. homeassistant-stubs/components/airzone_cloud/climate.pyi +3 -2
  26. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -6
  27. homeassistant-stubs/components/alarm_control_panel/const.pyi +0 -14
  28. homeassistant-stubs/components/analytics_insights/config_flow.pyi +3 -2
  29. homeassistant-stubs/components/apple_tv/config_flow.pyi +1 -1
  30. homeassistant-stubs/components/apsystems/number.pyi +1 -0
  31. homeassistant-stubs/components/autarco/__init__.pyi +1 -0
  32. homeassistant-stubs/components/autarco/config_flow.pyi +4 -0
  33. homeassistant-stubs/components/autarco/coordinator.pyi +1 -0
  34. homeassistant-stubs/components/automation/__init__.pyi +1 -10
  35. homeassistant-stubs/components/backup/__init__.pyi +4 -11
  36. homeassistant-stubs/components/backup/agent.pyi +35 -0
  37. homeassistant-stubs/components/backup/backup.pyi +29 -0
  38. homeassistant-stubs/components/backup/config.pyi +117 -0
  39. homeassistant-stubs/components/backup/const.pyi +2 -0
  40. homeassistant-stubs/components/backup/http.pyi +3 -2
  41. homeassistant-stubs/components/backup/manager.pyi +192 -51
  42. homeassistant-stubs/components/backup/models.pyi +38 -0
  43. homeassistant-stubs/components/backup/store.pyi +24 -0
  44. homeassistant-stubs/components/backup/util.pyi +12 -0
  45. homeassistant-stubs/components/backup/websocket.pyi +9 -1
  46. homeassistant-stubs/components/baf/climate.pyi +0 -1
  47. homeassistant-stubs/components/baf/fan.pyi +0 -1
  48. homeassistant-stubs/components/baf/light.pyi +4 -5
  49. homeassistant-stubs/components/bang_olufsen/const.pyi +3 -0
  50. homeassistant-stubs/components/bang_olufsen/media_player.pyi +2 -2
  51. homeassistant-stubs/components/binary_sensor/__init__.pyi +0 -33
  52. homeassistant-stubs/components/bluesound/__init__.pyi +0 -1
  53. homeassistant-stubs/components/bluesound/media_player.pyi +13 -8
  54. homeassistant-stubs/components/bluesound/utils.pyi +2 -0
  55. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +4 -12
  56. homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +1 -0
  57. homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -0
  58. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +8 -4
  59. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +4 -3
  60. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +2 -2
  61. homeassistant-stubs/components/bmw_connected_drive/diagnostics.pyi +1 -0
  62. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -0
  63. homeassistant-stubs/components/bmw_connected_drive/notify.pyi +2 -1
  64. homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -0
  65. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -0
  66. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +1 -0
  67. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -0
  68. homeassistant-stubs/components/bryant_evolution/climate.pyi +0 -1
  69. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +4 -1
  70. homeassistant-stubs/components/cambridge_audio/media_browser.pyi +8 -0
  71. homeassistant-stubs/components/cambridge_audio/media_player.pyi +4 -3
  72. homeassistant-stubs/components/cambridge_audio/select.pyi +2 -2
  73. homeassistant-stubs/components/cambridge_audio/switch.pyi +2 -2
  74. homeassistant-stubs/components/camera/__init__.pyi +1 -5
  75. homeassistant-stubs/components/camera/const.pyi +0 -8
  76. homeassistant-stubs/components/cert_expiry/config_flow.pyi +0 -1
  77. homeassistant-stubs/components/cert_expiry/sensor.pyi +2 -10
  78. homeassistant-stubs/components/climate/__init__.pyi +1 -12
  79. homeassistant-stubs/components/climate/const.pyi +0 -25
  80. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  81. homeassistant-stubs/components/cloud/backup.pyi +37 -0
  82. homeassistant-stubs/components/cloud/const.pyi +2 -0
  83. homeassistant-stubs/components/cloud/http_api.pyi +7 -2
  84. homeassistant-stubs/components/cookidoo/__init__.pyi +9 -0
  85. homeassistant-stubs/components/cookidoo/config_flow.pyi +24 -0
  86. homeassistant-stubs/components/cookidoo/const.pyi +1 -0
  87. homeassistant-stubs/components/cookidoo/coordinator.pyi +25 -0
  88. homeassistant-stubs/components/cookidoo/entity.pyi +10 -0
  89. homeassistant-stubs/components/cookidoo/todo.pyi +32 -0
  90. homeassistant-stubs/components/cover/__init__.pyi +0 -18
  91. homeassistant-stubs/components/crownstone/config_flow.pyi +1 -1
  92. homeassistant-stubs/components/deconz/climate.pyi +0 -1
  93. homeassistant-stubs/components/deconz/fan.pyi +0 -1
  94. homeassistant-stubs/components/deconz/light.pyi +7 -5
  95. homeassistant-stubs/components/demo/climate.pyi +0 -1
  96. homeassistant-stubs/components/demo/fan.pyi +0 -1
  97. homeassistant-stubs/components/demo/light.pyi +4 -2
  98. homeassistant-stubs/components/demo/vacuum.pyi +2 -4
  99. homeassistant-stubs/components/device_tracker/__init__.pyi +1 -7
  100. homeassistant-stubs/components/device_tracker/const.pyi +0 -8
  101. homeassistant-stubs/components/devolo_home_control/__init__.pyi +1 -1
  102. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +3 -2
  103. homeassistant-stubs/components/devolo_home_control/climate.pyi +0 -1
  104. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +1 -2
  105. homeassistant-stubs/components/devolo_home_control/const.pyi +0 -2
  106. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -3
  107. homeassistant-stubs/components/discovergy/__init__.pyi +2 -2
  108. homeassistant-stubs/components/duotecno/climate.pyi +0 -1
  109. homeassistant-stubs/components/easyenergy/__init__.pyi +4 -5
  110. homeassistant-stubs/components/easyenergy/coordinator.pyi +3 -2
  111. homeassistant-stubs/components/easyenergy/diagnostics.pyi +2 -5
  112. homeassistant-stubs/components/easyenergy/sensor.pyi +2 -3
  113. homeassistant-stubs/components/easyenergy/services.pyi +4 -4
  114. homeassistant-stubs/components/ecovacs/button.pyi +13 -2
  115. homeassistant-stubs/components/ecovacs/const.pyi +1 -0
  116. homeassistant-stubs/components/ecovacs/number.pyi +1 -1
  117. homeassistant-stubs/components/ecovacs/select.pyi +2 -2
  118. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  119. homeassistant-stubs/components/ecovacs/util.pyi +1 -0
  120. homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -3
  121. homeassistant-stubs/components/eheimdigital/__init__.pyi +14 -0
  122. homeassistant-stubs/components/eheimdigital/config_flow.pyi +18 -0
  123. homeassistant-stubs/components/eheimdigital/const.pyi +8 -0
  124. homeassistant-stubs/components/eheimdigital/coordinator.pyi +25 -0
  125. homeassistant-stubs/components/eheimdigital/entity.pyi +20 -0
  126. homeassistant-stubs/components/eheimdigital/light.pyi +36 -0
  127. homeassistant-stubs/components/electrasmart/climate.pyi +0 -1
  128. homeassistant-stubs/components/elevenlabs/__init__.pyi +6 -7
  129. homeassistant-stubs/components/elevenlabs/config_flow.pyi +4 -3
  130. homeassistant-stubs/components/elevenlabs/tts.pyi +6 -3
  131. homeassistant-stubs/components/elgato/__init__.pyi +3 -5
  132. homeassistant-stubs/components/elgato/button.pyi +4 -3
  133. homeassistant-stubs/components/elgato/config_flow.pyi +1 -1
  134. homeassistant-stubs/components/elgato/coordinator.pyi +4 -3
  135. homeassistant-stubs/components/elgato/diagnostics.pyi +2 -2
  136. homeassistant-stubs/components/elgato/light.pyi +6 -7
  137. homeassistant-stubs/components/elgato/sensor.pyi +4 -3
  138. homeassistant-stubs/components/elgato/switch.pyi +4 -3
  139. homeassistant-stubs/components/elkm1/climate.pyi +0 -1
  140. homeassistant-stubs/components/emulated_hue/hue_api.pyi +1 -1
  141. homeassistant-stubs/components/energyzero/__init__.pyi +4 -5
  142. homeassistant-stubs/components/energyzero/coordinator.pyi +2 -1
  143. homeassistant-stubs/components/energyzero/diagnostics.pyi +2 -5
  144. homeassistant-stubs/components/energyzero/sensor.pyi +2 -3
  145. homeassistant-stubs/components/energyzero/services.pyi +4 -4
  146. homeassistant-stubs/components/enigma2/coordinator.pyi +1 -0
  147. homeassistant-stubs/components/enigma2/media_player.pyi +0 -1
  148. homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +2 -0
  149. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -1
  150. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +2 -2
  151. homeassistant-stubs/components/enphase_envoy/number.pyi +2 -0
  152. homeassistant-stubs/components/enphase_envoy/select.pyi +2 -0
  153. homeassistant-stubs/components/enphase_envoy/sensor.pyi +35 -1
  154. homeassistant-stubs/components/enphase_envoy/switch.pyi +2 -0
  155. homeassistant-stubs/components/esphome/climate.pyi +0 -1
  156. homeassistant-stubs/components/esphome/fan.pyi +0 -1
  157. homeassistant-stubs/components/esphome/light.pyi +0 -2
  158. homeassistant-stubs/components/evohome/climate.pyi +0 -1
  159. homeassistant-stubs/components/fan/__init__.pyi +0 -15
  160. homeassistant-stubs/components/feedreader/__init__.pyi +3 -8
  161. homeassistant-stubs/components/feedreader/config_flow.pyi +1 -6
  162. homeassistant-stubs/components/feedreader/coordinator.pyi +1 -0
  163. homeassistant-stubs/components/flexit_bacnet/climate.pyi +0 -1
  164. homeassistant-stubs/components/flexit_bacnet/number.pyi +3 -0
  165. homeassistant-stubs/components/flux_led/light.pyi +4 -5
  166. homeassistant-stubs/components/fritzbox/climate.pyi +0 -1
  167. homeassistant-stubs/components/fritzbox/coordinator.pyi +2 -1
  168. homeassistant-stubs/components/fritzbox/light.pyi +3 -4
  169. homeassistant-stubs/components/fritzbox_callmonitor/base.pyi +13 -2
  170. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +2 -2
  171. homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +4 -4
  172. homeassistant-stubs/components/fronius/__init__.pyi +1 -1
  173. homeassistant-stubs/components/fronius/const.pyi +3 -3
  174. homeassistant-stubs/components/fronius/coordinator.pyi +1 -1
  175. homeassistant-stubs/components/fronius/sensor.pyi +2 -1
  176. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +0 -1
  177. homeassistant-stubs/components/fyta/__init__.pyi +2 -2
  178. homeassistant-stubs/components/fyta/entity.pyi +2 -2
  179. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -4
  180. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -1
  181. homeassistant-stubs/components/generic_thermostat/const.pyi +2 -0
  182. homeassistant-stubs/components/google_cloud/const.pyi +3 -0
  183. homeassistant-stubs/components/google_cloud/helpers.pyi +1 -1
  184. homeassistant-stubs/components/google_cloud/tts.pyi +1 -1
  185. homeassistant-stubs/components/group/fan.pyi +0 -1
  186. homeassistant-stubs/components/group/registry.pyi +1 -1
  187. homeassistant-stubs/components/history/__init__.pyi +1 -1
  188. homeassistant-stubs/components/history/helpers.pyi +1 -2
  189. homeassistant-stubs/components/history/websocket_api.pyi +1 -1
  190. homeassistant-stubs/components/holiday/__init__.pyi +2 -1
  191. homeassistant-stubs/components/holiday/calendar.pyi +4 -3
  192. homeassistant-stubs/components/holiday/config_flow.pyi +13 -3
  193. homeassistant-stubs/components/holiday/const.pyi +1 -0
  194. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +5 -3
  195. homeassistant-stubs/components/homekit/doorbell.pyi +23 -0
  196. homeassistant-stubs/components/homekit/type_cameras.pyi +4 -12
  197. homeassistant-stubs/components/homekit/type_locks.pyi +3 -2
  198. homeassistant-stubs/components/homekit/type_switches.pyi +1 -1
  199. homeassistant-stubs/components/homekit/util.pyi +1 -0
  200. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  201. homeassistant-stubs/components/humidifier/__init__.pyi +1 -8
  202. homeassistant-stubs/components/humidifier/const.pyi +0 -9
  203. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -2
  204. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +1 -0
  205. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +1 -0
  206. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +4 -4
  207. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +2 -0
  208. homeassistant-stubs/components/husqvarna_automower/diagnostics.pyi +1 -2
  209. homeassistant-stubs/components/husqvarna_automower/entity.pyi +4 -3
  210. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +1 -0
  211. homeassistant-stubs/components/idasen_desk/__init__.pyi +5 -16
  212. homeassistant-stubs/components/idasen_desk/button.pyi +7 -12
  213. homeassistant-stubs/components/idasen_desk/coordinator.pyi +2 -3
  214. homeassistant-stubs/components/idasen_desk/cover.pyi +8 -17
  215. homeassistant-stubs/components/idasen_desk/entity.pyi +12 -0
  216. homeassistant-stubs/components/idasen_desk/sensor.pyi +7 -20
  217. homeassistant-stubs/components/image_upload/media_source.pyi +14 -0
  218. homeassistant-stubs/components/imap/config_flow.pyi +3 -2
  219. homeassistant-stubs/components/imap/coordinator.pyi +5 -5
  220. homeassistant-stubs/components/imap/sensor.pyi +1 -0
  221. homeassistant-stubs/components/intent/__init__.pyi +2 -1
  222. homeassistant-stubs/components/iotty/switch.pyi +8 -6
  223. homeassistant-stubs/components/iron_os/__init__.pyi +21 -0
  224. homeassistant-stubs/components/iron_os/binary_sensor.pyi +19 -0
  225. homeassistant-stubs/components/iron_os/config_flow.pyi +15 -0
  226. homeassistant-stubs/components/iron_os/const.pyi +7 -0
  227. homeassistant-stubs/components/iron_os/coordinator.pyi +43 -0
  228. homeassistant-stubs/components/iron_os/entity.pyi +13 -0
  229. homeassistant-stubs/components/iron_os/number.pyi +62 -0
  230. homeassistant-stubs/components/iron_os/select.pyi +49 -0
  231. homeassistant-stubs/components/iron_os/sensor.pyi +46 -0
  232. homeassistant-stubs/components/iron_os/update.pyi +29 -0
  233. homeassistant-stubs/components/isy994/climate.pyi +0 -1
  234. homeassistant-stubs/components/isy994/fan.pyi +0 -1
  235. homeassistant-stubs/components/knx/climate.pyi +0 -1
  236. homeassistant-stubs/components/knx/config_flow.pyi +4 -0
  237. homeassistant-stubs/components/knx/fan.pyi +0 -1
  238. homeassistant-stubs/components/knx/services.pyi +5 -5
  239. homeassistant-stubs/components/lamarzocco/__init__.pyi +4 -5
  240. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +9 -3
  241. homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -0
  242. homeassistant-stubs/components/lamarzocco/config_flow.pyi +6 -5
  243. homeassistant-stubs/components/lamarzocco/coordinator.pyi +39 -16
  244. homeassistant-stubs/components/lamarzocco/entity.pyi +7 -3
  245. homeassistant-stubs/components/lamarzocco/number.pyi +8 -4
  246. homeassistant-stubs/components/lamarzocco/select.pyi +8 -4
  247. homeassistant-stubs/components/lamarzocco/sensor.pyi +10 -3
  248. homeassistant-stubs/components/lamarzocco/switch.pyi +1 -1
  249. homeassistant-stubs/components/lametric/notify.pyi +2 -1
  250. homeassistant-stubs/components/lametric/number.pyi +2 -1
  251. homeassistant-stubs/components/lametric/services.pyi +2 -1
  252. homeassistant-stubs/components/lametric/switch.pyi +2 -1
  253. homeassistant-stubs/components/lcn/__init__.pyi +3 -1
  254. homeassistant-stubs/components/lcn/climate.pyi +0 -1
  255. homeassistant-stubs/components/lcn/const.pyi +1 -0
  256. homeassistant-stubs/components/lcn/helpers.pyi +1 -1
  257. homeassistant-stubs/components/lcn/services.pyi +7 -4
  258. homeassistant-stubs/components/lifx/const.pyi +1 -0
  259. homeassistant-stubs/components/lifx/manager.pyi +2 -2
  260. homeassistant-stubs/components/lifx/util.pyi +2 -2
  261. homeassistant-stubs/components/light/__init__.pyi +31 -55
  262. homeassistant-stubs/components/light/const.pyi +33 -0
  263. homeassistant-stubs/components/light/device_action.pyi +2 -1
  264. homeassistant-stubs/components/light/device_condition.pyi +1 -1
  265. homeassistant-stubs/components/light/device_trigger.pyi +1 -1
  266. homeassistant-stubs/components/light/intent.pyi +2 -1
  267. homeassistant-stubs/components/light/reproduce_state.pyi +2 -1
  268. homeassistant-stubs/components/light/significant_change.pyi +1 -1
  269. homeassistant-stubs/components/litterrobot/vacuum.pyi +2 -2
  270. homeassistant-stubs/components/lock/__init__.pyi +1 -2
  271. homeassistant-stubs/components/lookin/climate.pyi +0 -1
  272. homeassistant-stubs/components/mastodon/__init__.pyi +2 -2
  273. homeassistant-stubs/components/mastodon/config_flow.pyi +1 -2
  274. homeassistant-stubs/components/mastodon/sensor.pyi +2 -0
  275. homeassistant-stubs/components/matter/climate.pyi +0 -1
  276. homeassistant-stubs/components/matter/fan.pyi +0 -1
  277. homeassistant-stubs/components/matter/light.pyi +5 -5
  278. homeassistant-stubs/components/matter/vacuum.pyi +3 -3
  279. homeassistant-stubs/components/mealie/__init__.pyi +18 -0
  280. homeassistant-stubs/components/mealie/calendar.pyi +21 -0
  281. homeassistant-stubs/components/mealie/config_flow.pyi +20 -0
  282. homeassistant-stubs/components/mealie/const.pyi +14 -0
  283. homeassistant-stubs/components/mealie/coordinator.pyi +53 -0
  284. homeassistant-stubs/components/mealie/diagnostics.pyi +5 -0
  285. homeassistant-stubs/components/mealie/entity.pyi +11 -0
  286. homeassistant-stubs/components/mealie/sensor.pyi +29 -0
  287. homeassistant-stubs/components/mealie/services.pyi +21 -0
  288. homeassistant-stubs/components/mealie/todo.pyi +36 -0
  289. homeassistant-stubs/components/mealie/utils.pyi +3 -0
  290. homeassistant-stubs/components/media_player/__init__.pyi +0 -2
  291. homeassistant-stubs/components/modbus/__init__.pyi +5 -3
  292. homeassistant-stubs/components/modbus/climate.pyi +0 -1
  293. homeassistant-stubs/components/modbus/fan.pyi +0 -1
  294. homeassistant-stubs/components/modbus/modbus.pyi +3 -4
  295. homeassistant-stubs/components/mqtt/client.pyi +1 -1
  296. homeassistant-stubs/components/mqtt/climate.pyi +0 -1
  297. homeassistant-stubs/components/mqtt/config_flow.pyi +2 -1
  298. homeassistant-stubs/components/mqtt/fan.pyi +0 -1
  299. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +5 -5
  300. homeassistant-stubs/components/mqtt/light/schema_json.pyi +4 -4
  301. homeassistant-stubs/components/mqtt/light/schema_template.pyi +4 -4
  302. homeassistant-stubs/components/mqtt/switch.pyi +1 -1
  303. homeassistant-stubs/components/mqtt/vacuum.pyi +10 -4
  304. homeassistant-stubs/components/music_assistant/__init__.pyi +4 -0
  305. homeassistant-stubs/components/music_assistant/actions.pyi +18 -0
  306. homeassistant-stubs/components/music_assistant/const.pyi +48 -0
  307. homeassistant-stubs/components/music_assistant/media_player.pyi +9 -16
  308. homeassistant-stubs/components/music_assistant/schemas.pyi +20 -0
  309. homeassistant-stubs/components/mysensors/climate.pyi +0 -1
  310. homeassistant-stubs/components/myuplink/__init__.pyi +5 -2
  311. homeassistant-stubs/components/myuplink/binary_sensor.pyi +2 -2
  312. homeassistant-stubs/components/myuplink/config_flow.pyi +4 -1
  313. homeassistant-stubs/components/myuplink/number.pyi +2 -2
  314. homeassistant-stubs/components/myuplink/select.pyi +3 -2
  315. homeassistant-stubs/components/myuplink/switch.pyi +1 -1
  316. homeassistant-stubs/components/nanoleaf/light.pyi +4 -4
  317. homeassistant-stubs/components/neato/vacuum.pyi +3 -3
  318. homeassistant-stubs/components/nest/__init__.pyi +6 -6
  319. homeassistant-stubs/components/nest/camera.pyi +2 -4
  320. homeassistant-stubs/components/nest/climate.pyi +2 -5
  321. homeassistant-stubs/components/nest/const.pyi +0 -2
  322. homeassistant-stubs/components/nest/device_info.pyi +2 -1
  323. homeassistant-stubs/components/nest/diagnostics.pyi +4 -8
  324. homeassistant-stubs/components/nest/event.pyi +2 -4
  325. homeassistant-stubs/components/nest/sensor.pyi +2 -4
  326. homeassistant-stubs/components/nest/types.pyi +11 -0
  327. homeassistant-stubs/components/netatmo/climate.pyi +0 -1
  328. homeassistant-stubs/components/netatmo/fan.pyi +0 -1
  329. homeassistant-stubs/components/nordpool/__init__.pyi +10 -3
  330. homeassistant-stubs/components/nordpool/coordinator.pyi +5 -2
  331. homeassistant-stubs/components/nordpool/entity.pyi +1 -1
  332. homeassistant-stubs/components/nordpool/sensor.pyi +10 -6
  333. homeassistant-stubs/components/nordpool/services.pyi +19 -0
  334. homeassistant-stubs/components/number/const.pyi +0 -8
  335. homeassistant-stubs/components/onkyo/config_flow.pyi +2 -0
  336. homeassistant-stubs/components/onkyo/media_player.pyi +10 -7
  337. homeassistant-stubs/components/overkiz/__init__.pyi +4 -3
  338. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +2 -4
  339. homeassistant-stubs/components/overkiz/binary_sensor.pyi +3 -4
  340. homeassistant-stubs/components/overkiz/button.pyi +4 -5
  341. homeassistant-stubs/components/overkiz/climate/__init__.pyi +3 -4
  342. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater.pyi +0 -1
  343. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +0 -1
  344. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_towel_dryer.pyi +1 -2
  345. homeassistant-stubs/components/overkiz/climate/atlantic_heat_recovery_ventilation.pyi +0 -1
  346. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_heat_pump_main_component.pyi +0 -1
  347. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_heating_zone.pyi +0 -1
  348. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control.pyi +0 -1
  349. homeassistant-stubs/components/overkiz/climate/hitachi_air_to_air_heat_pump_hlrrwifi.pyi +0 -1
  350. homeassistant-stubs/components/overkiz/climate/hitachi_air_to_air_heat_pump_ovp.pyi +0 -1
  351. homeassistant-stubs/components/overkiz/climate/hitachi_air_to_water_heating_zone.pyi +34 -0
  352. homeassistant-stubs/components/overkiz/climate/somfy_heating_temperature_interface.pyi +0 -1
  353. homeassistant-stubs/components/overkiz/climate/somfy_thermostat.pyi +0 -1
  354. homeassistant-stubs/components/overkiz/climate/valve_heating_temperature_interface.pyi +0 -1
  355. homeassistant-stubs/components/overkiz/cover/__init__.pyi +2 -4
  356. homeassistant-stubs/components/overkiz/diagnostics.pyi +4 -5
  357. homeassistant-stubs/components/overkiz/light.pyi +2 -4
  358. homeassistant-stubs/components/overkiz/lock.pyi +2 -4
  359. homeassistant-stubs/components/overkiz/number.pyi +3 -4
  360. homeassistant-stubs/components/overkiz/scene.pyi +2 -4
  361. homeassistant-stubs/components/overkiz/select.pyi +3 -4
  362. homeassistant-stubs/components/overkiz/sensor.pyi +2 -3
  363. homeassistant-stubs/components/overkiz/siren.pyi +2 -4
  364. homeassistant-stubs/components/overkiz/switch.pyi +2 -4
  365. homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +2 -4
  366. homeassistant-stubs/components/peblar/__init__.pyi +11 -0
  367. homeassistant-stubs/components/peblar/binary_sensor.pyi +25 -0
  368. homeassistant-stubs/components/peblar/button.pyi +27 -0
  369. homeassistant-stubs/components/peblar/config_flow.pyi +18 -0
  370. homeassistant-stubs/components/peblar/const.pyi +7 -0
  371. homeassistant-stubs/components/peblar/coordinator.pyi +49 -0
  372. homeassistant-stubs/components/peblar/diagnostics.pyi +5 -0
  373. homeassistant-stubs/components/peblar/entity.pyi +15 -0
  374. homeassistant-stubs/components/peblar/helpers.pyi +7 -0
  375. homeassistant-stubs/components/peblar/number.pyi +33 -0
  376. homeassistant-stubs/components/peblar/select.pyi +30 -0
  377. homeassistant-stubs/components/peblar/sensor.pyi +29 -0
  378. homeassistant-stubs/components/peblar/switch.pyi +32 -0
  379. homeassistant-stubs/components/peblar/update.pyi +27 -0
  380. homeassistant-stubs/components/plugwise/binary_sensor.pyi +1 -0
  381. homeassistant-stubs/components/plugwise/button.pyi +2 -0
  382. homeassistant-stubs/components/plugwise/climate.pyi +3 -4
  383. homeassistant-stubs/components/plugwise/config_flow.pyi +7 -1
  384. homeassistant-stubs/components/plugwise/entity.pyi +0 -1
  385. homeassistant-stubs/components/plugwise/number.pyi +2 -0
  386. homeassistant-stubs/components/plugwise/select.pyi +2 -0
  387. homeassistant-stubs/components/plugwise/sensor.pyi +2 -0
  388. homeassistant-stubs/components/plugwise/switch.pyi +2 -0
  389. homeassistant-stubs/components/plugwise/util.pyi +1 -0
  390. homeassistant-stubs/components/powerfox/__init__.pyi +12 -0
  391. homeassistant-stubs/components/powerfox/config_flow.pyi +16 -0
  392. homeassistant-stubs/components/{stookalert → powerfox}/const.pyi +1 -2
  393. homeassistant-stubs/components/powerfox/coordinator.pyi +14 -0
  394. homeassistant-stubs/components/powerfox/diagnostics.pyi +5 -0
  395. homeassistant-stubs/components/powerfox/entity.pyi +11 -0
  396. homeassistant-stubs/components/powerfox/sensor.pyi +28 -0
  397. homeassistant-stubs/components/powerwall/sensor.pyi +3 -5
  398. homeassistant-stubs/components/prometheus/__init__.pyi +11 -3
  399. homeassistant-stubs/components/rabbitair/fan.pyi +0 -1
  400. homeassistant-stubs/components/recorder/__init__.pyi +1 -1
  401. homeassistant-stubs/components/recorder/db_schema.pyi +19 -4
  402. homeassistant-stubs/components/recorder/history/legacy.pyi +4 -4
  403. homeassistant-stubs/components/recorder/history/modern.pyi +5 -5
  404. homeassistant-stubs/components/recorder/migration.pyi +32 -19
  405. homeassistant-stubs/components/recorder/models/state.pyi +3 -0
  406. homeassistant-stubs/components/recorder/queries.pyi +3 -4
  407. homeassistant-stubs/components/recorder/statistics.pyi +2 -2
  408. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +0 -1
  409. homeassistant-stubs/components/recorder/table_managers/recorder_runs.pyi +1 -12
  410. homeassistant-stubs/components/recorder/table_managers/states.pyi +7 -0
  411. homeassistant-stubs/components/remote/__init__.pyi +0 -10
  412. homeassistant-stubs/components/renault/binary_sensor.pyi +2 -0
  413. homeassistant-stubs/components/renault/button.pyi +2 -0
  414. homeassistant-stubs/components/renault/coordinator.pyi +2 -1
  415. homeassistant-stubs/components/renault/device_tracker.pyi +2 -0
  416. homeassistant-stubs/components/renault/select.pyi +2 -0
  417. homeassistant-stubs/components/renault/sensor.pyi +2 -0
  418. homeassistant-stubs/components/reolink/__init__.pyi +1 -0
  419. homeassistant-stubs/components/reolink/button.pyi +1 -2
  420. homeassistant-stubs/components/reolink/camera.pyi +1 -2
  421. homeassistant-stubs/components/reolink/light.pyi +1 -2
  422. homeassistant-stubs/components/reolink/media_source.pyi +2 -3
  423. homeassistant-stubs/components/reolink/number.pyi +1 -2
  424. homeassistant-stubs/components/reolink/select.pyi +1 -2
  425. homeassistant-stubs/components/reolink/services.pyi +2 -2
  426. homeassistant-stubs/components/reolink/siren.pyi +1 -2
  427. homeassistant-stubs/components/reolink/switch.pyi +1 -2
  428. homeassistant-stubs/components/reolink/update.pyi +1 -0
  429. homeassistant-stubs/components/reolink/util.pyi +9 -0
  430. homeassistant-stubs/components/reolink/views.pyi +21 -0
  431. homeassistant-stubs/components/roborock/vacuum.pyi +2 -2
  432. homeassistant-stubs/components/roku/__init__.pyi +5 -4
  433. homeassistant-stubs/components/roku/binary_sensor.pyi +4 -3
  434. homeassistant-stubs/components/roku/config_flow.pyi +5 -3
  435. homeassistant-stubs/components/roku/diagnostics.pyi +2 -4
  436. homeassistant-stubs/components/roku/media_player.pyi +4 -3
  437. homeassistant-stubs/components/roku/remote.pyi +4 -4
  438. homeassistant-stubs/components/roku/select.pyi +4 -4
  439. homeassistant-stubs/components/roku/sensor.pyi +4 -4
  440. homeassistant-stubs/components/romy/vacuum.pyi +2 -2
  441. homeassistant-stubs/components/russound_rio/__init__.pyi +14 -0
  442. homeassistant-stubs/components/russound_rio/config_flow.pyi +14 -0
  443. homeassistant-stubs/components/russound_rio/const.pyi +6 -0
  444. homeassistant-stubs/components/russound_rio/diagnostics.pyi +5 -0
  445. homeassistant-stubs/components/russound_rio/entity.pyi +25 -0
  446. homeassistant-stubs/components/russound_rio/media_player.pyi +56 -0
  447. homeassistant-stubs/components/schlage/__init__.pyi +11 -0
  448. homeassistant-stubs/components/schlage/binary_sensor.pyi +26 -0
  449. homeassistant-stubs/components/schlage/config_flow.pyi +19 -0
  450. homeassistant-stubs/components/schlage/const.pyi +6 -0
  451. homeassistant-stubs/components/schlage/coordinator.pyi +31 -0
  452. homeassistant-stubs/components/schlage/diagnostics.pyi +5 -0
  453. homeassistant-stubs/components/schlage/entity.pyi +19 -0
  454. homeassistant-stubs/components/schlage/lock.pyi +21 -0
  455. homeassistant-stubs/components/schlage/select.pyi +20 -0
  456. homeassistant-stubs/components/schlage/sensor.pyi +19 -0
  457. homeassistant-stubs/components/schlage/switch.pyi +32 -0
  458. homeassistant-stubs/components/sensibo/climate.pyi +2 -3
  459. homeassistant-stubs/components/sensibo/coordinator.pyi +1 -1
  460. homeassistant-stubs/components/sensor/const.pyi +0 -7
  461. homeassistant-stubs/components/senz/climate.pyi +0 -1
  462. homeassistant-stubs/components/shelly/climate.pyi +0 -2
  463. homeassistant-stubs/components/siren/__init__.pyi +1 -6
  464. homeassistant-stubs/components/siren/const.pyi +0 -11
  465. homeassistant-stubs/components/snooz/fan.pyi +0 -1
  466. homeassistant-stubs/components/solarlog/config_flow.pyi +2 -5
  467. homeassistant-stubs/components/solarlog/const.pyi +0 -1
  468. homeassistant-stubs/components/solarlog/coordinator.pyi +0 -1
  469. homeassistant-stubs/components/sql/sensor.pyi +2 -0
  470. homeassistant-stubs/components/starlink/coordinator.pyi +4 -2
  471. homeassistant-stubs/components/starlink/sensor.pyi +1 -1
  472. homeassistant-stubs/components/statistics/sensor.pyi +43 -40
  473. homeassistant-stubs/components/stream/__init__.pyi +13 -0
  474. homeassistant-stubs/components/suez_water/__init__.pyi +3 -5
  475. homeassistant-stubs/components/suez_water/coordinator.pyi +7 -9
  476. homeassistant-stubs/components/suez_water/sensor.pyi +5 -6
  477. homeassistant-stubs/components/sun/__init__.pyi +2 -0
  478. homeassistant-stubs/components/sun/entity.pyi +1 -2
  479. homeassistant-stubs/components/switch/__init__.pyi +0 -7
  480. homeassistant-stubs/components/switch_as_x/fan.pyi +0 -1
  481. homeassistant-stubs/components/switchbee/climate.pyi +0 -1
  482. homeassistant-stubs/components/switchbot_cloud/climate.pyi +0 -1
  483. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +12 -3
  484. homeassistant-stubs/components/switchbot_cloud/switch.pyi +4 -0
  485. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +3 -3
  486. homeassistant-stubs/components/switcher_kis/climate.pyi +1 -2
  487. homeassistant-stubs/components/switcher_kis/cover.pyi +0 -4
  488. homeassistant-stubs/components/switcher_kis/entity.pyi +6 -0
  489. homeassistant-stubs/components/switcher_kis/light.pyi +0 -4
  490. homeassistant-stubs/components/switcher_kis/switch.pyi +0 -2
  491. homeassistant-stubs/components/tailwind/__init__.pyi +2 -4
  492. homeassistant-stubs/components/tailwind/binary_sensor.pyi +1 -1
  493. homeassistant-stubs/components/tailwind/button.pyi +1 -1
  494. homeassistant-stubs/components/tailwind/coordinator.pyi +2 -1
  495. homeassistant-stubs/components/tailwind/cover.pyi +1 -1
  496. homeassistant-stubs/components/tailwind/diagnostics.pyi +1 -1
  497. homeassistant-stubs/components/tailwind/number.pyi +1 -1
  498. homeassistant-stubs/components/tedee/__init__.pyi +2 -3
  499. homeassistant-stubs/components/tedee/binary_sensor.pyi +2 -0
  500. homeassistant-stubs/components/tedee/sensor.pyi +2 -0
  501. homeassistant-stubs/components/tibber/services.pyi +1 -1
  502. homeassistant-stubs/components/tolo/climate.pyi +0 -1
  503. homeassistant-stubs/components/tolo/fan.pyi +0 -1
  504. homeassistant-stubs/components/tplink/__init__.pyi +1 -1
  505. homeassistant-stubs/components/tplink/binary_sensor.pyi +2 -2
  506. homeassistant-stubs/components/tplink/button.pyi +2 -2
  507. homeassistant-stubs/components/tplink/camera.pyi +49 -0
  508. homeassistant-stubs/components/tplink/climate.pyi +1 -2
  509. homeassistant-stubs/components/tplink/config_flow.pyi +11 -5
  510. homeassistant-stubs/components/tplink/const.pyi +2 -0
  511. homeassistant-stubs/components/tplink/entity.pyi +9 -2
  512. homeassistant-stubs/components/tplink/fan.pyi +1 -2
  513. homeassistant-stubs/components/tplink/light.pyi +2 -2
  514. homeassistant-stubs/components/tplink/models.pyi +4 -1
  515. homeassistant-stubs/components/tplink/number.pyi +2 -2
  516. homeassistant-stubs/components/tplink/select.pyi +2 -2
  517. homeassistant-stubs/components/tplink/sensor.pyi +2 -2
  518. homeassistant-stubs/components/tplink/siren.pyi +1 -1
  519. homeassistant-stubs/components/tplink/switch.pyi +2 -2
  520. homeassistant-stubs/components/tractive/sensor.pyi +1 -1
  521. homeassistant-stubs/components/tradfri/fan.pyi +0 -1
  522. homeassistant-stubs/components/tradfri/light.pyi +4 -4
  523. homeassistant-stubs/components/transmission/__init__.pyi +1 -1
  524. homeassistant-stubs/components/transmission/const.pyi +1 -0
  525. homeassistant-stubs/components/twentemilieu/__init__.pyi +3 -11
  526. homeassistant-stubs/components/twentemilieu/calendar.pyi +1 -1
  527. homeassistant-stubs/components/twentemilieu/coordinator.pyi +14 -0
  528. homeassistant-stubs/components/twentemilieu/diagnostics.pyi +2 -2
  529. homeassistant-stubs/components/twentemilieu/entity.pyi +2 -3
  530. homeassistant-stubs/components/twentemilieu/sensor.pyi +3 -3
  531. homeassistant-stubs/components/unifi/sensor.pyi +1 -1
  532. homeassistant-stubs/components/unifiprotect/const.pyi +6 -0
  533. homeassistant-stubs/components/unifiprotect/event.pyi +5 -3
  534. homeassistant-stubs/components/unifiprotect/services.pyi +16 -9
  535. homeassistant-stubs/components/update/__init__.pyi +0 -2
  536. homeassistant-stubs/components/vacuum/__init__.pyi +16 -7
  537. homeassistant-stubs/components/vacuum/const.pyi +18 -5
  538. homeassistant-stubs/components/vacuum/device_condition.pyi +1 -1
  539. homeassistant-stubs/components/vacuum/device_trigger.pyi +1 -1
  540. homeassistant-stubs/components/vacuum/reproduce_state.pyi +2 -2
  541. homeassistant-stubs/components/vallox/fan.pyi +0 -1
  542. homeassistant-stubs/components/velbus/__init__.pyi +22 -9
  543. homeassistant-stubs/components/velbus/binary_sensor.pyi +4 -3
  544. homeassistant-stubs/components/velbus/button.pyi +4 -3
  545. homeassistant-stubs/components/velbus/climate.pyi +4 -3
  546. homeassistant-stubs/components/velbus/cover.pyi +4 -3
  547. homeassistant-stubs/components/velbus/diagnostics.pyi +3 -4
  548. homeassistant-stubs/components/velbus/light.pyi +4 -3
  549. homeassistant-stubs/components/velbus/select.pyi +4 -3
  550. homeassistant-stubs/components/velbus/sensor.pyi +4 -3
  551. homeassistant-stubs/components/velbus/services.pyi +7 -0
  552. homeassistant-stubs/components/velbus/switch.pyi +4 -3
  553. homeassistant-stubs/components/water_heater/__init__.pyi +7 -12
  554. homeassistant-stubs/components/wemo/fan.pyi +0 -1
  555. homeassistant-stubs/components/wemo/light.pyi +4 -2
  556. homeassistant-stubs/components/wiz/light.pyi +4 -5
  557. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +4 -4
  558. homeassistant-stubs/components/yale_smart_alarm/alarm_control_panel.pyi +0 -1
  559. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +3 -2
  560. homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +3 -3
  561. homeassistant-stubs/components/yale_smart_alarm/entity.pyi +1 -1
  562. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +1 -1
  563. homeassistant-stubs/components/zwave_js/api.pyi +2 -0
  564. homeassistant-stubs/components/zwave_js/climate.pyi +0 -1
  565. homeassistant-stubs/components/zwave_js/fan.pyi +0 -1
  566. homeassistant-stubs/components/zwave_js/light.pyi +7 -9
  567. homeassistant-stubs/const.pyi +2 -151
  568. homeassistant-stubs/core.pyi +3 -6
  569. homeassistant-stubs/core_config.pyi +2 -1
  570. homeassistant-stubs/data_entry_flow.pyi +0 -13
  571. homeassistant-stubs/exceptions.pyi +6 -0
  572. homeassistant-stubs/helpers/device_registry.pyi +1 -9
  573. homeassistant-stubs/helpers/entity.pyi +1 -2
  574. homeassistant-stubs/helpers/event.pyi +3 -4
  575. homeassistant-stubs/helpers/service.pyi +1 -1
  576. homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -1
  577. homeassistant-stubs/helpers/system_info.pyi +1 -1
  578. homeassistant-stubs/helpers/template.pyi +1 -1
  579. homeassistant-stubs/util/dt.pyi +1 -0
  580. homeassistant-stubs/util/package.pyi +1 -0
  581. homeassistant-stubs/util/system_info.pyi +1 -0
  582. {homeassistant_stubs-2024.12.4.dist-info → homeassistant_stubs-2025.1.0.dist-info}/METADATA +2 -2
  583. {homeassistant_stubs-2024.12.4.dist-info → homeassistant_stubs-2025.1.0.dist-info}/RECORD +585 -490
  584. homeassistant-stubs/components/bluesound/services.pyi +0 -21
  585. homeassistant-stubs/components/stookalert/__init__.pyi +0 -10
  586. homeassistant-stubs/components/stookalert/binary_sensor.pyi +0 -24
  587. homeassistant-stubs/components/stookalert/config_flow.pyi +0 -7
  588. homeassistant-stubs/components/tailwind/typing.pyi +0 -4
  589. {homeassistant_stubs-2024.12.4.dist-info → homeassistant_stubs-2025.1.0.dist-info}/WHEEL +0 -0
  590. {homeassistant_stubs-2024.12.4.dist-info → homeassistant_stubs-2025.1.0.dist-info}/licenses/LICENSE +0 -0
@@ -27,7 +27,7 @@ class AuthManagerFlowManager(FlowManager[AuthFlowContext, AuthFlowResult, tuple[
27
27
  _flow_result = AuthFlowResult
28
28
  auth_manager: Incomplete
29
29
  def __init__(self, hass: HomeAssistant, auth_manager: AuthManager) -> None: ...
30
- async def async_create_flow(self, handler_key: tuple[str, str], *, context: AuthFlowContext | None = None, data: dict[str, Any] | None = None) -> LoginFlow: ...
30
+ async def async_create_flow(self, handler_key: tuple[str, str], *, context: AuthFlowContext | None = None, data: dict[str, Any] | None = None) -> LoginFlow[Any]: ...
31
31
  async def async_finish_flow(self, flow: FlowHandler[AuthFlowContext, AuthFlowResult, tuple[str, str]], result: AuthFlowResult) -> AuthFlowResult: ...
32
32
 
33
33
  class AuthManager:
@@ -9,12 +9,14 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
9
  from homeassistant.helpers.importlib import async_import_module as async_import_module
10
10
  from homeassistant.util.decorator import Registry as Registry
11
11
  from homeassistant.util.hass_dict import HassKey as HassKey
12
- from typing import Any
12
+ from typing import Any, Generic
13
+ from typing_extensions import TypeVar
13
14
 
14
15
  MULTI_FACTOR_AUTH_MODULES: Registry[str, type[MultiFactorAuthModule]]
15
16
  MULTI_FACTOR_AUTH_MODULE_SCHEMA: Incomplete
16
17
  DATA_REQS: HassKey[set[str]]
17
18
  _LOGGER: Incomplete
19
+ _MultiFactorAuthModuleT = TypeVar('_MultiFactorAuthModuleT', bound='MultiFactorAuthModule', default='MultiFactorAuthModule')
18
20
 
19
21
  class MultiFactorAuthModule:
20
22
  DEFAULT_TITLE: str
@@ -30,17 +32,17 @@ class MultiFactorAuthModule:
30
32
  def name(self) -> str: ...
31
33
  @property
32
34
  def input_schema(self) -> vol.Schema: ...
33
- async def async_setup_flow(self, user_id: str) -> SetupFlow: ...
35
+ async def async_setup_flow(self, user_id: str) -> SetupFlow[Any]: ...
34
36
  async def async_setup_user(self, user_id: str, setup_data: Any) -> Any: ...
35
37
  async def async_depose_user(self, user_id: str) -> None: ...
36
38
  async def async_is_user_setup(self, user_id: str) -> bool: ...
37
39
  async def async_validate(self, user_id: str, user_input: dict[str, Any]) -> bool: ...
38
40
 
39
- class SetupFlow(data_entry_flow.FlowHandler):
41
+ class SetupFlow(data_entry_flow.FlowHandler, Generic[_MultiFactorAuthModuleT]):
40
42
  _auth_module: Incomplete
41
43
  _setup_schema: Incomplete
42
44
  _user_id: Incomplete
43
- def __init__(self, auth_module: MultiFactorAuthModule, setup_schema: vol.Schema, user_id: str) -> None: ...
45
+ def __init__(self, auth_module: _MultiFactorAuthModuleT, setup_schema: vol.Schema, user_id: str) -> None: ...
44
46
  async def async_step_init(self, user_input: dict[str, str] | None = None) -> FlowResult: ...
45
47
 
46
48
  async def auth_mfa_module_from_config(hass: HomeAssistant, config: dict[str, Any]) -> MultiFactorAuthModule: ...
@@ -49,7 +49,7 @@ class NotifyAuthModule(MultiFactorAuthModule):
49
49
  async def _async_load(self) -> None: ...
50
50
  async def _async_save(self) -> None: ...
51
51
  def aync_get_available_notify_services(self) -> list[str]: ...
52
- async def async_setup_flow(self, user_id: str) -> SetupFlow: ...
52
+ async def async_setup_flow(self, user_id: str) -> NotifySetupFlow: ...
53
53
  async def async_setup_user(self, user_id: str, setup_data: Any) -> Any: ...
54
54
  async def async_depose_user(self, user_id: str) -> None: ...
55
55
  async def async_is_user_setup(self, user_id: str) -> bool: ...
@@ -58,8 +58,7 @@ class NotifyAuthModule(MultiFactorAuthModule):
58
58
  async def async_notify_user(self, user_id: str, code: str) -> None: ...
59
59
  async def async_notify(self, code: str, notify_service: str, target: str | None = None) -> None: ...
60
60
 
61
- class NotifySetupFlow(SetupFlow):
62
- _auth_module: Incomplete
61
+ class NotifySetupFlow(SetupFlow[NotifyAuthModule]):
63
62
  _available_notify_services: Incomplete
64
63
  _secret: Incomplete
65
64
  _count: Incomplete
@@ -32,15 +32,14 @@ class TotpAuthModule(MultiFactorAuthModule):
32
32
  async def _async_load(self) -> None: ...
33
33
  async def _async_save(self) -> None: ...
34
34
  def _add_ota_secret(self, user_id: str, secret: str | None = None) -> str: ...
35
- async def async_setup_flow(self, user_id: str) -> SetupFlow: ...
35
+ async def async_setup_flow(self, user_id: str) -> TotpSetupFlow: ...
36
36
  async def async_setup_user(self, user_id: str, setup_data: Any) -> str: ...
37
37
  async def async_depose_user(self, user_id: str) -> None: ...
38
38
  async def async_is_user_setup(self, user_id: str) -> bool: ...
39
39
  async def async_validate(self, user_id: str, user_input: dict[str, Any]) -> bool: ...
40
40
  def _validate_2fa(self, user_id: str, code: str) -> bool: ...
41
41
 
42
- class TotpSetupFlow(SetupFlow):
43
- _auth_module: TotpAuthModule
42
+ class TotpSetupFlow(SetupFlow[TotpAuthModule]):
44
43
  _ota_secret: str
45
44
  _url: str
46
45
  _image: str
@@ -12,12 +12,14 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
12
12
  from homeassistant.helpers.importlib import async_import_module as async_import_module
13
13
  from homeassistant.util.decorator import Registry as Registry
14
14
  from homeassistant.util.hass_dict import HassKey as HassKey
15
- from typing import Any
15
+ from typing import Any, Generic
16
+ from typing_extensions import TypeVar
16
17
 
17
18
  _LOGGER: Incomplete
18
19
  DATA_REQS: HassKey[set[str]]
19
20
  AUTH_PROVIDERS: Registry[str, type[AuthProvider]]
20
21
  AUTH_PROVIDER_SCHEMA: Incomplete
22
+ _AuthProviderT = TypeVar('_AuthProviderT', bound='AuthProvider', default='AuthProvider')
21
23
 
22
24
  class AuthProvider:
23
25
  DEFAULT_TITLE: str
@@ -35,7 +37,7 @@ class AuthProvider:
35
37
  def support_mfa(self) -> bool: ...
36
38
  async def async_credentials(self) -> list[Credentials]: ...
37
39
  def async_create_credentials(self, data: dict[str, str]) -> Credentials: ...
38
- async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow: ...
40
+ async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow[Any]: ...
39
41
  async def async_get_or_create_credentials(self, flow_result: Mapping[str, str]) -> Credentials: ...
40
42
  async def async_user_meta_for_credentials(self, credentials: Credentials) -> UserMeta: ...
41
43
  async def async_initialize(self) -> None: ...
@@ -44,7 +46,7 @@ class AuthProvider:
44
46
  async def auth_provider_from_config(hass: HomeAssistant, store: AuthStore, config: dict[str, Any]) -> AuthProvider: ...
45
47
  async def load_auth_provider_module(hass: HomeAssistant, provider: str) -> types.ModuleType: ...
46
48
 
47
- class LoginFlow(FlowHandler[AuthFlowContext, AuthFlowResult, tuple[str, str]]):
49
+ class LoginFlow(FlowHandler[AuthFlowContext, AuthFlowResult, tuple[str, str]], Generic[_AuthProviderT]):
48
50
  _flow_result = AuthFlowResult
49
51
  _auth_provider: Incomplete
50
52
  _auth_module_id: Incomplete
@@ -54,7 +56,7 @@ class LoginFlow(FlowHandler[AuthFlowContext, AuthFlowResult, tuple[str, str]]):
54
56
  invalid_mfa_times: int
55
57
  user: Incomplete
56
58
  credential: Incomplete
57
- def __init__(self, auth_provider: AuthProvider) -> None: ...
59
+ def __init__(self, auth_provider: _AuthProviderT) -> None: ...
58
60
  async def async_step_init(self, user_input: dict[str, str] | None = None) -> AuthFlowResult: ...
59
61
  async def async_step_select_mfa_module(self, user_input: dict[str, str] | None = None) -> AuthFlowResult: ...
60
62
  async def async_step_mfa(self, user_input: dict[str, str] | None = None) -> AuthFlowResult: ...
@@ -18,10 +18,10 @@ class CommandLineAuthProvider(AuthProvider):
18
18
  ALLOWED_META_KEYS: Incomplete
19
19
  _user_meta: Incomplete
20
20
  def __init__(self, *args: Any, **kwargs: Any) -> None: ...
21
- async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow: ...
21
+ async def async_login_flow(self, context: AuthFlowContext | None) -> CommandLineLoginFlow: ...
22
22
  async def async_validate_login(self, username: str, password: str) -> None: ...
23
23
  async def async_get_or_create_credentials(self, flow_result: Mapping[str, str]) -> Credentials: ...
24
24
  async def async_user_meta_for_credentials(self, credentials: Credentials) -> UserMeta: ...
25
25
 
26
- class CommandLineLoginFlow(LoginFlow):
26
+ class CommandLineLoginFlow(LoginFlow[CommandLineAuthProvider]):
27
27
  async def async_step_init(self, user_input: dict[str, str] | None = None) -> AuthFlowResult: ...
@@ -50,7 +50,7 @@ class HassAuthProvider(AuthProvider):
50
50
  _init_lock: Incomplete
51
51
  def __init__(self, *args: Any, **kwargs: Any) -> None: ...
52
52
  async def async_initialize(self) -> None: ...
53
- async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow: ...
53
+ async def async_login_flow(self, context: AuthFlowContext | None) -> HassLoginFlow: ...
54
54
  async def async_validate_login(self, username: str, password: str) -> None: ...
55
55
  async def async_add_auth(self, username: str, password: str) -> None: ...
56
56
  async def async_remove_auth(self, username: str) -> None: ...
@@ -60,5 +60,5 @@ class HassAuthProvider(AuthProvider):
60
60
  async def async_user_meta_for_credentials(self, credentials: Credentials) -> UserMeta: ...
61
61
  async def async_will_remove_credentials(self, credentials: Credentials) -> None: ...
62
62
 
63
- class HassLoginFlow(LoginFlow):
63
+ class HassLoginFlow(LoginFlow[HassAuthProvider]):
64
64
  async def async_step_init(self, user_input: dict[str, str] | None = None) -> AuthFlowResult: ...
@@ -11,10 +11,10 @@ CONFIG_SCHEMA: Incomplete
11
11
  class InvalidAuthError(HomeAssistantError): ...
12
12
 
13
13
  class ExampleAuthProvider(AuthProvider):
14
- async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow: ...
14
+ async def async_login_flow(self, context: AuthFlowContext | None) -> ExampleLoginFlow: ...
15
15
  def async_validate_login(self, username: str, password: str) -> None: ...
16
16
  async def async_get_or_create_credentials(self, flow_result: Mapping[str, str]) -> Credentials: ...
17
17
  async def async_user_meta_for_credentials(self, credentials: Credentials) -> UserMeta: ...
18
18
 
19
- class ExampleLoginFlow(LoginFlow):
19
+ class ExampleLoginFlow(LoginFlow[ExampleAuthProvider]):
20
20
  async def async_step_init(self, user_input: dict[str, str] | None = None) -> AuthFlowResult: ...
@@ -29,13 +29,13 @@ class TrustedNetworksAuthProvider(AuthProvider):
29
29
  def trusted_proxies(self) -> list[IPNetwork]: ...
30
30
  @property
31
31
  def support_mfa(self) -> bool: ...
32
- async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow: ...
32
+ async def async_login_flow(self, context: AuthFlowContext | None) -> TrustedNetworksLoginFlow: ...
33
33
  async def async_get_or_create_credentials(self, flow_result: Mapping[str, str]) -> Credentials: ...
34
34
  async def async_user_meta_for_credentials(self, credentials: Credentials) -> UserMeta: ...
35
35
  def async_validate_access(self, ip_addr: IPAddress) -> None: ...
36
36
  def async_validate_refresh_token(self, refresh_token: RefreshToken, remote_ip: str | None = None) -> None: ...
37
37
 
38
- class TrustedNetworksLoginFlow(LoginFlow):
38
+ class TrustedNetworksLoginFlow(LoginFlow[TrustedNetworksAuthProvider]):
39
39
  _available_users: Incomplete
40
40
  _ip_address: Incomplete
41
41
  _allow_bypass_login: Incomplete
@@ -1,17 +1,24 @@
1
1
  from _typeshed import Incomplete
2
+ from collections.abc import Iterable
2
3
  from dataclasses import dataclass
3
4
  from pathlib import Path
4
5
 
5
6
  RESTORE_BACKUP_FILE: str
6
- KEEP_PATHS: Incomplete
7
+ KEEP_BACKUPS: Incomplete
8
+ KEEP_DATABASE: Incomplete
7
9
  _LOGGER: Incomplete
8
10
 
9
11
  @dataclass
10
12
  class RestoreBackupFileContent:
11
13
  backup_file_path: Path
12
- def __init__(self, backup_file_path) -> None: ...
14
+ password: str | None
15
+ remove_after_restore: bool
16
+ restore_database: bool
17
+ restore_homeassistant: bool
18
+ def __init__(self, backup_file_path, password, remove_after_restore, restore_database, restore_homeassistant) -> None: ...
13
19
 
20
+ def password_to_key(password: str) -> bytes: ...
14
21
  def restore_backup_file_content(config_dir: Path) -> RestoreBackupFileContent | None: ...
15
- def _clear_configuration_directory(config_dir: Path) -> None: ...
16
- def _extract_backup(config_dir: Path, backup_file_path: Path) -> None: ...
22
+ def _clear_configuration_directory(config_dir: Path, keep: Iterable[str]) -> None: ...
23
+ def _extract_backup(config_dir: Path, restore_content: RestoreBackupFileContent) -> None: ...
17
24
  def restore_backup(config_dir_path: str) -> bool: ...
@@ -7,7 +7,7 @@ from .exceptions import HomeAssistantError as HomeAssistantError
7
7
  from .helpers import area_registry as area_registry, category_registry as category_registry, device_registry as device_registry, entity as entity, entity_registry as entity_registry, floor_registry as floor_registry, issue_registry as issue_registry, label_registry as label_registry, recorder as recorder, restore_state as restore_state, template as template, translation as translation
8
8
  from .helpers.dispatcher import async_dispatcher_send_internal as async_dispatcher_send_internal
9
9
  from .helpers.storage import get_internal_store_manager as get_internal_store_manager
10
- from .helpers.system_info import async_get_system_info as async_get_system_info, is_official_image as is_official_image
10
+ from .helpers.system_info import async_get_system_info as async_get_system_info
11
11
  from .helpers.typing import ConfigType as ConfigType
12
12
  from .runner import RuntimeConfig as RuntimeConfig
13
13
  from .setup import _setup_started as _setup_started, async_get_setup_timings as async_get_setup_timings, async_notify_setup_error as async_notify_setup_error, async_set_domains_to_be_loaded as async_set_domains_to_be_loaded, async_setup_component as async_setup_component
@@ -15,6 +15,7 @@ from .util.async_ import create_eager_task as create_eager_task
15
15
  from .util.hass_dict import HassKey as HassKey
16
16
  from .util.logging import async_activate_log_queue_handler as async_activate_log_queue_handler
17
17
  from .util.package import async_get_user_site as async_get_user_site, is_docker_env as is_docker_env, is_virtual_env as is_virtual_env
18
+ from .util.system_info import is_official_image as is_official_image
18
19
  from _typeshed import Incomplete
19
20
  from anyio._backends import _asyncio as _asyncio
20
21
  from logging.handlers import RotatingFileHandler, TimedRotatingFileHandler
@@ -2,11 +2,10 @@ from . import AbodeSystem as AbodeSystem
2
2
  from .const import DOMAIN as DOMAIN
3
3
  from .entity import AbodeDevice as AbodeDevice
4
4
  from _typeshed import Incomplete
5
- from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP as ATTR_COLOR_TEMP, ATTR_HS_COLOR as ATTR_HS_COLOR, ColorMode as ColorMode, LightEntity as LightEntity
5
+ from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_HS_COLOR as ATTR_HS_COLOR, ColorMode as ColorMode, DEFAULT_MAX_KELVIN as DEFAULT_MAX_KELVIN, DEFAULT_MIN_KELVIN as DEFAULT_MIN_KELVIN, LightEntity as LightEntity
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
- from homeassistant.util.color import color_temperature_kelvin_to_mired as color_temperature_kelvin_to_mired, color_temperature_mired_to_kelvin as color_temperature_mired_to_kelvin
10
9
  from jaraco.abode.devices.light import Light as Light
11
10
  from typing import Any
12
11
 
@@ -15,6 +14,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_e
15
14
  class AbodeLight(AbodeDevice, LightEntity):
16
15
  _device: Light
17
16
  _attr_name: Incomplete
17
+ _attr_max_color_temp_kelvin = DEFAULT_MAX_KELVIN
18
+ _attr_min_color_temp_kelvin = DEFAULT_MIN_KELVIN
18
19
  def turn_on(self, **kwargs: Any) -> None: ...
19
20
  def turn_off(self, **kwargs: Any) -> None: ...
20
21
  @property
@@ -22,7 +23,7 @@ class AbodeLight(AbodeDevice, LightEntity):
22
23
  @property
23
24
  def brightness(self) -> int | None: ...
24
25
  @property
25
- def color_temp(self) -> int | None: ...
26
+ def color_temp_kelvin(self) -> int | None: ...
26
27
  @property
27
28
  def hs_color(self) -> tuple[float, float] | None: ...
28
29
  @property
@@ -0,0 +1,9 @@
1
+ from .coordinator import AcaiaConfigEntry as AcaiaConfigEntry, AcaiaCoordinator as AcaiaCoordinator
2
+ from _typeshed import Incomplete
3
+ from homeassistant.const import Platform as Platform
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+
6
+ PLATFORMS: Incomplete
7
+
8
+ async def async_setup_entry(hass: HomeAssistant, entry: AcaiaConfigEntry) -> bool: ...
9
+ async def async_unload_entry(hass: HomeAssistant, entry: AcaiaConfigEntry) -> bool: ...
@@ -0,0 +1,24 @@
1
+ from .coordinator import AcaiaConfigEntry as AcaiaConfigEntry
2
+ from .entity import AcaiaEntity as AcaiaEntity
3
+ from aioacaia.acaiascale import AcaiaScale as AcaiaScale
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
+
10
+ PARALLEL_UPDATES: int
11
+
12
+ @dataclass(kw_only=True, frozen=True)
13
+ class AcaiaBinarySensorEntityDescription(BinarySensorEntityDescription):
14
+ is_on_fn: Callable[[AcaiaScale], bool]
15
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., is_on_fn) -> None: ...
16
+
17
+ BINARY_SENSORS: tuple[AcaiaBinarySensorEntityDescription, ...]
18
+
19
+ async def async_setup_entry(hass: HomeAssistant, entry: AcaiaConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
20
+
21
+ class AcaiaBinarySensor(AcaiaEntity, BinarySensorEntity):
22
+ entity_description: AcaiaBinarySensorEntityDescription
23
+ @property
24
+ def is_on(self) -> bool: ...
@@ -0,0 +1,24 @@
1
+ from .coordinator import AcaiaConfigEntry as AcaiaConfigEntry
2
+ from .entity import AcaiaEntity as AcaiaEntity
3
+ from aioacaia.acaiascale import AcaiaScale as AcaiaScale
4
+ from collections.abc import Callable as Callable, Coroutine
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
+ from typing import Any
10
+
11
+ PARALLEL_UPDATES: int
12
+
13
+ @dataclass(kw_only=True, frozen=True)
14
+ class AcaiaButtonEntityDescription(ButtonEntityDescription):
15
+ press_fn: Callable[[AcaiaScale], Coroutine[Any, Any, None]]
16
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., press_fn) -> None: ...
17
+
18
+ BUTTONS: tuple[AcaiaButtonEntityDescription, ...]
19
+
20
+ async def async_setup_entry(hass: HomeAssistant, entry: AcaiaConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
+
22
+ class AcaiaButton(AcaiaEntity, ButtonEntity):
23
+ entity_description: AcaiaButtonEntityDescription
24
+ async def async_press(self) -> None: ...
@@ -0,0 +1,18 @@
1
+ from .const import CONF_IS_NEW_STYLE_SCALE as CONF_IS_NEW_STYLE_SCALE, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from homeassistant.components.bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak, async_discovered_service_info as async_discovered_service_info
4
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
+ from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_NAME as CONF_NAME
6
+ from homeassistant.helpers.device_registry import format_mac as format_mac
7
+ from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode
8
+ from typing import Any
9
+
10
+ _LOGGER: Incomplete
11
+
12
+ class AcaiaConfigFlow(ConfigFlow, domain=DOMAIN):
13
+ _discovered: Incomplete
14
+ _discovered_devices: Incomplete
15
+ def __init__(self) -> None: ...
16
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
17
+ async def async_step_bluetooth(self, discovery_info: BluetoothServiceInfoBleak) -> ConfigFlowResult: ...
18
+ async def async_step_bluetooth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,2 @@
1
+ DOMAIN: str
2
+ CONF_IS_NEW_STYLE_SCALE: str
@@ -0,0 +1,19 @@
1
+ from .const import CONF_IS_NEW_STYLE_SCALE as CONF_IS_NEW_STYLE_SCALE
2
+ from _typeshed import Incomplete
3
+ from aioacaia.acaiascale import AcaiaScale
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
8
+
9
+ SCAN_INTERVAL: Incomplete
10
+ _LOGGER: Incomplete
11
+ type AcaiaConfigEntry = ConfigEntry[AcaiaCoordinator]
12
+
13
+ class AcaiaCoordinator(DataUpdateCoordinator[None]):
14
+ config_entry: AcaiaConfigEntry
15
+ _scale: Incomplete
16
+ def __init__(self, hass: HomeAssistant, entry: AcaiaConfigEntry) -> None: ...
17
+ @property
18
+ def scale(self) -> AcaiaScale: ...
19
+ async def _async_update_data(self) -> None: ...
@@ -1,6 +1,5 @@
1
- from .const import DOMAIN as DOMAIN
2
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
1
+ from . import AcaiaConfigEntry as AcaiaConfigEntry
3
2
  from homeassistant.core import HomeAssistant as HomeAssistant
4
3
  from typing import Any
5
4
 
6
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]: ...
5
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: AcaiaConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,17 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import AcaiaCoordinator as AcaiaCoordinator
3
+ from dataclasses import dataclass
4
+ from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, DeviceInfo as DeviceInfo, format_mac as format_mac
5
+ from homeassistant.helpers.entity import EntityDescription as EntityDescription
6
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
+
8
+ @dataclass
9
+ class AcaiaEntity(CoordinatorEntity[AcaiaCoordinator]):
10
+ _attr_has_entity_name = ...
11
+ entity_description = ...
12
+ _scale = ...
13
+ _attr_unique_id = ...
14
+ _attr_device_info = ...
15
+ def __init__(self, coordinator: AcaiaCoordinator, entity_description: EntityDescription) -> None: ...
16
+ @property
17
+ def available(self) -> bool: ...
@@ -0,0 +1,44 @@
1
+ from .coordinator import AcaiaConfigEntry as AcaiaConfigEntry
2
+ from .entity import AcaiaEntity as AcaiaEntity
3
+ from _typeshed import Incomplete
4
+ from aioacaia.acaiascale import AcaiaDeviceState as AcaiaDeviceState, AcaiaScale as AcaiaScale
5
+ from collections.abc import Callable as Callable
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.sensor import RestoreSensor as RestoreSensor, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorExtraStoredData as SensorExtraStoredData, SensorStateClass as SensorStateClass
8
+ from homeassistant.const import PERCENTAGE as PERCENTAGE, UnitOfMass as UnitOfMass, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
9
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
+
12
+ PARALLEL_UPDATES: int
13
+
14
+ @dataclass(kw_only=True, frozen=True)
15
+ class AcaiaSensorEntityDescription(SensorEntityDescription):
16
+ value_fn: Callable[[AcaiaScale], int | float | None]
17
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
18
+
19
+ @dataclass(kw_only=True, frozen=True)
20
+ class AcaiaDynamicUnitSensorEntityDescription(AcaiaSensorEntityDescription):
21
+ unit_fn: Callable[[AcaiaDeviceState], str] | None = ...
22
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn, unit_fn=...) -> None: ...
23
+
24
+ SENSORS: tuple[AcaiaSensorEntityDescription, ...]
25
+ RESTORE_SENSORS: tuple[AcaiaSensorEntityDescription, ...]
26
+
27
+ async def async_setup_entry(hass: HomeAssistant, entry: AcaiaConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
28
+
29
+ class AcaiaSensor(AcaiaEntity, SensorEntity):
30
+ entity_description: AcaiaDynamicUnitSensorEntityDescription
31
+ @property
32
+ def native_unit_of_measurement(self) -> str | None: ...
33
+ @property
34
+ def native_value(self) -> int | float | None: ...
35
+
36
+ class AcaiaRestoreSensor(AcaiaEntity, RestoreSensor):
37
+ entity_description: AcaiaSensorEntityDescription
38
+ _restored_data: SensorExtraStoredData | None
39
+ _attr_native_value: Incomplete
40
+ _attr_native_unit_of_measurement: Incomplete
41
+ async def async_added_to_hass(self) -> None: ...
42
+ def _handle_coordinator_update(self) -> None: ...
43
+ @property
44
+ def available(self) -> bool: ...
@@ -20,7 +20,6 @@ class AdaxDevice(ClimateEntity):
20
20
  _attr_supported_features: Incomplete
21
21
  _attr_target_temperature_step = PRECISION_WHOLE
22
22
  _attr_temperature_unit: Incomplete
23
- _enable_turn_on_off_backwards_compatibility: bool
24
23
  _device_id: Incomplete
25
24
  _adax_data_handler: Incomplete
26
25
  _attr_unique_id: Incomplete
@@ -29,7 +29,6 @@ class Airtouch5ClimateEntity(ClimateEntity, Airtouch5Entity):
29
29
  _attr_translation_key = DOMAIN
30
30
  _attr_target_temperature_step: int
31
31
  _attr_name: Incomplete
32
- _enable_turn_on_off_backwards_compatibility: bool
33
32
 
34
33
  class Airtouch5AC(Airtouch5ClimateEntity):
35
34
  _ability: Incomplete
@@ -24,7 +24,6 @@ class AirzoneClimate(AirzoneZoneEntity, ClimateEntity):
24
24
  _attr_name: Incomplete
25
25
  _speeds: dict[int, str]
26
26
  _speeds_reverse: dict[str, int]
27
- _enable_turn_on_off_backwards_compatibility: bool
28
27
  _attr_unique_id: Incomplete
29
28
  _attr_supported_features: Incomplete
30
29
  _attr_target_temperature_step: Incomplete
@@ -22,7 +22,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: AirzoneCloudConfigEntry,
22
22
  class AirzoneClimate(AirzoneEntity, ClimateEntity, metaclass=abc.ABCMeta):
23
23
  _attr_name: Incomplete
24
24
  _attr_temperature_unit: Incomplete
25
- _enable_turn_on_off_backwards_compatibility: bool
26
25
  _attr_target_temperature_step: Incomplete
27
26
  _attr_hvac_modes: Incomplete
28
27
  def _init_attributes(self) -> None: ...
@@ -30,7 +29,6 @@ class AirzoneClimate(AirzoneEntity, ClimateEntity, metaclass=abc.ABCMeta):
30
29
  _attr_current_temperature: Incomplete
31
30
  _attr_current_humidity: Incomplete
32
31
  _attr_hvac_action: Incomplete
33
- _attr_fan_mode: Incomplete
34
32
  _attr_hvac_mode: Incomplete
35
33
  _attr_max_temp: Incomplete
36
34
  _attr_min_temp: Incomplete
@@ -43,6 +41,9 @@ class AirzoneDeviceClimate(AirzoneClimate, metaclass=abc.ABCMeta):
43
41
  _attr_supported_features: Incomplete
44
42
  _speeds: dict[int, str]
45
43
  _speeds_reverse: dict[str, int]
44
+ def _init_attributes(self) -> None: ...
45
+ _attr_fan_mode: Incomplete
46
+ def _async_update_attrs(self) -> None: ...
46
47
  _attr_fan_modes: Incomplete
47
48
  def _initialize_fan_speeds(self) -> None: ...
48
49
  async def async_turn_on(self) -> None: ...
@@ -1,12 +1,11 @@
1
1
  import asyncio
2
- from .const import ATTR_CHANGED_BY as ATTR_CHANGED_BY, ATTR_CODE_ARM_REQUIRED as ATTR_CODE_ARM_REQUIRED, AlarmControlPanelEntityFeature as AlarmControlPanelEntityFeature, AlarmControlPanelState as AlarmControlPanelState, CodeFormat as CodeFormat, DOMAIN as DOMAIN, _DEPRECATED_FORMAT_NUMBER as _DEPRECATED_FORMAT_NUMBER, _DEPRECATED_FORMAT_TEXT as _DEPRECATED_FORMAT_TEXT, _DEPRECATED_SUPPORT_ALARM_ARM_AWAY as _DEPRECATED_SUPPORT_ALARM_ARM_AWAY, _DEPRECATED_SUPPORT_ALARM_ARM_CUSTOM_BYPASS as _DEPRECATED_SUPPORT_ALARM_ARM_CUSTOM_BYPASS, _DEPRECATED_SUPPORT_ALARM_ARM_HOME as _DEPRECATED_SUPPORT_ALARM_ARM_HOME, _DEPRECATED_SUPPORT_ALARM_ARM_NIGHT as _DEPRECATED_SUPPORT_ALARM_ARM_NIGHT, _DEPRECATED_SUPPORT_ALARM_ARM_VACATION as _DEPRECATED_SUPPORT_ALARM_ARM_VACATION, _DEPRECATED_SUPPORT_ALARM_TRIGGER as _DEPRECATED_SUPPORT_ALARM_TRIGGER
2
+ from .const import ATTR_CHANGED_BY as ATTR_CHANGED_BY, ATTR_CODE_ARM_REQUIRED as ATTR_CODE_ARM_REQUIRED, AlarmControlPanelEntityFeature as AlarmControlPanelEntityFeature, AlarmControlPanelState as AlarmControlPanelState, CodeFormat as CodeFormat, DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import ATTR_CODE as ATTR_CODE, ATTR_CODE_FORMAT as ATTR_CODE_FORMAT, SERVICE_ALARM_ARM_AWAY as SERVICE_ALARM_ARM_AWAY, SERVICE_ALARM_ARM_CUSTOM_BYPASS as SERVICE_ALARM_ARM_CUSTOM_BYPASS, SERVICE_ALARM_ARM_HOME as SERVICE_ALARM_ARM_HOME, SERVICE_ALARM_ARM_NIGHT as SERVICE_ALARM_ARM_NIGHT, SERVICE_ALARM_ARM_VACATION as SERVICE_ALARM_ARM_VACATION, SERVICE_ALARM_DISARM as SERVICE_ALARM_DISARM, SERVICE_ALARM_TRIGGER as SERVICE_ALARM_TRIGGER
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
8
8
  from homeassistant.helpers.config_validation import make_entity_service_schema as make_entity_service_schema
9
- from homeassistant.helpers.deprecation import all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
10
9
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
11
10
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
12
11
  from homeassistant.helpers.entity_platform import EntityPlatform as EntityPlatform
@@ -81,7 +80,3 @@ class AlarmControlPanelEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_A
81
80
  async def async_internal_added_to_hass(self) -> None: ...
82
81
  def async_registry_entry_updated(self) -> None: ...
83
82
  def _async_read_entity_options(self) -> None: ...
84
-
85
- __getattr__: Incomplete
86
- __dir__: Incomplete
87
- __all__: Incomplete
@@ -1,6 +1,4 @@
1
- from _typeshed import Incomplete
2
1
  from enum import IntFlag, StrEnum
3
- from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
4
2
  from typing import Final
5
3
 
6
4
  DOMAIN: Final[str]
@@ -23,9 +21,6 @@ class CodeFormat(StrEnum):
23
21
  TEXT = 'text'
24
22
  NUMBER = 'number'
25
23
 
26
- _DEPRECATED_FORMAT_TEXT: Final[Incomplete]
27
- _DEPRECATED_FORMAT_NUMBER: Final[Incomplete]
28
-
29
24
  class AlarmControlPanelEntityFeature(IntFlag):
30
25
  ARM_HOME = 1
31
26
  ARM_AWAY = 2
@@ -34,12 +29,6 @@ class AlarmControlPanelEntityFeature(IntFlag):
34
29
  ARM_CUSTOM_BYPASS = 16
35
30
  ARM_VACATION = 32
36
31
 
37
- _DEPRECATED_SUPPORT_ALARM_ARM_HOME: Final[Incomplete]
38
- _DEPRECATED_SUPPORT_ALARM_ARM_AWAY: Final[Incomplete]
39
- _DEPRECATED_SUPPORT_ALARM_ARM_NIGHT: Final[Incomplete]
40
- _DEPRECATED_SUPPORT_ALARM_TRIGGER: Final[Incomplete]
41
- _DEPRECATED_SUPPORT_ALARM_ARM_CUSTOM_BYPASS: Final[Incomplete]
42
- _DEPRECATED_SUPPORT_ALARM_ARM_VACATION: Final[Incomplete]
43
32
  CONDITION_TRIGGERED: Final[str]
44
33
  CONDITION_DISARMED: Final[str]
45
34
  CONDITION_ARMED_HOME: Final[str]
@@ -47,6 +36,3 @@ CONDITION_ARMED_AWAY: Final[str]
47
36
  CONDITION_ARMED_NIGHT: Final[str]
48
37
  CONDITION_ARMED_VACATION: Final[str]
49
38
  CONDITION_ARMED_CUSTOM_BYPASS: Final[str]
50
- __getattr__: Incomplete
51
- __dir__: Incomplete
52
- __all__: Incomplete
@@ -1,6 +1,7 @@
1
+ from . import AnalyticsInsightsConfigEntry as AnalyticsInsightsConfigEntry
1
2
  from .const import CONF_TRACKED_ADDONS as CONF_TRACKED_ADDONS, CONF_TRACKED_CUSTOM_INTEGRATIONS as CONF_TRACKED_CUSTOM_INTEGRATIONS, CONF_TRACKED_INTEGRATIONS as CONF_TRACKED_INTEGRATIONS, DOMAIN as DOMAIN, LOGGER as LOGGER
2
3
  from _typeshed import Incomplete
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
4
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
4
5
  from homeassistant.core import callback as callback
5
6
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
6
7
  from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig
@@ -10,7 +11,7 @@ INTEGRATION_TYPES_WITHOUT_ANALYTICS: Incomplete
10
11
 
11
12
  class HomeassistantAnalyticsConfigFlow(ConfigFlow, domain=DOMAIN):
12
13
  @staticmethod
13
- def async_get_options_flow(config_entry: ConfigEntry) -> HomeassistantAnalyticsOptionsFlowHandler: ...
14
+ def async_get_options_flow(config_entry: AnalyticsInsightsConfigEntry) -> HomeassistantAnalyticsOptionsFlowHandler: ...
14
15
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
15
16
 
16
17
  class HomeassistantAnalyticsOptionsFlowHandler(OptionsFlow):
@@ -28,7 +28,6 @@ async def device_scan(hass: HomeAssistant, identifier: str | None, loop: asyncio
28
28
  class AppleTVConfigFlow(ConfigFlow, domain=DOMAIN):
29
29
  VERSION: int
30
30
  scan_filter: str | None
31
- all_identifiers: set[str]
32
31
  atv: BaseConfig | None
33
32
  atv_identifiers: list[str] | None
34
33
  _host: str
@@ -39,6 +38,7 @@ class AppleTVConfigFlow(ConfigFlow, domain=DOMAIN):
39
38
  @staticmethod
40
39
  def async_get_options_flow(config_entry: ConfigEntry) -> SchemaOptionsFlowHandler: ...
41
40
  credentials: Incomplete
41
+ all_identifiers: Incomplete
42
42
  def __init__(self) -> None: ...
43
43
  @property
44
44
  def device_identifier(self) -> str | None: ...
@@ -20,6 +20,7 @@ class ApSystemsMaxOutputNumber(ApSystemsEntity, NumberEntity):
20
20
  _attr_native_max_value: Incomplete
21
21
  _attr_native_min_value: Incomplete
22
22
  def __init__(self, data: ApSystemsData) -> None: ...
23
+ _attr_available: bool
23
24
  _attr_native_value: Incomplete
24
25
  async def async_update(self) -> None: ...
25
26
  async def async_set_native_value(self, value: float) -> None: ...
@@ -2,6 +2,7 @@ from .coordinator import AutarcoDataUpdateCoordinator as AutarcoDataUpdateCoordi
2
2
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
3
  from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD, Platform as Platform
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
5
6
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
6
7
 
7
8
  PLATFORMS: list[Platform]