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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (590) hide show
  1. homeassistant-stubs/auth/__init__.pyi +1 -1
  2. homeassistant-stubs/auth/mfa_modules/__init__.pyi +6 -4
  3. homeassistant-stubs/auth/mfa_modules/notify.pyi +2 -3
  4. homeassistant-stubs/auth/mfa_modules/totp.pyi +2 -3
  5. homeassistant-stubs/auth/providers/__init__.pyi +6 -4
  6. homeassistant-stubs/auth/providers/command_line.pyi +2 -2
  7. homeassistant-stubs/auth/providers/homeassistant.pyi +2 -2
  8. homeassistant-stubs/auth/providers/insecure_example.pyi +2 -2
  9. homeassistant-stubs/auth/providers/trusted_networks.pyi +2 -2
  10. homeassistant-stubs/backup_restore.pyi +11 -4
  11. homeassistant-stubs/bootstrap.pyi +2 -1
  12. homeassistant-stubs/components/abode/light.pyi +4 -3
  13. homeassistant-stubs/components/acaia/__init__.pyi +9 -0
  14. homeassistant-stubs/components/acaia/binary_sensor.pyi +24 -0
  15. homeassistant-stubs/components/acaia/button.pyi +24 -0
  16. homeassistant-stubs/components/acaia/config_flow.pyi +18 -0
  17. homeassistant-stubs/components/acaia/const.pyi +2 -0
  18. homeassistant-stubs/components/acaia/coordinator.pyi +19 -0
  19. homeassistant-stubs/components/{stookalert → acaia}/diagnostics.pyi +2 -3
  20. homeassistant-stubs/components/acaia/entity.pyi +17 -0
  21. homeassistant-stubs/components/acaia/sensor.pyi +44 -0
  22. homeassistant-stubs/components/adax/climate.pyi +0 -1
  23. homeassistant-stubs/components/airtouch5/climate.pyi +0 -1
  24. homeassistant-stubs/components/airzone/climate.pyi +0 -1
  25. homeassistant-stubs/components/airzone_cloud/climate.pyi +3 -2
  26. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -6
  27. homeassistant-stubs/components/alarm_control_panel/const.pyi +0 -14
  28. homeassistant-stubs/components/analytics_insights/config_flow.pyi +3 -2
  29. homeassistant-stubs/components/apple_tv/config_flow.pyi +1 -1
  30. homeassistant-stubs/components/apsystems/number.pyi +1 -0
  31. homeassistant-stubs/components/autarco/__init__.pyi +1 -0
  32. homeassistant-stubs/components/autarco/config_flow.pyi +4 -0
  33. homeassistant-stubs/components/autarco/coordinator.pyi +1 -0
  34. homeassistant-stubs/components/automation/__init__.pyi +1 -10
  35. homeassistant-stubs/components/backup/__init__.pyi +4 -11
  36. homeassistant-stubs/components/backup/agent.pyi +35 -0
  37. homeassistant-stubs/components/backup/backup.pyi +29 -0
  38. homeassistant-stubs/components/backup/config.pyi +117 -0
  39. homeassistant-stubs/components/backup/const.pyi +2 -0
  40. homeassistant-stubs/components/backup/http.pyi +3 -2
  41. homeassistant-stubs/components/backup/manager.pyi +192 -51
  42. homeassistant-stubs/components/backup/models.pyi +38 -0
  43. homeassistant-stubs/components/backup/store.pyi +24 -0
  44. homeassistant-stubs/components/backup/util.pyi +12 -0
  45. homeassistant-stubs/components/backup/websocket.pyi +9 -1
  46. homeassistant-stubs/components/baf/climate.pyi +0 -1
  47. homeassistant-stubs/components/baf/fan.pyi +0 -1
  48. homeassistant-stubs/components/baf/light.pyi +4 -5
  49. homeassistant-stubs/components/bang_olufsen/const.pyi +3 -0
  50. homeassistant-stubs/components/bang_olufsen/media_player.pyi +2 -2
  51. homeassistant-stubs/components/binary_sensor/__init__.pyi +0 -33
  52. homeassistant-stubs/components/bluesound/__init__.pyi +0 -1
  53. homeassistant-stubs/components/bluesound/media_player.pyi +13 -8
  54. homeassistant-stubs/components/bluesound/utils.pyi +2 -0
  55. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +4 -12
  56. homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +1 -0
  57. homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -0
  58. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +8 -4
  59. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +4 -3
  60. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +2 -2
  61. homeassistant-stubs/components/bmw_connected_drive/diagnostics.pyi +1 -0
  62. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -0
  63. homeassistant-stubs/components/bmw_connected_drive/notify.pyi +2 -1
  64. homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -0
  65. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -0
  66. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +1 -0
  67. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -0
  68. homeassistant-stubs/components/bryant_evolution/climate.pyi +0 -1
  69. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +4 -1
  70. homeassistant-stubs/components/cambridge_audio/media_browser.pyi +8 -0
  71. homeassistant-stubs/components/cambridge_audio/media_player.pyi +4 -3
  72. homeassistant-stubs/components/cambridge_audio/select.pyi +2 -2
  73. homeassistant-stubs/components/cambridge_audio/switch.pyi +2 -2
  74. homeassistant-stubs/components/camera/__init__.pyi +1 -5
  75. homeassistant-stubs/components/camera/const.pyi +0 -8
  76. homeassistant-stubs/components/cert_expiry/config_flow.pyi +0 -1
  77. homeassistant-stubs/components/cert_expiry/sensor.pyi +2 -10
  78. homeassistant-stubs/components/climate/__init__.pyi +1 -12
  79. homeassistant-stubs/components/climate/const.pyi +0 -25
  80. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  81. homeassistant-stubs/components/cloud/backup.pyi +37 -0
  82. homeassistant-stubs/components/cloud/const.pyi +2 -0
  83. homeassistant-stubs/components/cloud/http_api.pyi +7 -2
  84. homeassistant-stubs/components/cookidoo/__init__.pyi +9 -0
  85. homeassistant-stubs/components/cookidoo/config_flow.pyi +24 -0
  86. homeassistant-stubs/components/cookidoo/const.pyi +1 -0
  87. homeassistant-stubs/components/cookidoo/coordinator.pyi +25 -0
  88. homeassistant-stubs/components/cookidoo/entity.pyi +10 -0
  89. homeassistant-stubs/components/cookidoo/todo.pyi +32 -0
  90. homeassistant-stubs/components/cover/__init__.pyi +0 -18
  91. homeassistant-stubs/components/crownstone/config_flow.pyi +1 -1
  92. homeassistant-stubs/components/deconz/climate.pyi +0 -1
  93. homeassistant-stubs/components/deconz/fan.pyi +0 -1
  94. homeassistant-stubs/components/deconz/light.pyi +7 -5
  95. homeassistant-stubs/components/demo/climate.pyi +0 -1
  96. homeassistant-stubs/components/demo/fan.pyi +0 -1
  97. homeassistant-stubs/components/demo/light.pyi +4 -2
  98. homeassistant-stubs/components/demo/vacuum.pyi +2 -4
  99. homeassistant-stubs/components/device_tracker/__init__.pyi +1 -7
  100. homeassistant-stubs/components/device_tracker/const.pyi +0 -8
  101. homeassistant-stubs/components/devolo_home_control/__init__.pyi +1 -1
  102. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +3 -2
  103. homeassistant-stubs/components/devolo_home_control/climate.pyi +0 -1
  104. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +1 -2
  105. homeassistant-stubs/components/devolo_home_control/const.pyi +0 -2
  106. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -3
  107. homeassistant-stubs/components/discovergy/__init__.pyi +2 -2
  108. homeassistant-stubs/components/duotecno/climate.pyi +0 -1
  109. homeassistant-stubs/components/easyenergy/__init__.pyi +4 -5
  110. homeassistant-stubs/components/easyenergy/coordinator.pyi +3 -2
  111. homeassistant-stubs/components/easyenergy/diagnostics.pyi +2 -5
  112. homeassistant-stubs/components/easyenergy/sensor.pyi +2 -3
  113. homeassistant-stubs/components/easyenergy/services.pyi +4 -4
  114. homeassistant-stubs/components/ecovacs/button.pyi +13 -2
  115. homeassistant-stubs/components/ecovacs/const.pyi +1 -0
  116. homeassistant-stubs/components/ecovacs/number.pyi +1 -1
  117. homeassistant-stubs/components/ecovacs/select.pyi +2 -2
  118. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  119. homeassistant-stubs/components/ecovacs/util.pyi +1 -0
  120. homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -3
  121. homeassistant-stubs/components/eheimdigital/__init__.pyi +14 -0
  122. homeassistant-stubs/components/eheimdigital/config_flow.pyi +18 -0
  123. homeassistant-stubs/components/eheimdigital/const.pyi +8 -0
  124. homeassistant-stubs/components/eheimdigital/coordinator.pyi +25 -0
  125. homeassistant-stubs/components/eheimdigital/entity.pyi +20 -0
  126. homeassistant-stubs/components/eheimdigital/light.pyi +36 -0
  127. homeassistant-stubs/components/electrasmart/climate.pyi +0 -1
  128. homeassistant-stubs/components/elevenlabs/__init__.pyi +6 -7
  129. homeassistant-stubs/components/elevenlabs/config_flow.pyi +4 -3
  130. homeassistant-stubs/components/elevenlabs/tts.pyi +6 -3
  131. homeassistant-stubs/components/elgato/__init__.pyi +3 -5
  132. homeassistant-stubs/components/elgato/button.pyi +4 -3
  133. homeassistant-stubs/components/elgato/config_flow.pyi +1 -1
  134. homeassistant-stubs/components/elgato/coordinator.pyi +4 -3
  135. homeassistant-stubs/components/elgato/diagnostics.pyi +2 -2
  136. homeassistant-stubs/components/elgato/light.pyi +6 -7
  137. homeassistant-stubs/components/elgato/sensor.pyi +4 -3
  138. homeassistant-stubs/components/elgato/switch.pyi +4 -3
  139. homeassistant-stubs/components/elkm1/climate.pyi +0 -1
  140. homeassistant-stubs/components/emulated_hue/hue_api.pyi +1 -1
  141. homeassistant-stubs/components/energyzero/__init__.pyi +4 -5
  142. homeassistant-stubs/components/energyzero/coordinator.pyi +2 -1
  143. homeassistant-stubs/components/energyzero/diagnostics.pyi +2 -5
  144. homeassistant-stubs/components/energyzero/sensor.pyi +2 -3
  145. homeassistant-stubs/components/energyzero/services.pyi +4 -4
  146. homeassistant-stubs/components/enigma2/coordinator.pyi +1 -0
  147. homeassistant-stubs/components/enigma2/media_player.pyi +0 -1
  148. homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +2 -0
  149. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -1
  150. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +2 -2
  151. homeassistant-stubs/components/enphase_envoy/number.pyi +2 -0
  152. homeassistant-stubs/components/enphase_envoy/select.pyi +2 -0
  153. homeassistant-stubs/components/enphase_envoy/sensor.pyi +35 -1
  154. homeassistant-stubs/components/enphase_envoy/switch.pyi +2 -0
  155. homeassistant-stubs/components/esphome/climate.pyi +0 -1
  156. homeassistant-stubs/components/esphome/fan.pyi +0 -1
  157. homeassistant-stubs/components/esphome/light.pyi +0 -2
  158. homeassistant-stubs/components/evohome/climate.pyi +0 -1
  159. homeassistant-stubs/components/fan/__init__.pyi +0 -15
  160. homeassistant-stubs/components/feedreader/__init__.pyi +3 -8
  161. homeassistant-stubs/components/feedreader/config_flow.pyi +1 -6
  162. homeassistant-stubs/components/feedreader/coordinator.pyi +1 -0
  163. homeassistant-stubs/components/flexit_bacnet/climate.pyi +0 -1
  164. homeassistant-stubs/components/flexit_bacnet/number.pyi +3 -0
  165. homeassistant-stubs/components/flux_led/light.pyi +4 -5
  166. homeassistant-stubs/components/fritzbox/climate.pyi +0 -1
  167. homeassistant-stubs/components/fritzbox/coordinator.pyi +2 -1
  168. homeassistant-stubs/components/fritzbox/light.pyi +3 -4
  169. homeassistant-stubs/components/fritzbox_callmonitor/base.pyi +13 -2
  170. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +2 -2
  171. homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +4 -4
  172. homeassistant-stubs/components/fronius/__init__.pyi +1 -1
  173. homeassistant-stubs/components/fronius/const.pyi +3 -3
  174. homeassistant-stubs/components/fronius/coordinator.pyi +1 -1
  175. homeassistant-stubs/components/fronius/sensor.pyi +2 -1
  176. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +0 -1
  177. homeassistant-stubs/components/fyta/__init__.pyi +2 -2
  178. homeassistant-stubs/components/fyta/entity.pyi +2 -2
  179. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -4
  180. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -1
  181. homeassistant-stubs/components/generic_thermostat/const.pyi +2 -0
  182. homeassistant-stubs/components/google_cloud/const.pyi +3 -0
  183. homeassistant-stubs/components/google_cloud/helpers.pyi +1 -1
  184. homeassistant-stubs/components/google_cloud/tts.pyi +1 -1
  185. homeassistant-stubs/components/group/fan.pyi +0 -1
  186. homeassistant-stubs/components/group/registry.pyi +1 -1
  187. homeassistant-stubs/components/history/__init__.pyi +1 -1
  188. homeassistant-stubs/components/history/helpers.pyi +1 -2
  189. homeassistant-stubs/components/history/websocket_api.pyi +1 -1
  190. homeassistant-stubs/components/holiday/__init__.pyi +2 -1
  191. homeassistant-stubs/components/holiday/calendar.pyi +4 -3
  192. homeassistant-stubs/components/holiday/config_flow.pyi +13 -3
  193. homeassistant-stubs/components/holiday/const.pyi +1 -0
  194. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +5 -3
  195. homeassistant-stubs/components/homekit/doorbell.pyi +23 -0
  196. homeassistant-stubs/components/homekit/type_cameras.pyi +4 -12
  197. homeassistant-stubs/components/homekit/type_locks.pyi +3 -2
  198. homeassistant-stubs/components/homekit/type_switches.pyi +1 -1
  199. homeassistant-stubs/components/homekit/util.pyi +1 -0
  200. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  201. homeassistant-stubs/components/humidifier/__init__.pyi +1 -8
  202. homeassistant-stubs/components/humidifier/const.pyi +0 -9
  203. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -2
  204. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +1 -0
  205. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +1 -0
  206. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +4 -4
  207. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +2 -0
  208. homeassistant-stubs/components/husqvarna_automower/diagnostics.pyi +1 -2
  209. homeassistant-stubs/components/husqvarna_automower/entity.pyi +4 -3
  210. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +1 -0
  211. homeassistant-stubs/components/idasen_desk/__init__.pyi +5 -16
  212. homeassistant-stubs/components/idasen_desk/button.pyi +7 -12
  213. homeassistant-stubs/components/idasen_desk/coordinator.pyi +2 -3
  214. homeassistant-stubs/components/idasen_desk/cover.pyi +8 -17
  215. homeassistant-stubs/components/idasen_desk/entity.pyi +12 -0
  216. homeassistant-stubs/components/idasen_desk/sensor.pyi +7 -20
  217. homeassistant-stubs/components/image_upload/media_source.pyi +14 -0
  218. homeassistant-stubs/components/imap/config_flow.pyi +3 -2
  219. homeassistant-stubs/components/imap/coordinator.pyi +5 -5
  220. homeassistant-stubs/components/imap/sensor.pyi +1 -0
  221. homeassistant-stubs/components/intent/__init__.pyi +2 -1
  222. homeassistant-stubs/components/iotty/switch.pyi +8 -6
  223. homeassistant-stubs/components/iron_os/__init__.pyi +21 -0
  224. homeassistant-stubs/components/iron_os/binary_sensor.pyi +19 -0
  225. homeassistant-stubs/components/iron_os/config_flow.pyi +15 -0
  226. homeassistant-stubs/components/iron_os/const.pyi +7 -0
  227. homeassistant-stubs/components/iron_os/coordinator.pyi +43 -0
  228. homeassistant-stubs/components/iron_os/entity.pyi +13 -0
  229. homeassistant-stubs/components/iron_os/number.pyi +62 -0
  230. homeassistant-stubs/components/iron_os/select.pyi +49 -0
  231. homeassistant-stubs/components/iron_os/sensor.pyi +46 -0
  232. homeassistant-stubs/components/iron_os/update.pyi +29 -0
  233. homeassistant-stubs/components/isy994/climate.pyi +0 -1
  234. homeassistant-stubs/components/isy994/fan.pyi +0 -1
  235. homeassistant-stubs/components/knx/climate.pyi +0 -1
  236. homeassistant-stubs/components/knx/config_flow.pyi +4 -0
  237. homeassistant-stubs/components/knx/fan.pyi +0 -1
  238. homeassistant-stubs/components/knx/services.pyi +5 -5
  239. homeassistant-stubs/components/lamarzocco/__init__.pyi +4 -5
  240. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +9 -3
  241. homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -0
  242. homeassistant-stubs/components/lamarzocco/config_flow.pyi +6 -5
  243. homeassistant-stubs/components/lamarzocco/coordinator.pyi +39 -16
  244. homeassistant-stubs/components/lamarzocco/entity.pyi +7 -3
  245. homeassistant-stubs/components/lamarzocco/number.pyi +8 -4
  246. homeassistant-stubs/components/lamarzocco/select.pyi +8 -4
  247. homeassistant-stubs/components/lamarzocco/sensor.pyi +10 -3
  248. homeassistant-stubs/components/lamarzocco/switch.pyi +1 -1
  249. homeassistant-stubs/components/lametric/notify.pyi +2 -1
  250. homeassistant-stubs/components/lametric/number.pyi +2 -1
  251. homeassistant-stubs/components/lametric/services.pyi +2 -1
  252. homeassistant-stubs/components/lametric/switch.pyi +2 -1
  253. homeassistant-stubs/components/lcn/__init__.pyi +3 -1
  254. homeassistant-stubs/components/lcn/climate.pyi +0 -1
  255. homeassistant-stubs/components/lcn/const.pyi +1 -0
  256. homeassistant-stubs/components/lcn/helpers.pyi +1 -1
  257. homeassistant-stubs/components/lcn/services.pyi +7 -4
  258. homeassistant-stubs/components/lifx/const.pyi +1 -0
  259. homeassistant-stubs/components/lifx/manager.pyi +2 -2
  260. homeassistant-stubs/components/lifx/util.pyi +2 -2
  261. homeassistant-stubs/components/light/__init__.pyi +31 -55
  262. homeassistant-stubs/components/light/const.pyi +33 -0
  263. homeassistant-stubs/components/light/device_action.pyi +2 -1
  264. homeassistant-stubs/components/light/device_condition.pyi +1 -1
  265. homeassistant-stubs/components/light/device_trigger.pyi +1 -1
  266. homeassistant-stubs/components/light/intent.pyi +2 -1
  267. homeassistant-stubs/components/light/reproduce_state.pyi +2 -1
  268. homeassistant-stubs/components/light/significant_change.pyi +1 -1
  269. homeassistant-stubs/components/litterrobot/vacuum.pyi +2 -2
  270. homeassistant-stubs/components/lock/__init__.pyi +1 -2
  271. homeassistant-stubs/components/lookin/climate.pyi +0 -1
  272. homeassistant-stubs/components/mastodon/__init__.pyi +2 -2
  273. homeassistant-stubs/components/mastodon/config_flow.pyi +1 -2
  274. homeassistant-stubs/components/mastodon/sensor.pyi +2 -0
  275. homeassistant-stubs/components/matter/climate.pyi +0 -1
  276. homeassistant-stubs/components/matter/fan.pyi +0 -1
  277. homeassistant-stubs/components/matter/light.pyi +5 -5
  278. homeassistant-stubs/components/matter/vacuum.pyi +3 -3
  279. homeassistant-stubs/components/mealie/__init__.pyi +18 -0
  280. homeassistant-stubs/components/mealie/calendar.pyi +21 -0
  281. homeassistant-stubs/components/mealie/config_flow.pyi +20 -0
  282. homeassistant-stubs/components/mealie/const.pyi +14 -0
  283. homeassistant-stubs/components/mealie/coordinator.pyi +53 -0
  284. homeassistant-stubs/components/mealie/diagnostics.pyi +5 -0
  285. homeassistant-stubs/components/mealie/entity.pyi +11 -0
  286. homeassistant-stubs/components/mealie/sensor.pyi +29 -0
  287. homeassistant-stubs/components/mealie/services.pyi +21 -0
  288. homeassistant-stubs/components/mealie/todo.pyi +36 -0
  289. homeassistant-stubs/components/mealie/utils.pyi +3 -0
  290. homeassistant-stubs/components/media_player/__init__.pyi +0 -2
  291. homeassistant-stubs/components/modbus/__init__.pyi +5 -3
  292. homeassistant-stubs/components/modbus/climate.pyi +0 -1
  293. homeassistant-stubs/components/modbus/fan.pyi +0 -1
  294. homeassistant-stubs/components/modbus/modbus.pyi +3 -4
  295. homeassistant-stubs/components/mqtt/client.pyi +1 -1
  296. homeassistant-stubs/components/mqtt/climate.pyi +0 -1
  297. homeassistant-stubs/components/mqtt/config_flow.pyi +2 -1
  298. homeassistant-stubs/components/mqtt/fan.pyi +0 -1
  299. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +5 -5
  300. homeassistant-stubs/components/mqtt/light/schema_json.pyi +4 -4
  301. homeassistant-stubs/components/mqtt/light/schema_template.pyi +4 -4
  302. homeassistant-stubs/components/mqtt/switch.pyi +1 -1
  303. homeassistant-stubs/components/mqtt/vacuum.pyi +10 -4
  304. homeassistant-stubs/components/music_assistant/__init__.pyi +4 -0
  305. homeassistant-stubs/components/music_assistant/actions.pyi +18 -0
  306. homeassistant-stubs/components/music_assistant/const.pyi +48 -0
  307. homeassistant-stubs/components/music_assistant/media_player.pyi +9 -16
  308. homeassistant-stubs/components/music_assistant/schemas.pyi +20 -0
  309. homeassistant-stubs/components/mysensors/climate.pyi +0 -1
  310. homeassistant-stubs/components/myuplink/__init__.pyi +5 -2
  311. homeassistant-stubs/components/myuplink/binary_sensor.pyi +2 -2
  312. homeassistant-stubs/components/myuplink/config_flow.pyi +4 -1
  313. homeassistant-stubs/components/myuplink/number.pyi +2 -2
  314. homeassistant-stubs/components/myuplink/select.pyi +3 -2
  315. homeassistant-stubs/components/myuplink/switch.pyi +1 -1
  316. homeassistant-stubs/components/nanoleaf/light.pyi +4 -4
  317. homeassistant-stubs/components/neato/vacuum.pyi +3 -3
  318. homeassistant-stubs/components/nest/__init__.pyi +6 -6
  319. homeassistant-stubs/components/nest/camera.pyi +2 -4
  320. homeassistant-stubs/components/nest/climate.pyi +2 -5
  321. homeassistant-stubs/components/nest/const.pyi +0 -2
  322. homeassistant-stubs/components/nest/device_info.pyi +2 -1
  323. homeassistant-stubs/components/nest/diagnostics.pyi +4 -8
  324. homeassistant-stubs/components/nest/event.pyi +2 -4
  325. homeassistant-stubs/components/nest/sensor.pyi +2 -4
  326. homeassistant-stubs/components/nest/types.pyi +11 -0
  327. homeassistant-stubs/components/netatmo/climate.pyi +0 -1
  328. homeassistant-stubs/components/netatmo/fan.pyi +0 -1
  329. homeassistant-stubs/components/nordpool/__init__.pyi +10 -3
  330. homeassistant-stubs/components/nordpool/coordinator.pyi +5 -2
  331. homeassistant-stubs/components/nordpool/entity.pyi +1 -1
  332. homeassistant-stubs/components/nordpool/sensor.pyi +10 -6
  333. homeassistant-stubs/components/nordpool/services.pyi +19 -0
  334. homeassistant-stubs/components/number/const.pyi +0 -8
  335. homeassistant-stubs/components/onkyo/config_flow.pyi +2 -0
  336. homeassistant-stubs/components/onkyo/media_player.pyi +10 -7
  337. homeassistant-stubs/components/overkiz/__init__.pyi +4 -3
  338. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +2 -4
  339. homeassistant-stubs/components/overkiz/binary_sensor.pyi +3 -4
  340. homeassistant-stubs/components/overkiz/button.pyi +4 -5
  341. homeassistant-stubs/components/overkiz/climate/__init__.pyi +3 -4
  342. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater.pyi +0 -1
  343. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +0 -1
  344. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_towel_dryer.pyi +1 -2
  345. homeassistant-stubs/components/overkiz/climate/atlantic_heat_recovery_ventilation.pyi +0 -1
  346. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_heat_pump_main_component.pyi +0 -1
  347. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_heating_zone.pyi +0 -1
  348. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control.pyi +0 -1
  349. homeassistant-stubs/components/overkiz/climate/hitachi_air_to_air_heat_pump_hlrrwifi.pyi +0 -1
  350. homeassistant-stubs/components/overkiz/climate/hitachi_air_to_air_heat_pump_ovp.pyi +0 -1
  351. homeassistant-stubs/components/overkiz/climate/hitachi_air_to_water_heating_zone.pyi +34 -0
  352. homeassistant-stubs/components/overkiz/climate/somfy_heating_temperature_interface.pyi +0 -1
  353. homeassistant-stubs/components/overkiz/climate/somfy_thermostat.pyi +0 -1
  354. homeassistant-stubs/components/overkiz/climate/valve_heating_temperature_interface.pyi +0 -1
  355. homeassistant-stubs/components/overkiz/cover/__init__.pyi +2 -4
  356. homeassistant-stubs/components/overkiz/diagnostics.pyi +4 -5
  357. homeassistant-stubs/components/overkiz/light.pyi +2 -4
  358. homeassistant-stubs/components/overkiz/lock.pyi +2 -4
  359. homeassistant-stubs/components/overkiz/number.pyi +3 -4
  360. homeassistant-stubs/components/overkiz/scene.pyi +2 -4
  361. homeassistant-stubs/components/overkiz/select.pyi +3 -4
  362. homeassistant-stubs/components/overkiz/sensor.pyi +2 -3
  363. homeassistant-stubs/components/overkiz/siren.pyi +2 -4
  364. homeassistant-stubs/components/overkiz/switch.pyi +2 -4
  365. homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +2 -4
  366. homeassistant-stubs/components/peblar/__init__.pyi +11 -0
  367. homeassistant-stubs/components/peblar/binary_sensor.pyi +25 -0
  368. homeassistant-stubs/components/peblar/button.pyi +27 -0
  369. homeassistant-stubs/components/peblar/config_flow.pyi +18 -0
  370. homeassistant-stubs/components/peblar/const.pyi +7 -0
  371. homeassistant-stubs/components/peblar/coordinator.pyi +49 -0
  372. homeassistant-stubs/components/peblar/diagnostics.pyi +5 -0
  373. homeassistant-stubs/components/peblar/entity.pyi +15 -0
  374. homeassistant-stubs/components/peblar/helpers.pyi +7 -0
  375. homeassistant-stubs/components/peblar/number.pyi +33 -0
  376. homeassistant-stubs/components/peblar/select.pyi +30 -0
  377. homeassistant-stubs/components/peblar/sensor.pyi +29 -0
  378. homeassistant-stubs/components/peblar/switch.pyi +32 -0
  379. homeassistant-stubs/components/peblar/update.pyi +27 -0
  380. homeassistant-stubs/components/plugwise/binary_sensor.pyi +1 -0
  381. homeassistant-stubs/components/plugwise/button.pyi +2 -0
  382. homeassistant-stubs/components/plugwise/climate.pyi +3 -4
  383. homeassistant-stubs/components/plugwise/config_flow.pyi +7 -1
  384. homeassistant-stubs/components/plugwise/entity.pyi +0 -1
  385. homeassistant-stubs/components/plugwise/number.pyi +2 -0
  386. homeassistant-stubs/components/plugwise/select.pyi +2 -0
  387. homeassistant-stubs/components/plugwise/sensor.pyi +2 -0
  388. homeassistant-stubs/components/plugwise/switch.pyi +2 -0
  389. homeassistant-stubs/components/plugwise/util.pyi +1 -0
  390. homeassistant-stubs/components/powerfox/__init__.pyi +12 -0
  391. homeassistant-stubs/components/powerfox/config_flow.pyi +16 -0
  392. homeassistant-stubs/components/{stookalert → powerfox}/const.pyi +1 -2
  393. homeassistant-stubs/components/powerfox/coordinator.pyi +14 -0
  394. homeassistant-stubs/components/powerfox/diagnostics.pyi +5 -0
  395. homeassistant-stubs/components/powerfox/entity.pyi +11 -0
  396. homeassistant-stubs/components/powerfox/sensor.pyi +28 -0
  397. homeassistant-stubs/components/powerwall/sensor.pyi +3 -5
  398. homeassistant-stubs/components/prometheus/__init__.pyi +11 -3
  399. homeassistant-stubs/components/rabbitair/fan.pyi +0 -1
  400. homeassistant-stubs/components/recorder/__init__.pyi +1 -1
  401. homeassistant-stubs/components/recorder/db_schema.pyi +19 -4
  402. homeassistant-stubs/components/recorder/history/legacy.pyi +4 -4
  403. homeassistant-stubs/components/recorder/history/modern.pyi +5 -5
  404. homeassistant-stubs/components/recorder/migration.pyi +32 -19
  405. homeassistant-stubs/components/recorder/models/state.pyi +3 -0
  406. homeassistant-stubs/components/recorder/queries.pyi +3 -4
  407. homeassistant-stubs/components/recorder/statistics.pyi +2 -2
  408. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +0 -1
  409. homeassistant-stubs/components/recorder/table_managers/recorder_runs.pyi +1 -12
  410. homeassistant-stubs/components/recorder/table_managers/states.pyi +7 -0
  411. homeassistant-stubs/components/remote/__init__.pyi +0 -10
  412. homeassistant-stubs/components/renault/binary_sensor.pyi +2 -0
  413. homeassistant-stubs/components/renault/button.pyi +2 -0
  414. homeassistant-stubs/components/renault/coordinator.pyi +2 -1
  415. homeassistant-stubs/components/renault/device_tracker.pyi +2 -0
  416. homeassistant-stubs/components/renault/select.pyi +2 -0
  417. homeassistant-stubs/components/renault/sensor.pyi +2 -0
  418. homeassistant-stubs/components/reolink/__init__.pyi +1 -0
  419. homeassistant-stubs/components/reolink/button.pyi +1 -2
  420. homeassistant-stubs/components/reolink/camera.pyi +1 -2
  421. homeassistant-stubs/components/reolink/light.pyi +1 -2
  422. homeassistant-stubs/components/reolink/media_source.pyi +2 -3
  423. homeassistant-stubs/components/reolink/number.pyi +1 -2
  424. homeassistant-stubs/components/reolink/select.pyi +1 -2
  425. homeassistant-stubs/components/reolink/services.pyi +2 -2
  426. homeassistant-stubs/components/reolink/siren.pyi +1 -2
  427. homeassistant-stubs/components/reolink/switch.pyi +1 -2
  428. homeassistant-stubs/components/reolink/update.pyi +1 -0
  429. homeassistant-stubs/components/reolink/util.pyi +9 -0
  430. homeassistant-stubs/components/reolink/views.pyi +21 -0
  431. homeassistant-stubs/components/roborock/vacuum.pyi +2 -2
  432. homeassistant-stubs/components/roku/__init__.pyi +5 -4
  433. homeassistant-stubs/components/roku/binary_sensor.pyi +4 -3
  434. homeassistant-stubs/components/roku/config_flow.pyi +5 -3
  435. homeassistant-stubs/components/roku/diagnostics.pyi +2 -4
  436. homeassistant-stubs/components/roku/media_player.pyi +4 -3
  437. homeassistant-stubs/components/roku/remote.pyi +4 -4
  438. homeassistant-stubs/components/roku/select.pyi +4 -4
  439. homeassistant-stubs/components/roku/sensor.pyi +4 -4
  440. homeassistant-stubs/components/romy/vacuum.pyi +2 -2
  441. homeassistant-stubs/components/russound_rio/__init__.pyi +14 -0
  442. homeassistant-stubs/components/russound_rio/config_flow.pyi +14 -0
  443. homeassistant-stubs/components/russound_rio/const.pyi +6 -0
  444. homeassistant-stubs/components/russound_rio/diagnostics.pyi +5 -0
  445. homeassistant-stubs/components/russound_rio/entity.pyi +25 -0
  446. homeassistant-stubs/components/russound_rio/media_player.pyi +56 -0
  447. homeassistant-stubs/components/schlage/__init__.pyi +11 -0
  448. homeassistant-stubs/components/schlage/binary_sensor.pyi +26 -0
  449. homeassistant-stubs/components/schlage/config_flow.pyi +19 -0
  450. homeassistant-stubs/components/schlage/const.pyi +6 -0
  451. homeassistant-stubs/components/schlage/coordinator.pyi +31 -0
  452. homeassistant-stubs/components/schlage/diagnostics.pyi +5 -0
  453. homeassistant-stubs/components/schlage/entity.pyi +19 -0
  454. homeassistant-stubs/components/schlage/lock.pyi +21 -0
  455. homeassistant-stubs/components/schlage/select.pyi +20 -0
  456. homeassistant-stubs/components/schlage/sensor.pyi +19 -0
  457. homeassistant-stubs/components/schlage/switch.pyi +32 -0
  458. homeassistant-stubs/components/sensibo/climate.pyi +2 -3
  459. homeassistant-stubs/components/sensibo/coordinator.pyi +1 -1
  460. homeassistant-stubs/components/sensor/const.pyi +0 -7
  461. homeassistant-stubs/components/senz/climate.pyi +0 -1
  462. homeassistant-stubs/components/shelly/climate.pyi +0 -2
  463. homeassistant-stubs/components/siren/__init__.pyi +1 -6
  464. homeassistant-stubs/components/siren/const.pyi +0 -11
  465. homeassistant-stubs/components/snooz/fan.pyi +0 -1
  466. homeassistant-stubs/components/solarlog/config_flow.pyi +2 -5
  467. homeassistant-stubs/components/solarlog/const.pyi +0 -1
  468. homeassistant-stubs/components/solarlog/coordinator.pyi +0 -1
  469. homeassistant-stubs/components/sql/sensor.pyi +2 -0
  470. homeassistant-stubs/components/starlink/coordinator.pyi +4 -2
  471. homeassistant-stubs/components/starlink/sensor.pyi +1 -1
  472. homeassistant-stubs/components/statistics/sensor.pyi +43 -40
  473. homeassistant-stubs/components/stream/__init__.pyi +13 -0
  474. homeassistant-stubs/components/suez_water/__init__.pyi +3 -5
  475. homeassistant-stubs/components/suez_water/coordinator.pyi +7 -9
  476. homeassistant-stubs/components/suez_water/sensor.pyi +5 -6
  477. homeassistant-stubs/components/sun/__init__.pyi +2 -0
  478. homeassistant-stubs/components/sun/entity.pyi +1 -2
  479. homeassistant-stubs/components/switch/__init__.pyi +0 -7
  480. homeassistant-stubs/components/switch_as_x/fan.pyi +0 -1
  481. homeassistant-stubs/components/switchbee/climate.pyi +0 -1
  482. homeassistant-stubs/components/switchbot_cloud/climate.pyi +0 -1
  483. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +12 -3
  484. homeassistant-stubs/components/switchbot_cloud/switch.pyi +4 -0
  485. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +3 -3
  486. homeassistant-stubs/components/switcher_kis/climate.pyi +1 -2
  487. homeassistant-stubs/components/switcher_kis/cover.pyi +0 -4
  488. homeassistant-stubs/components/switcher_kis/entity.pyi +6 -0
  489. homeassistant-stubs/components/switcher_kis/light.pyi +0 -4
  490. homeassistant-stubs/components/switcher_kis/switch.pyi +0 -2
  491. homeassistant-stubs/components/tailwind/__init__.pyi +2 -4
  492. homeassistant-stubs/components/tailwind/binary_sensor.pyi +1 -1
  493. homeassistant-stubs/components/tailwind/button.pyi +1 -1
  494. homeassistant-stubs/components/tailwind/coordinator.pyi +2 -1
  495. homeassistant-stubs/components/tailwind/cover.pyi +1 -1
  496. homeassistant-stubs/components/tailwind/diagnostics.pyi +1 -1
  497. homeassistant-stubs/components/tailwind/number.pyi +1 -1
  498. homeassistant-stubs/components/tedee/__init__.pyi +2 -3
  499. homeassistant-stubs/components/tedee/binary_sensor.pyi +2 -0
  500. homeassistant-stubs/components/tedee/sensor.pyi +2 -0
  501. homeassistant-stubs/components/tibber/services.pyi +1 -1
  502. homeassistant-stubs/components/tolo/climate.pyi +0 -1
  503. homeassistant-stubs/components/tolo/fan.pyi +0 -1
  504. homeassistant-stubs/components/tplink/__init__.pyi +1 -1
  505. homeassistant-stubs/components/tplink/binary_sensor.pyi +2 -2
  506. homeassistant-stubs/components/tplink/button.pyi +2 -2
  507. homeassistant-stubs/components/tplink/camera.pyi +49 -0
  508. homeassistant-stubs/components/tplink/climate.pyi +1 -2
  509. homeassistant-stubs/components/tplink/config_flow.pyi +11 -5
  510. homeassistant-stubs/components/tplink/const.pyi +2 -0
  511. homeassistant-stubs/components/tplink/entity.pyi +9 -2
  512. homeassistant-stubs/components/tplink/fan.pyi +1 -2
  513. homeassistant-stubs/components/tplink/light.pyi +2 -2
  514. homeassistant-stubs/components/tplink/models.pyi +4 -1
  515. homeassistant-stubs/components/tplink/number.pyi +2 -2
  516. homeassistant-stubs/components/tplink/select.pyi +2 -2
  517. homeassistant-stubs/components/tplink/sensor.pyi +2 -2
  518. homeassistant-stubs/components/tplink/siren.pyi +1 -1
  519. homeassistant-stubs/components/tplink/switch.pyi +2 -2
  520. homeassistant-stubs/components/tractive/sensor.pyi +1 -1
  521. homeassistant-stubs/components/tradfri/fan.pyi +0 -1
  522. homeassistant-stubs/components/tradfri/light.pyi +4 -4
  523. homeassistant-stubs/components/transmission/__init__.pyi +1 -1
  524. homeassistant-stubs/components/transmission/const.pyi +1 -0
  525. homeassistant-stubs/components/twentemilieu/__init__.pyi +3 -11
  526. homeassistant-stubs/components/twentemilieu/calendar.pyi +1 -1
  527. homeassistant-stubs/components/twentemilieu/coordinator.pyi +14 -0
  528. homeassistant-stubs/components/twentemilieu/diagnostics.pyi +2 -2
  529. homeassistant-stubs/components/twentemilieu/entity.pyi +2 -3
  530. homeassistant-stubs/components/twentemilieu/sensor.pyi +3 -3
  531. homeassistant-stubs/components/unifi/sensor.pyi +1 -1
  532. homeassistant-stubs/components/unifiprotect/const.pyi +6 -0
  533. homeassistant-stubs/components/unifiprotect/event.pyi +5 -3
  534. homeassistant-stubs/components/unifiprotect/services.pyi +16 -9
  535. homeassistant-stubs/components/update/__init__.pyi +0 -2
  536. homeassistant-stubs/components/vacuum/__init__.pyi +16 -7
  537. homeassistant-stubs/components/vacuum/const.pyi +18 -5
  538. homeassistant-stubs/components/vacuum/device_condition.pyi +1 -1
  539. homeassistant-stubs/components/vacuum/device_trigger.pyi +1 -1
  540. homeassistant-stubs/components/vacuum/reproduce_state.pyi +2 -2
  541. homeassistant-stubs/components/vallox/fan.pyi +0 -1
  542. homeassistant-stubs/components/velbus/__init__.pyi +22 -9
  543. homeassistant-stubs/components/velbus/binary_sensor.pyi +4 -3
  544. homeassistant-stubs/components/velbus/button.pyi +4 -3
  545. homeassistant-stubs/components/velbus/climate.pyi +4 -3
  546. homeassistant-stubs/components/velbus/cover.pyi +4 -3
  547. homeassistant-stubs/components/velbus/diagnostics.pyi +3 -4
  548. homeassistant-stubs/components/velbus/light.pyi +4 -3
  549. homeassistant-stubs/components/velbus/select.pyi +4 -3
  550. homeassistant-stubs/components/velbus/sensor.pyi +4 -3
  551. homeassistant-stubs/components/velbus/services.pyi +7 -0
  552. homeassistant-stubs/components/velbus/switch.pyi +4 -3
  553. homeassistant-stubs/components/water_heater/__init__.pyi +7 -12
  554. homeassistant-stubs/components/wemo/fan.pyi +0 -1
  555. homeassistant-stubs/components/wemo/light.pyi +4 -2
  556. homeassistant-stubs/components/wiz/light.pyi +4 -5
  557. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +4 -4
  558. homeassistant-stubs/components/yale_smart_alarm/alarm_control_panel.pyi +0 -1
  559. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +3 -2
  560. homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +3 -3
  561. homeassistant-stubs/components/yale_smart_alarm/entity.pyi +1 -1
  562. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +1 -1
  563. homeassistant-stubs/components/zwave_js/api.pyi +2 -0
  564. homeassistant-stubs/components/zwave_js/climate.pyi +0 -1
  565. homeassistant-stubs/components/zwave_js/fan.pyi +0 -1
  566. homeassistant-stubs/components/zwave_js/light.pyi +7 -9
  567. homeassistant-stubs/const.pyi +2 -151
  568. homeassistant-stubs/core.pyi +3 -6
  569. homeassistant-stubs/core_config.pyi +2 -1
  570. homeassistant-stubs/data_entry_flow.pyi +0 -13
  571. homeassistant-stubs/exceptions.pyi +6 -0
  572. homeassistant-stubs/helpers/device_registry.pyi +1 -9
  573. homeassistant-stubs/helpers/entity.pyi +1 -2
  574. homeassistant-stubs/helpers/event.pyi +3 -4
  575. homeassistant-stubs/helpers/service.pyi +1 -1
  576. homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -1
  577. homeassistant-stubs/helpers/system_info.pyi +1 -1
  578. homeassistant-stubs/helpers/template.pyi +1 -1
  579. homeassistant-stubs/util/dt.pyi +1 -0
  580. homeassistant-stubs/util/package.pyi +1 -0
  581. homeassistant-stubs/util/system_info.pyi +1 -0
  582. {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0.dist-info}/METADATA +2 -2
  583. {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0.dist-info}/RECORD +585 -490
  584. homeassistant-stubs/components/bluesound/services.pyi +0 -21
  585. homeassistant-stubs/components/stookalert/__init__.pyi +0 -10
  586. homeassistant-stubs/components/stookalert/binary_sensor.pyi +0 -24
  587. homeassistant-stubs/components/stookalert/config_flow.pyi +0 -7
  588. homeassistant-stubs/components/tailwind/typing.pyi +0 -4
  589. {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0.dist-info}/WHEEL +0 -0
  590. {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0.dist-info}/licenses/LICENSE +0 -0
