homeassistant-stubs 2024.12.5__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.5.dist-info → homeassistant_stubs-2025.1.0.dist-info}/METADATA +2 -2
  583. {homeassistant_stubs-2024.12.5.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.5.dist-info → homeassistant_stubs-2025.1.0.dist-info}/WHEEL +0 -0
  590. {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,7 @@
1
1
  from . import DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
2
  from _typeshed import Incomplete
3
- from collections.abc import Callable as Callable, Mapping
3
+ from collections import deque
4
+ from collections.abc import Callable, Mapping
4
5
  from datetime import datetime, timedelta
5
6
  from homeassistant.components.recorder import get_instance as get_instance, history as history
6
7
  from homeassistant.components.sensor import DEVICE_CLASS_STATE_CLASSES as DEVICE_CLASS_STATE_CLASSES, DEVICE_CLASS_UNITS as DEVICE_CLASS_UNITS, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
@@ -11,7 +12,7 @@ from homeassistant.helpers.device import async_device_info_to_link_from_entity a
11
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
13
  from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time, async_track_state_change_event as async_track_state_change_event, async_track_state_report_event as async_track_state_report_event
13
14
  from homeassistant.helpers.reload import async_setup_reload_service as async_setup_reload_service
14
- from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, StateType as StateType
15
+ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
15
16
  from homeassistant.util.enum import try_parse_enum as try_parse_enum
16
17
  from typing import Any
17
18
 
@@ -48,6 +49,44 @@ STAT_TOTAL: str
48
49
  STAT_VALUE_MAX: str
49
50
  STAT_VALUE_MIN: str
50
51
  STAT_VARIANCE: str
52
+
53
+ def _callable_characteristic_fn(characteristic: str, binary: bool) -> Callable[[deque[bool | float], deque[float], int], float | int | datetime | None]: ...
54
+ def _stat_average_linear(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
55
+ def _stat_average_step(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
56
+ def _stat_average_timeless(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
57
+ def _stat_change(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
58
+ def _stat_change_sample(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
59
+ def _stat_change_second(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
60
+ def _stat_count(states: deque[bool | float], ages: deque[float], percentile: int) -> int | None: ...
61
+ def _stat_datetime_newest(states: deque[bool | float], ages: deque[float], percentile: int) -> datetime | None: ...
62
+ def _stat_datetime_oldest(states: deque[bool | float], ages: deque[float], percentile: int) -> datetime | None: ...
63
+ def _stat_datetime_value_max(states: deque[bool | float], ages: deque[float], percentile: int) -> datetime | None: ...
64
+ def _stat_datetime_value_min(states: deque[bool | float], ages: deque[float], percentile: int) -> datetime | None: ...
65
+ def _stat_distance_95_percent_of_values(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
66
+ def _stat_distance_99_percent_of_values(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
67
+ def _stat_distance_absolute(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
68
+ def _stat_mean(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
69
+ def _stat_mean_circular(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
70
+ def _stat_median(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
71
+ def _stat_noisiness(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
72
+ def _stat_percentile(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
73
+ def _stat_standard_deviation(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
74
+ def _stat_sum(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
75
+ def _stat_sum_differences(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
76
+ def _stat_sum_differences_nonnegative(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
77
+ def _stat_total(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
78
+ def _stat_value_max(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
79
+ def _stat_value_min(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
80
+ def _stat_variance(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
81
+ def _stat_binary_average_step(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
82
+ def _stat_binary_average_timeless(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
83
+ def _stat_binary_count(states: deque[bool | float], ages: deque[float], percentile: int) -> int | None: ...
84
+ def _stat_binary_count_on(states: deque[bool | float], ages: deque[float], percentile: int) -> int | None: ...
85
+ def _stat_binary_count_off(states: deque[bool | float], ages: deque[float], percentile: int) -> int | None: ...
86
+ def _stat_binary_datetime_newest(states: deque[bool | float], ages: deque[float], percentile: int) -> datetime | None: ...
87
+ def _stat_binary_datetime_oldest(states: deque[bool | float], ages: deque[float], percentile: int) -> datetime | None: ...
88
+ def _stat_binary_mean(states: deque[bool | float], ages: deque[float], percentile: int) -> float | None: ...
89
+
51
90
  STATS_NUMERIC_SUPPORT: Incomplete
52
91
  STATS_BINARY_SUPPORT: Incomplete
53
92
  STATS_NOT_A_NUMBER: Incomplete
@@ -110,8 +149,8 @@ class StatisticsSensor(SensorEntity):
110
149
  def _calculate_unit_of_measurement(self, new_state: State) -> str | None: ...
111
150
  def _calculate_device_class(self, new_state: State, unit: str | None) -> SensorDeviceClass | None: ...
112
151
  def _calculate_state_class(self, new_state: State) -> SensorStateClass | None: ...
113
- def _purge_old_states(self, max_age: timedelta) -> None: ...
114
- def _async_next_to_purge_timestamp(self) -> datetime | None: ...
152
+ def _purge_old_states(self, max_age: float) -> None: ...
153
+ def _async_next_to_purge_timestamp(self) -> float | None: ...
115
154
  async def async_update(self) -> None: ...
116
155
  def _async_purge_update_and_schedule(self) -> None: ...
117
156
  def _async_cancel_update_listener(self) -> None: ...
@@ -121,39 +160,3 @@ class StatisticsSensor(SensorEntity):
121
160
  def _update_extra_state_attributes(self) -> None: ...
122
161
  _attr_native_value: Incomplete
123
162
  def _update_value(self) -> None: ...
124
- def _callable_characteristic_fn(self, characteristic: str) -> Callable[[], float | int | datetime | None]: ...
125
- def _stat_average_linear(self) -> StateType: ...
126
- def _stat_average_step(self) -> StateType: ...
127
- def _stat_average_timeless(self) -> StateType: ...
128
- def _stat_change(self) -> StateType: ...
129
- def _stat_change_sample(self) -> StateType: ...
130
- def _stat_change_second(self) -> StateType: ...
131
- def _stat_count(self) -> StateType: ...
132
- def _stat_datetime_newest(self) -> datetime | None: ...
133
- def _stat_datetime_oldest(self) -> datetime | None: ...
134
- def _stat_datetime_value_max(self) -> datetime | None: ...
135
- def _stat_datetime_value_min(self) -> datetime | None: ...
136
- def _stat_distance_95_percent_of_values(self) -> StateType: ...
137
- def _stat_distance_99_percent_of_values(self) -> StateType: ...
138
- def _stat_distance_absolute(self) -> StateType: ...
139
- def _stat_mean(self) -> StateType: ...
140
- def _stat_mean_circular(self) -> StateType: ...
141
- def _stat_median(self) -> StateType: ...
142
- def _stat_noisiness(self) -> StateType: ...
143
- def _stat_percentile(self) -> StateType: ...
144
- def _stat_standard_deviation(self) -> StateType: ...
145
- def _stat_sum(self) -> StateType: ...
146
- def _stat_sum_differences(self) -> StateType: ...
147
- def _stat_sum_differences_nonnegative(self) -> StateType: ...
148
- def _stat_total(self) -> StateType: ...
149
- def _stat_value_max(self) -> StateType: ...
150
- def _stat_value_min(self) -> StateType: ...
151
- def _stat_variance(self) -> StateType: ...
152
- def _stat_binary_average_step(self) -> StateType: ...
153
- def _stat_binary_average_timeless(self) -> StateType: ...
154
- def _stat_binary_count(self) -> StateType: ...
155
- def _stat_binary_count_on(self) -> StateType: ...
156
- def _stat_binary_count_off(self) -> StateType: ...
157
- def _stat_binary_datetime_newest(self) -> datetime | None: ...
158
- def _stat_binary_datetime_oldest(self) -> datetime | None: ...
159
- def _stat_binary_mean(self) -> StateType: ...
@@ -2,12 +2,25 @@ from .const import ATTR_SETTINGS as ATTR_SETTINGS, CONF_EXTRA_PART_WAIT_TIME as
2
2
  from .core import Orientation as Orientation, StreamOutput, StreamSettings
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable, Mapping
5
+ from enum import IntEnum
5
6
  from homeassistant.components.camera import DynamicStreamSettings
6
7
  from homeassistant.core import HomeAssistant
8
+ from homeassistant.exceptions import HomeAssistantError
7
9
  from typing import Any
8
10
 
9
11
  __all__ = ['ATTR_SETTINGS', 'CONF_EXTRA_PART_WAIT_TIME', 'CONF_RTSP_TRANSPORT', 'CONF_USE_WALLCLOCK_AS_TIMESTAMPS', 'DOMAIN', 'FORMAT_CONTENT_TYPE', 'HLS_PROVIDER', 'OUTPUT_FORMATS', 'RTSP_TRANSPORTS', 'SOURCE_TIMEOUT', 'Stream', 'create_stream', 'Orientation']
10
12
 
13
+ class StreamClientError(IntEnum):
14
+ BadRequest = 400
15
+ Unauthorized = 401
16
+ Forbidden = 403
17
+ NotFound = 404
18
+ Other = 4
19
+
20
+ class StreamOpenClientError(HomeAssistantError):
21
+ stream_client_error: Incomplete
22
+ def __init__(self, *args: Any, stream_client_error: StreamClientError, **kwargs: Any) -> None: ...
23
+
11
24
  def create_stream(hass: HomeAssistant, stream_source: str, options: Mapping[str, str | bool | float], dynamic_stream_settings: DynamicStreamSettings, stream_label: str | None = None) -> Stream: ...
12
25
 
13
26
  class Stream:
@@ -1,10 +1,8 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import SuezWaterCoordinator as SuezWaterCoordinator
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
1
+ from .coordinator import SuezWaterConfigEntry as SuezWaterConfigEntry, SuezWaterCoordinator as SuezWaterCoordinator
4
2
  from homeassistant.const import Platform as Platform
5
3
  from homeassistant.core import HomeAssistant as HomeAssistant
6
4
 
7
5
  PLATFORMS: list[Platform]
8
6
 
9
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
10
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
7
+ async def async_setup_entry(hass: HomeAssistant, entry: SuezWaterConfigEntry) -> bool: ...
8
+ async def async_unload_entry(hass: HomeAssistant, entry: SuezWaterConfigEntry) -> bool: ...
@@ -1,35 +1,33 @@
1
1
  from .const import CONF_COUNTER_ID as CONF_COUNTER_ID, DATA_REFRESH_INTERVAL as DATA_REFRESH_INTERVAL, DOMAIN as DOMAIN
2
- from collections.abc import Mapping
3
2
  from dataclasses import dataclass
4
- from datetime import date
5
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
4
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
7
5
  from homeassistant.core import HomeAssistant as HomeAssistant, _LOGGER as _LOGGER
8
6
  from homeassistant.exceptions import ConfigEntryError as ConfigEntryError
9
7
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
10
8
  from pysuez import SuezClient
11
- from typing import Any
12
9
 
13
10
  @dataclass
14
11
  class SuezWaterAggregatedAttributes:
15
- this_month_consumption: dict[date, float]
16
- previous_month_consumption: dict[date, float]
12
+ this_month_consumption: dict[str, float]
13
+ previous_month_consumption: dict[str, float]
17
14
  last_year_overall: dict[str, float]
18
15
  this_year_overall: dict[str, float]
19
- history: dict[date, float]
16
+ history: dict[str, float]
20
17
  highest_monthly_consumption: float
21
18
  def __init__(self, this_month_consumption, previous_month_consumption, last_year_overall, this_year_overall, history, highest_monthly_consumption) -> None: ...
22
19
 
23
20
  @dataclass
24
21
  class SuezWaterData:
25
22
  aggregated_value: float
26
- aggregated_attr: Mapping[str, Any]
23
+ aggregated_attr: SuezWaterAggregatedAttributes
27
24
  price: float
28
25
  def __init__(self, aggregated_value, aggregated_attr, price) -> None: ...
26
+ type SuezWaterConfigEntry = ConfigEntry[SuezWaterCoordinator]
29
27
 
30
28
  class SuezWaterCoordinator(DataUpdateCoordinator[SuezWaterData]):
31
29
  _suez_client: SuezClient
32
- config_entry: ConfigEntry
33
- def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
30
+ config_entry: SuezWaterConfigEntry
31
+ def __init__(self, hass: HomeAssistant, config_entry: SuezWaterConfigEntry) -> None: ...
34
32
  async def _async_setup(self) -> None: ...
35
33
  async def _async_update_data(self) -> SuezWaterData: ...
@@ -1,10 +1,9 @@
1
1
  from .const import CONF_COUNTER_ID as CONF_COUNTER_ID, DOMAIN as DOMAIN
2
- from .coordinator import SuezWaterCoordinator as SuezWaterCoordinator, SuezWaterData as SuezWaterData
2
+ from .coordinator import SuezWaterConfigEntry as SuezWaterConfigEntry, SuezWaterCoordinator as SuezWaterCoordinator, SuezWaterData as SuezWaterData
3
3
  from _typeshed import Incomplete
4
- from collections.abc import Callable as Callable, Mapping
4
+ from collections.abc import Callable as Callable
5
5
  from dataclasses import dataclass
6
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
7
  from homeassistant.const import CURRENCY_EURO as CURRENCY_EURO, UnitOfVolume as UnitOfVolume
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
@@ -16,12 +15,12 @@ from typing import Any
16
15
  @dataclass(frozen=True, kw_only=True)
17
16
  class SuezWaterSensorEntityDescription(SensorEntityDescription):
18
17
  value_fn: Callable[[SuezWaterData], float | str | None]
19
- attr_fn: Callable[[SuezWaterData], Mapping[str, Any] | None] = ...
18
+ attr_fn: Callable[[SuezWaterData], dict[str, Any] | None] = ...
20
19
  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, attr_fn=...) -> None: ...
21
20
 
22
21
  SENSORS: tuple[SuezWaterSensorEntityDescription, ...]
23
22
 
24
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
23
+ async def async_setup_entry(hass: HomeAssistant, entry: SuezWaterConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
25
24
 
26
25
  class SuezWaterSensor(CoordinatorEntity[SuezWaterCoordinator], SensorEntity):
27
26
  _attr_has_entity_name: bool
@@ -33,4 +32,4 @@ class SuezWaterSensor(CoordinatorEntity[SuezWaterCoordinator], SensorEntity):
33
32
  @property
34
33
  def native_value(self) -> float | str | None: ...
35
34
  @property
36
- def extra_state_attributes(self) -> Mapping[str, Any] | None: ...
35
+ def extra_state_attributes(self) -> dict[str, Any] | None: ...
@@ -4,9 +4,11 @@ from _typeshed import Incomplete
4
4
  from homeassistant.config_entries import SOURCE_IMPORT as SOURCE_IMPORT
5
5
  from homeassistant.const import Platform as Platform
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
7
8
  from homeassistant.helpers.typing import ConfigType as ConfigType
8
9
 
9
10
  CONFIG_SCHEMA: Incomplete
11
+ _LOGGER: Incomplete
10
12
 
11
13
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
12
14
  async def async_setup_entry(hass: HomeAssistant, entry: SunConfigEntry) -> bool: ...
@@ -35,7 +35,6 @@ class Sun(Entity):
35
35
  _unrecorded_attributes: Incomplete
36
36
  _attr_name: str
37
37
  entity_id = ENTITY_ID
38
- _no_platform_reported: bool
39
38
  location: Location
40
39
  elevation: Elevation
41
40
  next_rising: datetime
@@ -50,11 +49,11 @@ class Sun(Entity):
50
49
  _next_change: datetime
51
50
  hass: Incomplete
52
51
  phase: Incomplete
53
- _state_info: Incomplete
54
52
  _config_listener: Incomplete
55
53
  _update_events_listener: Incomplete
56
54
  _update_sun_position_listener: Incomplete
57
55
  def __init__(self, hass: HomeAssistant) -> None: ...
56
+ async def async_added_to_hass(self) -> None: ...
58
57
  def update_location(self, _: Event | None = None, initial: bool = False) -> None: ...
59
58
  def remove_listeners(self) -> None: ...
60
59
  @property
@@ -4,7 +4,6 @@ from enum import StrEnum
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_ON as STATE_ON
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
- 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
8
7
  from homeassistant.helpers.entity import ToggleEntity as ToggleEntity, ToggleEntityDescription as ToggleEntityDescription
9
8
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
10
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
@@ -25,8 +24,6 @@ class SwitchDeviceClass(StrEnum):
25
24
 
26
25
  DEVICE_CLASSES_SCHEMA: Incomplete
27
26
  DEVICE_CLASSES: Incomplete
28
- _DEPRECATED_DEVICE_CLASS_OUTLET: Incomplete
29
- _DEPRECATED_DEVICE_CLASS_SWITCH: Incomplete
30
27
 
31
28
  def is_on(hass: HomeAssistant, entity_id: str) -> bool: ...
32
29
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
@@ -44,7 +41,3 @@ class SwitchEntity(ToggleEntity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_)
44
41
  entity_description: SwitchEntityDescription
45
42
  _attr_device_class: SwitchDeviceClass | None
46
43
  def device_class(self) -> SwitchDeviceClass | None: ...
47
-
48
- __getattr__: Incomplete
49
- __dir__: Incomplete
50
- __all__: Incomplete
@@ -11,7 +11,6 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
11
11
 
12
12
  class FanSwitch(BaseToggleEntity, FanEntity):
13
13
  _attr_supported_features: Incomplete
14
- _enable_turn_on_off_backwards_compatibility: bool
15
14
  @property
16
15
  def is_on(self) -> bool | None: ...
17
16
  async def async_turn_on(self, percentage: int | None = None, preset_mode: str | None = None, **kwargs: Any) -> None: ...
@@ -24,7 +24,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_e
24
24
  class SwitchBeeClimateEntity(SwitchBeeDeviceEntity[SwitchBeeThermostat], ClimateEntity):
25
25
  _attr_fan_modes = SUPPORTED_FAN_MODES
26
26
  _attr_target_temperature_step: int
27
- _enable_turn_on_off_backwards_compatibility: bool
28
27
  _attr_max_temp: Incomplete
29
28
  _attr_min_temp: Incomplete
30
29
  _attr_temperature_unit: Incomplete
@@ -28,7 +28,6 @@ class SwitchBotCloudAirConditioner(SwitchBotCloudEntity, ClimateEntity):
28
28
  _attr_target_temperature_step: int
29
29
  _attr_precision: int
30
30
  _attr_name: Incomplete
31
- _enable_turn_on_off_backwards_compatibility: bool
32
31
  async def _do_send_command(self, hvac_mode: HVACMode | None = None, fan_mode: str | None = None, temperature: float | None = None) -> None: ...
33
32
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
34
33
  async def async_set_fan_mode(self, fan_mode: str) -> None: ...
@@ -5,7 +5,7 @@ from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
- from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, PERCENTAGE as PERCENTAGE, UnitOfTemperature as UnitOfTemperature
8
+ from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, PERCENTAGE as PERCENTAGE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from switchbot_api import Device as Device, SwitchBotAPI as SwitchBotAPI
@@ -14,8 +14,17 @@ SENSOR_TYPE_TEMPERATURE: str
14
14
  SENSOR_TYPE_HUMIDITY: str
15
15
  SENSOR_TYPE_BATTERY: str
16
16
  SENSOR_TYPE_CO2: str
17
- METER_PLUS_SENSOR_DESCRIPTIONS: Incomplete
18
- METER_PRO_CO2_SENSOR_DESCRIPTIONS: Incomplete
17
+ SENSOR_TYPE_POWER: str
18
+ SENSOR_TYPE_VOLTAGE: str
19
+ SENSOR_TYPE_CURRENT: str
20
+ TEMPERATURE_DESCRIPTION: Incomplete
21
+ HUMIDITY_DESCRIPTION: Incomplete
22
+ BATTERY_DESCRIPTION: Incomplete
23
+ POWER_DESCRIPTION: Incomplete
24
+ VOLATGE_DESCRIPTION: Incomplete
25
+ CURRENT_DESCRIPTION: Incomplete
26
+ CO2_DESCRIPTION: Incomplete
27
+ SENSOR_DESCRIPTIONS_BY_DEVICE_TYPES: Incomplete
19
28
 
20
29
  async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
30
 
@@ -26,4 +26,8 @@ class SwitchBotCloudRemoteSwitch(SwitchBotCloudSwitch):
26
26
  class SwitchBotCloudPlugSwitch(SwitchBotCloudSwitch):
27
27
  _attr_device_class: Incomplete
28
28
 
29
+ class SwitchBotCloudRelaySwitchSwitch(SwitchBotCloudSwitch):
30
+ _attr_is_on: Incomplete
31
+ def _handle_coordinator_update(self) -> None: ...
32
+
29
33
  def _async_make_entity(api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator) -> SwitchBotCloudSwitch: ...
@@ -3,7 +3,7 @@ from .const import DOMAIN as DOMAIN, VACUUM_FAN_SPEED_MAX as VACUUM_FAN_SPEED_MA
3
3
  from .coordinator import SwitchBotCoordinator as SwitchBotCoordinator
4
4
  from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
5
5
  from _typeshed import Incomplete
6
- from homeassistant.components.vacuum import STATE_CLEANING as STATE_CLEANING, STATE_DOCKED as STATE_DOCKED, STATE_ERROR as STATE_ERROR, STATE_IDLE as STATE_IDLE, STATE_PAUSED as STATE_PAUSED, STATE_RETURNING as STATE_RETURNING, StateVacuumEntity as StateVacuumEntity, VacuumEntityFeature as VacuumEntityFeature
6
+ from homeassistant.components.vacuum import StateVacuumEntity as StateVacuumEntity, VacuumActivity as VacuumActivity, VacuumEntityFeature as VacuumEntityFeature
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -12,7 +12,7 @@ from typing import Any
12
12
 
13
13
  async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
14
 
15
- VACUUM_SWITCHBOT_STATE_TO_HA_STATE: dict[str, str]
15
+ VACUUM_SWITCHBOT_STATE_TO_HA_STATE: dict[str, VacuumActivity]
16
16
  VACUUM_FAN_SPEED_TO_SWITCHBOT_FAN_SPEED: dict[str, str]
17
17
 
18
18
  class SwitchBotCloudVacuum(SwitchBotCloudEntity, StateVacuumEntity):
@@ -26,7 +26,7 @@ class SwitchBotCloudVacuum(SwitchBotCloudEntity, StateVacuumEntity):
26
26
  async def async_start(self) -> None: ...
27
27
  _attr_battery_level: Incomplete
28
28
  _attr_available: Incomplete
29
- _attr_state: Incomplete
29
+ _attr_activity: Incomplete
30
30
  def _handle_coordinator_update(self) -> None: ...
31
31
 
32
32
  def _async_make_entity(api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator) -> SwitchBotCloudVacuum: ...
@@ -4,7 +4,6 @@ from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoor
4
4
  from .entity import SwitcherEntity as SwitcherEntity
5
5
  from .utils import get_breeze_remote_manager as get_breeze_remote_manager
6
6
  from _typeshed import Incomplete
7
- from aioswitcher.api import SwitcherBaseResponse as SwitcherBaseResponse
8
7
  from aioswitcher.api.remotes import SwitcherBreezeRemote as SwitcherBreezeRemote
9
8
  from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, HVACMode as HVACMode, SWING_OFF as SWING_OFF, SWING_VERTICAL as SWING_VERTICAL
10
9
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
@@ -14,6 +13,7 @@ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_d
14
13
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
15
14
  from typing import Any
16
15
 
16
+ API_CONTROL_BREEZE_DEVICE: str
17
17
  DEVICE_MODE_TO_HA: Incomplete
18
18
  HA_TO_DEVICE_MODE: Incomplete
19
19
  DEVICE_FAN_TO_HA: Incomplete
@@ -23,7 +23,6 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: SwitcherConfigEnt
23
23
 
24
24
  class SwitcherClimateEntity(SwitcherEntity, ClimateEntity):
25
25
  _attr_name: Incomplete
26
- _enable_turn_on_off_backwards_compatibility: bool
27
26
  _remote: Incomplete
28
27
  _attr_unique_id: Incomplete
29
28
  _attr_min_temp: Incomplete
@@ -2,16 +2,13 @@ from .const import SIGNAL_DEVICE_ADD as SIGNAL_DEVICE_ADD
2
2
  from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoordinator
3
3
  from .entity import SwitcherEntity as SwitcherEntity
4
4
  from _typeshed import Incomplete
5
- from aioswitcher.api import SwitcherBaseResponse as SwitcherBaseResponse
6
5
  from homeassistant.components.cover import ATTR_POSITION as ATTR_POSITION, CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
7
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
8
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
11
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
10
  from typing import Any
13
11
 
14
- _LOGGER: Incomplete
15
12
  API_SET_POSITON: str
16
13
  API_STOP: str
17
14
 
@@ -27,7 +24,6 @@ class SwitcherBaseCoverEntity(SwitcherEntity, CoverEntity):
27
24
  _attr_is_closing: Incomplete
28
25
  _attr_is_opening: Incomplete
29
26
  def _update_data(self) -> None: ...
30
- async def _async_call_api(self, api: str, *args: Any) -> None: ...
31
27
  async def async_close_cover(self, **kwargs: Any) -> None: ...
32
28
  async def async_open_cover(self, **kwargs: Any) -> None: ...
33
29
  async def async_set_cover_position(self, **kwargs: Any) -> None: ...
@@ -1,9 +1,15 @@
1
1
  from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoordinator
2
2
  from _typeshed import Incomplete
3
+ from aioswitcher.api.messages import SwitcherBaseResponse as SwitcherBaseResponse
4
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
3
5
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
4
6
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
+ from typing import Any
8
+
9
+ _LOGGER: Incomplete
5
10
 
6
11
  class SwitcherEntity(CoordinatorEntity[SwitcherDataUpdateCoordinator]):
7
12
  _attr_has_entity_name: bool
8
13
  _attr_device_info: Incomplete
9
14
  def __init__(self, coordinator: SwitcherDataUpdateCoordinator) -> None: ...
15
+ async def _async_call_api(self, api: str, *args: Any, **kwargs: Any) -> None: ...
@@ -2,16 +2,13 @@ from .const import SIGNAL_DEVICE_ADD as SIGNAL_DEVICE_ADD
2
2
  from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoordinator
3
3
  from .entity import SwitcherEntity as SwitcherEntity
4
4
  from _typeshed import Incomplete
5
- from aioswitcher.api import SwitcherBaseResponse as SwitcherBaseResponse
6
5
  from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
7
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
8
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
11
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
10
  from typing import Any
13
11
 
14
- _LOGGER: Incomplete
15
12
  API_SET_LIGHT: str
16
13
 
17
14
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -24,7 +21,6 @@ class SwitcherBaseLightEntity(SwitcherEntity, LightEntity):
24
21
  def _handle_coordinator_update(self) -> None: ...
25
22
  @property
26
23
  def is_on(self) -> bool: ...
27
- async def _async_call_api(self, api: str, *args: Any) -> None: ...
28
24
  async def async_turn_on(self, **kwargs: Any) -> None: ...
29
25
  async def async_turn_off(self, **kwargs: Any) -> None: ...
30
26
 
@@ -2,7 +2,6 @@ from .const import CONF_AUTO_OFF as CONF_AUTO_OFF, CONF_TIMER_MINUTES as CONF_TI
2
2
  from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoordinator
3
3
  from .entity import SwitcherEntity as SwitcherEntity
4
4
  from _typeshed import Incomplete
5
- from aioswitcher.api import SwitcherBaseResponse as SwitcherBaseResponse
6
5
  from datetime import timedelta
7
6
  from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity
8
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -27,7 +26,6 @@ class SwitcherBaseSwitchEntity(SwitcherEntity, SwitchEntity):
27
26
  _attr_unique_id: Incomplete
28
27
  def __init__(self, coordinator: SwitcherDataUpdateCoordinator) -> None: ...
29
28
  def _handle_coordinator_update(self) -> None: ...
30
- async def _async_call_api(self, api: str, *args: Any) -> None: ...
31
29
  @property
32
30
  def is_on(self) -> bool: ...
33
31
  async def async_turn_on(self, **kwargs: Any) -> None: ...
@@ -1,12 +1,10 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from .coordinator import TailwindDataUpdateCoordinator as TailwindDataUpdateCoordinator
3
- from .typing import TailwindConfigEntry as TailwindConfigEntry
2
+ from .coordinator import TailwindConfigEntry as TailwindConfigEntry, TailwindDataUpdateCoordinator as TailwindDataUpdateCoordinator
4
3
  from _typeshed import Incomplete
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
4
  from homeassistant.const import Platform as Platform
7
5
  from homeassistant.core import HomeAssistant as HomeAssistant
8
6
 
9
7
  PLATFORMS: Incomplete
10
8
 
11
9
  async def async_setup_entry(hass: HomeAssistant, entry: TailwindConfigEntry) -> bool: ...
12
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
10
+ async def async_unload_entry(hass: HomeAssistant, entry: TailwindConfigEntry) -> bool: ...
@@ -1,5 +1,5 @@
1
+ from .coordinator import TailwindConfigEntry as TailwindConfigEntry
1
2
  from .entity import TailwindDoorEntity as TailwindDoorEntity
2
- from .typing import TailwindConfigEntry as TailwindConfigEntry
3
3
  from collections.abc import Callable as Callable
4
4
  from dataclasses import dataclass
5
5
  from gotailwind import TailwindDoor as TailwindDoor
@@ -1,6 +1,6 @@
1
1
  from .const import DOMAIN as DOMAIN
2
+ from .coordinator import TailwindConfigEntry as TailwindConfigEntry
2
3
  from .entity import TailwindEntity as TailwindEntity
3
- from .typing import TailwindConfigEntry as TailwindConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Awaitable, Callable as Callable
6
6
  from dataclasses import dataclass
@@ -8,7 +8,8 @@ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFai
8
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
9
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
10
10
 
11
+ type TailwindConfigEntry = ConfigEntry[TailwindDataUpdateCoordinator]
11
12
  class TailwindDataUpdateCoordinator(DataUpdateCoordinator[TailwindDeviceStatus]):
12
13
  tailwind: Incomplete
13
- def __init__(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
14
+ def __init__(self, hass: HomeAssistant, entry: TailwindConfigEntry) -> None: ...
14
15
  async def _async_update_data(self) -> TailwindDeviceStatus: ...
@@ -1,6 +1,6 @@
1
1
  from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
2
+ from .coordinator import TailwindConfigEntry as TailwindConfigEntry
2
3
  from .entity import TailwindDoorEntity as TailwindDoorEntity
3
- from .typing import TailwindConfigEntry as TailwindConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.cover import CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -1,4 +1,4 @@
1
- from .typing import TailwindConfigEntry as TailwindConfigEntry
1
+ from .coordinator import TailwindConfigEntry as TailwindConfigEntry
2
2
  from homeassistant.core import HomeAssistant as HomeAssistant
3
3
  from typing import Any
4
4
 
@@ -1,6 +1,6 @@
1
1
  from .const import DOMAIN as DOMAIN
2
+ from .coordinator import TailwindConfigEntry as TailwindConfigEntry
2
3
  from .entity import TailwindEntity as TailwindEntity
3
- from .typing import TailwindConfigEntry as TailwindConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Awaitable, Callable as Callable
6
6
  from dataclasses import dataclass
@@ -4,7 +4,6 @@ from _typeshed import Incomplete
4
4
  from aiohttp.web import Request as Request, Response as Response
5
5
  from collections.abc import Awaitable, Callable as Callable
6
6
  from homeassistant.components.http import HomeAssistantView as HomeAssistantView
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
7
  from homeassistant.const import CONF_WEBHOOK_ID as CONF_WEBHOOK_ID, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  from homeassistant.helpers.network import get_url as get_url
@@ -13,6 +12,6 @@ PLATFORMS: Incomplete
13
12
  _LOGGER: Incomplete
14
13
 
15
14
  async def async_setup_entry(hass: HomeAssistant, entry: TedeeConfigEntry) -> bool: ...
16
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
15
+ async def async_unload_entry(hass: HomeAssistant, entry: TedeeConfigEntry) -> bool: ...
17
16
  def get_webhook_handler(coordinator: TedeeApiCoordinator) -> Callable[[HomeAssistant, str, Request], Awaitable[Response | None]]: ...
18
- async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
17
+ async def async_migrate_entry(hass: HomeAssistant, config_entry: TedeeConfigEntry) -> bool: ...
@@ -8,6 +8,8 @@ from homeassistant.const import EntityCategory as EntityCategory
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
10
 
11
+ PARALLEL_UPDATES: int
12
+
11
13
  @dataclass(frozen=True, kw_only=True)
12
14
  class TedeeBinarySensorEntityDescription(BinarySensorEntityDescription):
13
15
  is_on_fn: Callable[[TedeeLock], bool | None]
@@ -8,6 +8,8 @@ from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
10
 
11
+ PARALLEL_UPDATES: int
12
+
11
13
  @dataclass(frozen=True, kw_only=True)
12
14
  class TedeeSensorEntityDescription(SensorEntityDescription):
13
15
  value_fn: Callable[[TedeeLock], float | None]
@@ -10,6 +10,6 @@ ATTR_START: Final[str]
10
10
  ATTR_END: Final[str]
11
11
  SERVICE_SCHEMA: Final[Incomplete]
12
12
 
13
- async def __get_prices(call: ServiceCall, *, hass: HomeAssistant) -> ServiceResponse: ...
13
+ async def __get_prices(call: ServiceCall) -> ServiceResponse: ...
14
14
  def __get_date(date_input: str | None, mode: str | None) -> datetime: ...
15
15
  def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -24,7 +24,6 @@ class SaunaClimate(ToloSaunaCoordinatorEntity, ClimateEntity):
24
24
  _attr_supported_features: Incomplete
25
25
  _attr_target_temperature_step: int
26
26
  _attr_temperature_unit: Incomplete
27
- _enable_turn_on_off_backwards_compatibility: bool
28
27
  _attr_unique_id: Incomplete
29
28
  def __init__(self, coordinator: ToloSaunaUpdateCoordinator, entry: ConfigEntry) -> None: ...
30
29
  @property