homeassistant-stubs 2024.12.5__py3-none-any.whl → 2025.1.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (572) 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/components/abode/light.pyi +4 -3
  12. homeassistant-stubs/components/acaia/__init__.pyi +9 -0
  13. homeassistant-stubs/components/acaia/binary_sensor.pyi +24 -0
  14. homeassistant-stubs/components/acaia/button.pyi +24 -0
  15. homeassistant-stubs/components/acaia/config_flow.pyi +18 -0
  16. homeassistant-stubs/components/acaia/const.pyi +2 -0
  17. homeassistant-stubs/components/acaia/coordinator.pyi +19 -0
  18. homeassistant-stubs/components/{stookalert → acaia}/diagnostics.pyi +2 -3
  19. homeassistant-stubs/components/acaia/entity.pyi +17 -0
  20. homeassistant-stubs/components/acaia/sensor.pyi +44 -0
  21. homeassistant-stubs/components/adax/climate.pyi +0 -1
  22. homeassistant-stubs/components/airtouch5/climate.pyi +0 -1
  23. homeassistant-stubs/components/airzone/climate.pyi +0 -1
  24. homeassistant-stubs/components/airzone_cloud/climate.pyi +3 -2
  25. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -6
  26. homeassistant-stubs/components/alarm_control_panel/const.pyi +0 -14
  27. homeassistant-stubs/components/analytics_insights/config_flow.pyi +3 -2
  28. homeassistant-stubs/components/autarco/__init__.pyi +1 -0
  29. homeassistant-stubs/components/autarco/config_flow.pyi +4 -0
  30. homeassistant-stubs/components/autarco/coordinator.pyi +1 -0
  31. homeassistant-stubs/components/automation/__init__.pyi +1 -10
  32. homeassistant-stubs/components/backup/__init__.pyi +4 -11
  33. homeassistant-stubs/components/backup/agent.pyi +35 -0
  34. homeassistant-stubs/components/backup/backup.pyi +29 -0
  35. homeassistant-stubs/components/backup/config.pyi +117 -0
  36. homeassistant-stubs/components/backup/const.pyi +2 -0
  37. homeassistant-stubs/components/backup/http.pyi +3 -2
  38. homeassistant-stubs/components/backup/manager.pyi +191 -51
  39. homeassistant-stubs/components/backup/models.pyi +35 -0
  40. homeassistant-stubs/components/backup/store.pyi +24 -0
  41. homeassistant-stubs/components/backup/util.pyi +12 -0
  42. homeassistant-stubs/components/backup/websocket.pyi +9 -1
  43. homeassistant-stubs/components/baf/climate.pyi +0 -1
  44. homeassistant-stubs/components/baf/fan.pyi +0 -1
  45. homeassistant-stubs/components/baf/light.pyi +4 -5
  46. homeassistant-stubs/components/bang_olufsen/const.pyi +3 -0
  47. homeassistant-stubs/components/bang_olufsen/media_player.pyi +2 -2
  48. homeassistant-stubs/components/binary_sensor/__init__.pyi +0 -33
  49. homeassistant-stubs/components/bluesound/__init__.pyi +0 -1
  50. homeassistant-stubs/components/bluesound/media_player.pyi +13 -8
  51. homeassistant-stubs/components/bluesound/utils.pyi +2 -0
  52. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +4 -12
  53. homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +1 -0
  54. homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -0
  55. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +8 -4
  56. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +4 -3
  57. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +2 -2
  58. homeassistant-stubs/components/bmw_connected_drive/diagnostics.pyi +1 -0
  59. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -0
  60. homeassistant-stubs/components/bmw_connected_drive/notify.pyi +2 -1
  61. homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -0
  62. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -0
  63. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +1 -0
  64. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -0
  65. homeassistant-stubs/components/bryant_evolution/climate.pyi +0 -1
  66. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +4 -1
  67. homeassistant-stubs/components/cambridge_audio/media_browser.pyi +8 -0
  68. homeassistant-stubs/components/cambridge_audio/media_player.pyi +4 -3
  69. homeassistant-stubs/components/cambridge_audio/select.pyi +2 -2
  70. homeassistant-stubs/components/cambridge_audio/switch.pyi +2 -2
  71. homeassistant-stubs/components/camera/__init__.pyi +1 -5
  72. homeassistant-stubs/components/camera/const.pyi +0 -8
  73. homeassistant-stubs/components/cert_expiry/config_flow.pyi +0 -1
  74. homeassistant-stubs/components/cert_expiry/sensor.pyi +2 -10
  75. homeassistant-stubs/components/climate/__init__.pyi +1 -12
  76. homeassistant-stubs/components/climate/const.pyi +0 -25
  77. homeassistant-stubs/components/cloud/backup.pyi +36 -0
  78. homeassistant-stubs/components/cloud/const.pyi +2 -0
  79. homeassistant-stubs/components/cloud/http_api.pyi +7 -2
  80. homeassistant-stubs/components/cookidoo/__init__.pyi +9 -0
  81. homeassistant-stubs/components/cookidoo/config_flow.pyi +24 -0
  82. homeassistant-stubs/components/cookidoo/const.pyi +1 -0
  83. homeassistant-stubs/components/cookidoo/coordinator.pyi +25 -0
  84. homeassistant-stubs/components/cookidoo/entity.pyi +10 -0
  85. homeassistant-stubs/components/cookidoo/todo.pyi +32 -0
  86. homeassistant-stubs/components/cover/__init__.pyi +0 -18
  87. homeassistant-stubs/components/crownstone/config_flow.pyi +1 -1
  88. homeassistant-stubs/components/deconz/climate.pyi +0 -1
  89. homeassistant-stubs/components/deconz/fan.pyi +0 -1
  90. homeassistant-stubs/components/deconz/light.pyi +7 -5
  91. homeassistant-stubs/components/demo/climate.pyi +0 -1
  92. homeassistant-stubs/components/demo/fan.pyi +0 -1
  93. homeassistant-stubs/components/demo/light.pyi +4 -2
  94. homeassistant-stubs/components/demo/vacuum.pyi +2 -4
  95. homeassistant-stubs/components/device_tracker/__init__.pyi +1 -7
  96. homeassistant-stubs/components/device_tracker/const.pyi +0 -8
  97. homeassistant-stubs/components/devolo_home_control/__init__.pyi +1 -1
  98. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +3 -2
  99. homeassistant-stubs/components/devolo_home_control/climate.pyi +0 -1
  100. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +1 -2
  101. homeassistant-stubs/components/devolo_home_control/const.pyi +0 -2
  102. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -3
  103. homeassistant-stubs/components/discovergy/__init__.pyi +2 -2
  104. homeassistant-stubs/components/duotecno/climate.pyi +0 -1
  105. homeassistant-stubs/components/easyenergy/__init__.pyi +4 -5
  106. homeassistant-stubs/components/easyenergy/coordinator.pyi +3 -2
  107. homeassistant-stubs/components/easyenergy/diagnostics.pyi +2 -5
  108. homeassistant-stubs/components/easyenergy/sensor.pyi +2 -3
  109. homeassistant-stubs/components/easyenergy/services.pyi +4 -4
  110. homeassistant-stubs/components/ecovacs/button.pyi +13 -2
  111. homeassistant-stubs/components/ecovacs/const.pyi +1 -0
  112. homeassistant-stubs/components/ecovacs/number.pyi +1 -1
  113. homeassistant-stubs/components/ecovacs/select.pyi +2 -2
  114. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  115. homeassistant-stubs/components/ecovacs/util.pyi +1 -0
  116. homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -3
  117. homeassistant-stubs/components/eheimdigital/__init__.pyi +14 -0
  118. homeassistant-stubs/components/eheimdigital/config_flow.pyi +18 -0
  119. homeassistant-stubs/components/eheimdigital/const.pyi +8 -0
  120. homeassistant-stubs/components/eheimdigital/coordinator.pyi +25 -0
  121. homeassistant-stubs/components/eheimdigital/entity.pyi +20 -0
  122. homeassistant-stubs/components/eheimdigital/light.pyi +36 -0
  123. homeassistant-stubs/components/electrasmart/climate.pyi +0 -1
  124. homeassistant-stubs/components/elevenlabs/__init__.pyi +6 -7
  125. homeassistant-stubs/components/elevenlabs/config_flow.pyi +4 -3
  126. homeassistant-stubs/components/elevenlabs/tts.pyi +6 -3
  127. homeassistant-stubs/components/elgato/__init__.pyi +3 -5
  128. homeassistant-stubs/components/elgato/button.pyi +4 -3
  129. homeassistant-stubs/components/elgato/config_flow.pyi +1 -1
  130. homeassistant-stubs/components/elgato/coordinator.pyi +4 -3
  131. homeassistant-stubs/components/elgato/diagnostics.pyi +2 -2
  132. homeassistant-stubs/components/elgato/light.pyi +6 -7
  133. homeassistant-stubs/components/elgato/sensor.pyi +4 -3
  134. homeassistant-stubs/components/elgato/switch.pyi +4 -3
  135. homeassistant-stubs/components/elkm1/climate.pyi +0 -1
  136. homeassistant-stubs/components/emulated_hue/hue_api.pyi +1 -1
  137. homeassistant-stubs/components/energyzero/__init__.pyi +4 -5
  138. homeassistant-stubs/components/energyzero/coordinator.pyi +2 -1
  139. homeassistant-stubs/components/energyzero/diagnostics.pyi +2 -5
  140. homeassistant-stubs/components/energyzero/sensor.pyi +2 -3
  141. homeassistant-stubs/components/energyzero/services.pyi +4 -4
  142. homeassistant-stubs/components/enigma2/coordinator.pyi +1 -0
  143. homeassistant-stubs/components/enigma2/media_player.pyi +0 -1
  144. homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +2 -0
  145. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -1
  146. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +2 -2
  147. homeassistant-stubs/components/enphase_envoy/number.pyi +2 -0
  148. homeassistant-stubs/components/enphase_envoy/select.pyi +2 -0
  149. homeassistant-stubs/components/enphase_envoy/sensor.pyi +35 -1
  150. homeassistant-stubs/components/enphase_envoy/switch.pyi +2 -0
  151. homeassistant-stubs/components/esphome/climate.pyi +0 -1
  152. homeassistant-stubs/components/esphome/fan.pyi +0 -1
  153. homeassistant-stubs/components/esphome/light.pyi +0 -2
  154. homeassistant-stubs/components/evohome/climate.pyi +0 -1
  155. homeassistant-stubs/components/fan/__init__.pyi +0 -15
  156. homeassistant-stubs/components/feedreader/__init__.pyi +3 -8
  157. homeassistant-stubs/components/feedreader/config_flow.pyi +1 -6
  158. homeassistant-stubs/components/flexit_bacnet/climate.pyi +0 -1
  159. homeassistant-stubs/components/flexit_bacnet/number.pyi +3 -0
  160. homeassistant-stubs/components/flux_led/light.pyi +4 -5
  161. homeassistant-stubs/components/fritzbox/climate.pyi +0 -1
  162. homeassistant-stubs/components/fritzbox/coordinator.pyi +2 -1
  163. homeassistant-stubs/components/fritzbox/light.pyi +3 -4
  164. homeassistant-stubs/components/fritzbox_callmonitor/base.pyi +13 -2
  165. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +2 -2
  166. homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +4 -4
  167. homeassistant-stubs/components/fronius/__init__.pyi +1 -1
  168. homeassistant-stubs/components/fronius/const.pyi +3 -3
  169. homeassistant-stubs/components/fronius/coordinator.pyi +1 -1
  170. homeassistant-stubs/components/fronius/sensor.pyi +2 -1
  171. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +0 -1
  172. homeassistant-stubs/components/fyta/__init__.pyi +2 -2
  173. homeassistant-stubs/components/fyta/entity.pyi +2 -2
  174. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -4
  175. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -1
  176. homeassistant-stubs/components/generic_thermostat/const.pyi +2 -0
  177. homeassistant-stubs/components/group/fan.pyi +0 -1
  178. homeassistant-stubs/components/group/registry.pyi +1 -1
  179. homeassistant-stubs/components/history/__init__.pyi +1 -1
  180. homeassistant-stubs/components/history/helpers.pyi +1 -2
  181. homeassistant-stubs/components/history/websocket_api.pyi +1 -1
  182. homeassistant-stubs/components/holiday/__init__.pyi +2 -1
  183. homeassistant-stubs/components/holiday/calendar.pyi +4 -3
  184. homeassistant-stubs/components/holiday/config_flow.pyi +13 -3
  185. homeassistant-stubs/components/holiday/const.pyi +1 -0
  186. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +5 -3
  187. homeassistant-stubs/components/homekit/doorbell.pyi +23 -0
  188. homeassistant-stubs/components/homekit/type_cameras.pyi +4 -12
  189. homeassistant-stubs/components/homekit/type_locks.pyi +3 -2
  190. homeassistant-stubs/components/homekit/type_switches.pyi +1 -1
  191. homeassistant-stubs/components/homekit/util.pyi +1 -0
  192. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  193. homeassistant-stubs/components/humidifier/__init__.pyi +1 -8
  194. homeassistant-stubs/components/humidifier/const.pyi +0 -9
  195. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -2
  196. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +1 -0
  197. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +1 -0
  198. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +4 -4
  199. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +2 -0
  200. homeassistant-stubs/components/husqvarna_automower/diagnostics.pyi +1 -2
  201. homeassistant-stubs/components/husqvarna_automower/entity.pyi +4 -3
  202. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +1 -0
  203. homeassistant-stubs/components/idasen_desk/__init__.pyi +5 -16
  204. homeassistant-stubs/components/idasen_desk/button.pyi +7 -12
  205. homeassistant-stubs/components/idasen_desk/coordinator.pyi +2 -3
  206. homeassistant-stubs/components/idasen_desk/cover.pyi +8 -17
  207. homeassistant-stubs/components/idasen_desk/entity.pyi +12 -0
  208. homeassistant-stubs/components/idasen_desk/sensor.pyi +7 -20
  209. homeassistant-stubs/components/image_upload/media_source.pyi +14 -0
  210. homeassistant-stubs/components/imap/config_flow.pyi +3 -2
  211. homeassistant-stubs/components/imap/coordinator.pyi +5 -5
  212. homeassistant-stubs/components/imap/sensor.pyi +1 -0
  213. homeassistant-stubs/components/intent/__init__.pyi +2 -1
  214. homeassistant-stubs/components/iotty/switch.pyi +8 -6
  215. homeassistant-stubs/components/iron_os/__init__.pyi +21 -0
  216. homeassistant-stubs/components/iron_os/binary_sensor.pyi +19 -0
  217. homeassistant-stubs/components/iron_os/config_flow.pyi +15 -0
  218. homeassistant-stubs/components/iron_os/const.pyi +7 -0
  219. homeassistant-stubs/components/iron_os/coordinator.pyi +43 -0
  220. homeassistant-stubs/components/iron_os/entity.pyi +13 -0
  221. homeassistant-stubs/components/iron_os/number.pyi +62 -0
  222. homeassistant-stubs/components/iron_os/select.pyi +49 -0
  223. homeassistant-stubs/components/iron_os/sensor.pyi +46 -0
  224. homeassistant-stubs/components/iron_os/update.pyi +29 -0
  225. homeassistant-stubs/components/isy994/climate.pyi +0 -1
  226. homeassistant-stubs/components/isy994/fan.pyi +0 -1
  227. homeassistant-stubs/components/knx/climate.pyi +0 -1
  228. homeassistant-stubs/components/knx/config_flow.pyi +4 -0
  229. homeassistant-stubs/components/knx/fan.pyi +0 -1
  230. homeassistant-stubs/components/knx/services.pyi +5 -5
  231. homeassistant-stubs/components/lamarzocco/__init__.pyi +4 -5
  232. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +9 -3
  233. homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -0
  234. homeassistant-stubs/components/lamarzocco/config_flow.pyi +6 -5
  235. homeassistant-stubs/components/lamarzocco/coordinator.pyi +39 -16
  236. homeassistant-stubs/components/lamarzocco/entity.pyi +7 -3
  237. homeassistant-stubs/components/lamarzocco/number.pyi +8 -4
  238. homeassistant-stubs/components/lamarzocco/select.pyi +8 -4
  239. homeassistant-stubs/components/lamarzocco/sensor.pyi +10 -3
  240. homeassistant-stubs/components/lamarzocco/switch.pyi +1 -1
  241. homeassistant-stubs/components/lametric/notify.pyi +2 -1
  242. homeassistant-stubs/components/lametric/number.pyi +2 -1
  243. homeassistant-stubs/components/lametric/services.pyi +2 -1
  244. homeassistant-stubs/components/lametric/switch.pyi +2 -1
  245. homeassistant-stubs/components/lcn/__init__.pyi +3 -1
  246. homeassistant-stubs/components/lcn/climate.pyi +0 -1
  247. homeassistant-stubs/components/lcn/const.pyi +1 -0
  248. homeassistant-stubs/components/lcn/helpers.pyi +1 -1
  249. homeassistant-stubs/components/lcn/services.pyi +7 -4
  250. homeassistant-stubs/components/lifx/const.pyi +1 -0
  251. homeassistant-stubs/components/lifx/manager.pyi +2 -2
  252. homeassistant-stubs/components/lifx/util.pyi +2 -2
  253. homeassistant-stubs/components/light/__init__.pyi +31 -55
  254. homeassistant-stubs/components/light/const.pyi +33 -0
  255. homeassistant-stubs/components/light/device_action.pyi +2 -1
  256. homeassistant-stubs/components/light/device_condition.pyi +1 -1
  257. homeassistant-stubs/components/light/device_trigger.pyi +1 -1
  258. homeassistant-stubs/components/light/intent.pyi +2 -1
  259. homeassistant-stubs/components/light/reproduce_state.pyi +2 -1
  260. homeassistant-stubs/components/light/significant_change.pyi +1 -1
  261. homeassistant-stubs/components/litterrobot/vacuum.pyi +2 -2
  262. homeassistant-stubs/components/lock/__init__.pyi +1 -2
  263. homeassistant-stubs/components/lookin/climate.pyi +0 -1
  264. homeassistant-stubs/components/mastodon/__init__.pyi +2 -2
  265. homeassistant-stubs/components/mastodon/config_flow.pyi +1 -2
  266. homeassistant-stubs/components/mastodon/sensor.pyi +2 -0
  267. homeassistant-stubs/components/matter/climate.pyi +0 -1
  268. homeassistant-stubs/components/matter/fan.pyi +0 -1
  269. homeassistant-stubs/components/matter/light.pyi +5 -5
  270. homeassistant-stubs/components/matter/vacuum.pyi +3 -3
  271. homeassistant-stubs/components/mealie/__init__.pyi +18 -0
  272. homeassistant-stubs/components/mealie/calendar.pyi +21 -0
  273. homeassistant-stubs/components/mealie/config_flow.pyi +20 -0
  274. homeassistant-stubs/components/mealie/const.pyi +14 -0
  275. homeassistant-stubs/components/mealie/coordinator.pyi +53 -0
  276. homeassistant-stubs/components/mealie/diagnostics.pyi +5 -0
  277. homeassistant-stubs/components/mealie/entity.pyi +11 -0
  278. homeassistant-stubs/components/mealie/sensor.pyi +29 -0
  279. homeassistant-stubs/components/mealie/services.pyi +21 -0
  280. homeassistant-stubs/components/mealie/todo.pyi +36 -0
  281. homeassistant-stubs/components/mealie/utils.pyi +3 -0
  282. homeassistant-stubs/components/media_player/__init__.pyi +0 -2
  283. homeassistant-stubs/components/modbus/climate.pyi +0 -1
  284. homeassistant-stubs/components/modbus/fan.pyi +0 -1
  285. homeassistant-stubs/components/modbus/modbus.pyi +3 -3
  286. homeassistant-stubs/components/mqtt/client.pyi +1 -1
  287. homeassistant-stubs/components/mqtt/climate.pyi +0 -1
  288. homeassistant-stubs/components/mqtt/config_flow.pyi +2 -1
  289. homeassistant-stubs/components/mqtt/fan.pyi +0 -1
  290. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +5 -5
  291. homeassistant-stubs/components/mqtt/light/schema_json.pyi +4 -4
  292. homeassistant-stubs/components/mqtt/light/schema_template.pyi +4 -4
  293. homeassistant-stubs/components/mqtt/switch.pyi +1 -1
  294. homeassistant-stubs/components/mqtt/vacuum.pyi +10 -4
  295. homeassistant-stubs/components/music_assistant/__init__.pyi +4 -0
  296. homeassistant-stubs/components/music_assistant/actions.pyi +18 -0
  297. homeassistant-stubs/components/music_assistant/const.pyi +48 -0
  298. homeassistant-stubs/components/music_assistant/media_player.pyi +9 -16
  299. homeassistant-stubs/components/music_assistant/schemas.pyi +20 -0
  300. homeassistant-stubs/components/mysensors/climate.pyi +0 -1
  301. homeassistant-stubs/components/myuplink/__init__.pyi +5 -2
  302. homeassistant-stubs/components/myuplink/binary_sensor.pyi +2 -2
  303. homeassistant-stubs/components/myuplink/config_flow.pyi +4 -1
  304. homeassistant-stubs/components/myuplink/number.pyi +2 -2
  305. homeassistant-stubs/components/myuplink/select.pyi +3 -2
  306. homeassistant-stubs/components/myuplink/switch.pyi +1 -1
  307. homeassistant-stubs/components/nanoleaf/light.pyi +4 -4
  308. homeassistant-stubs/components/neato/vacuum.pyi +3 -3
  309. homeassistant-stubs/components/nest/__init__.pyi +6 -6
  310. homeassistant-stubs/components/nest/camera.pyi +2 -4
  311. homeassistant-stubs/components/nest/climate.pyi +2 -5
  312. homeassistant-stubs/components/nest/const.pyi +0 -2
  313. homeassistant-stubs/components/nest/device_info.pyi +2 -1
  314. homeassistant-stubs/components/nest/diagnostics.pyi +4 -8
  315. homeassistant-stubs/components/nest/event.pyi +2 -4
  316. homeassistant-stubs/components/nest/sensor.pyi +2 -4
  317. homeassistant-stubs/components/nest/types.pyi +11 -0
  318. homeassistant-stubs/components/netatmo/climate.pyi +0 -1
  319. homeassistant-stubs/components/netatmo/fan.pyi +0 -1
  320. homeassistant-stubs/components/nordpool/__init__.pyi +6 -0
  321. homeassistant-stubs/components/nordpool/coordinator.pyi +5 -2
  322. homeassistant-stubs/components/nordpool/entity.pyi +1 -1
  323. homeassistant-stubs/components/nordpool/sensor.pyi +10 -6
  324. homeassistant-stubs/components/nordpool/services.pyi +19 -0
  325. homeassistant-stubs/components/number/const.pyi +0 -8
  326. homeassistant-stubs/components/onkyo/config_flow.pyi +2 -0
  327. homeassistant-stubs/components/onkyo/media_player.pyi +10 -7
  328. homeassistant-stubs/components/overkiz/__init__.pyi +4 -3
  329. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +2 -4
  330. homeassistant-stubs/components/overkiz/binary_sensor.pyi +3 -4
  331. homeassistant-stubs/components/overkiz/button.pyi +4 -5
  332. homeassistant-stubs/components/overkiz/climate/__init__.pyi +3 -4
  333. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater.pyi +0 -1
  334. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +0 -1
  335. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_towel_dryer.pyi +1 -2
  336. homeassistant-stubs/components/overkiz/climate/atlantic_heat_recovery_ventilation.pyi +0 -1
  337. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_heat_pump_main_component.pyi +0 -1
  338. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_heating_zone.pyi +0 -1
  339. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control.pyi +0 -1
  340. homeassistant-stubs/components/overkiz/climate/hitachi_air_to_air_heat_pump_hlrrwifi.pyi +0 -1
  341. homeassistant-stubs/components/overkiz/climate/hitachi_air_to_air_heat_pump_ovp.pyi +0 -1
  342. homeassistant-stubs/components/overkiz/climate/hitachi_air_to_water_heating_zone.pyi +34 -0
  343. homeassistant-stubs/components/overkiz/climate/somfy_heating_temperature_interface.pyi +0 -1
  344. homeassistant-stubs/components/overkiz/climate/somfy_thermostat.pyi +0 -1
  345. homeassistant-stubs/components/overkiz/climate/valve_heating_temperature_interface.pyi +0 -1
  346. homeassistant-stubs/components/overkiz/cover/__init__.pyi +2 -4
  347. homeassistant-stubs/components/overkiz/diagnostics.pyi +4 -5
  348. homeassistant-stubs/components/overkiz/light.pyi +2 -4
  349. homeassistant-stubs/components/overkiz/lock.pyi +2 -4
  350. homeassistant-stubs/components/overkiz/number.pyi +3 -4
  351. homeassistant-stubs/components/overkiz/scene.pyi +2 -4
  352. homeassistant-stubs/components/overkiz/select.pyi +3 -4
  353. homeassistant-stubs/components/overkiz/sensor.pyi +2 -3
  354. homeassistant-stubs/components/overkiz/siren.pyi +2 -4
  355. homeassistant-stubs/components/overkiz/switch.pyi +2 -4
  356. homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +2 -4
  357. homeassistant-stubs/components/peblar/__init__.pyi +11 -0
  358. homeassistant-stubs/components/peblar/binary_sensor.pyi +25 -0
  359. homeassistant-stubs/components/peblar/button.pyi +27 -0
  360. homeassistant-stubs/components/peblar/config_flow.pyi +18 -0
  361. homeassistant-stubs/components/peblar/const.pyi +7 -0
  362. homeassistant-stubs/components/peblar/coordinator.pyi +50 -0
  363. homeassistant-stubs/components/peblar/diagnostics.pyi +5 -0
  364. homeassistant-stubs/components/peblar/entity.pyi +15 -0
  365. homeassistant-stubs/components/peblar/helpers.pyi +7 -0
  366. homeassistant-stubs/components/peblar/number.pyi +33 -0
  367. homeassistant-stubs/components/peblar/select.pyi +30 -0
  368. homeassistant-stubs/components/peblar/sensor.pyi +29 -0
  369. homeassistant-stubs/components/peblar/switch.pyi +32 -0
  370. homeassistant-stubs/components/peblar/update.pyi +26 -0
  371. homeassistant-stubs/components/plugwise/binary_sensor.pyi +1 -0
  372. homeassistant-stubs/components/plugwise/button.pyi +2 -0
  373. homeassistant-stubs/components/plugwise/climate.pyi +3 -4
  374. homeassistant-stubs/components/plugwise/config_flow.pyi +7 -1
  375. homeassistant-stubs/components/plugwise/entity.pyi +0 -1
  376. homeassistant-stubs/components/plugwise/number.pyi +2 -0
  377. homeassistant-stubs/components/plugwise/select.pyi +2 -0
  378. homeassistant-stubs/components/plugwise/sensor.pyi +2 -0
  379. homeassistant-stubs/components/plugwise/switch.pyi +2 -0
  380. homeassistant-stubs/components/plugwise/util.pyi +1 -0
  381. homeassistant-stubs/components/powerfox/__init__.pyi +12 -0
  382. homeassistant-stubs/components/powerfox/config_flow.pyi +16 -0
  383. homeassistant-stubs/components/{stookalert → powerfox}/const.pyi +1 -2
  384. homeassistant-stubs/components/powerfox/coordinator.pyi +14 -0
  385. homeassistant-stubs/components/powerfox/diagnostics.pyi +5 -0
  386. homeassistant-stubs/components/powerfox/entity.pyi +11 -0
  387. homeassistant-stubs/components/powerfox/sensor.pyi +28 -0
  388. homeassistant-stubs/components/powerwall/sensor.pyi +3 -5
  389. homeassistant-stubs/components/rabbitair/fan.pyi +0 -1
  390. homeassistant-stubs/components/recorder/db_schema.pyi +19 -4
  391. homeassistant-stubs/components/recorder/history/legacy.pyi +4 -4
  392. homeassistant-stubs/components/recorder/history/modern.pyi +5 -5
  393. homeassistant-stubs/components/recorder/migration.pyi +29 -19
  394. homeassistant-stubs/components/recorder/models/state.pyi +3 -0
  395. homeassistant-stubs/components/recorder/queries.pyi +3 -4
  396. homeassistant-stubs/components/recorder/statistics.pyi +2 -2
  397. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +0 -1
  398. homeassistant-stubs/components/recorder/table_managers/recorder_runs.pyi +1 -12
  399. homeassistant-stubs/components/recorder/table_managers/states.pyi +7 -0
  400. homeassistant-stubs/components/remote/__init__.pyi +0 -10
  401. homeassistant-stubs/components/renault/binary_sensor.pyi +2 -0
  402. homeassistant-stubs/components/renault/button.pyi +2 -0
  403. homeassistant-stubs/components/renault/coordinator.pyi +2 -1
  404. homeassistant-stubs/components/renault/device_tracker.pyi +2 -0
  405. homeassistant-stubs/components/renault/select.pyi +2 -0
  406. homeassistant-stubs/components/renault/sensor.pyi +2 -0
  407. homeassistant-stubs/components/reolink/button.pyi +1 -2
  408. homeassistant-stubs/components/reolink/camera.pyi +1 -2
  409. homeassistant-stubs/components/reolink/light.pyi +1 -2
  410. homeassistant-stubs/components/reolink/number.pyi +1 -2
  411. homeassistant-stubs/components/reolink/select.pyi +1 -2
  412. homeassistant-stubs/components/reolink/services.pyi +2 -2
  413. homeassistant-stubs/components/reolink/siren.pyi +1 -2
  414. homeassistant-stubs/components/reolink/switch.pyi +1 -2
  415. homeassistant-stubs/components/reolink/update.pyi +1 -0
  416. homeassistant-stubs/components/reolink/util.pyi +7 -0
  417. homeassistant-stubs/components/roborock/vacuum.pyi +2 -2
  418. homeassistant-stubs/components/roku/__init__.pyi +5 -4
  419. homeassistant-stubs/components/roku/binary_sensor.pyi +4 -3
  420. homeassistant-stubs/components/roku/config_flow.pyi +5 -3
  421. homeassistant-stubs/components/roku/diagnostics.pyi +2 -4
  422. homeassistant-stubs/components/roku/media_player.pyi +4 -3
  423. homeassistant-stubs/components/roku/remote.pyi +4 -4
  424. homeassistant-stubs/components/roku/select.pyi +4 -4
  425. homeassistant-stubs/components/roku/sensor.pyi +4 -4
  426. homeassistant-stubs/components/romy/vacuum.pyi +2 -2
  427. homeassistant-stubs/components/russound_rio/__init__.pyi +14 -0
  428. homeassistant-stubs/components/russound_rio/config_flow.pyi +14 -0
  429. homeassistant-stubs/components/russound_rio/const.pyi +7 -0
  430. homeassistant-stubs/components/russound_rio/diagnostics.pyi +5 -0
  431. homeassistant-stubs/components/russound_rio/entity.pyi +25 -0
  432. homeassistant-stubs/components/russound_rio/media_player.pyi +56 -0
  433. homeassistant-stubs/components/schlage/__init__.pyi +11 -0
  434. homeassistant-stubs/components/schlage/binary_sensor.pyi +26 -0
  435. homeassistant-stubs/components/schlage/config_flow.pyi +19 -0
  436. homeassistant-stubs/components/schlage/const.pyi +6 -0
  437. homeassistant-stubs/components/schlage/coordinator.pyi +31 -0
  438. homeassistant-stubs/components/schlage/diagnostics.pyi +5 -0
  439. homeassistant-stubs/components/schlage/entity.pyi +19 -0
  440. homeassistant-stubs/components/schlage/lock.pyi +21 -0
  441. homeassistant-stubs/components/schlage/select.pyi +20 -0
  442. homeassistant-stubs/components/schlage/sensor.pyi +19 -0
  443. homeassistant-stubs/components/schlage/switch.pyi +32 -0
  444. homeassistant-stubs/components/sensibo/climate.pyi +2 -3
  445. homeassistant-stubs/components/sensibo/coordinator.pyi +1 -1
  446. homeassistant-stubs/components/sensor/const.pyi +0 -7
  447. homeassistant-stubs/components/senz/climate.pyi +0 -1
  448. homeassistant-stubs/components/shelly/climate.pyi +0 -2
  449. homeassistant-stubs/components/siren/__init__.pyi +1 -6
  450. homeassistant-stubs/components/siren/const.pyi +0 -11
  451. homeassistant-stubs/components/snooz/fan.pyi +0 -1
  452. homeassistant-stubs/components/solarlog/config_flow.pyi +2 -5
  453. homeassistant-stubs/components/solarlog/const.pyi +0 -1
  454. homeassistant-stubs/components/solarlog/coordinator.pyi +0 -1
  455. homeassistant-stubs/components/starlink/coordinator.pyi +4 -2
  456. homeassistant-stubs/components/starlink/sensor.pyi +1 -1
  457. homeassistant-stubs/components/statistics/sensor.pyi +43 -40
  458. homeassistant-stubs/components/stream/__init__.pyi +13 -0
  459. homeassistant-stubs/components/suez_water/__init__.pyi +3 -5
  460. homeassistant-stubs/components/suez_water/coordinator.pyi +7 -9
  461. homeassistant-stubs/components/suez_water/sensor.pyi +5 -6
  462. homeassistant-stubs/components/sun/__init__.pyi +2 -0
  463. homeassistant-stubs/components/sun/entity.pyi +1 -2
  464. homeassistant-stubs/components/switch/__init__.pyi +0 -7
  465. homeassistant-stubs/components/switch_as_x/fan.pyi +0 -1
  466. homeassistant-stubs/components/switchbee/climate.pyi +0 -1
  467. homeassistant-stubs/components/switchbot_cloud/climate.pyi +0 -1
  468. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +12 -3
  469. homeassistant-stubs/components/switchbot_cloud/switch.pyi +4 -0
  470. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +3 -3
  471. homeassistant-stubs/components/switcher_kis/climate.pyi +1 -2
  472. homeassistant-stubs/components/switcher_kis/cover.pyi +0 -4
  473. homeassistant-stubs/components/switcher_kis/entity.pyi +6 -0
  474. homeassistant-stubs/components/switcher_kis/light.pyi +0 -4
  475. homeassistant-stubs/components/switcher_kis/switch.pyi +0 -2
  476. homeassistant-stubs/components/tailwind/__init__.pyi +2 -4
  477. homeassistant-stubs/components/tailwind/binary_sensor.pyi +1 -1
  478. homeassistant-stubs/components/tailwind/button.pyi +1 -1
  479. homeassistant-stubs/components/tailwind/coordinator.pyi +2 -1
  480. homeassistant-stubs/components/tailwind/cover.pyi +1 -1
  481. homeassistant-stubs/components/tailwind/diagnostics.pyi +1 -1
  482. homeassistant-stubs/components/tailwind/number.pyi +1 -1
  483. homeassistant-stubs/components/tedee/__init__.pyi +2 -3
  484. homeassistant-stubs/components/tedee/binary_sensor.pyi +2 -0
  485. homeassistant-stubs/components/tedee/sensor.pyi +2 -0
  486. homeassistant-stubs/components/tibber/services.pyi +1 -1
  487. homeassistant-stubs/components/tolo/climate.pyi +0 -1
  488. homeassistant-stubs/components/tolo/fan.pyi +0 -1
  489. homeassistant-stubs/components/tplink/__init__.pyi +1 -1
  490. homeassistant-stubs/components/tplink/binary_sensor.pyi +2 -2
  491. homeassistant-stubs/components/tplink/button.pyi +2 -2
  492. homeassistant-stubs/components/tplink/camera.pyi +49 -0
  493. homeassistant-stubs/components/tplink/climate.pyi +1 -2
  494. homeassistant-stubs/components/tplink/config_flow.pyi +11 -5
  495. homeassistant-stubs/components/tplink/const.pyi +2 -0
  496. homeassistant-stubs/components/tplink/entity.pyi +9 -2
  497. homeassistant-stubs/components/tplink/fan.pyi +1 -2
  498. homeassistant-stubs/components/tplink/light.pyi +2 -2
  499. homeassistant-stubs/components/tplink/models.pyi +4 -1
  500. homeassistant-stubs/components/tplink/number.pyi +2 -2
  501. homeassistant-stubs/components/tplink/select.pyi +2 -2
  502. homeassistant-stubs/components/tplink/sensor.pyi +2 -2
  503. homeassistant-stubs/components/tplink/siren.pyi +1 -1
  504. homeassistant-stubs/components/tplink/switch.pyi +2 -2
  505. homeassistant-stubs/components/tractive/sensor.pyi +1 -1
  506. homeassistant-stubs/components/tradfri/fan.pyi +0 -1
  507. homeassistant-stubs/components/tradfri/light.pyi +4 -4
  508. homeassistant-stubs/components/transmission/__init__.pyi +1 -1
  509. homeassistant-stubs/components/transmission/const.pyi +1 -0
  510. homeassistant-stubs/components/twentemilieu/__init__.pyi +3 -11
  511. homeassistant-stubs/components/twentemilieu/calendar.pyi +1 -1
  512. homeassistant-stubs/components/twentemilieu/coordinator.pyi +14 -0
  513. homeassistant-stubs/components/twentemilieu/diagnostics.pyi +2 -2
  514. homeassistant-stubs/components/twentemilieu/entity.pyi +2 -3
  515. homeassistant-stubs/components/twentemilieu/sensor.pyi +3 -3
  516. homeassistant-stubs/components/unifi/sensor.pyi +1 -1
  517. homeassistant-stubs/components/unifiprotect/const.pyi +6 -0
  518. homeassistant-stubs/components/unifiprotect/event.pyi +5 -3
  519. homeassistant-stubs/components/unifiprotect/services.pyi +16 -9
  520. homeassistant-stubs/components/update/__init__.pyi +0 -2
  521. homeassistant-stubs/components/vacuum/__init__.pyi +16 -7
  522. homeassistant-stubs/components/vacuum/const.pyi +18 -5
  523. homeassistant-stubs/components/vacuum/device_condition.pyi +1 -1
  524. homeassistant-stubs/components/vacuum/device_trigger.pyi +1 -1
  525. homeassistant-stubs/components/vacuum/reproduce_state.pyi +2 -2
  526. homeassistant-stubs/components/vallox/fan.pyi +0 -1
  527. homeassistant-stubs/components/velbus/__init__.pyi +22 -9
  528. homeassistant-stubs/components/velbus/binary_sensor.pyi +4 -3
  529. homeassistant-stubs/components/velbus/button.pyi +4 -3
  530. homeassistant-stubs/components/velbus/climate.pyi +4 -3
  531. homeassistant-stubs/components/velbus/cover.pyi +4 -3
  532. homeassistant-stubs/components/velbus/diagnostics.pyi +3 -4
  533. homeassistant-stubs/components/velbus/light.pyi +4 -3
  534. homeassistant-stubs/components/velbus/select.pyi +4 -3
  535. homeassistant-stubs/components/velbus/sensor.pyi +4 -3
  536. homeassistant-stubs/components/velbus/services.pyi +7 -0
  537. homeassistant-stubs/components/velbus/switch.pyi +4 -3
  538. homeassistant-stubs/components/water_heater/__init__.pyi +7 -12
  539. homeassistant-stubs/components/wemo/fan.pyi +0 -1
  540. homeassistant-stubs/components/wemo/light.pyi +4 -2
  541. homeassistant-stubs/components/wiz/light.pyi +4 -5
  542. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +4 -4
  543. homeassistant-stubs/components/yale_smart_alarm/alarm_control_panel.pyi +0 -1
  544. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +3 -2
  545. homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +3 -3
  546. homeassistant-stubs/components/yale_smart_alarm/entity.pyi +1 -1
  547. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +1 -1
  548. homeassistant-stubs/components/zwave_js/api.pyi +2 -0
  549. homeassistant-stubs/components/zwave_js/climate.pyi +0 -1
  550. homeassistant-stubs/components/zwave_js/fan.pyi +0 -1
  551. homeassistant-stubs/components/zwave_js/light.pyi +7 -9
  552. homeassistant-stubs/const.pyi +2 -151
  553. homeassistant-stubs/core.pyi +3 -6
  554. homeassistant-stubs/core_config.pyi +2 -1
  555. homeassistant-stubs/data_entry_flow.pyi +0 -13
  556. homeassistant-stubs/exceptions.pyi +6 -0
  557. homeassistant-stubs/helpers/device_registry.pyi +1 -9
  558. homeassistant-stubs/helpers/entity.pyi +1 -2
  559. homeassistant-stubs/helpers/event.pyi +3 -4
  560. homeassistant-stubs/helpers/service.pyi +1 -1
  561. homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -1
  562. homeassistant-stubs/helpers/template.pyi +1 -1
  563. homeassistant-stubs/util/dt.pyi +1 -0
  564. {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0b0.dist-info}/METADATA +2 -2
  565. {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0b0.dist-info}/RECORD +567 -474
  566. homeassistant-stubs/components/bluesound/services.pyi +0 -21
  567. homeassistant-stubs/components/stookalert/__init__.pyi +0 -10
  568. homeassistant-stubs/components/stookalert/binary_sensor.pyi +0 -24
  569. homeassistant-stubs/components/stookalert/config_flow.pyi +0 -7
  570. homeassistant-stubs/components/tailwind/typing.pyi +0 -4
  571. {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0b0.dist-info}/WHEEL +0 -0
  572. {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,5 @@
1
+ from . import SchlageConfigEntry as SchlageConfigEntry
2
+ from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from typing import Any
4
+
5
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: SchlageConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,19 @@
1
+ from .const import DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER
2
+ from .coordinator import LockData as LockData, SchlageDataUpdateCoordinator as SchlageDataUpdateCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
5
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
6
+ from pyschlage.lock import Lock as Lock
7
+
8
+ class SchlageEntity(CoordinatorEntity[SchlageDataUpdateCoordinator]):
9
+ _attr_has_entity_name: bool
10
+ device_id: Incomplete
11
+ _attr_unique_id: Incomplete
12
+ _attr_device_info: Incomplete
13
+ def __init__(self, coordinator: SchlageDataUpdateCoordinator, device_id: str) -> None: ...
14
+ @property
15
+ def _lock_data(self) -> LockData: ...
16
+ @property
17
+ def _lock(self) -> Lock: ...
18
+ @property
19
+ def available(self) -> bool: ...
@@ -0,0 +1,21 @@
1
+ from . import SchlageConfigEntry as SchlageConfigEntry
2
+ from .coordinator import LockData as LockData, SchlageDataUpdateCoordinator as SchlageDataUpdateCoordinator
3
+ from .entity import SchlageEntity as SchlageEntity
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.lock import LockEntity as LockEntity
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
8
+ from typing import Any
9
+
10
+ async def async_setup_entry(hass: HomeAssistant, config_entry: SchlageConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
11
+
12
+ class SchlageLockEntity(SchlageEntity, LockEntity):
13
+ _attr_name: Incomplete
14
+ def __init__(self, coordinator: SchlageDataUpdateCoordinator, device_id: str) -> None: ...
15
+ def _handle_coordinator_update(self) -> None: ...
16
+ _attr_is_locked: Incomplete
17
+ _attr_is_jammed: Incomplete
18
+ _attr_changed_by: Incomplete
19
+ def _update_attrs(self) -> None: ...
20
+ async def async_lock(self, **kwargs: Any) -> None: ...
21
+ async def async_unlock(self, **kwargs: Any) -> None: ...
@@ -0,0 +1,20 @@
1
+ from . import SchlageConfigEntry as SchlageConfigEntry
2
+ from .coordinator import LockData as LockData, SchlageDataUpdateCoordinator as SchlageDataUpdateCoordinator
3
+ from .entity import SchlageEntity as SchlageEntity
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
6
+ from homeassistant.const import EntityCategory as EntityCategory
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
+
10
+ _DESCRIPTIONS: Incomplete
11
+
12
+ async def async_setup_entry(hass: HomeAssistant, config_entry: SchlageConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
+
14
+ class SchlageSelect(SchlageEntity, SelectEntity):
15
+ entity_description: Incomplete
16
+ _attr_unique_id: Incomplete
17
+ def __init__(self, coordinator: SchlageDataUpdateCoordinator, description: SelectEntityDescription, device_id: str) -> None: ...
18
+ @property
19
+ def current_option(self) -> str: ...
20
+ def select_option(self, option: str) -> None: ...
@@ -0,0 +1,19 @@
1
+ from .coordinator import LockData as LockData, SchlageDataUpdateCoordinator as SchlageDataUpdateCoordinator
2
+ from .entity import SchlageEntity as SchlageEntity
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE
7
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
+
10
+ _SENSOR_DESCRIPTIONS: list[SensorEntityDescription]
11
+
12
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
+
14
+ class SchlageBatterySensor(SchlageEntity, SensorEntity):
15
+ entity_description: Incomplete
16
+ _attr_unique_id: Incomplete
17
+ _attr_native_value: Incomplete
18
+ def __init__(self, coordinator: SchlageDataUpdateCoordinator, description: SensorEntityDescription, device_id: str) -> None: ...
19
+ def _handle_coordinator_update(self) -> None: ...
@@ -0,0 +1,32 @@
1
+ from .coordinator import LockData as LockData, SchlageDataUpdateCoordinator as SchlageDataUpdateCoordinator
2
+ from .entity import SchlageEntity as SchlageEntity
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
7
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
+ from homeassistant.const import EntityCategory as EntityCategory
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
+ from pyschlage.lock import Lock as Lock
12
+ from typing import Any
13
+
14
+ @dataclass(frozen=True, kw_only=True)
15
+ class SchlageSwitchEntityDescription(SwitchEntityDescription):
16
+ on_fn: Callable[[Lock], None]
17
+ off_fn: Callable[[Lock], None]
18
+ value_fn: Callable[[Lock], bool]
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=..., on_fn, off_fn, value_fn) -> None: ...
20
+
21
+ SWITCHES: tuple[SchlageSwitchEntityDescription, ...]
22
+
23
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
24
+
25
+ class SchlageSwitch(SchlageEntity, SwitchEntity):
26
+ entity_description: SchlageSwitchEntityDescription
27
+ _attr_unique_id: Incomplete
28
+ def __init__(self, coordinator: SchlageDataUpdateCoordinator, description: SchlageSwitchEntityDescription, device_id: str) -> None: ...
29
+ @property
30
+ def is_on(self) -> bool: ...
31
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
32
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
6
6
  from homeassistant.components.climate import ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_SWING_MODE as ATTR_SWING_MODE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode
7
7
  from homeassistant.const import ATTR_MODE as ATTR_MODE, ATTR_STATE as ATTR_STATE, ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS, UnitOfTemperature as UnitOfTemperature
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
9
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
10
  from homeassistant.helpers import entity_platform as entity_platform
11
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
12
  from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
@@ -41,14 +41,13 @@ SENSIBO_TO_HA: Incomplete
41
41
  HA_TO_SENSIBO: Incomplete
42
42
  AC_STATE_TO_DATA: Incomplete
43
43
 
44
- def _find_valid_target_temp(target: int, valid_targets: list[int]) -> int: ...
44
+ def _find_valid_target_temp(target: float, valid_targets: list[int]) -> int: ...
45
45
  async def async_setup_entry(hass: HomeAssistant, entry: SensiboConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
46
46
 
47
47
  class SensiboClimate(SensiboDeviceBaseEntity, ClimateEntity):
48
48
  _attr_name: Incomplete
49
49
  _attr_precision = PRECISION_TENTHS
50
50
  _attr_translation_key: str
51
- _enable_turn_on_off_backwards_compatibility: bool
52
51
  _attr_unique_id: Incomplete
53
52
  _attr_temperature_unit: Incomplete
54
53
  _attr_supported_features: Incomplete
@@ -14,5 +14,5 @@ REQUEST_REFRESH_DELAY: float
14
14
  class SensiboDataUpdateCoordinator(DataUpdateCoordinator[SensiboData]):
15
15
  config_entry: SensiboConfigEntry
16
16
  client: Incomplete
17
- def __init__(self, hass: HomeAssistant) -> None: ...
17
+ def __init__(self, hass: HomeAssistant, config_entry: SensiboConfigEntry) -> None: ...
18
18
  async def _async_update_data(self) -> SensiboData: ...
@@ -1,7 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from enum import StrEnum
3
3
  from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfArea as UnitOfArea, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfReactivePower as UnitOfReactivePower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
4
- 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
5
4
  from homeassistant.util.unit_conversion import AreaConverter as AreaConverter, BaseUnitConverter as BaseUnitConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
6
5
  from typing import Final
7
6
 
@@ -77,13 +76,7 @@ class SensorStateClass(StrEnum):
77
76
  TOTAL_INCREASING = 'total_increasing'
78
77
 
79
78
  STATE_CLASSES_SCHEMA: Final[Incomplete]
80
- _DEPRECATED_STATE_CLASS_MEASUREMENT: Final[Incomplete]
81
- _DEPRECATED_STATE_CLASS_TOTAL: Final[Incomplete]
82
- _DEPRECATED_STATE_CLASS_TOTAL_INCREASING: Final[Incomplete]
83
79
  STATE_CLASSES: Final[list[str]]
84
80
  UNIT_CONVERTERS: dict[SensorDeviceClass | str | None, type[BaseUnitConverter]]
85
81
  DEVICE_CLASS_UNITS: dict[SensorDeviceClass, set[type[StrEnum] | str | None]]
86
82
  DEVICE_CLASS_STATE_CLASSES: dict[SensorDeviceClass, set[SensorStateClass]]
87
- __getattr__: Incomplete
88
- __dir__: Incomplete
89
- __all__: Incomplete
@@ -22,7 +22,6 @@ class SENZClimate(CoordinatorEntity, ClimateEntity):
22
22
  _attr_min_temp: int
23
23
  _attr_has_entity_name: bool
24
24
  _attr_name: Incomplete
25
- _enable_turn_on_off_backwards_compatibility: bool
26
25
  _thermostat: Incomplete
27
26
  _attr_unique_id: Incomplete
28
27
  _attr_device_info: Incomplete
@@ -36,7 +36,6 @@ class BlockSleepingClimate(CoordinatorEntity[ShellyBlockCoordinator], RestoreEnt
36
36
  _attr_supported_features: Incomplete
37
37
  _attr_target_temperature_step: Incomplete
38
38
  _attr_temperature_unit: Incomplete
39
- _enable_turn_on_off_backwards_compatibility: bool
40
39
  block: Incomplete
41
40
  control_result: Incomplete
42
41
  device_block: Incomplete
@@ -81,7 +80,6 @@ class RpcClimate(ShellyRpcEntity, ClimateEntity):
81
80
  _attr_supported_features: Incomplete
82
81
  _attr_target_temperature_step: Incomplete
83
82
  _attr_temperature_unit: Incomplete
84
- _enable_turn_on_off_backwards_compatibility: bool
85
83
  _id: Incomplete
86
84
  _thermostat_type: Incomplete
87
85
  _attr_hvac_modes: Incomplete
@@ -1,9 +1,8 @@
1
- from .const import ATTR_AVAILABLE_TONES as ATTR_AVAILABLE_TONES, ATTR_DURATION as ATTR_DURATION, ATTR_TONE as ATTR_TONE, ATTR_VOLUME_LEVEL as ATTR_VOLUME_LEVEL, DOMAIN as DOMAIN, SirenEntityFeature as SirenEntityFeature, _DEPRECATED_SUPPORT_DURATION as _DEPRECATED_SUPPORT_DURATION, _DEPRECATED_SUPPORT_TONES as _DEPRECATED_SUPPORT_TONES, _DEPRECATED_SUPPORT_TURN_OFF as _DEPRECATED_SUPPORT_TURN_OFF, _DEPRECATED_SUPPORT_TURN_ON as _DEPRECATED_SUPPORT_TURN_ON, _DEPRECATED_SUPPORT_VOLUME_SET as _DEPRECATED_SUPPORT_VOLUME_SET
1
+ from .const import ATTR_AVAILABLE_TONES as ATTR_AVAILABLE_TONES, ATTR_DURATION as ATTR_DURATION, ATTR_TONE as ATTR_TONE, ATTR_VOLUME_LEVEL as ATTR_VOLUME_LEVEL, DOMAIN as DOMAIN, SirenEntityFeature as SirenEntityFeature
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
4
  from homeassistant.const import SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
6
- 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
7
6
  from homeassistant.helpers.entity import ToggleEntity as ToggleEntity, ToggleEntityDescription as ToggleEntityDescription
8
7
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
9
8
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolDictType as VolDictType
@@ -43,7 +42,3 @@ class SirenEntity(ToggleEntity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
43
42
  def capability_attributes(self) -> dict[str, Any] | None: ...
44
43
  def available_tones(self) -> list[int | str] | dict[int, str] | None: ...
45
44
  def supported_features(self) -> SirenEntityFeature: ...
46
-
47
- __getattr__: Incomplete
48
- __dir__: Incomplete
49
- __all__: Incomplete
@@ -1,6 +1,4 @@
1
- from _typeshed import Incomplete
2
1
  from enum import IntFlag
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]
@@ -15,12 +13,3 @@ class SirenEntityFeature(IntFlag):
15
13
  TONES = 4
16
14
  VOLUME_SET = 8
17
15
  DURATION = 16
18
-
19
- _DEPRECATED_SUPPORT_TURN_ON: Final[Incomplete]
20
- _DEPRECATED_SUPPORT_TURN_OFF: Final[Incomplete]
21
- _DEPRECATED_SUPPORT_TONES: Final[Incomplete]
22
- _DEPRECATED_SUPPORT_VOLUME_SET: Final[Incomplete]
23
- _DEPRECATED_SUPPORT_DURATION: Final[Incomplete]
24
- __getattr__: Incomplete
25
- __dir__: Incomplete
26
- __all__: Incomplete
@@ -23,7 +23,6 @@ class SnoozFan(FanEntity, RestoreEntity):
23
23
  _attr_should_poll: bool
24
24
  _is_on: bool | None
25
25
  _percentage: int | None
26
- _enable_turn_on_off_backwards_compatibility: bool
27
26
  _device: Incomplete
28
27
  _attr_unique_id: Incomplete
29
28
  _attr_device_info: Incomplete
@@ -1,13 +1,10 @@
1
- from .const import CONF_HAS_PWD as CONF_HAS_PWD, DEFAULT_HOST as DEFAULT_HOST, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
1
+ from .const import CONF_HAS_PWD as CONF_HAS_PWD, DEFAULT_HOST as DEFAULT_HOST, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Mapping
4
4
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD
6
- from homeassistant.util import slugify as slugify
5
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD
7
6
  from typing import Any
8
7
 
9
- _LOGGER: Incomplete
10
-
11
8
  class SolarLogConfigFlow(ConfigFlow, domain=DOMAIN):
12
9
  VERSION: int
13
10
  MINOR_VERSION: int
@@ -1,4 +1,3 @@
1
1
  DOMAIN: str
2
2
  DEFAULT_HOST: str
3
- DEFAULT_NAME: str
4
3
  CONF_HAS_PWD: str
@@ -16,7 +16,6 @@ class SolarLogCoordinator(DataUpdateCoordinator[SolarlogData]):
16
16
  new_device_callbacks: Incomplete
17
17
  _devices_last_update: Incomplete
18
18
  unique_id: Incomplete
19
- name: Incomplete
20
19
  host: Incomplete
21
20
  solarlog: Incomplete
22
21
  def __init__(self, hass: HomeAssistant, entry: SolarlogConfigEntry) -> None: ...
@@ -3,7 +3,7 @@ from dataclasses import dataclass
3
3
  from homeassistant.core import HomeAssistant as HomeAssistant
4
4
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
5
5
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
6
- from starlink_grpc import AlertDict as AlertDict, LocationDict as LocationDict, ObstructionDict as ObstructionDict, StatusDict as StatusDict
6
+ from starlink_grpc import AlertDict as AlertDict, LocationDict as LocationDict, ObstructionDict as ObstructionDict, PowerDict as PowerDict, StatusDict as StatusDict, UsageDict as UsageDict
7
7
 
8
8
  _LOGGER: Incomplete
9
9
 
@@ -14,7 +14,9 @@ class StarlinkData:
14
14
  status: StatusDict
15
15
  obstruction: ObstructionDict
16
16
  alert: AlertDict
17
- def __init__(self, location, sleep, status, obstruction, alert) -> None: ...
17
+ usage: UsageDict
18
+ consumption: PowerDict
19
+ def __init__(self, location, sleep, status, obstruction, alert, usage, consumption) -> None: ...
18
20
 
19
21
  class StarlinkUpdateCoordinator(DataUpdateCoordinator[StarlinkData]):
20
22
  channel_context: Incomplete
@@ -6,7 +6,7 @@ from dataclasses import dataclass
6
6
  from datetime import datetime
7
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
8
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
- from homeassistant.const import DEGREE as DEGREE, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfDataRate as UnitOfDataRate, UnitOfTime as UnitOfTime
9
+ from homeassistant.const import DEGREE as DEGREE, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfDataRate as UnitOfDataRate, UnitOfEnergy as UnitOfEnergy, UnitOfInformation as UnitOfInformation, UnitOfPower as UnitOfPower, UnitOfTime as UnitOfTime
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
12
  from homeassistant.helpers.typing import StateType as StateType
@@ -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: ...