@@ -10,12 +10,10 @@ def get_shared_event_datas(hashes: list[int]) -> StatementLambdaElement: ...
10
10
  def find_event_type_ids(event_types: Iterable[str]) -> StatementLambdaElement: ...
11
11
  def find_all_states_metadata_ids() -> StatementLambdaElement: ...
12
12
  def find_states_metadata_ids(entity_ids: Iterable[str]) -> StatementLambdaElement: ...
13
- def _state_attrs_exist(attr: int | None) -> Select: ...
14
13
  def attributes_ids_exist_in_states_with_fast_in_distinct(attributes_ids: Iterable[int]) -> StatementLambdaElement: ...
15
- def attributes_ids_exist_in_states(attr1: int, attr2: int | None, attr3: int | None, attr4: int | None, attr5: int | None, attr6: int | None, attr7: int | None, attr8: int | None, attr9: int | None, attr10: int | None, attr11: int | None, attr12: int | None, attr13: int | None, attr14: int | None, attr15: int | None, attr16: int | None, attr17: int | None, attr18: int | None, attr19: int | None, attr20: int | None, attr21: int | None, attr22: int | None, attr23: int | None, attr24: int | None, attr25: int | None, attr26: int | None, attr27: int | None, attr28: int | None, attr29: int | None, attr30: int | None, attr31: int | None, attr32: int | None, attr33: int | None, attr34: int | None, attr35: int | None, attr36: int | None, attr37: int | None, attr38: int | None, attr39: int | None, attr40: int | None, attr41: int | None, attr42: int | None, attr43: int | None, attr44: int | None, attr45: int | None, attr46: int | None, attr47: int | None, attr48: int | None, attr49: int | None, attr50: int | None, attr51: int | None, attr52: int | None, attr53: int | None, attr54: int | None, attr55: int | None, attr56: int | None, attr57: int | None, attr58: int | None, attr59: int | None, attr60: int | None, attr61: int | None, attr62: int | None, attr63: int | None, attr64: int | None, attr65: int | None, attr66: int | None, attr67: int | None, attr68: int | None, attr69: int | None, attr70: int | None, attr71: int | None, attr72: int | None, attr73: int | None, attr74: int | None, attr75: int | None, attr76: int | None, attr77: int | None, attr78: int | None, attr79: int | None, attr80: int | None, attr81: int | None, attr82: int | None, attr83: int | None, attr84: int | None, attr85: int | None, attr86: int | None, attr87: int | None, attr88: int | None, attr89: int | None, attr90: int | None, attr91: int | None, attr92: int | None, attr93: int | None, attr94: int | None, attr95: int | None, attr96: int | None, attr97: int | None, attr98: int | None, attr99: int | None, attr100: int | None) -> StatementLambdaElement: ...
14
+ def attributes_ids_exist_in_states(attributes_ids: Iterable[int]) -> StatementLambdaElement: ...
16
15
  def data_ids_exist_in_events_with_fast_in_distinct(data_ids: Iterable[int]) -> StatementLambdaElement: ...
