homeassistant-stubs 2024.12.4__py3-none-any.whl → 2025.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (590) hide show
  1. homeassistant-stubs/auth/__init__.pyi +1 -1
  2. homeassistant-stubs/auth/mfa_modules/__init__.pyi +6 -4
  3. homeassistant-stubs/auth/mfa_modules/notify.pyi +2 -3
  4. homeassistant-stubs/auth/mfa_modules/totp.pyi +2 -3
  5. homeassistant-stubs/auth/providers/__init__.pyi +6 -4
  6. homeassistant-stubs/auth/providers/command_line.pyi +2 -2
  7. homeassistant-stubs/auth/providers/homeassistant.pyi +2 -2
  8. homeassistant-stubs/auth/providers/insecure_example.pyi +2 -2
  9. homeassistant-stubs/auth/providers/trusted_networks.pyi +2 -2
  10. homeassistant-stubs/backup_restore.pyi +11 -4
  11. homeassistant-stubs/bootstrap.pyi +2 -1
  12. homeassistant-stubs/components/abode/light.pyi +4 -3
  13. homeassistant-stubs/components/acaia/__init__.pyi +9 -0
  14. homeassistant-stubs/components/acaia/binary_sensor.pyi +24 -0
  15. homeassistant-stubs/components/acaia/button.pyi +24 -0
  16. homeassistant-stubs/components/acaia/config_flow.pyi +18 -0
  17. homeassistant-stubs/components/acaia/const.pyi +2 -0
  18. homeassistant-stubs/components/acaia/coordinator.pyi +19 -0
  19. homeassistant-stubs/components/{stookalert → acaia}/diagnostics.pyi +2 -3
  20. homeassistant-stubs/components/acaia/entity.pyi +17 -0
  21. homeassistant-stubs/components/acaia/sensor.pyi +44 -0
  22. homeassistant-stubs/components/adax/climate.pyi +0 -1
  23. homeassistant-stubs/components/airtouch5/climate.pyi +0 -1
  24. homeassistant-stubs/components/airzone/climate.pyi +0 -1
  25. homeassistant-stubs/components/airzone_cloud/climate.pyi +3 -2
  26. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -6
  27. homeassistant-stubs/components/alarm_control_panel/const.pyi +0 -14
  28. homeassistant-stubs/components/analytics_insights/config_flow.pyi +3 -2
  29. homeassistant-stubs/components/apple_tv/config_flow.pyi +1 -1
  30. homeassistant-stubs/components/apsystems/number.pyi +1 -0
  31. homeassistant-stubs/components/autarco/__init__.pyi +1 -0
  32. homeassistant-stubs/components/autarco/config_flow.pyi +4 -0
  33. homeassistant-stubs/components/autarco/coordinator.pyi +1 -0
  34. homeassistant-stubs/components/automation/__init__.pyi +1 -10
  35. homeassistant-stubs/components/backup/__init__.pyi +4 -11
  36. homeassistant-stubs/components/backup/agent.pyi +35 -0
  37. homeassistant-stubs/components/backup/backup.pyi +29 -0
  38. homeassistant-stubs/components/backup/config.pyi +117 -0
  39. homeassistant-stubs/components/backup/const.pyi +2 -0
  40. homeassistant-stubs/components/backup/http.pyi +3 -2
  41. homeassistant-stubs/components/backup/manager.pyi +192 -51
  42. homeassistant-stubs/components/backup/models.pyi +38 -0
  43. homeassistant-stubs/components/backup/store.pyi +24 -0
  44. homeassistant-stubs/components/backup/util.pyi +12 -0
  45. homeassistant-stubs/components/backup/websocket.pyi +9 -1
  46. homeassistant-stubs/components/baf/climate.pyi +0 -1
  47. homeassistant-stubs/components/baf/fan.pyi +0 -1
  48. homeassistant-stubs/components/baf/light.pyi +4 -5
  49. homeassistant-stubs/components/bang_olufsen/const.pyi +3 -0
  50. homeassistant-stubs/components/bang_olufsen/media_player.pyi +2 -2
  51. homeassistant-stubs/components/binary_sensor/__init__.pyi +0 -33
  52. homeassistant-stubs/components/bluesound/__init__.pyi +0 -1
  53. homeassistant-stubs/components/bluesound/media_player.pyi +13 -8
  54. homeassistant-stubs/components/bluesound/utils.pyi +2 -0
  55. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +4 -12
  56. homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +1 -0
  57. homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -0
  58. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +8 -4
  59. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +4 -3
  60. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +2 -2
  61. homeassistant-stubs/components/bmw_connected_drive/diagnostics.pyi +1 -0
  62. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -0
  63. homeassistant-stubs/components/bmw_connected_drive/notify.pyi +2 -1
  64. homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -0
  65. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -0
  66. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +1 -0
  67. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -0
  68. homeassistant-stubs/components/bryant_evolution/climate.pyi +0 -1
  69. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +4 -1
  70. homeassistant-stubs/components/cambridge_audio/media_browser.pyi +8 -0
  71. homeassistant-stubs/components/cambridge_audio/media_player.pyi +4 -3
  72. homeassistant-stubs/components/cambridge_audio/select.pyi +2 -2
  73. homeassistant-stubs/components/cambridge_audio/switch.pyi +2 -2
  74. homeassistant-stubs/components/camera/__init__.pyi +1 -5
  75. homeassistant-stubs/components/camera/const.pyi +0 -8
  76. homeassistant-stubs/components/cert_expiry/config_flow.pyi +0 -1
  77. homeassistant-stubs/components/cert_expiry/sensor.pyi +2 -10
  78. homeassistant-stubs/components/climate/__init__.pyi +1 -12
  79. homeassistant-stubs/components/climate/const.pyi +0 -25
  80. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  81. homeassistant-stubs/components/cloud/backup.pyi +37 -0
  82. homeassistant-stubs/components/cloud/const.pyi +2 -0
  83. homeassistant-stubs/components/cloud/http_api.pyi +7 -2
  84. homeassistant-stubs/components/cookidoo/__init__.pyi +9 -0
  85. homeassistant-stubs/components/cookidoo/config_flow.pyi +24 -0
  86. homeassistant-stubs/components/cookidoo/const.pyi +1 -0
  87. homeassistant-stubs/components/cookidoo/coordinator.pyi +25 -0
  88. homeassistant-stubs/components/cookidoo/entity.pyi +10 -0
  89. homeassistant-stubs/components/cookidoo/todo.pyi +32 -0
  90. homeassistant-stubs/components/cover/__init__.pyi +0 -18
  91. homeassistant-stubs/components/crownstone/config_flow.pyi +1 -1
  92. homeassistant-stubs/components/deconz/climate.pyi +0 -1
  93. homeassistant-stubs/components/deconz/fan.pyi +0 -1
  94. homeassistant-stubs/components/deconz/light.pyi +7 -5
  95. homeassistant-stubs/components/demo/climate.pyi +0 -1
  96. homeassistant-stubs/components/demo/fan.pyi +0 -1
  97. homeassistant-stubs/components/demo/light.pyi +4 -2
  98. homeassistant-stubs/components/demo/vacuum.pyi +2 -4
  99. homeassistant-stubs/components/device_tracker/__init__.pyi +1 -7
  100. homeassistant-stubs/components/device_tracker/const.pyi +0 -8
  101. homeassistant-stubs/components/devolo_home_control/__init__.pyi +1 -1
  102. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +3 -2
  103. homeassistant-stubs/components/devolo_home_control/climate.pyi +0 -1
  104. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +1 -2
  105. homeassistant-stubs/components/devolo_home_control/const.pyi +0 -2
  106. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -3
  107. homeassistant-stubs/components/discovergy/__init__.pyi +2 -2
  108. homeassistant-stubs/components/duotecno/climate.pyi +0 -1
  109. homeassistant-stubs/components/easyenergy/__init__.pyi +4 -5
  110. homeassistant-stubs/components/easyenergy/coordinator.pyi +3 -2
  111. homeassistant-stubs/components/easyenergy/diagnostics.pyi +2 -5
  112. homeassistant-stubs/components/easyenergy/sensor.pyi +2 -3
  113. homeassistant-stubs/components/easyenergy/services.pyi +4 -4
  114. homeassistant-stubs/components/ecovacs/button.pyi +13 -2
  115. homeassistant-stubs/components/ecovacs/const.pyi +1 -0
  116. homeassistant-stubs/components/ecovacs/number.pyi +1 -1
  117. homeassistant-stubs/components/ecovacs/select.pyi +2 -2
  118. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  119. homeassistant-stubs/components/ecovacs/util.pyi +1 -0
  120. homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -3
  121. homeassistant-stubs/components/eheimdigital/__init__.pyi +14 -0
  122. homeassistant-stubs/components/eheimdigital/config_flow.pyi +18 -0
  123. homeassistant-stubs/components/eheimdigital/const.pyi +8 -0
  124. homeassistant-stubs/components/eheimdigital/coordinator.pyi +25 -0
  125. homeassistant-stubs/components/eheimdigital/entity.pyi +20 -0
  126. homeassistant-stubs/components/eheimdigital/light.pyi +36 -0
  127. homeassistant-stubs/components/electrasmart/climate.pyi +0 -1
  128. homeassistant-stubs/components/elevenlabs/__init__.pyi +6 -7
  129. homeassistant-stubs/components/elevenlabs/config_flow.pyi +4 -3
  130. homeassistant-stubs/components/elevenlabs/tts.pyi +6 -3
  131. homeassistant-stubs/components/elgato/__init__.pyi +3 -5
  132. homeassistant-stubs/components/elgato/button.pyi +4 -3
  133. homeassistant-stubs/components/elgato/config_flow.pyi +1 -1
  134. homeassistant-stubs/components/elgato/coordinator.pyi +4 -3
  135. homeassistant-stubs/components/elgato/diagnostics.pyi +2 -2
  136. homeassistant-stubs/components/elgato/light.pyi +6 -7
  137. homeassistant-stubs/components/elgato/sensor.pyi +4 -3
  138. homeassistant-stubs/components/elgato/switch.pyi +4 -3
  139. homeassistant-stubs/components/elkm1/climate.pyi +0 -1
  140. homeassistant-stubs/components/emulated_hue/hue_api.pyi +1 -1
  141. homeassistant-stubs/components/energyzero/__init__.pyi +4 -5
  142. homeassistant-stubs/components/energyzero/coordinator.pyi +2 -1
  143. homeassistant-stubs/components/energyzero/diagnostics.pyi +2 -5
  144. homeassistant-stubs/components/energyzero/sensor.pyi +2 -3
  145. homeassistant-stubs/components/energyzero/services.pyi +4 -4
  146. homeassistant-stubs/components/enigma2/coordinator.pyi +1 -0
  147. homeassistant-stubs/components/enigma2/media_player.pyi +0 -1
  148. homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +2 -0
  149. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -1
  150. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +2 -2
  151. homeassistant-stubs/components/enphase_envoy/number.pyi +2 -0
  152. homeassistant-stubs/components/enphase_envoy/select.pyi +2 -0
  153. homeassistant-stubs/components/enphase_envoy/sensor.pyi +35 -1
  154. homeassistant-stubs/components/enphase_envoy/switch.pyi +2 -0
  155. homeassistant-stubs/components/esphome/climate.pyi +0 -1
  156. homeassistant-stubs/components/esphome/fan.pyi +0 -1
  157. homeassistant-stubs/components/esphome/light.pyi +0 -2
  158. homeassistant-stubs/components/evohome/climate.pyi +0 -1
  159. homeassistant-stubs/components/fan/__init__.pyi +0 -15
  160. homeassistant-stubs/components/feedreader/__init__.pyi +3 -8
  161. homeassistant-stubs/components/feedreader/config_flow.pyi +1 -6
  162. homeassistant-stubs/components/feedreader/coordinator.pyi +1 -0
  163. homeassistant-stubs/components/flexit_bacnet/climate.pyi +0 -1
  164. homeassistant-stubs/components/flexit_bacnet/number.pyi +3 -0
  165. homeassistant-stubs/components/flux_led/light.pyi +4 -5
  166. homeassistant-stubs/components/fritzbox/climate.pyi +0 -1
  167. homeassistant-stubs/components/fritzbox/coordinator.pyi +2 -1
  168. homeassistant-stubs/components/fritzbox/light.pyi +3 -4
  169. homeassistant-stubs/components/fritzbox_callmonitor/base.pyi +13 -2
  170. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +2 -2
  171. homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +4 -4
  172. homeassistant-stubs/components/fronius/__init__.pyi +1 -1
  173. homeassistant-stubs/components/fronius/const.pyi +3 -3
  174. homeassistant-stubs/components/fronius/coordinator.pyi +1 -1
  175. homeassistant-stubs/components/fronius/sensor.pyi +2 -1
  176. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +0 -1
  177. homeassistant-stubs/components/fyta/__init__.pyi +2 -2
  178. homeassistant-stubs/components/fyta/entity.pyi +2 -2
  179. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -4
  180. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -1
  181. homeassistant-stubs/components/generic_thermostat/const.pyi +2 -0
  182. homeassistant-stubs/components/google_cloud/const.pyi +3 -0
  183. homeassistant-stubs/components/google_cloud/helpers.pyi +1 -1
  184. homeassistant-stubs/components/google_cloud/tts.pyi +1 -1
  185. homeassistant-stubs/components/group/fan.pyi +0 -1
  186. homeassistant-stubs/components/group/registry.pyi +1 -1
  187. homeassistant-stubs/components/history/__init__.pyi +1 -1
  188. homeassistant-stubs/components/history/helpers.pyi +1 -2
  189. homeassistant-stubs/components/history/websocket_api.pyi +1 -1
  190. homeassistant-stubs/components/holiday/__init__.pyi +2 -1
  191. homeassistant-stubs/components/holiday/calendar.pyi +4 -3
  192. homeassistant-stubs/components/holiday/config_flow.pyi +13 -3
  193. homeassistant-stubs/components/holiday/const.pyi +1 -0
  194. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +5 -3
  195. homeassistant-stubs/components/homekit/doorbell.pyi +23 -0
  196. homeassistant-stubs/components/homekit/type_cameras.pyi +4 -12
  197. homeassistant-stubs/components/homekit/type_locks.pyi +3 -2
  198. homeassistant-stubs/components/homekit/type_switches.pyi +1 -1
  199. homeassistant-stubs/components/homekit/util.pyi +1 -0
  200. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  201. homeassistant-stubs/components/humidifier/__init__.pyi +1 -8
  202. homeassistant-stubs/components/humidifier/const.pyi +0 -9
  203. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -2
  204. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +1 -0
  205. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +1 -0
  206. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +4 -4
  207. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +2 -0
  208. homeassistant-stubs/components/husqvarna_automower/diagnostics.pyi +1 -2
  209. homeassistant-stubs/components/husqvarna_automower/entity.pyi +4 -3
  210. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +1 -0
  211. homeassistant-stubs/components/idasen_desk/__init__.pyi +5 -16
  212. homeassistant-stubs/components/idasen_desk/button.pyi +7 -12
  213. homeassistant-stubs/components/idasen_desk/coordinator.pyi +2 -3
  214. homeassistant-stubs/components/idasen_desk/cover.pyi +8 -17
  215. homeassistant-stubs/components/idasen_desk/entity.pyi +12 -0
  216. homeassistant-stubs/components/idasen_desk/sensor.pyi +7 -20
  217. homeassistant-stubs/components/image_upload/media_source.pyi +14 -0
  218. homeassistant-stubs/components/imap/config_flow.pyi +3 -2
  219. homeassistant-stubs/components/imap/coordinator.pyi +5 -5
  220. homeassistant-stubs/components/imap/sensor.pyi +1 -0
  221. homeassistant-stubs/components/intent/__init__.pyi +2 -1
  222. homeassistant-stubs/components/iotty/switch.pyi +8 -6
  223. homeassistant-stubs/components/iron_os/__init__.pyi +21 -0
  224. homeassistant-stubs/components/iron_os/binary_sensor.pyi +19 -0
  225. homeassistant-stubs/components/iron_os/config_flow.pyi +15 -0
  226. homeassistant-stubs/components/iron_os/const.pyi +7 -0
  227. homeassistant-stubs/components/iron_os/coordinator.pyi +43 -0
  228. homeassistant-stubs/components/iron_os/entity.pyi +13 -0
  229. homeassistant-stubs/components/iron_os/number.pyi +62 -0
  230. homeassistant-stubs/components/iron_os/select.pyi +49 -0
  231. homeassistant-stubs/components/iron_os/sensor.pyi +46 -0
  232. homeassistant-stubs/components/iron_os/update.pyi +29 -0
  233. homeassistant-stubs/components/isy994/climate.pyi +0 -1
  234. homeassistant-stubs/components/isy994/fan.pyi +0 -1
  235. homeassistant-stubs/components/knx/climate.pyi +0 -1
  236. homeassistant-stubs/components/knx/config_flow.pyi +4 -0
  237. homeassistant-stubs/components/knx/fan.pyi +0 -1
  238. homeassistant-stubs/components/knx/services.pyi +5 -5
  239. homeassistant-stubs/components/lamarzocco/__init__.pyi +4 -5
  240. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +9 -3
  241. homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -0
  242. homeassistant-stubs/components/lamarzocco/config_flow.pyi +6 -5
  243. homeassistant-stubs/components/lamarzocco/coordinator.pyi +39 -16
  244. homeassistant-stubs/components/lamarzocco/entity.pyi +7 -3
  245. homeassistant-stubs/components/lamarzocco/number.pyi +8 -4
  246. homeassistant-stubs/components/lamarzocco/select.pyi +8 -4
  247. homeassistant-stubs/components/lamarzocco/sensor.pyi +10 -3
  248. homeassistant-stubs/components/lamarzocco/switch.pyi +1 -1
  249. homeassistant-stubs/components/lametric/notify.pyi +2 -1
  250. homeassistant-stubs/components/lametric/number.pyi +2 -1
  251. homeassistant-stubs/components/lametric/services.pyi +2 -1
  252. homeassistant-stubs/components/lametric/switch.pyi +2 -1
  253. homeassistant-stubs/components/lcn/__init__.pyi +3 -1
  254. homeassistant-stubs/components/lcn/climate.pyi +0 -1
  255. homeassistant-stubs/components/lcn/const.pyi +1 -0
  256. homeassistant-stubs/components/lcn/helpers.pyi +1 -1
  257. homeassistant-stubs/components/lcn/services.pyi +7 -4
  258. homeassistant-stubs/components/lifx/const.pyi +1 -0
  259. homeassistant-stubs/components/lifx/manager.pyi +2 -2
  260. homeassistant-stubs/components/lifx/util.pyi +2 -2
  261. homeassistant-stubs/components/light/__init__.pyi +31 -55
  262. homeassistant-stubs/components/light/const.pyi +33 -0
  263. homeassistant-stubs/components/light/device_action.pyi +2 -1
  264. homeassistant-stubs/components/light/device_condition.pyi +1 -1
  265. homeassistant-stubs/components/light/device_trigger.pyi +1 -1
  266. homeassistant-stubs/components/light/intent.pyi +2 -1
  267. homeassistant-stubs/components/light/reproduce_state.pyi +2 -1
  268. homeassistant-stubs/components/light/significant_change.pyi +1 -1
  269. homeassistant-stubs/components/litterrobot/vacuum.pyi +2 -2
  270. homeassistant-stubs/components/lock/__init__.pyi +1 -2
  271. homeassistant-stubs/components/lookin/climate.pyi +0 -1
  272. homeassistant-stubs/components/mastodon/__init__.pyi +2 -2
  273. homeassistant-stubs/components/mastodon/config_flow.pyi +1 -2
  274. homeassistant-stubs/components/mastodon/sensor.pyi +2 -0
  275. homeassistant-stubs/components/matter/climate.pyi +0 -1
  276. homeassistant-stubs/components/matter/fan.pyi +0 -1
  277. homeassistant-stubs/components/matter/light.pyi +5 -5
  278. homeassistant-stubs/components/matter/vacuum.pyi +3 -3
  279. homeassistant-stubs/components/mealie/__init__.pyi +18 -0
  280. homeassistant-stubs/components/mealie/calendar.pyi +21 -0
  281. homeassistant-stubs/components/mealie/config_flow.pyi +20 -0
  282. homeassistant-stubs/components/mealie/const.pyi +14 -0
  283. homeassistant-stubs/components/mealie/coordinator.pyi +53 -0
  284. homeassistant-stubs/components/mealie/diagnostics.pyi +5 -0
  285. homeassistant-stubs/components/mealie/entity.pyi +11 -0
  286. homeassistant-stubs/components/mealie/sensor.pyi +29 -0
  287. homeassistant-stubs/components/mealie/services.pyi +21 -0
  288. homeassistant-stubs/components/mealie/todo.pyi +36 -0
  289. homeassistant-stubs/components/mealie/utils.pyi +3 -0
  290. homeassistant-stubs/components/media_player/__init__.pyi +0 -2
  291. homeassistant-stubs/components/modbus/__init__.pyi +5 -3
  292. homeassistant-stubs/components/modbus/climate.pyi +0 -1
  293. homeassistant-stubs/components/modbus/fan.pyi +0 -1
  294. homeassistant-stubs/components/modbus/modbus.pyi +3 -4
  295. homeassistant-stubs/components/mqtt/client.pyi +1 -1
  296. homeassistant-stubs/components/mqtt/climate.pyi +0 -1
  297. homeassistant-stubs/components/mqtt/config_flow.pyi +2 -1
  298. homeassistant-stubs/components/mqtt/fan.pyi +0 -1
  299. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +5 -5
  300. homeassistant-stubs/components/mqtt/light/schema_json.pyi +4 -4
  301. homeassistant-stubs/components/mqtt/light/schema_template.pyi +4 -4
  302. homeassistant-stubs/components/mqtt/switch.pyi +1 -1
  303. homeassistant-stubs/components/mqtt/vacuum.pyi +10 -4
  304. homeassistant-stubs/components/music_assistant/__init__.pyi +4 -0
  305. homeassistant-stubs/components/music_assistant/actions.pyi +18 -0
  306. homeassistant-stubs/components/music_assistant/const.pyi +48 -0
  307. homeassistant-stubs/components/music_assistant/media_player.pyi +9 -16
  308. homeassistant-stubs/components/music_assistant/schemas.pyi +20 -0
  309. homeassistant-stubs/components/mysensors/climate.pyi +0 -1
  310. homeassistant-stubs/components/myuplink/__init__.pyi +5 -2
  311. homeassistant-stubs/components/myuplink/binary_sensor.pyi +2 -2
  312. homeassistant-stubs/components/myuplink/config_flow.pyi +4 -1
  313. homeassistant-stubs/components/myuplink/number.pyi +2 -2
  314. homeassistant-stubs/components/myuplink/select.pyi +3 -2
  315. homeassistant-stubs/components/myuplink/switch.pyi +1 -1
  316. homeassistant-stubs/components/nanoleaf/light.pyi +4 -4
  317. homeassistant-stubs/components/neato/vacuum.pyi +3 -3
  318. homeassistant-stubs/components/nest/__init__.pyi +6 -6
  319. homeassistant-stubs/components/nest/camera.pyi +2 -4
  320. homeassistant-stubs/components/nest/climate.pyi +2 -5
  321. homeassistant-stubs/components/nest/const.pyi +0 -2
  322. homeassistant-stubs/components/nest/device_info.pyi +2 -1
  323. homeassistant-stubs/components/nest/diagnostics.pyi +4 -8
  324. homeassistant-stubs/components/nest/event.pyi +2 -4
  325. homeassistant-stubs/components/nest/sensor.pyi +2 -4
  326. homeassistant-stubs/components/nest/types.pyi +11 -0
  327. homeassistant-stubs/components/netatmo/climate.pyi +0 -1
  328. homeassistant-stubs/components/netatmo/fan.pyi +0 -1
  329. homeassistant-stubs/components/nordpool/__init__.pyi +10 -3
  330. homeassistant-stubs/components/nordpool/coordinator.pyi +5 -2
  331. homeassistant-stubs/components/nordpool/entity.pyi +1 -1
  332. homeassistant-stubs/components/nordpool/sensor.pyi +10 -6
  333. homeassistant-stubs/components/nordpool/services.pyi +19 -0
  334. homeassistant-stubs/components/number/const.pyi +0 -8
  335. homeassistant-stubs/components/onkyo/config_flow.pyi +2 -0
  336. homeassistant-stubs/components/onkyo/media_player.pyi +10 -7
  337. homeassistant-stubs/components/overkiz/__init__.pyi +4 -3
  338. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +2 -4
  339. homeassistant-stubs/components/overkiz/binary_sensor.pyi +3 -4
  340. homeassistant-stubs/components/overkiz/button.pyi +4 -5
  341. homeassistant-stubs/components/overkiz/climate/__init__.pyi +3 -4
  342. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater.pyi +0 -1
  343. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +0 -1
  344. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_towel_dryer.pyi +1 -2
  345. homeassistant-stubs/components/overkiz/climate/atlantic_heat_recovery_ventilation.pyi +0 -1
  346. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_heat_pump_main_component.pyi +0 -1
  347. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_heating_zone.pyi +0 -1
  348. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control.pyi +0 -1
  349. homeassistant-stubs/components/overkiz/climate/hitachi_air_to_air_heat_pump_hlrrwifi.pyi +0 -1
  350. homeassistant-stubs/components/overkiz/climate/hitachi_air_to_air_heat_pump_ovp.pyi +0 -1
  351. homeassistant-stubs/components/overkiz/climate/hitachi_air_to_water_heating_zone.pyi +34 -0
  352. homeassistant-stubs/components/overkiz/climate/somfy_heating_temperature_interface.pyi +0 -1
  353. homeassistant-stubs/components/overkiz/climate/somfy_thermostat.pyi +0 -1
  354. homeassistant-stubs/components/overkiz/climate/valve_heating_temperature_interface.pyi +0 -1
  355. homeassistant-stubs/components/overkiz/cover/__init__.pyi +2 -4
  356. homeassistant-stubs/components/overkiz/diagnostics.pyi +4 -5
  357. homeassistant-stubs/components/overkiz/light.pyi +2 -4
  358. homeassistant-stubs/components/overkiz/lock.pyi +2 -4
  359. homeassistant-stubs/components/overkiz/number.pyi +3 -4
  360. homeassistant-stubs/components/overkiz/scene.pyi +2 -4
  361. homeassistant-stubs/components/overkiz/select.pyi +3 -4
  362. homeassistant-stubs/components/overkiz/sensor.pyi +2 -3
  363. homeassistant-stubs/components/overkiz/siren.pyi +2 -4
  364. homeassistant-stubs/components/overkiz/switch.pyi +2 -4
  365. homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +2 -4
  366. homeassistant-stubs/components/peblar/__init__.pyi +11 -0
  367. homeassistant-stubs/components/peblar/binary_sensor.pyi +25 -0
  368. homeassistant-stubs/components/peblar/button.pyi +27 -0
  369. homeassistant-stubs/components/peblar/config_flow.pyi +18 -0
  370. homeassistant-stubs/components/peblar/const.pyi +7 -0
  371. homeassistant-stubs/components/peblar/coordinator.pyi +49 -0
  372. homeassistant-stubs/components/peblar/diagnostics.pyi +5 -0
  373. homeassistant-stubs/components/peblar/entity.pyi +15 -0
  374. homeassistant-stubs/components/peblar/helpers.pyi +7 -0
  375. homeassistant-stubs/components/peblar/number.pyi +33 -0
  376. homeassistant-stubs/components/peblar/select.pyi +30 -0
  377. homeassistant-stubs/components/peblar/sensor.pyi +29 -0
  378. homeassistant-stubs/components/peblar/switch.pyi +32 -0
  379. homeassistant-stubs/components/peblar/update.pyi +27 -0
  380. homeassistant-stubs/components/plugwise/binary_sensor.pyi +1 -0
  381. homeassistant-stubs/components/plugwise/button.pyi +2 -0
  382. homeassistant-stubs/components/plugwise/climate.pyi +3 -4
  383. homeassistant-stubs/components/plugwise/config_flow.pyi +7 -1
  384. homeassistant-stubs/components/plugwise/entity.pyi +0 -1
  385. homeassistant-stubs/components/plugwise/number.pyi +2 -0
  386. homeassistant-stubs/components/plugwise/select.pyi +2 -0
  387. homeassistant-stubs/components/plugwise/sensor.pyi +2 -0
  388. homeassistant-stubs/components/plugwise/switch.pyi +2 -0
  389. homeassistant-stubs/components/plugwise/util.pyi +1 -0
  390. homeassistant-stubs/components/powerfox/__init__.pyi +12 -0
  391. homeassistant-stubs/components/powerfox/config_flow.pyi +16 -0
  392. homeassistant-stubs/components/{stookalert → powerfox}/const.pyi +1 -2
  393. homeassistant-stubs/components/powerfox/coordinator.pyi +14 -0
  394. homeassistant-stubs/components/powerfox/diagnostics.pyi +5 -0
  395. homeassistant-stubs/components/powerfox/entity.pyi +11 -0
  396. homeassistant-stubs/components/powerfox/sensor.pyi +28 -0
  397. homeassistant-stubs/components/powerwall/sensor.pyi +3 -5
  398. homeassistant-stubs/components/prometheus/__init__.pyi +11 -3
  399. homeassistant-stubs/components/rabbitair/fan.pyi +0 -1
  400. homeassistant-stubs/components/recorder/__init__.pyi +1 -1
  401. homeassistant-stubs/components/recorder/db_schema.pyi +19 -4
  402. homeassistant-stubs/components/recorder/history/legacy.pyi +4 -4
  403. homeassistant-stubs/components/recorder/history/modern.pyi +5 -5
  404. homeassistant-stubs/components/recorder/migration.pyi +32 -19
  405. homeassistant-stubs/components/recorder/models/state.pyi +3 -0
  406. homeassistant-stubs/components/recorder/queries.pyi +3 -4
  407. homeassistant-stubs/components/recorder/statistics.pyi +2 -2
  408. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +0 -1
  409. homeassistant-stubs/components/recorder/table_managers/recorder_runs.pyi +1 -12
  410. homeassistant-stubs/components/recorder/table_managers/states.pyi +7 -0
  411. homeassistant-stubs/components/remote/__init__.pyi +0 -10
  412. homeassistant-stubs/components/renault/binary_sensor.pyi +2 -0
  413. homeassistant-stubs/components/renault/button.pyi +2 -0
  414. homeassistant-stubs/components/renault/coordinator.pyi +2 -1
  415. homeassistant-stubs/components/renault/device_tracker.pyi +2 -0
  416. homeassistant-stubs/components/renault/select.pyi +2 -0
  417. homeassistant-stubs/components/renault/sensor.pyi +2 -0
  418. homeassistant-stubs/components/reolink/__init__.pyi +1 -0
  419. homeassistant-stubs/components/reolink/button.pyi +1 -2
  420. homeassistant-stubs/components/reolink/camera.pyi +1 -2
  421. homeassistant-stubs/components/reolink/light.pyi +1 -2
  422. homeassistant-stubs/components/reolink/media_source.pyi +2 -3
  423. homeassistant-stubs/components/reolink/number.pyi +1 -2
  424. homeassistant-stubs/components/reolink/select.pyi +1 -2
  425. homeassistant-stubs/components/reolink/services.pyi +2 -2
  426. homeassistant-stubs/components/reolink/siren.pyi +1 -2
  427. homeassistant-stubs/components/reolink/switch.pyi +1 -2
  428. homeassistant-stubs/components/reolink/update.pyi +1 -0
  429. homeassistant-stubs/components/reolink/util.pyi +9 -0
  430. homeassistant-stubs/components/reolink/views.pyi +21 -0
  431. homeassistant-stubs/components/roborock/vacuum.pyi +2 -2
  432. homeassistant-stubs/components/roku/__init__.pyi +5 -4
  433. homeassistant-stubs/components/roku/binary_sensor.pyi +4 -3
  434. homeassistant-stubs/components/roku/config_flow.pyi +5 -3
  435. homeassistant-stubs/components/roku/diagnostics.pyi +2 -4
  436. homeassistant-stubs/components/roku/media_player.pyi +4 -3
  437. homeassistant-stubs/components/roku/remote.pyi +4 -4
  438. homeassistant-stubs/components/roku/select.pyi +4 -4
  439. homeassistant-stubs/components/roku/sensor.pyi +4 -4
  440. homeassistant-stubs/components/romy/vacuum.pyi +2 -2
  441. homeassistant-stubs/components/russound_rio/__init__.pyi +14 -0
  442. homeassistant-stubs/components/russound_rio/config_flow.pyi +14 -0
  443. homeassistant-stubs/components/russound_rio/const.pyi +6 -0
  444. homeassistant-stubs/components/russound_rio/diagnostics.pyi +5 -0
  445. homeassistant-stubs/components/russound_rio/entity.pyi +25 -0
  446. homeassistant-stubs/components/russound_rio/media_player.pyi +56 -0
  447. homeassistant-stubs/components/schlage/__init__.pyi +11 -0
  448. homeassistant-stubs/components/schlage/binary_sensor.pyi +26 -0
  449. homeassistant-stubs/components/schlage/config_flow.pyi +19 -0
  450. homeassistant-stubs/components/schlage/const.pyi +6 -0
  451. homeassistant-stubs/components/schlage/coordinator.pyi +31 -0
  452. homeassistant-stubs/components/schlage/diagnostics.pyi +5 -0
  453. homeassistant-stubs/components/schlage/entity.pyi +19 -0
  454. homeassistant-stubs/components/schlage/lock.pyi +21 -0
  455. homeassistant-stubs/components/schlage/select.pyi +20 -0
  456. homeassistant-stubs/components/schlage/sensor.pyi +19 -0
  457. homeassistant-stubs/components/schlage/switch.pyi +32 -0
  458. homeassistant-stubs/components/sensibo/climate.pyi +2 -3
  459. homeassistant-stubs/components/sensibo/coordinator.pyi +1 -1
  460. homeassistant-stubs/components/sensor/const.pyi +0 -7
  461. homeassistant-stubs/components/senz/climate.pyi +0 -1
  462. homeassistant-stubs/components/shelly/climate.pyi +0 -2
  463. homeassistant-stubs/components/siren/__init__.pyi +1 -6
  464. homeassistant-stubs/components/siren/const.pyi +0 -11
  465. homeassistant-stubs/components/snooz/fan.pyi +0 -1
  466. homeassistant-stubs/components/solarlog/config_flow.pyi +2 -5
  467. homeassistant-stubs/components/solarlog/const.pyi +0 -1
  468. homeassistant-stubs/components/solarlog/coordinator.pyi +0 -1
  469. homeassistant-stubs/components/sql/sensor.pyi +2 -0
  470. homeassistant-stubs/components/starlink/coordinator.pyi +4 -2
  471. homeassistant-stubs/components/starlink/sensor.pyi +1 -1
  472. homeassistant-stubs/components/statistics/sensor.pyi +43 -40
  473. homeassistant-stubs/components/stream/__init__.pyi +13 -0
  474. homeassistant-stubs/components/suez_water/__init__.pyi +3 -5
  475. homeassistant-stubs/components/suez_water/coordinator.pyi +7 -9
  476. homeassistant-stubs/components/suez_water/sensor.pyi +5 -6
  477. homeassistant-stubs/components/sun/__init__.pyi +2 -0
  478. homeassistant-stubs/components/sun/entity.pyi +1 -2
  479. homeassistant-stubs/components/switch/__init__.pyi +0 -7
  480. homeassistant-stubs/components/switch_as_x/fan.pyi +0 -1
  481. homeassistant-stubs/components/switchbee/climate.pyi +0 -1
  482. homeassistant-stubs/components/switchbot_cloud/climate.pyi +0 -1
  483. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +12 -3
  484. homeassistant-stubs/components/switchbot_cloud/switch.pyi +4 -0
  485. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +3 -3
  486. homeassistant-stubs/components/switcher_kis/climate.pyi +1 -2
  487. homeassistant-stubs/components/switcher_kis/cover.pyi +0 -4
  488. homeassistant-stubs/components/switcher_kis/entity.pyi +6 -0
  489. homeassistant-stubs/components/switcher_kis/light.pyi +0 -4
  490. homeassistant-stubs/components/switcher_kis/switch.pyi +0 -2
  491. homeassistant-stubs/components/tailwind/__init__.pyi +2 -4
  492. homeassistant-stubs/components/tailwind/binary_sensor.pyi +1 -1
  493. homeassistant-stubs/components/tailwind/button.pyi +1 -1
  494. homeassistant-stubs/components/tailwind/coordinator.pyi +2 -1
  495. homeassistant-stubs/components/tailwind/cover.pyi +1 -1
  496. homeassistant-stubs/components/tailwind/diagnostics.pyi +1 -1
  497. homeassistant-stubs/components/tailwind/number.pyi +1 -1
  498. homeassistant-stubs/components/tedee/__init__.pyi +2 -3
  499. homeassistant-stubs/components/tedee/binary_sensor.pyi +2 -0
  500. homeassistant-stubs/components/tedee/sensor.pyi +2 -0
  501. homeassistant-stubs/components/tibber/services.pyi +1 -1
  502. homeassistant-stubs/components/tolo/climate.pyi +0 -1
  503. homeassistant-stubs/components/tolo/fan.pyi +0 -1
  504. homeassistant-stubs/components/tplink/__init__.pyi +1 -1
  505. homeassistant-stubs/components/tplink/binary_sensor.pyi +2 -2
  506. homeassistant-stubs/components/tplink/button.pyi +2 -2
  507. homeassistant-stubs/components/tplink/camera.pyi +49 -0
  508. homeassistant-stubs/components/tplink/climate.pyi +1 -2
  509. homeassistant-stubs/components/tplink/config_flow.pyi +11 -5
  510. homeassistant-stubs/components/tplink/const.pyi +2 -0
  511. homeassistant-stubs/components/tplink/entity.pyi +9 -2
  512. homeassistant-stubs/components/tplink/fan.pyi +1 -2
  513. homeassistant-stubs/components/tplink/light.pyi +2 -2
  514. homeassistant-stubs/components/tplink/models.pyi +4 -1
  515. homeassistant-stubs/components/tplink/number.pyi +2 -2
  516. homeassistant-stubs/components/tplink/select.pyi +2 -2
  517. homeassistant-stubs/components/tplink/sensor.pyi +2 -2
  518. homeassistant-stubs/components/tplink/siren.pyi +1 -1
  519. homeassistant-stubs/components/tplink/switch.pyi +2 -2
  520. homeassistant-stubs/components/tractive/sensor.pyi +1 -1
  521. homeassistant-stubs/components/tradfri/fan.pyi +0 -1
  522. homeassistant-stubs/components/tradfri/light.pyi +4 -4
  523. homeassistant-stubs/components/transmission/__init__.pyi +1 -1
  524. homeassistant-stubs/components/transmission/const.pyi +1 -0
  525. homeassistant-stubs/components/twentemilieu/__init__.pyi +3 -11
  526. homeassistant-stubs/components/twentemilieu/calendar.pyi +1 -1
  527. homeassistant-stubs/components/twentemilieu/coordinator.pyi +14 -0
  528. homeassistant-stubs/components/twentemilieu/diagnostics.pyi +2 -2
  529. homeassistant-stubs/components/twentemilieu/entity.pyi +2 -3
  530. homeassistant-stubs/components/twentemilieu/sensor.pyi +3 -3
  531. homeassistant-stubs/components/unifi/sensor.pyi +1 -1
  532. homeassistant-stubs/components/unifiprotect/const.pyi +6 -0
  533. homeassistant-stubs/components/unifiprotect/event.pyi +5 -3
  534. homeassistant-stubs/components/unifiprotect/services.pyi +16 -9
  535. homeassistant-stubs/components/update/__init__.pyi +0 -2
  536. homeassistant-stubs/components/vacuum/__init__.pyi +16 -7
  537. homeassistant-stubs/components/vacuum/const.pyi +18 -5
  538. homeassistant-stubs/components/vacuum/device_condition.pyi +1 -1
  539. homeassistant-stubs/components/vacuum/device_trigger.pyi +1 -1
  540. homeassistant-stubs/components/vacuum/reproduce_state.pyi +2 -2
  541. homeassistant-stubs/components/vallox/fan.pyi +0 -1
  542. homeassistant-stubs/components/velbus/__init__.pyi +22 -9
  543. homeassistant-stubs/components/velbus/binary_sensor.pyi +4 -3
  544. homeassistant-stubs/components/velbus/button.pyi +4 -3
  545. homeassistant-stubs/components/velbus/climate.pyi +4 -3
  546. homeassistant-stubs/components/velbus/cover.pyi +4 -3
  547. homeassistant-stubs/components/velbus/diagnostics.pyi +3 -4
  548. homeassistant-stubs/components/velbus/light.pyi +4 -3
  549. homeassistant-stubs/components/velbus/select.pyi +4 -3
  550. homeassistant-stubs/components/velbus/sensor.pyi +4 -3
  551. homeassistant-stubs/components/velbus/services.pyi +7 -0
  552. homeassistant-stubs/components/velbus/switch.pyi +4 -3
  553. homeassistant-stubs/components/water_heater/__init__.pyi +7 -12
  554. homeassistant-stubs/components/wemo/fan.pyi +0 -1
  555. homeassistant-stubs/components/wemo/light.pyi +4 -2
  556. homeassistant-stubs/components/wiz/light.pyi +4 -5
  557. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +4 -4
  558. homeassistant-stubs/components/yale_smart_alarm/alarm_control_panel.pyi +0 -1
  559. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +3 -2
  560. homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +3 -3
  561. homeassistant-stubs/components/yale_smart_alarm/entity.pyi +1 -1
  562. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +1 -1
  563. homeassistant-stubs/components/zwave_js/api.pyi +2 -0
  564. homeassistant-stubs/components/zwave_js/climate.pyi +0 -1
  565. homeassistant-stubs/components/zwave_js/fan.pyi +0 -1
  566. homeassistant-stubs/components/zwave_js/light.pyi +7 -9
  567. homeassistant-stubs/const.pyi +2 -151
  568. homeassistant-stubs/core.pyi +3 -6
  569. homeassistant-stubs/core_config.pyi +2 -1
  570. homeassistant-stubs/data_entry_flow.pyi +0 -13
  571. homeassistant-stubs/exceptions.pyi +6 -0
  572. homeassistant-stubs/helpers/device_registry.pyi +1 -9
  573. homeassistant-stubs/helpers/entity.pyi +1 -2
  574. homeassistant-stubs/helpers/event.pyi +3 -4
  575. homeassistant-stubs/helpers/service.pyi +1 -1
  576. homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -1
  577. homeassistant-stubs/helpers/system_info.pyi +1 -1
  578. homeassistant-stubs/helpers/template.pyi +1 -1
  579. homeassistant-stubs/util/dt.pyi +1 -0
  580. homeassistant-stubs/util/package.pyi +1 -0
  581. homeassistant-stubs/util/system_info.pyi +1 -0
  582. {homeassistant_stubs-2024.12.4.dist-info → homeassistant_stubs-2025.1.0.dist-info}/METADATA +2 -2
  583. {homeassistant_stubs-2024.12.4.dist-info → homeassistant_stubs-2025.1.0.dist-info}/RECORD +585 -490
  584. homeassistant-stubs/components/bluesound/services.pyi +0 -21
  585. homeassistant-stubs/components/stookalert/__init__.pyi +0 -10
  586. homeassistant-stubs/components/stookalert/binary_sensor.pyi +0 -24
  587. homeassistant-stubs/components/stookalert/config_flow.pyi +0 -7
  588. homeassistant-stubs/components/tailwind/typing.pyi +0 -4
  589. {homeassistant_stubs-2024.12.4.dist-info → homeassistant_stubs-2025.1.0.dist-info}/WHEEL +0 -0
  590. {homeassistant_stubs-2024.12.4.dist-info → homeassistant_stubs-2025.1.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,8 +1,9 @@
1
1
  import abc
2
2
  from . import api as api
3
- from .const import CONF_PROJECT_ID as CONF_PROJECT_ID, CONF_SUBSCRIBER_ID as CONF_SUBSCRIBER_ID, CONF_SUBSCRIBER_ID_IMPORTED as CONF_SUBSCRIBER_ID_IMPORTED, CONF_SUBSCRIPTION_NAME as CONF_SUBSCRIPTION_NAME, DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DATA_SDM as DATA_SDM, DATA_SUBSCRIBER as DATA_SUBSCRIBER, DOMAIN as DOMAIN
3
+ from .const import CONF_PROJECT_ID as CONF_PROJECT_ID, CONF_SUBSCRIBER_ID as CONF_SUBSCRIBER_ID, CONF_SUBSCRIBER_ID_IMPORTED as CONF_SUBSCRIBER_ID_IMPORTED, CONF_SUBSCRIPTION_NAME as CONF_SUBSCRIPTION_NAME, DATA_SDM as DATA_SDM, DOMAIN as DOMAIN
4
4
  from .events import EVENT_NAME_MAP as EVENT_NAME_MAP, NEST_EVENT as NEST_EVENT
5
5
  from .media_source import EVENT_MEDIA_API_URL_FORMAT as EVENT_MEDIA_API_URL_FORMAT, EVENT_THUMBNAIL_URL_FORMAT as EVENT_THUMBNAIL_URL_FORMAT, async_get_media_event_store as async_get_media_event_store, async_get_media_source_devices as async_get_media_source_devices, async_get_transcoder as async_get_transcoder
6
+ from .types import NestConfigEntry as NestConfigEntry, NestData as NestData
6
7
  from _typeshed import Incomplete
7
8
  from abc import ABC, abstractmethod
8
9
  from aiohttp import web
@@ -10,7 +11,6 @@ from collections.abc import Awaitable, Callable as Callable
10
11
  from google_nest_sdm.device import Device as Device
11
12
  from google_nest_sdm.event import EventMessage as EventMessage
12
13
  from google_nest_sdm.event_media import Media as Media
13
- from google_nest_sdm.traits import TraitType
14
14
  from homeassistant.auth.permissions.const import POLICY_READ as POLICY_READ
15
15
  from homeassistant.components.camera import Image as Image, img_util as img_util
16
16
  from homeassistant.components.http import KEY_HASS_USER as KEY_HASS_USER
@@ -35,12 +35,12 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
35
35
  class SignalUpdateCallback:
36
36
  _hass: Incomplete
37
37
  _config_reload_cb: Incomplete
38
- _config_entry_id: Incomplete
39
- def __init__(self, hass: HomeAssistant, config_reload_cb: Callable[[], Awaitable[None]], config_entry_id: str) -> None: ...
38
+ _config_entry: Incomplete
39
+ def __init__(self, hass: HomeAssistant, config_reload_cb: Callable[[], Awaitable[None]], config_entry: NestConfigEntry) -> None: ...
40
40
  async def async_handle_event(self, event_message: EventMessage) -> None: ...
41
- def _supported_traits(self, device_id: str) -> list[TraitType]: ...
41
+ def _supported_traits(self, device_id: str) -> list[str]: ...
42
42
 
43
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
43
+ async def async_setup_entry(hass: HomeAssistant, entry: NestConfigEntry) -> bool: ...
44
44
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
45
45
  async def async_remove_entry(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
46
46
 
@@ -1,15 +1,13 @@
1
1
  import datetime
2
- from .const import DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DOMAIN as DOMAIN
3
2
  from .device_info import NestDeviceInfo as NestDeviceInfo
3
+ from .types import NestConfigEntry as NestConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from abc import ABC
6
6
  from collections.abc import Awaitable, Callable as Callable
7
7
  from google_nest_sdm.camera_traits import CameraLiveStreamTrait, RtspStream as RtspStream, WebRtcStream as WebRtcStream
8
8
  from google_nest_sdm.device import Device as Device
9
- from google_nest_sdm.device_manager import DeviceManager as DeviceManager
10
9
  from homeassistant.components.camera import Camera as Camera, CameraEntityFeature as CameraEntityFeature, WebRTCAnswer as WebRTCAnswer, WebRTCClientConfiguration as WebRTCClientConfiguration, WebRTCSendMessage as WebRTCSendMessage
11
10
  from homeassistant.components.stream import CONF_EXTRA_PART_WAIT_TIME as CONF_EXTRA_PART_WAIT_TIME
12
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
13
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
14
12
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
15
13
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -24,7 +22,7 @@ MIN_REFRESH_BACKOFF_INTERVAL: Incomplete
24
22
  MAX_REFRESH_BACKOFF_INTERVAL: Incomplete
25
23
  BACKOFF_MULTIPLIER: float
26
24
 
27
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
25
+ async def async_setup_entry(hass: HomeAssistant, entry: NestConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
28
26
 
29
27
  class StreamRefresh:
30
28
  _hass: Incomplete
@@ -1,11 +1,9 @@
1
- from .const import DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DOMAIN as DOMAIN
2
1
  from .device_info import NestDeviceInfo as NestDeviceInfo
2
+ from .types import NestConfigEntry as NestConfigEntry
3
3
  from _typeshed import Incomplete
4
4
  from google_nest_sdm.device import Device as Device
5
- from google_nest_sdm.device_manager import DeviceManager as DeviceManager
6
5
  from google_nest_sdm.thermostat_traits import ThermostatEcoTrait, ThermostatTemperatureSetpointTrait
7
6
  from homeassistant.components.climate import ATTR_HVAC_MODE as ATTR_HVAC_MODE, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, HVACAction as HVACAction, HVACMode as HVACMode, PRESET_ECO as PRESET_ECO, PRESET_NONE as PRESET_NONE
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
7
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
10
8
  from homeassistant.core import HomeAssistant as HomeAssistant
11
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -27,7 +25,7 @@ MIN_TEMP: int
27
25
  MAX_TEMP: int
28
26
  MIN_TEMP_RANGE: float
29
27
 
30
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
28
+ async def async_setup_entry(hass: HomeAssistant, entry: NestConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
31
29
 
32
30
  class ThermostatEntity(ClimateEntity):
33
31
  _attr_min_temp = MIN_TEMP
@@ -35,7 +33,6 @@ class ThermostatEntity(ClimateEntity):
35
33
  _attr_has_entity_name: bool
36
34
  _attr_should_poll: bool
37
35
  _attr_name: Incomplete
38
- _enable_turn_on_off_backwards_compatibility: bool
39
36
  _device: Incomplete
40
37
  _device_info: Incomplete
41
38
  _attr_unique_id: Incomplete
@@ -2,8 +2,6 @@ from _typeshed import Incomplete
2
2
 
3
3
  DOMAIN: str
4
4
  DATA_SDM: str
5
- DATA_SUBSCRIBER: str
6
- DATA_DEVICE_MANAGER: str
7
5
  WEB_AUTH_DOMAIN = DOMAIN
8
6
  INSTALLED_AUTH_DOMAIN: Incomplete
9
7
  CONF_PROJECT_ID: str
@@ -1,7 +1,8 @@
1
- from .const import CONNECTIVITY_TRAIT_OFFLINE as CONNECTIVITY_TRAIT_OFFLINE, DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DOMAIN as DOMAIN
1
+ from .const import CONNECTIVITY_TRAIT_OFFLINE as CONNECTIVITY_TRAIT_OFFLINE, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Mapping
4
4
  from google_nest_sdm.device import Device as Device
5
+ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
7
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
7
8
 
@@ -1,14 +1,10 @@
1
- from .const import DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DATA_SDM as DATA_SDM, DOMAIN as DOMAIN
1
+ from .types import NestConfigEntry as NestConfigEntry
2
2
  from _typeshed import Incomplete
3
- from google_nest_sdm.device import Device as Device
4
- from google_nest_sdm.device_manager import DeviceManager as DeviceManager
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
3
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
4
  from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
8
5
  from typing import Any
9
6
 
10
7
  REDACT_DEVICE_TRAITS: Incomplete
11
8
 
12
- def _async_get_nest_devices(hass: HomeAssistant, config_entry: ConfigEntry) -> dict[str, Device]: ...
13
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ConfigEntry) -> dict[str, Any]: ...
14
- async def async_get_device_diagnostics(hass: HomeAssistant, config_entry: ConfigEntry, device: DeviceEntry) -> dict[str, Any]: ...
9
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: NestConfigEntry) -> dict[str, Any]: ...
10
+ async def async_get_device_diagnostics(hass: HomeAssistant, config_entry: NestConfigEntry, device: DeviceEntry) -> dict[str, Any]: ...
@@ -1,14 +1,12 @@
1
- from .const import DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DOMAIN as DOMAIN
2
1
  from .device_info import NestDeviceInfo as NestDeviceInfo
3
2
  from .events import EVENT_CAMERA_MOTION as EVENT_CAMERA_MOTION, EVENT_CAMERA_PERSON as EVENT_CAMERA_PERSON, EVENT_CAMERA_SOUND as EVENT_CAMERA_SOUND, EVENT_DOORBELL_CHIME as EVENT_DOORBELL_CHIME, EVENT_NAME_MAP as EVENT_NAME_MAP
3
+ from .types import NestConfigEntry as NestConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from dataclasses import dataclass
6
6
  from google_nest_sdm.device import Device as Device
7
- from google_nest_sdm.device_manager import DeviceManager as DeviceManager
8
7
  from google_nest_sdm.event import EventMessage as EventMessage, EventType
9
8
  from google_nest_sdm.traits import TraitType
10
9
  from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
11
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
12
10
  from homeassistant.core import HomeAssistant as HomeAssistant
13
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
12
 
@@ -23,7 +21,7 @@ class NestEventEntityDescription(EventEntityDescription):
23
21
 
24
22
  ENTITY_DESCRIPTIONS: Incomplete
25
23
 
26
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
24
+ async def async_setup_entry(hass: HomeAssistant, entry: NestConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
27
25
 
28
26
  class NestTraitEventEntity(EventEntity):
29
27
  entity_description: NestEventEntityDescription
@@ -1,10 +1,8 @@
1
- from .const import DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DOMAIN as DOMAIN
2
1
  from .device_info import NestDeviceInfo as NestDeviceInfo
2
+ from .types import NestConfigEntry as NestConfigEntry
3
3
  from _typeshed import Incomplete
4
4
  from google_nest_sdm.device import Device as Device
5
- from google_nest_sdm.device_manager import DeviceManager as DeviceManager
6
5
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
6
  from homeassistant.const import PERCENTAGE as PERCENTAGE, UnitOfTemperature as UnitOfTemperature
9
7
  from homeassistant.core import HomeAssistant as HomeAssistant
10
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -12,7 +10,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
12
10
  _LOGGER: Incomplete
13
11
  DEVICE_TYPE_MAP: Incomplete
14
12
 
15
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
+ async def async_setup_entry(hass: HomeAssistant, entry: NestConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
14
 
17
15
  class SensorBase(SensorEntity):
18
16
  _attr_should_poll: bool
@@ -0,0 +1,11 @@
1
+ from dataclasses import dataclass
2
+ from google_nest_sdm.device_manager import DeviceManager as DeviceManager
3
+ from google_nest_sdm.google_nest_subscriber import GoogleNestSubscriber as GoogleNestSubscriber
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+
6
+ @dataclass
7
+ class NestData:
8
+ subscriber: GoogleNestSubscriber
9
+ device_manager: DeviceManager
10
+ def __init__(self, subscriber, device_manager) -> None: ...
11
+ type NestConfigEntry = ConfigEntry[NestData]
@@ -46,7 +46,6 @@ class NetatmoThermostat(NetatmoRoomEntity, ClimateEntity):
46
46
  _attr_name: Incomplete
47
47
  _away: bool | None
48
48
  _connected: bool | None
49
- _enable_turn_on_off_backwards_compatibility: bool
50
49
  _away_temperature: float | None
51
50
  _hg_temperature: float | None
52
51
  _boilerstatus: bool | None
@@ -23,7 +23,6 @@ class NetatmoFan(NetatmoModuleEntity, FanEntity):
23
23
  _attr_configuration_url = CONF_URL_CONTROL
24
24
  _attr_name: Incomplete
25
25
  device: NaModules.Fan
26
- _enable_turn_on_off_backwards_compatibility: bool
27
26
  _attr_unique_id: Incomplete
28
27
  def __init__(self, netatmo_device: NetatmoDevice) -> None: ...
29
28
  async def async_set_preset_mode(self, preset_mode: str) -> None: ...
@@ -1,9 +1,16 @@
1
- from .const import DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
1
+ from .const import CONF_AREAS as CONF_AREAS, DOMAIN as DOMAIN, LOGGER as LOGGER, PLATFORMS as PLATFORMS
2
2
  from .coordinator import NordPoolDataUpdateCoordinator as NordPoolDataUpdateCoordinator
3
+ from .services import async_setup_services as async_setup_services
4
+ from _typeshed import Incomplete
3
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
6
  from homeassistant.core import HomeAssistant as HomeAssistant
5
7
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
8
+ from homeassistant.helpers.typing import ConfigType as ConfigType
6
9
 
7
10
  type NordPoolConfigEntry = ConfigEntry[NordPoolDataUpdateCoordinator]
8
- async def async_setup_entry(hass: HomeAssistant, entry: NordPoolConfigEntry) -> bool: ...
9
- async def async_unload_entry(hass: HomeAssistant, entry: NordPoolConfigEntry) -> bool: ...
11
+ CONFIG_SCHEMA: Incomplete
12
+
13
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
14
+ async def async_setup_entry(hass: HomeAssistant, config_entry: NordPoolConfigEntry) -> bool: ...
15
+ async def async_unload_entry(hass: HomeAssistant, config_entry: NordPoolConfigEntry) -> bool: ...
16
+ async def cleanup_device(hass: HomeAssistant, config_entry: NordPoolConfigEntry) -> None: ...
@@ -8,9 +8,9 @@ from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
9
  from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time
10
10
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
11
- from pynordpool import DeliveryPeriodData
11
+ from pynordpool import DeliveryPeriodData as DeliveryPeriodData, DeliveryPeriodEntry as DeliveryPeriodEntry, DeliveryPeriodsData
12
12
 
13
- class NordPoolDataUpdateCoordinator(DataUpdateCoordinator[DeliveryPeriodData]):
13
+ class NordPoolDataUpdateCoordinator(DataUpdateCoordinator[DeliveryPeriodsData]):
14
14
  config_entry: NordPoolConfigEntry
15
15
  client: Incomplete
16
16
  unsub: Incomplete
@@ -18,3 +18,6 @@ class NordPoolDataUpdateCoordinator(DataUpdateCoordinator[DeliveryPeriodData]):
18
18
  def get_next_interval(self, now: datetime) -> datetime: ...
19
19
  async def async_shutdown(self) -> None: ...
20
20
  async def fetch_data(self, now: datetime) -> None: ...
21
+ async def api_call(self, retry: int = 3) -> DeliveryPeriodsData | None: ...
22
+ def merge_price_entries(self) -> list[DeliveryPeriodEntry]: ...
23
+ def get_data_current_day(self) -> DeliveryPeriodData: ...
@@ -1,7 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import NordPoolDataUpdateCoordinator as NordPoolDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
4
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
5
5
  from homeassistant.helpers.entity import EntityDescription as EntityDescription
6
6
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
7
 
@@ -10,22 +10,24 @@ from homeassistant.components.sensor import EntityCategory as EntityCategory, Se
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
12
  from homeassistant.util import slugify as slugify
13
- from pynordpool import DeliveryPeriodData as DeliveryPeriodData
14
13
 
15
14
  PARALLEL_UPDATES: int
16
15
 
17
- def get_prices(data: DeliveryPeriodData) -> dict[str, tuple[float | None, float, float | None]]: ...
18
- def get_blockprices(data: DeliveryPeriodData) -> dict[str, dict[str, tuple[datetime, datetime, float, float, float]]]: ...
16
+ def validate_prices(func: Callable[[NordpoolPriceSensor], dict[str, tuple[float | None, float, float | None]]], entity: NordpoolPriceSensor, area: str, index: int) -> float | None: ...
17
+ def get_prices(entity: NordpoolPriceSensor) -> dict[str, tuple[float | None, float, float | None]]: ...
18
+ def get_min_max_price(entity: NordpoolPriceSensor, func: Callable[[float, float], float]) -> tuple[float, datetime, datetime]: ...
19
+ def get_blockprices(entity: NordpoolBlockPriceSensor) -> dict[str, dict[str, tuple[datetime, datetime, float, float, float]]]: ...
19
20
 
20
21
  @dataclass(frozen=True, kw_only=True)
21
22
  class NordpoolDefaultSensorEntityDescription(SensorEntityDescription):
22
- value_fn: Callable[[DeliveryPeriodData], str | float | datetime | None]
23
+ value_fn: Callable[[NordpoolSensor], str | float | datetime | None]
23
24
  def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
24
25
 
25
26
  @dataclass(frozen=True, kw_only=True)
26
27
  class NordpoolPricesSensorEntityDescription(SensorEntityDescription):
27
- value_fn: Callable[[tuple[float | None, float, float | None]], float | None]
28
- def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
28
+ value_fn: Callable[[NordpoolPriceSensor], float | None]
29
+ extra_fn: Callable[[NordpoolPriceSensor], dict[str, str] | None]
30
+ 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, extra_fn) -> None: ...
29
31
 
30
32
  @dataclass(frozen=True, kw_only=True)
31
33
  class NordpoolBlockPricesSensorEntityDescription(SensorEntityDescription):
@@ -50,6 +52,8 @@ class NordpoolPriceSensor(NordpoolBaseEntity, SensorEntity):
50
52
  def __init__(self, coordinator: NordPoolDataUpdateCoordinator, entity_description: NordpoolPricesSensorEntityDescription, area: str, currency: str) -> None: ...
51
53
  @property
52
54
  def native_value(self) -> float | None: ...
55
+ @property
56
+ def extra_state_attributes(self) -> dict[str, str] | None: ...
53
57
 
54
58
  class NordpoolBlockPriceSensor(NordpoolBaseEntity, SensorEntity):
55
59
  entity_description: NordpoolBlockPricesSensorEntityDescription
@@ -0,0 +1,19 @@
1
+ from . import NordPoolConfigEntry as NordPoolConfigEntry
2
+ from .const import DOMAIN as DOMAIN
3
+ from _typeshed import Incomplete
4
+ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
5
+ from homeassistant.const import ATTR_DATE as ATTR_DATE
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
7
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
8
+ from homeassistant.helpers.selector import ConfigEntrySelector as ConfigEntrySelector
9
+ from homeassistant.util.json import JsonValueType as JsonValueType
10
+
11
+ _LOGGER: Incomplete
12
+ ATTR_CONFIG_ENTRY: str
13
+ ATTR_AREAS: str
14
+ ATTR_CURRENCY: str
15
+ SERVICE_GET_PRICES_FOR_DATE: str
16
+ SERVICE_GET_PRICES_SCHEMA: Incomplete
17
+
18
+ def get_config_entry(hass: HomeAssistant, entry_id: str) -> NordPoolConfigEntry: ...
19
+ def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -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 BaseUnitConverter as BaseUnitConverter, TemperatureConverter as TemperatureConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
6
5
  from typing import Final
7
6
 
@@ -21,10 +20,6 @@ class NumberMode(StrEnum):
21
20
  BOX = 'box'
22
21
  SLIDER = 'slider'
23
22
 
24
- _DEPRECATED_MODE_AUTO: Final[Incomplete]
25
- _DEPRECATED_MODE_BOX: Final[Incomplete]
26
- _DEPRECATED_MODE_SLIDER: Final[Incomplete]
27
-
28
23
  class NumberDeviceClass(StrEnum):
29
24
  APPARENT_POWER = 'apparent_power'
30
25
  AQI = 'aqi'
@@ -81,6 +76,3 @@ class NumberDeviceClass(StrEnum):
81
76
  DEVICE_CLASSES_SCHEMA: Final[Incomplete]
82
77
  DEVICE_CLASS_UNITS: dict[NumberDeviceClass, set[type[StrEnum] | str | None]]
83
78
  UNIT_CONVERTERS: dict[NumberDeviceClass, type[BaseUnitConverter]]
84
- __getattr__: Incomplete
85
- __dir__: Incomplete
86
- __all__: Incomplete
@@ -1,6 +1,7 @@
1
1
  from .const import CONF_RECEIVER_MAX_VOLUME as CONF_RECEIVER_MAX_VOLUME, CONF_SOURCES as CONF_SOURCES, DOMAIN as DOMAIN, InputSource as InputSource, OPTION_INPUT_SOURCES as OPTION_INPUT_SOURCES, OPTION_MAX_VOLUME as OPTION_MAX_VOLUME, OPTION_MAX_VOLUME_DEFAULT as OPTION_MAX_VOLUME_DEFAULT, OPTION_VOLUME_RESOLUTION as OPTION_VOLUME_RESOLUTION, OPTION_VOLUME_RESOLUTION_DEFAULT as OPTION_VOLUME_RESOLUTION_DEFAULT, VOLUME_RESOLUTION_ALLOWED as VOLUME_RESOLUTION_ALLOWED
2
2
  from .receiver import ReceiverInfo as ReceiverInfo, async_discover as async_discover, async_interview as async_interview
3
3
  from _typeshed import Incomplete
4
+ from homeassistant.components import ssdp as ssdp
4
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
5
6
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME
6
7
  from homeassistant.core import callback as callback
@@ -19,6 +20,7 @@ class OnkyoConfigFlow(ConfigFlow, domain=DOMAIN):
19
20
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
20
21
  async def async_step_manual(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
22
  async def async_step_eiscp_discovery(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
+ async def async_step_ssdp(self, discovery_info: ssdp.SsdpServiceInfo) -> ConfigFlowResult: ...
22
24
  async def async_step_configure_receiver(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
25
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
26
  async def async_step_import(self, user_input: dict[str, Any]) -> ConfigFlowResult: ...
@@ -9,6 +9,7 @@ from homeassistant.config_entries import SOURCE_IMPORT as SOURCE_IMPORT
9
9
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
11
  from homeassistant.data_entry_flow import FlowResultType as FlowResultType
12
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
12
13
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
14
  from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
14
15
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
@@ -30,9 +31,11 @@ AUDIO_VIDEO_INFORMATION_UPDATE_WAIT_TIME: int
30
31
  AUDIO_INFORMATION_MAPPING: Incomplete
31
32
  VIDEO_INFORMATION_MAPPING: Incomplete
32
33
  ISSUE_URL_PLACEHOLDER: str
33
- type InputLibValue = str | tuple[str, ...]
34
+ type LibValue = str | tuple[str, ...]
34
35
 
35
- def _input_lib_cmds(zone: str) -> dict[InputSource, InputLibValue]: ...
36
+ def _get_single_lib_value(value: LibValue) -> str: ...
37
+ def _input_source_lib_mappings(zone: str) -> dict[InputSource, LibValue]: ...
38
+ def _rev_input_source_lib_mappings(zone: str) -> dict[LibValue, InputSource]: ...
36
39
  async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
37
40
  async def async_setup_entry(hass: HomeAssistant, entry: OnkyoConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
38
41
 
@@ -48,10 +51,10 @@ class OnkyoMediaPlayer(MediaPlayerEntity):
48
51
  _zone: Incomplete
49
52
  _volume_resolution: Incomplete
50
53
  _max_volume: Incomplete
51
- _name_mapping: Incomplete
52
- _reverse_name_mapping: Incomplete
53
- _lib_mapping: Incomplete
54
- _reverse_lib_mapping: Incomplete
54
+ _source_lib_mapping: Incomplete
55
+ _rev_source_lib_mapping: Incomplete
56
+ _source_mapping: Incomplete
57
+ _rev_source_mapping: Incomplete
55
58
  _attr_source_list: Incomplete
56
59
  _attr_extra_state_attributes: Incomplete
57
60
  def __init__(self, receiver: Receiver, zone: str, *, volume_resolution: VolumeResolution, max_volume: float, sources: dict[InputSource, str]) -> None: ...
@@ -76,7 +79,7 @@ class OnkyoMediaPlayer(MediaPlayerEntity):
76
79
  _attr_is_volume_muted: Incomplete
77
80
  def process_update(self, update: tuple[str, str, Any]) -> None: ...
78
81
  _attr_source: Incomplete
79
- def _parse_source(self, source_lib: InputLibValue) -> None: ...
82
+ def _parse_source(self, source_lib: LibValue) -> None: ...
80
83
  def _parse_audio_information(self, audio_information: tuple[str] | Literal['N/A']) -> None: ...
81
84
  def _parse_video_information(self, video_information: tuple[str] | Literal['N/A']) -> None: ...
82
85
  def _query_av_info_delayed(self) -> None: ...
@@ -16,9 +16,10 @@ class HomeAssistantOverkizData:
16
16
  platforms: defaultdict[Platform, list[Device]]
17
17
  scenarios: list[Scenario]
18
18
  def __init__(self, coordinator, platforms, scenarios) -> None: ...
19
+ type OverkizDataConfigEntry = ConfigEntry[HomeAssistantOverkizData]
19
20
 
20
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
21
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
22
- async def _async_migrate_entries(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
21
+ async def async_setup_entry(hass: HomeAssistant, entry: OverkizDataConfigEntry) -> bool: ...
22
+ async def async_unload_entry(hass: HomeAssistant, entry: OverkizDataConfigEntry) -> bool: ...
23
+ async def _async_migrate_entries(hass: HomeAssistant, config_entry: OverkizDataConfigEntry) -> bool: ...
23
24
  def create_local_client(hass: HomeAssistant, host: str, token: str, verify_ssl: bool) -> OverkizClient: ...
24
25
  def create_cloud_client(hass: HomeAssistant, username: str, password: str, server: OverkizServer) -> OverkizClient: ...
@@ -1,12 +1,10 @@
1
- from . import HomeAssistantOverkizData as HomeAssistantOverkizData
2
- from .const import DOMAIN as DOMAIN
1
+ from . import OverkizDataConfigEntry as OverkizDataConfigEntry
3
2
  from .coordinator import OverkizDataUpdateCoordinator as OverkizDataUpdateCoordinator
4
3
  from .entity import OverkizDescriptiveEntity as OverkizDescriptiveEntity
5
4
  from _typeshed import Incomplete
6
5
  from collections.abc import Callable as Callable
7
6
  from dataclasses import dataclass
8
7
  from homeassistant.components.alarm_control_panel import AlarmControlPanelEntity as AlarmControlPanelEntity, AlarmControlPanelEntityDescription as AlarmControlPanelEntityDescription, AlarmControlPanelEntityFeature as AlarmControlPanelEntityFeature, AlarmControlPanelState as AlarmControlPanelState
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
8
  from homeassistant.const import Platform as Platform
11
9
  from homeassistant.core import HomeAssistant as HomeAssistant
12
10
  from homeassistant.helpers.entity import EntityDescription as EntityDescription
@@ -49,7 +47,7 @@ def _state_alarm_panel_controller(select_state: Callable[[str], OverkizStateType
49
47
  ALARM_DESCRIPTIONS: list[OverkizAlarmDescription]
50
48
  SUPPORTED_DEVICES: Incomplete
51
49
 
52
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
50
+ async def async_setup_entry(hass: HomeAssistant, entry: OverkizDataConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
53
51
 
54
52
  class OverkizAlarmControlPanel(OverkizDescriptiveEntity, AlarmControlPanelEntity):
55
53
  entity_description: OverkizAlarmDescription
@@ -1,11 +1,10 @@
1
- from . import HomeAssistantOverkizData as HomeAssistantOverkizData
2
- from .const import DOMAIN as DOMAIN, IGNORED_OVERKIZ_DEVICES as IGNORED_OVERKIZ_DEVICES
1
+ from . import OverkizDataConfigEntry as OverkizDataConfigEntry
2
+ from .const import IGNORED_OVERKIZ_DEVICES as IGNORED_OVERKIZ_DEVICES
3
3
  from .entity import OverkizDescriptiveEntity as OverkizDescriptiveEntity
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
7
7
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
10
  from pyoverkiz.types import StateType as OverkizStateType
@@ -18,7 +17,7 @@ class OverkizBinarySensorDescription(BinarySensorEntityDescription):
18
17
  BINARY_SENSOR_DESCRIPTIONS: list[OverkizBinarySensorDescription]
19
18
  SUPPORTED_STATES: Incomplete
20
19
 
21
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
20
+ async def async_setup_entry(hass: HomeAssistant, entry: OverkizDataConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
21
 
23
22
  class OverkizBinarySensor(OverkizDescriptiveEntity, BinarySensorEntity):
24
23
  entity_description: OverkizBinarySensorDescription
@@ -1,10 +1,9 @@
1
- from . import HomeAssistantOverkizData as HomeAssistantOverkizData
2
- from .const import DOMAIN as DOMAIN, IGNORED_OVERKIZ_DEVICES as IGNORED_OVERKIZ_DEVICES
1
+ from . import OverkizDataConfigEntry as OverkizDataConfigEntry
2
+ from .const import IGNORED_OVERKIZ_DEVICES as IGNORED_OVERKIZ_DEVICES
3
3
  from .entity import OverkizDescriptiveEntity as OverkizDescriptiveEntity
4
4
  from _typeshed import Incomplete
5
5
  from dataclasses import dataclass
6
- from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
8
7
  from homeassistant.const import EntityCategory as EntityCategory
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -18,7 +17,7 @@ class OverkizButtonDescription(ButtonEntityDescription):
18
17
  BUTTON_DESCRIPTIONS: list[OverkizButtonDescription]
19
18
  SUPPORTED_COMMANDS: Incomplete
20
19
 
21
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
20
+ async def async_setup_entry(hass: HomeAssistant, entry: OverkizDataConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
21
 
23
22
  class OverkizButton(OverkizDescriptiveEntity, ButtonEntity):
24
23
  entity_description: OverkizButtonDescription
@@ -1,5 +1,4 @@
1
- from .. import HomeAssistantOverkizData as HomeAssistantOverkizData
2
- from ..const import DOMAIN as DOMAIN
1
+ from .. import OverkizDataConfigEntry as OverkizDataConfigEntry
3
2
  from .atlantic_electrical_heater import AtlanticElectricalHeater as AtlanticElectricalHeater
4
3
  from .atlantic_electrical_heater_with_adjustable_temperature_setpoint import AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint as AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint
5
4
  from .atlantic_electrical_towel_dryer import AtlanticElectricalTowelDryer as AtlanticElectricalTowelDryer
@@ -10,12 +9,12 @@ from .atlantic_pass_apc_zone_control import AtlanticPassAPCZoneControl as Atlant
10
9
  from .atlantic_pass_apc_zone_control_zone import AtlanticPassAPCZoneControlZone as AtlanticPassAPCZoneControlZone
11
10
  from .hitachi_air_to_air_heat_pump_hlrrwifi import HitachiAirToAirHeatPumpHLRRWIFI as HitachiAirToAirHeatPumpHLRRWIFI
12
11
  from .hitachi_air_to_air_heat_pump_ovp import HitachiAirToAirHeatPumpOVP as HitachiAirToAirHeatPumpOVP
12
+ from .hitachi_air_to_water_heating_zone import HitachiAirToWaterHeatingZone as HitachiAirToWaterHeatingZone
13
13
  from .somfy_heating_temperature_interface import SomfyHeatingTemperatureInterface as SomfyHeatingTemperatureInterface
14
14
  from .somfy_thermostat import SomfyThermostat as SomfyThermostat
15
15
  from .valve_heating_temperature_interface import ValveHeatingTemperatureInterface as ValveHeatingTemperatureInterface
16
16
  from _typeshed import Incomplete
17
17
  from enum import StrEnum
18
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
19
18
  from homeassistant.const import Platform as Platform
20
19
  from homeassistant.core import HomeAssistant as HomeAssistant
21
20
  from homeassistant.helpers.entity import Entity as Entity
@@ -29,4 +28,4 @@ WIDGET_TO_CLIMATE_ENTITY: Incomplete
29
28
  WIDGET_AND_CONTROLLABLE_TO_CLIMATE_ENTITY: Incomplete
30
29
  WIDGET_AND_PROTOCOL_TO_CLIMATE_ENTITY: Incomplete
31
30
 
32
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
31
+ async def async_setup_entry(hass: HomeAssistant, entry: OverkizDataConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -18,7 +18,6 @@ class AtlanticElectricalHeater(OverkizEntity, ClimateEntity):
18
18
  _attr_supported_features: Incomplete
19
19
  _attr_temperature_unit: Incomplete
20
20
  _attr_translation_key = DOMAIN
21
- _enable_turn_on_off_backwards_compatibility: bool
22
21
  @property
23
22
  def hvac_mode(self) -> HVACMode: ...
24
23
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
@@ -24,7 +24,6 @@ class AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint(OverkizEntity, C
24
24
  _attr_temperature_unit: Incomplete
25
25
  _attr_supported_features: Incomplete
26
26
  _attr_translation_key = DOMAIN
27
- _enable_turn_on_off_backwards_compatibility: bool
28
27
  temperature_device: Incomplete
29
28
  def __init__(self, device_url: str, coordinator: OverkizDataUpdateCoordinator) -> None: ...
30
29
  @property
@@ -18,7 +18,6 @@ class AtlanticElectricalTowelDryer(OverkizEntity, ClimateEntity):
18
18
  _attr_preset_modes: Incomplete
19
19
  _attr_temperature_unit: Incomplete
20
20
  _attr_translation_key = DOMAIN
21
- _enable_turn_on_off_backwards_compatibility: bool
22
21
  temperature_device: Incomplete
23
22
  _attr_supported_features: Incomplete
24
23
  def __init__(self, device_url: str, coordinator: OverkizDataUpdateCoordinator) -> None: ...
@@ -26,7 +25,7 @@ class AtlanticElectricalTowelDryer(OverkizEntity, ClimateEntity):
26
25
  def hvac_mode(self) -> HVACMode: ...
27
26
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
28
27
  @property
29
- def target_temperature(self) -> None: ...
28
+ def target_temperature(self) -> float | None: ...
30
29
  @property
31
30
  def current_temperature(self) -> float | None: ...
32
31
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
@@ -24,7 +24,6 @@ class AtlanticHeatRecoveryVentilation(OverkizEntity, ClimateEntity):
24
24
  _attr_temperature_unit: Incomplete
25
25
  _attr_supported_features: Incomplete
26
26
  _attr_translation_key = DOMAIN
27
- _enable_turn_on_off_backwards_compatibility: bool
28
27
  temperature_device: Incomplete
29
28
  def __init__(self, device_url: str, coordinator: OverkizDataUpdateCoordinator) -> None: ...
30
29
  @property
@@ -12,7 +12,6 @@ class AtlanticPassAPCHeatPumpMainComponent(OverkizEntity, ClimateEntity):
12
12
  _attr_supported_features: Incomplete
13
13
  _attr_temperature_unit: Incomplete
14
14
  _attr_translation_key = DOMAIN
15
- _enable_turn_on_off_backwards_compatibility: bool
16
15
  @property
17
16
  def hvac_mode(self) -> HVACMode: ...
18
17
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
@@ -21,7 +21,6 @@ class AtlanticPassAPCHeatingZone(OverkizEntity, ClimateEntity):
21
21
  _attr_supported_features: Incomplete
22
22
  _attr_temperature_unit: Incomplete
23
23
  _attr_translation_key = DOMAIN
24
- _enable_turn_on_off_backwards_compatibility: bool
25
24
  temperature_device: Incomplete
26
25
  def __init__(self, device_url: str, coordinator: OverkizDataUpdateCoordinator) -> None: ...
27
26
  @property
@@ -10,7 +10,6 @@ HVAC_MODE_TO_OVERKIZ: Incomplete
10
10
  class AtlanticPassAPCZoneControl(OverkizEntity, ClimateEntity):
11
11
  _attr_temperature_unit: Incomplete
12
12
  _attr_supported_features: Incomplete
13
- _enable_turn_on_off_backwards_compatibility: bool
14
13
  _attr_hvac_modes: Incomplete
15
14
  def __init__(self, device_url: str, coordinator: OverkizDataUpdateCoordinator) -> None: ...
16
15
  @property
@@ -28,7 +28,6 @@ class HitachiAirToAirHeatPumpHLRRWIFI(OverkizEntity, ClimateEntity):
28
28
  _attr_target_temperature_step: float
29
29
  _attr_temperature_unit: Incomplete
30
30
  _attr_translation_key = DOMAIN
31
- _enable_turn_on_off_backwards_compatibility: bool
32
31
  _attr_supported_features: Incomplete
33
32
  def __init__(self, device_url: str, coordinator: OverkizDataUpdateCoordinator) -> None: ...
34
33
  @property