17
- def _event_data_id_exist(data_id: int | None) -> Select: ...
18
- def data_ids_exist_in_events(id1: int, id2: int | None, id3: int | None, id4: int | None, id5: int | None, id6: int | None, id7: int | None, id8: int | None, id9: int | None, id10: int | None, id11: int | None, id12: int | None, id13: int | None, id14: int | None, id15: int | None, id16: int | None, id17: int | None, id18: int | None, id19: int | None, id20: int | None, id21: int | None, id22: int | None, id23: int | None, id24: int | None, id25: int | None, id26: int | None, id27: int | None, id28: int | None, id29: int | None, id30: int | None, id31: int | None, id32: int | None, id33: int | None, id34: int | None, id35: int | None, id36: int | None, id37: int | None, id38: int | None, id39: int | None, id40: int | None, id41: int | None, id42: int | None, id43: int | None, id44: int | None, id45: int | None, id46: int | None, id47: int | None, id48: int | None, id49: int | None, id50: int | None, id51: int | None, id52: int | None, id53: int | None, id54: int | None, id55: int | None, id56: int | None, id57: int | None, id58: int | None, id59: int | None, id60: int | None, id61: int | None, id62: int | None, id63: int | None, id64: int | None, id65: int | None, id66: int | None, id67: int | None, id68: int | None, id69: int | None, id70: int | None, id71: int | None, id72: int | None, id73: int | None, id74: int | None, id75: int | None, id76: int | None, id77: int | None, id78: int | None, id79: int | None, id80: int | None, id81: int | None, id82: int | None, id83: int | None, id84: int | None, id85: int | None, id86: int | None, id87: int | None, id88: int | None, id89: int | None, id90: int | None, id91: int | None, id92: int | None, id93: int | None, id94: int | None, id95: int | None, id96: int | None, id97: int | None, id98: int | None, id99: int | None, id100: int | None) -> StatementLambdaElement: ...
16
+ def data_ids_exist_in_events(data_ids: Iterable[int]) -> StatementLambdaElement: ...
19
17
  def disconnect_states_rows(state_ids: Iterable[int]) -> StatementLambdaElement: ...
20
18
  def delete_states_rows(state_ids: Iterable[int]) -> StatementLambdaElement: ...
21
19
  def delete_event_data_rows(data_ids: Iterable[int]) -> StatementLambdaElement: ...
@@ -26,6 +24,7 @@ def delete_event_rows(event_ids: Iterable[int]) -> StatementLambdaElement: ...
26
24
  def delete_recorder_runs_rows(purge_before: datetime, current_run_id: int) -> StatementLambdaElement: ...
27
25
  def find_events_to_purge(purge_before: float, max_bind_vars: int) -> StatementLambdaElement: ...
28
26
  def find_states_to_purge(purge_before: float, max_bind_vars: int) -> StatementLambdaElement: ...
27
+ def find_oldest_state() -> StatementLambdaElement: ...
29
28
  def find_short_term_statistics_to_purge(purge_before: datetime, max_bind_vars: int) -> StatementLambdaElement: ...
30
29
  def find_statistics_runs_to_purge(purge_before: datetime, max_bind_vars: int) -> StatementLambdaElement: ...
31
30
  def find_latest_statistics_runs_run_id() -> StatementLambdaElement: ...
@@ -1,7 +1,7 @@
1
1
  import dataclasses
2
2
  from . import Recorder as Recorder
3
3
  from .const import DOMAIN as DOMAIN, EVENT_RECORDER_5MIN_STATISTICS_GENERATED as EVENT_RECORDER_5MIN_STATISTICS_GENERATED, EVENT_RECORDER_HOURLY_STATISTICS_GENERATED as EVENT_RECORDER_HOURLY_STATISTICS_GENERATED, INTEGRATION_PLATFORM_COMPILE_STATISTICS as INTEGRATION_PLATFORM_COMPILE_STATISTICS, INTEGRATION_PLATFORM_LIST_STATISTIC_IDS as INTEGRATION_PLATFORM_LIST_STATISTIC_IDS, INTEGRATION_PLATFORM_UPDATE_STATISTICS_ISSUES as INTEGRATION_PLATFORM_UPDATE_STATISTICS_ISSUES, INTEGRATION_PLATFORM_VALIDATE_STATISTICS as INTEGRATION_PLATFORM_VALIDATE_STATISTICS, SupportedDialect as SupportedDialect
4
- from .db_schema import STATISTICS_TABLES as STATISTICS_TABLES, Statistics as Statistics, StatisticsBase as StatisticsBase, StatisticsRuns as StatisticsRuns, StatisticsShortTerm as StatisticsShortTerm
4
+ from .db_schema import STATISTICS_TABLES as STATISTICS_TABLES, Statistics as Statistics, StatisticsBase as StatisticsBase, StatisticsMeta as StatisticsMeta, StatisticsRuns as StatisticsRuns, StatisticsShortTerm as StatisticsShortTerm
5
5
  from .models import StatisticData as StatisticData, StatisticDataTimestamp as StatisticDataTimestamp, StatisticMetaData as StatisticMetaData, StatisticResult as StatisticResult, datetime_to_timestamp_or_none as datetime_to_timestamp_or_none, process_timestamp as process_timestamp
6
6
  from .util import execute as execute, execute_stmt_lambda_element as execute_stmt_lambda_element, filter_unique_constraint_integrity_error as filter_unique_constraint_integrity_error, get_instance as get_instance, retryable_database_job as retryable_database_job, session_scope as session_scope
7
7
  from _typeshed import Incomplete
@@ -87,7 +87,7 @@ def compile_statistics(instance: Recorder, start: datetime, fire_events: bool) -
87
87
  def _get_first_id_stmt(start: datetime) -> StatementLambdaElement: ...
88
88
  def _compile_statistics(instance: Recorder, session: Session, start: datetime, fire_events: bool) -> set[str]: ...
89
89
  def _adjust_sum_statistics(session: Session, table: type[StatisticsBase], metadata_id: int, start_time: datetime, adj: float) -> None: ...
90
- def _insert_statistics(session: Session, table: type[StatisticsBase], metadata_id: int, statistic: StatisticData) -> StatisticsBase | None: ...
90
+ def _insert_statistics(session: Session, table: type[StatisticsBase], metadata_id: int, statistic: StatisticData, now_timestamp: float) -> StatisticsBase | None: ...
91
91
  def _update_statistics(session: Session, table: type[StatisticsBase], stat_id: int, statistic: StatisticData) -> None: ...
92
92
  def get_metadata_with_session(instance: Recorder, session: Session, *, statistic_ids: set[str] | None = None, statistic_type: Literal['mean', 'sum'] | None = None, statistic_source: str | None = None) -> dict[str, tuple[int, StatisticMetaData]]: ...
93
93
  def get_metadata(hass: HomeAssistant, *, statistic_ids: set[str] | None = None, statistic_type: Literal['mean', 'sum'] | None = None, statistic_source: str | None = None) -> dict[str, tuple[int, StatisticMetaData]]: ...
@@ -15,7 +15,6 @@ from typing import Any
15
15
  CACHE_SIZE: int
16
16
 
17
17
  class EventTypeManager(BaseLRUTableManager[EventTypes]):
18
- active: bool
19
18
  _non_existent_event_types: Incomplete
20
19
  def __init__(self, recorder: Recorder) -> None: ...
21
20
  def load(self, events: list[Event], session: Session) -> None: ...
@@ -1,22 +1,12 @@
1
1
  from ..db_schema import RecorderRuns as RecorderRuns
2
- from ..models import process_timestamp as process_timestamp
3
2
  from _typeshed import Incomplete
4
- from dataclasses import dataclass
5
3
  from datetime import datetime
6
4
  from sqlalchemy.orm.session import Session as Session
7
5
 
8
- def _find_recorder_run_for_start_time(run_history: _RecorderRunsHistory, start: datetime) -> RecorderRuns | None: ...
9
-
10
- @dataclass(frozen=True)
11
- class _RecorderRunsHistory:
12
- run_timestamps: list[int]
13
- runs_by_timestamp: dict[int, RecorderRuns]
14
- def __init__(self, run_timestamps, runs_by_timestamp) -> None: ...
15
-
16
6
  class RecorderRunsManager:
17
7
  _recording_start: Incomplete
18
8
  _current_run_info: Incomplete
19
- _run_history: Incomplete
9
+ _first_run: Incomplete
20
10
  def __init__(self) -> None: ...
21
11
  @property
22
12
  def recording_start(self) -> datetime: ...
@@ -26,7 +16,6 @@ class RecorderRunsManager:
26
16
  def current(self) -> RecorderRuns: ...
27
17
  @property
28
18
  def active(self) -> bool: ...
29
- def get(self, start: datetime) -> RecorderRuns | None: ...
30
19
  def start(self, session: Session) -> None: ...
31
20
  def reset(self) -> None: ...
32
21
  def end(self, session: Session) -> None: ...
@@ -1,11 +1,17 @@
1
1
  from ..db_schema import States as States
2
+ from ..queries import find_oldest_state as find_oldest_state
3
+ from ..util import execute_stmt_lambda_element as execute_stmt_lambda_element
2
4
  from _typeshed import Incomplete
5
+ from sqlalchemy.orm.session import Session as Session
3
6
 
4
7
  class StatesManager:
5
8
  _pending: Incomplete
6
9
  _last_committed_id: Incomplete
7
10
  _last_reported: Incomplete
11
+ _oldest_ts: Incomplete
8
12
  def __init__(self) -> None: ...
13
+ @property
14
+ def oldest_ts(self) -> float | None: ...
9
15
  def pop_pending(self, entity_id: str) -> States | None: ...
10
16
  def pop_committed(self, entity_id: str) -> int | None: ...
11
17
  def add_pending(self, entity_id: str, state: States) -> None: ...
@@ -13,5 +19,6 @@ class StatesManager:
13
19
  def get_pending_last_reported_timestamp(self) -> dict[int, float]: ...
14
20
  def post_commit_pending(self) -> None: ...
15
21
  def reset(self) -> None: ...
22
+ def load_from_db(self, session: Session) -> None: ...
16
23
  def evict_purged_state_ids(self, purged_state_ids: set[int]) -> None: ...
17
24
  def evict_purged_entity_ids(self, purged_entity_ids: set[str]) -> None: ...
@@ -4,7 +4,6 @@ from enum import IntFlag
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import ATTR_COMMAND as ATTR_COMMAND, 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
@@ -43,9 +42,6 @@ class RemoteEntityFeature(IntFlag):
43
42
  DELETE_COMMAND = 2
44
43
  ACTIVITY = 4
45
44
 
46
- _DEPRECATED_SUPPORT_LEARN_COMMAND: Incomplete
47
- _DEPRECATED_SUPPORT_DELETE_COMMAND: Incomplete
48
- _DEPRECATED_SUPPORT_ACTIVITY: Incomplete
49
45
  REMOTE_SERVICE_ACTIVITY_SCHEMA: Incomplete
50
46
 
51
47
  def is_on(hass: HomeAssistant, entity_id: str) -> bool: ...
@@ -65,8 +61,6 @@ class RemoteEntity(ToggleEntity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_)
65
61
  _attr_current_activity: str | None
66
62
  _attr_supported_features: RemoteEntityFeature
67
63
  def supported_features(self) -> RemoteEntityFeature: ...
68
- @property
69
- def supported_features_compat(self) -> RemoteEntityFeature: ...
70
64
  def current_activity(self) -> str | None: ...
71
65
  def activity_list(self) -> list[str] | None: ...
72
66
  @property
@@ -77,7 +71,3 @@ class RemoteEntity(ToggleEntity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_)
77
71
  async def async_learn_command(self, **kwargs: Any) -> None: ...
78
72
  def delete_command(self, **kwargs: Any) -> None: ...
79
73
  async def async_delete_command(self, **kwargs: Any) -> None: ...
80
-
81
- __getattr__: Incomplete
82
- __dir__: Incomplete
83
- __all__: Incomplete
@@ -7,6 +7,8 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
7
7
  from homeassistant.helpers.typing import StateType as StateType
8
8
  from renault_api.kamereon.models import KamereonVehicleBatteryStatusData
9
9
 
10
+ PARALLEL_UPDATES: int
11
+
10
12
  @dataclass(frozen=True, kw_only=True)
11
13
  class RenaultBinarySensorEntityDescription(BinarySensorEntityDescription, RenaultDataEntityDescription):
12
14
  on_key: str
@@ -7,6 +7,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
8
8
  from typing import Any
9
9
 
10
+ PARALLEL_UPDATES: int
11
+
10
12
  @dataclass(frozen=True, kw_only=True)
11
13
  class RenaultButtonEntityDescription(ButtonEntityDescription):
12
14
  async_press: Callable[[RenaultButtonEntity], Coroutine[Any, Any, Any]]
@@ -7,10 +7,11 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as Da
7
7
  from renault_api.kamereon.models import KamereonVehicleDataAttributes
8
8
  from typing import TypeVar
9
9
 
10
- T = TypeVar('T', bound=KamereonVehicleDataAttributes | None)
10
+ T = TypeVar('T', bound=KamereonVehicleDataAttributes)
11
11
  _PARALLEL_SEMAPHORE: Incomplete
12
12
 
13
13
  class RenaultDataUpdateCoordinator(DataUpdateCoordinator[T]):
14
+ update_method: Callable[[], Awaitable[T]]
14
15
  access_denied: bool
15
16
  not_supported: bool
16
17
  _has_already_worked: bool
@@ -6,6 +6,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
7
7
  from renault_api.kamereon.models import KamereonVehicleLocationData
8
8
 
9
+ PARALLEL_UPDATES: int
10
+
9
11
  @dataclass(frozen=True, kw_only=True)
10
12
  class RenaultTrackerEntityDescription(TrackerEntityDescription, RenaultDataEntityDescription):
11
13
  def __init__(self, coordinator, *, 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=...) -> None: ...
@@ -7,6 +7,8 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
7
7
  from homeassistant.helpers.typing import StateType as StateType
8
8
  from renault_api.kamereon.models import KamereonVehicleBatteryStatusData
9
9
 
10
+ PARALLEL_UPDATES: int
11
+
10
12
  @dataclass(frozen=True, kw_only=True)
11
13
  class RenaultSelectEntityDescription(SelectEntityDescription, RenaultDataEntityDescription):
12
14
  data_key: str
@@ -13,6 +13,8 @@ from homeassistant.helpers.typing import StateType as StateType
13
13
  from homeassistant.util.dt import as_utc as as_utc, parse_datetime as parse_datetime
14
14
  from typing import Any, Generic
15
15
 
16
+ PARALLEL_UPDATES: int
17
+
16
18
  @dataclass(frozen=True, kw_only=True)
17
19
  class RenaultSensorEntityDescription(SensorEntityDescription, RenaultDataEntityDescription, Generic[T]):
18
20
  data_key: str
@@ -3,6 +3,7 @@ from .exceptions import PasswordIncompatible as PasswordIncompatible, ReolinkExc
3
3
  from .host import ReolinkHost as ReolinkHost
4
4
  from .services import async_setup_services as async_setup_services
5
5
  from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData, get_device_uid_and_ch as get_device_uid_and_ch
6
+ from .views import PlaybackProxyView as PlaybackProxyView
6
7
  from _typeshed import Incomplete
7
8
  from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
8
9
  from homeassistant.const import CONF_PORT as CONF_PORT, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
@@ -1,5 +1,5 @@
1
1
  from .entity import ReolinkChannelCoordinatorEntity as ReolinkChannelCoordinatorEntity, ReolinkChannelEntityDescription as ReolinkChannelEntityDescription, ReolinkHostCoordinatorEntity as ReolinkHostCoordinatorEntity, ReolinkHostEntityDescription as ReolinkHostEntityDescription
2
- from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
2
+ from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData, raise_translated_error as raise_translated_error
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
5
  from dataclasses import dataclass
@@ -7,7 +7,6 @@ from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceCla
7
7
  from homeassistant.components.camera import CameraEntityFeature as CameraEntityFeature
8
8
  from homeassistant.const import EntityCategory as EntityCategory
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback, async_get_current_platform as async_get_current_platform
12
11
  from reolink_aio.api import Host as Host
13
12
  from typing import Any
@@ -1,10 +1,9 @@
1
1
  from .entity import ReolinkChannelCoordinatorEntity as ReolinkChannelCoordinatorEntity, ReolinkChannelEntityDescription as ReolinkChannelEntityDescription
2
- from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
2
+ from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData, raise_translated_error as raise_translated_error
3
3
  from _typeshed import Incomplete
4
4
  from dataclasses import dataclass
5
5
  from homeassistant.components.camera import Camera as Camera, CameraEntityDescription as CameraEntityDescription, CameraEntityFeature as CameraEntityFeature
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
8
 
10
9
  _LOGGER: Incomplete
@@ -1,12 +1,11 @@
1
1
  from .entity import ReolinkChannelCoordinatorEntity as ReolinkChannelCoordinatorEntity, ReolinkChannelEntityDescription as ReolinkChannelEntityDescription, ReolinkHostCoordinatorEntity as ReolinkHostCoordinatorEntity, ReolinkHostEntityDescription as ReolinkHostEntityDescription
2
- from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
2
+ from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData, raise_translated_error as raise_translated_error
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
5
  from dataclasses import dataclass
6
6
  from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ColorMode as ColorMode, LightEntity as LightEntity, LightEntityDescription as LightEntityDescription
7
7
  from homeassistant.const import EntityCategory as EntityCategory
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
10
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
10
  from reolink_aio.api import Host as Host
12
11
  from typing import Any
@@ -1,6 +1,6 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from .host import ReolinkHost as ReolinkHost
3
- from .util import ReolinkConfigEntry as ReolinkConfigEntry
2
+ from .util import get_host as get_host
3
+ from .views import async_generate_playback_proxy_url as async_generate_playback_proxy_url
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.camera import DynamicStreamSettings as DynamicStreamSettings
6
6
  from homeassistant.components.media_player import MediaClass as MediaClass, MediaType as MediaType
@@ -13,7 +13,6 @@ _LOGGER: Incomplete
13
13
 
14
14
  async def async_get_media_source(hass: HomeAssistant) -> ReolinkVODMediaSource: ...
15
15
  def res_name(stream: str) -> str: ...
16
- def get_host(hass: HomeAssistant, config_entry_id: str) -> ReolinkHost: ...
17
16
 
18
17
  class ReolinkVODMediaSource(MediaSource):
19
18
  name: str
@@ -1,12 +1,11 @@
1
1
  from .entity import ReolinkChannelCoordinatorEntity as ReolinkChannelCoordinatorEntity, ReolinkChannelEntityDescription as ReolinkChannelEntityDescription, ReolinkChimeCoordinatorEntity as ReolinkChimeCoordinatorEntity, ReolinkChimeEntityDescription as ReolinkChimeEntityDescription, ReolinkHostCoordinatorEntity as ReolinkHostCoordinatorEntity, ReolinkHostEntityDescription as ReolinkHostEntityDescription
2
- from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
2
+ from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData, raise_translated_error as raise_translated_error
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
5
  from dataclasses import dataclass
6
6
  from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription, NumberMode as NumberMode
7
7
  from homeassistant.const import EntityCategory as EntityCategory, UnitOfTime as UnitOfTime
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
10
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
10
  from reolink_aio.api import Chime as Chime, Host as Host
12
11
  from typing import Any
@@ -1,12 +1,11 @@
1
1
  from .entity import ReolinkChannelCoordinatorEntity as ReolinkChannelCoordinatorEntity, ReolinkChannelEntityDescription as ReolinkChannelEntityDescription, ReolinkChimeCoordinatorEntity as ReolinkChimeCoordinatorEntity, ReolinkChimeEntityDescription as ReolinkChimeEntityDescription
2
- from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
2
+ from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData, raise_translated_error as raise_translated_error
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
5
  from dataclasses import dataclass
6
6
  from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
7
7
  from homeassistant.const import EntityCategory as EntityCategory, UnitOfDataRate as UnitOfDataRate, UnitOfFrequency as UnitOfFrequency
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
10
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
10
  from reolink_aio.api import Chime as Chime, Host as Host
12
11
  from typing import Any
@@ -1,10 +1,10 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .host import ReolinkHost as ReolinkHost
3
- from .util import get_device_uid_and_ch as get_device_uid_and_ch
3
+ from .util import get_device_uid_and_ch as get_device_uid_and_ch, raise_translated_error as raise_translated_error
4
4
  from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
5
5
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
7
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
7
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
8
8
  from reolink_aio.api import Chime as Chime
9
9
 
10
10
  ATTR_RINGTONE: str
@@ -1,10 +1,9 @@
1
1
  from .entity import ReolinkChannelCoordinatorEntity as ReolinkChannelCoordinatorEntity, ReolinkChannelEntityDescription as ReolinkChannelEntityDescription
2
- from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
2
+ from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData, raise_translated_error as raise_translated_error
3
3
  from _typeshed import Incomplete
4
4
  from dataclasses import dataclass
5
5
  from homeassistant.components.siren import ATTR_DURATION as ATTR_DURATION, ATTR_VOLUME_LEVEL as ATTR_VOLUME_LEVEL, SirenEntity as SirenEntity, SirenEntityDescription as SirenEntityDescription, SirenEntityFeature as SirenEntityFeature
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
8
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
8
  from typing import Any
10
9
 
@@ -1,13 +1,12 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .entity import ReolinkChannelCoordinatorEntity as ReolinkChannelCoordinatorEntity, ReolinkChannelEntityDescription as ReolinkChannelEntityDescription, ReolinkChimeCoordinatorEntity as ReolinkChimeCoordinatorEntity, ReolinkChimeEntityDescription as ReolinkChimeEntityDescription, ReolinkHostCoordinatorEntity as ReolinkHostCoordinatorEntity, ReolinkHostEntityDescription as ReolinkHostEntityDescription
3
- from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
3
+ from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData, raise_translated_error as raise_translated_error
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.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
8
8
  from homeassistant.const import EntityCategory as EntityCategory
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
11
  from reolink_aio.api import Chime as Chime, Host as Host
13
12
  from typing import Any
@@ -1,4 +1,5 @@
1
1
  from . import DEVICE_UPDATE_INTERVAL as DEVICE_UPDATE_INTERVAL
2
+ from .const import DOMAIN as DOMAIN
2
3
  from .entity import ReolinkChannelCoordinatorEntity as ReolinkChannelCoordinatorEntity, ReolinkChannelEntityDescription as ReolinkChannelEntityDescription, ReolinkHostCoordinatorEntity as ReolinkHostCoordinatorEntity, ReolinkHostEntityDescription as ReolinkHostEntityDescription
3
4
  from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
4
5
  from _typeshed import Incomplete
@@ -1,10 +1,14 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .host import ReolinkHost as ReolinkHost
3
+ from collections.abc import Awaitable, Callable as Callable, Coroutine
3
4
  from dataclasses import dataclass
4
5
  from homeassistant import config_entries as config_entries
6
+ from homeassistant.components.media_source import Unresolvable as Unresolvable
5
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
6
9
  from homeassistant.helpers import device_registry as dr
7
10
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
11
+ from typing import Any, ParamSpec, TypeVar
8
12
 
9
13
  type ReolinkConfigEntry = config_entries.ConfigEntry[ReolinkData]
10
14
  @dataclass
@@ -15,4 +19,9 @@ class ReolinkData:
15
19
  def __init__(self, host, device_coordinator, firmware_coordinator) -> None: ...
16
20
 
17
21
  def is_connected(hass: HomeAssistant, config_entry: config_entries.ConfigEntry) -> bool: ...
22
+ def get_host(hass: HomeAssistant, config_entry_id: str) -> ReolinkHost: ...
18
23
  def get_device_uid_and_ch(device: dr.DeviceEntry, host: ReolinkHost) -> tuple[list[str], int | None, bool]: ...
24
+ T = TypeVar('T')
25
+ P = ParamSpec('P')
26
+
27
+ def raise_translated_error(func: Callable[P, Awaitable[T]]) -> Callable[P, Coroutine[Any, Any, T]]: ...
@@ -0,0 +1,21 @@
1
+ from .util import get_host as get_host
2
+ from _typeshed import Incomplete
3
+ from aiohttp import web
4
+ from homeassistant.components.http import HomeAssistantView as HomeAssistantView
5
+ from homeassistant.components.media_source import Unresolvable as Unresolvable
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from homeassistant.util.ssl import SSLCipherList as SSLCipherList
9
+
10
+ _LOGGER: Incomplete
11
+
12
+ def async_generate_playback_proxy_url(config_entry_id: str, channel: int, filename: str, stream_res: str, vod_type: str) -> str: ...
13
+
14
+ class PlaybackProxyView(HomeAssistantView):
15
+ requires_auth: bool
16
+ url: str
17
+ name: str
18
+ hass: Incomplete
19
+ session: Incomplete
20
+ def __init__(self, hass: HomeAssistant) -> None: ...
21
+ async def get(self, request: web.Request, config_entry_id: str, channel: str, stream_res: str, vod_type: str, filename: str, retry: int = 2) -> web.StreamResponse: ...
@@ -3,7 +3,7 @@ from .const import DOMAIN as DOMAIN, GET_MAPS_SERVICE_NAME as GET_MAPS_SERVICE_N
3
3
  from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
4
4
  from .entity import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
5
5
  from _typeshed import Incomplete
6
- from homeassistant.components.vacuum import STATE_CLEANING as STATE_CLEANING, STATE_DOCKED as STATE_DOCKED, STATE_ERROR as STATE_ERROR, STATE_IDLE as STATE_IDLE, STATE_PAUSED as STATE_PAUSED, STATE_RETURNING as STATE_RETURNING, StateVacuumEntity as StateVacuumEntity, VacuumEntityFeature as VacuumEntityFeature
6
+ from homeassistant.components.vacuum import StateVacuumEntity as StateVacuumEntity, VacuumActivity as VacuumActivity, VacuumEntityFeature as VacuumEntityFeature
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
8
8
  from homeassistant.helpers import entity_platform as entity_platform
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -21,7 +21,7 @@ class RoborockVacuum(RoborockCoordinatedEntityV1, StateVacuumEntity):
21
21
  _attr_fan_speed_list: Incomplete
22
22
  def __init__(self, coordinator: RoborockDataUpdateCoordinator) -> None: ...
23
23
  @property
24
- def state(self) -> str | None: ...
24
+ def activity(self) -> VacuumActivity | None: ...
25
25
  @property
26
26
  def battery_level(self) -> int | None: ...
27
27
  @property
@@ -1,4 +1,4 @@
1
- from .const import CONF_PLAY_MEDIA_APP_ID as CONF_PLAY_MEDIA_APP_ID, DEFAULT_PLAY_MEDIA_APP_ID as DEFAULT_PLAY_MEDIA_APP_ID, DOMAIN as DOMAIN
1
+ from .const import CONF_PLAY_MEDIA_APP_ID as CONF_PLAY_MEDIA_APP_ID, DEFAULT_PLAY_MEDIA_APP_ID as DEFAULT_PLAY_MEDIA_APP_ID
2
2
  from .coordinator import RokuDataUpdateCoordinator as RokuDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -6,7 +6,8 @@ from homeassistant.const import CONF_HOST as CONF_HOST, Platform as Platform
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
 
8
8
  PLATFORMS: Incomplete
9
+ type RokuConfigEntry = ConfigEntry[RokuDataUpdateCoordinator]
9
10
 
10
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
11
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
12
- async def async_reload_entry(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
11
+ async def async_setup_entry(hass: HomeAssistant, entry: RokuConfigEntry) -> bool: ...
12
+ async def async_unload_entry(hass: HomeAssistant, entry: RokuConfigEntry) -> bool: ...
13
+ async def async_reload_entry(hass: HomeAssistant, entry: RokuConfigEntry) -> None: ...
@@ -1,14 +1,15 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from . import RokuConfigEntry as RokuConfigEntry
2
2
  from .entity import RokuEntity as RokuEntity
3
3
  from collections.abc import Callable as Callable
4
4
  from dataclasses import dataclass
5
5
  from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import EntityCategory as EntityCategory
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
9
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
9
  from rokuecp.models import Device as RokuDevice
11
10
 
11
+ PARALLEL_UPDATES: int
12
+
12
13
  @dataclass(frozen=True, kw_only=True)
13
14
  class RokuBinarySensorEntityDescription(BinarySensorEntityDescription):
14
15
  value_fn: Callable[[RokuDevice], bool | None]
@@ -16,7 +17,7 @@ class RokuBinarySensorEntityDescription(BinarySensorEntityDescription):
16
17
 
17
18
  BINARY_SENSORS: tuple[RokuBinarySensorEntityDescription, ...]
18
19
 
19
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
20
+ async def async_setup_entry(hass: HomeAssistant, entry: RokuConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
20
21
 
21
22
  class RokuBinarySensorEntity(RokuEntity, BinarySensorEntity):
22
23
  entity_description: RokuBinarySensorEntityDescription
@@ -1,7 +1,8 @@
1
+ from . import RokuConfigEntry as RokuConfigEntry
1
2
  from .const import CONF_PLAY_MEDIA_APP_ID as CONF_PLAY_MEDIA_APP_ID, DEFAULT_PLAY_MEDIA_APP_ID as DEFAULT_PLAY_MEDIA_APP_ID, DOMAIN as DOMAIN
2
3
  from _typeshed import Incomplete
3
4
  from homeassistant.components import ssdp as ssdp, zeroconf as zeroconf
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
5
+ from homeassistant.config_entries import 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 HomeAssistant as HomeAssistant, callback as callback
7
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
@@ -18,13 +19,14 @@ class RokuConfigFlow(ConfigFlow, domain=DOMAIN):
18
19
  VERSION: int
19
20
  discovery_info: dict[str, Any]
20
21
  def __init__(self) -> None: ...
21
- def _show_form(self, errors: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
+ def _show_form(self, user_input: dict[str, Any] | None, errors: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
24
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
25
  async def async_step_homekit(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
24
26
  async def async_step_ssdp(self, discovery_info: ssdp.SsdpServiceInfo) -> ConfigFlowResult: ...
25
27
  async def async_step_discovery_confirm(self, user_input: dict | None = None) -> ConfigFlowResult: ...
26
28
  @staticmethod
27
- def async_get_options_flow(config_entry: ConfigEntry) -> RokuOptionsFlowHandler: ...
29
+ def async_get_options_flow(config_entry: RokuConfigEntry) -> RokuOptionsFlowHandler: ...
28
30
 
29
31
  class RokuOptionsFlowHandler(OptionsFlow):
30
32
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,7 +1,5 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import RokuDataUpdateCoordinator as RokuDataUpdateCoordinator
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
1
+ from . import RokuConfigEntry as RokuConfigEntry
4
2
  from homeassistant.core import HomeAssistant as HomeAssistant
5
3
  from typing import Any
6
4
 
7
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ConfigEntry) -> dict[str, Any]: ...
5
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: RokuConfigEntry) -> dict[str, Any]: ...
@@ -1,6 +1,7 @@
1
1
  import datetime as dt
2
+ from . import RokuConfigEntry as RokuConfigEntry
2
3
  from .browse_media import async_browse_media as async_browse_media
3
- from .const import ATTR_ARTIST_NAME as ATTR_ARTIST_NAME, ATTR_CONTENT_ID as ATTR_CONTENT_ID, ATTR_FORMAT as ATTR_FORMAT, ATTR_KEYWORD as ATTR_KEYWORD, ATTR_MEDIA_TYPE as ATTR_MEDIA_TYPE, ATTR_THUMBNAIL as ATTR_THUMBNAIL, DOMAIN as DOMAIN, SERVICE_SEARCH as SERVICE_SEARCH
4
+ from .const import ATTR_ARTIST_NAME as ATTR_ARTIST_NAME, ATTR_CONTENT_ID as ATTR_CONTENT_ID, ATTR_FORMAT as ATTR_FORMAT, ATTR_KEYWORD as ATTR_KEYWORD, ATTR_MEDIA_TYPE as ATTR_MEDIA_TYPE, ATTR_THUMBNAIL as ATTR_THUMBNAIL, SERVICE_SEARCH as SERVICE_SEARCH
4
5
  from .coordinator import RokuDataUpdateCoordinator as RokuDataUpdateCoordinator
5
6
  from .entity import RokuEntity as RokuEntity
6
7
  from .helpers import format_channel_name as format_channel_name, roku_exception_handler as roku_exception_handler
@@ -8,7 +9,6 @@ from _typeshed import Incomplete
8
9
  from homeassistant.components import media_source as media_source
9
10
  from homeassistant.components.media_player import ATTR_MEDIA_EXTRA as ATTR_MEDIA_EXTRA, BrowseMedia as BrowseMedia, MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, async_process_play_media_url as async_process_play_media_url
10
11
  from homeassistant.components.stream import FORMAT_CONTENT_TYPE as FORMAT_CONTENT_TYPE, HLS_PROVIDER as HLS_PROVIDER
11
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
12
12
  from homeassistant.const import ATTR_NAME as ATTR_NAME
13
13
  from homeassistant.core import HomeAssistant as HomeAssistant
14
14
  from homeassistant.helpers import entity_platform as entity_platform
@@ -22,8 +22,9 @@ ATTRS_TO_LAUNCH_PARAMS: Incomplete
22
22
  ATTRS_TO_PLAY_ON_ROKU_PARAMS: Incomplete
23
23
  ATTRS_TO_PLAY_ON_ROKU_AUDIO_PARAMS: Incomplete
24
24
  SEARCH_SCHEMA: VolDictType
25
+ PARALLEL_UPDATES: int
25
26
 
26
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
27
+ async def async_setup_entry(hass: HomeAssistant, entry: RokuConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
27
28
 
28
29
  class RokuMediaPlayer(RokuEntity, MediaPlayerEntity):
29
30
  _attr_name: Incomplete
@@ -1,16 +1,16 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import RokuDataUpdateCoordinator as RokuDataUpdateCoordinator
1
+ from . import RokuConfigEntry as RokuConfigEntry
3
2
  from .entity import RokuEntity as RokuEntity
4
3
  from .helpers import roku_exception_handler as roku_exception_handler
5
4
  from _typeshed import Incomplete
6
5
  from collections.abc import Iterable
7
6
  from homeassistant.components.remote import ATTR_NUM_REPEATS as ATTR_NUM_REPEATS, RemoteEntity as RemoteEntity
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
7
  from homeassistant.core import HomeAssistant as HomeAssistant
10
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
9
  from typing import Any
12
10
 
13
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
11
+ PARALLEL_UPDATES: int
12
+
13
+ async def async_setup_entry(hass: HomeAssistant, entry: RokuConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
14
 
15
15
  class RokuRemote(RokuEntity, RemoteEntity):
16
16
  _attr_name: Incomplete
@@ -1,17 +1,17 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import RokuDataUpdateCoordinator as RokuDataUpdateCoordinator
1
+ from . import RokuConfigEntry as RokuConfigEntry
3
2
  from .entity import RokuEntity as RokuEntity
4
3
  from .helpers import format_channel_name as format_channel_name, roku_exception_handler as roku_exception_handler
5
4
  from _typeshed import Incomplete
6
5
  from collections.abc import Awaitable, Callable as Callable
7
6
  from dataclasses import dataclass
8
7
  from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
8
  from homeassistant.core import HomeAssistant as HomeAssistant
11
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
10
  from rokuecp import Roku as Roku
13
11
  from rokuecp.models import Device as RokuDevice
14
12
 
13
+ PARALLEL_UPDATES: int
14
+
15
15
  def _get_application_name(device: RokuDevice) -> str | None: ...
16
16
  def _get_applications(device: RokuDevice) -> list[str]: ...
17
17
  def _get_channel_name(device: RokuDevice) -> str | None: ...
@@ -29,7 +29,7 @@ class RokuSelectEntityDescription(SelectEntityDescription):
29
29
  ENTITIES: tuple[RokuSelectEntityDescription, ...]
30
30
  CHANNEL_ENTITY: Incomplete
31
31
 
32
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
32
+ async def async_setup_entry(hass: HomeAssistant, entry: RokuConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
33
33
 
34
34
  class RokuSelectEntity(RokuEntity, SelectEntity):
35
35
  entity_description: RokuSelectEntityDescription