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
@@ -13,7 +13,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_e
13
13
  class ToloFan(ToloSaunaCoordinatorEntity, FanEntity):
14
14
  _attr_translation_key: str
15
15
  _attr_supported_features: Incomplete
16
- _enable_turn_on_off_backwards_compatibility: bool
17
16
  _attr_unique_id: Incomplete
18
17
  def __init__(self, coordinator: ToloSaunaUpdateCoordinator, entry: ConfigEntry) -> None: ...
19
18
  @property
@@ -1,4 +1,4 @@
1
- from .const import CONF_AES_KEYS as CONF_AES_KEYS, CONF_CONFIG_ENTRY_MINOR_VERSION as CONF_CONFIG_ENTRY_MINOR_VERSION, CONF_CONNECTION_PARAMETERS as CONF_CONNECTION_PARAMETERS, CONF_CREDENTIALS_HASH as CONF_CREDENTIALS_HASH, CONF_DEVICE_CONFIG as CONF_DEVICE_CONFIG, CONF_USES_HTTP as CONF_USES_HTTP, CONNECT_TIMEOUT as CONNECT_TIMEOUT, DISCOVERY_TIMEOUT as DISCOVERY_TIMEOUT, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
1
+ from .const import CONF_AES_KEYS as CONF_AES_KEYS, CONF_CAMERA_CREDENTIALS as CONF_CAMERA_CREDENTIALS, CONF_CONFIG_ENTRY_MINOR_VERSION as CONF_CONFIG_ENTRY_MINOR_VERSION, CONF_CONNECTION_PARAMETERS as CONF_CONNECTION_PARAMETERS, CONF_CREDENTIALS_HASH as CONF_CREDENTIALS_HASH, CONF_DEVICE_CONFIG as CONF_DEVICE_CONFIG, CONF_LIVE_VIEW as CONF_LIVE_VIEW, CONF_USES_HTTP as CONF_USES_HTTP, CONNECT_TIMEOUT as CONNECT_TIMEOUT, DISCOVERY_TIMEOUT as DISCOVERY_TIMEOUT, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
2
  from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
3
3
  from .models import TPLinkData as TPLinkData
4
4
  from _typeshed import Incomplete
@@ -9,7 +9,7 @@ from typing import Final
9
9
 
10
10
  @dataclass(frozen=True, kw_only=True)
11
11
  class TPLinkBinarySensorEntityDescription(BinarySensorEntityDescription, TPLinkFeatureEntityDescription):
12
- 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=..., deprecated_info=...) -> None: ...
12
+ 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=..., deprecated_info=..., available_fn=...) -> None: ...
13
13
 
14
14
  BINARY_SENSOR_DESCRIPTIONS: Final[Incomplete]
15
15
  BINARYSENSOR_DESCRIPTIONS_MAP: Incomplete
@@ -19,4 +19,4 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry
19
19
  class TPLinkBinarySensorEntity(CoordinatedTPLinkFeatureEntity, BinarySensorEntity):
20
20
  entity_description: TPLinkBinarySensorEntityDescription
21
21
  _attr_is_on: Incomplete
22
- def _async_update_attrs(self) -> None: ...
22
+ def _async_update_attrs(self) -> bool: ...
@@ -10,7 +10,7 @@ from typing import Final
10
10
 
11
11
  @dataclass(frozen=True, kw_only=True)
12
12
  class TPLinkButtonEntityDescription(ButtonEntityDescription, TPLinkFeatureEntityDescription):
13
- 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=..., deprecated_info=...) -> None: ...
13
+ 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=..., deprecated_info=..., available_fn=...) -> None: ...
14
14
 
15
15
  BUTTON_DESCRIPTIONS: Final[Incomplete]
16
16
  BUTTON_DESCRIPTIONS_MAP: Incomplete
@@ -20,4 +20,4 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry
20
20
  class TPLinkButtonEntity(CoordinatedTPLinkFeatureEntity, ButtonEntity):
21
21
  entity_description: TPLinkButtonEntityDescription
22
22
  async def async_press(self) -> None: ...
23
- def _async_update_attrs(self) -> None: ...
23
+ def _async_update_attrs(self) -> bool: ...
@@ -0,0 +1,49 @@
1
+ from . import TPLinkConfigEntry as TPLinkConfigEntry, legacy_device_id as legacy_device_id
2
+ from .const import CONF_CAMERA_CREDENTIALS as CONF_CAMERA_CREDENTIALS
3
+ from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
4
+ from .entity import CoordinatedTPLinkEntity as CoordinatedTPLinkEntity, TPLinkModuleEntityDescription as TPLinkModuleEntityDescription
5
+ from _typeshed import Incomplete
6
+ from aiohttp import web as web
7
+ from dataclasses import dataclass
8
+ from homeassistant.components import ffmpeg as ffmpeg, stream as stream
9
+ from homeassistant.components.camera import Camera as Camera, CameraEntityDescription as CameraEntityDescription, CameraEntityFeature as CameraEntityFeature
10
+ from homeassistant.config_entries import ConfigFlowContext as ConfigFlowContext
11
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
+ from homeassistant.helpers.aiohttp_client import async_aiohttp_proxy_stream as async_aiohttp_proxy_stream
13
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
+ from kasa import Credentials as Credentials, Device as Device
15
+ from kasa.smartcam.modules import Camera as CameraModule
16
+
17
+ _LOGGER: Incomplete
18
+
19
+ @dataclass(frozen=True, kw_only=True)
20
+ class TPLinkCameraEntityDescription(CameraEntityDescription, TPLinkModuleEntityDescription):
21
+ 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=..., deprecated_info=..., available_fn=...) -> None: ...
22
+
23
+ CAMERA_DESCRIPTIONS: tuple[TPLinkCameraEntityDescription, ...]
24
+
25
+ async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
26
+
27
+ class TPLinkCameraEntity(CoordinatedTPLinkEntity, Camera):
28
+ IMAGE_INTERVAL: Incomplete
29
+ _attr_supported_features: Incomplete
30
+ entity_description: TPLinkCameraEntityDescription
31
+ _camera_module: Incomplete
32
+ _video_url: Incomplete
33
+ _image: Incomplete
34
+ _ffmpeg_manager: Incomplete
35
+ _image_lock: Incomplete
36
+ _last_update: int
37
+ _camera_credentials: Incomplete
38
+ _can_stream: bool
39
+ _http_mpeg_stream_running: bool
40
+ def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkCameraEntityDescription, *, camera_module: CameraModule, parent: Device | None = None, ffmpeg_manager: ffmpeg.FFmpegManager, camera_credentials: Credentials | None) -> None: ...
41
+ def _get_unique_id(self) -> str: ...
42
+ _attr_is_on: Incomplete
43
+ def _async_update_attrs(self) -> bool: ...
44
+ async def stream_source(self) -> str | None: ...
45
+ async def _async_check_stream_auth(self, video_url: str) -> None: ...
46
+ async def async_camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
47
+ async def handle_async_mjpeg_stream(self, request: web.Request) -> web.StreamResponse | None: ...
48
+ async def async_turn_on(self) -> None: ...
49
+ async def async_turn_off(self) -> None: ...
@@ -21,7 +21,6 @@ class TPLinkClimateEntity(CoordinatedTPLinkEntity, ClimateEntity):
21
21
  _attr_supported_features: Incomplete
22
22
  _attr_hvac_modes: Incomplete
23
23
  _attr_precision = PRECISION_TENTHS
24
- _enable_turn_on_off_backwards_compatibility: bool
25
24
  _state_feature: Incomplete
26
25
  _mode_feature: Incomplete
27
26
  _temp_feature: Incomplete
@@ -38,5 +37,5 @@ class TPLinkClimateEntity(CoordinatedTPLinkEntity, ClimateEntity):
38
37
  _attr_target_temperature: Incomplete
39
38
  _attr_hvac_mode: Incomplete
40
39
  _attr_hvac_action: Incomplete
41
- def _async_update_attrs(self) -> None: ...
40
+ def _async_update_attrs(self) -> bool: ...
42
41
  def _get_unique_id(self) -> str: ...
@@ -1,10 +1,10 @@
1
1
  from . import async_discover_devices as async_discover_devices, create_async_tplink_clientsession as create_async_tplink_clientsession, get_credentials as get_credentials, mac_alias as mac_alias, set_credentials as set_credentials
2
- from .const import CONF_AES_KEYS as CONF_AES_KEYS, CONF_CONFIG_ENTRY_MINOR_VERSION as CONF_CONFIG_ENTRY_MINOR_VERSION, CONF_CONNECTION_PARAMETERS as CONF_CONNECTION_PARAMETERS, CONF_CREDENTIALS_HASH as CONF_CREDENTIALS_HASH, CONF_USES_HTTP as CONF_USES_HTTP, CONNECT_TIMEOUT as CONNECT_TIMEOUT, DOMAIN as DOMAIN
2
+ from .const import CONF_AES_KEYS as CONF_AES_KEYS, CONF_CAMERA_CREDENTIALS as CONF_CAMERA_CREDENTIALS, CONF_CONFIG_ENTRY_MINOR_VERSION as CONF_CONFIG_ENTRY_MINOR_VERSION, CONF_CONNECTION_PARAMETERS as CONF_CONNECTION_PARAMETERS, CONF_CREDENTIALS_HASH as CONF_CREDENTIALS_HASH, CONF_LIVE_VIEW as CONF_LIVE_VIEW, CONF_USES_HTTP as CONF_USES_HTTP, CONNECT_TIMEOUT as CONNECT_TIMEOUT, DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Mapping
5
- from homeassistant.components import dhcp as dhcp
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
7
- from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_DEVICE as CONF_DEVICE, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
5
+ from homeassistant.components import dhcp as dhcp, ffmpeg as ffmpeg, stream as stream
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
7
+ from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_DEVICE as CONF_DEVICE, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
8
8
  from homeassistant.core import callback as callback
9
9
  from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
10
10
  from kasa import Credentials, Device
@@ -12,6 +12,8 @@ from typing import Any, Self
12
12
 
13
13
  _LOGGER: Incomplete
14
14
  STEP_AUTH_DATA_SCHEMA: Incomplete
15
+ STEP_RECONFIGURE_DATA_SCHEMA: Incomplete
16
+ STEP_CAMERA_AUTH_DATA_SCHEMA: Incomplete
15
17
 
16
18
  class TPLinkConfigFlow(ConfigFlow, domain=DOMAIN):
17
19
  VERSION: int
@@ -32,13 +34,17 @@ class TPLinkConfigFlow(ConfigFlow, domain=DOMAIN):
32
34
  async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
33
35
  @staticmethod
34
36
  def _async_get_host_port(host_str: str) -> tuple[str, int | None]: ...
37
+ def _async_supports_camera_credentials(self, device: Device) -> bool: ...
35
38
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
36
39
  async def async_step_user_auth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
40
+ def _create_camera_entry(self, device: Device, un: str, pw: str) -> ConfigFlowResult: ...
41
+ async def async_step_camera_auth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
37
42
  async def async_step_pick_device(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
38
43
  async def _async_reload_requires_auth_entries(self) -> None: ...
39
- def _async_create_entry_from_device(self, device: Device) -> ConfigFlowResult: ...
44
+ def _async_create_or_update_entry_from_device(self, device: Device, *, camera_data: dict | None = None) -> ConfigFlowResult: ...
40
45
  async def _async_try_connect_all(self, host: str, credentials: Credentials | None, raise_on_progress: bool, *, port: int | None = None) -> Device | None: ...
41
46
  async def _async_try_discover_and_update(self, host: str, credentials: Credentials | None, raise_on_progress: bool, raise_on_timeout: bool, *, port: int | None = None) -> Device | None: ...
42
47
  async def _async_try_connect(self, discovered_device: Device, credentials: Credentials | None) -> Device: ...
43
48
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
44
49
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
50
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -15,6 +15,8 @@ CONF_CREDENTIALS_HASH: Final[str]
15
15
  CONF_CONNECTION_PARAMETERS: Final[str]
16
16
  CONF_USES_HTTP: Final[str]
17
17
  CONF_AES_KEYS: Final[str]
18
+ CONF_CAMERA_CREDENTIALS: str
19
+ CONF_LIVE_VIEW: str
18
20
  CONF_CONFIG_ENTRY_MINOR_VERSION: Final[int]
19
21
  PLATFORMS: Final[Incomplete]
20
22
  UNIT_MAPPING: Incomplete
@@ -27,7 +27,14 @@ LEGACY_KEY_MAPPING: Incomplete
27
27
  @dataclass(frozen=True, kw_only=True)
28
28
  class TPLinkFeatureEntityDescription(EntityDescription):
29
29
  deprecated_info: DeprecatedInfo | 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=..., deprecated_info=...) -> None: ...
30
+ available_fn: Callable[[Device], bool] = ...
31
+ 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=..., deprecated_info=..., available_fn=...) -> None: ...
32
+
33
+ @dataclass(frozen=True, kw_only=True)
34
+ class TPLinkModuleEntityDescription(EntityDescription):
35
+ deprecated_info: DeprecatedInfo | None = ...
36
+ available_fn: Callable[[Device], bool] = ...
37
+ 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=..., deprecated_info=..., available_fn=...) -> None: ...
31
38
 
32
39
  def async_refresh_after[_T: CoordinatedTPLinkEntity, **_P](func: Callable[Concatenate[_T, _P], Awaitable[None]]) -> Callable[Concatenate[_T, _P], Coroutine[Any, Any, None]]: ...
33
40
 
@@ -40,7 +47,7 @@ class CoordinatedTPLinkEntity(CoordinatorEntity[TPLinkDataUpdateCoordinator], AB
40
47
  def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature: Feature | None = None, parent: Device | None = None) -> None: ...
41
48
  def _get_unique_id(self) -> str: ...
42
49
  @abstractmethod
43
- def _async_update_attrs(self) -> None: ...
50
+ def _async_update_attrs(self) -> bool: ...
44
51
  _attr_available: bool
45
52
  def _async_call_update_attrs(self) -> None: ...
46
53
  def _handle_coordinator_update(self) -> None: ...
@@ -20,7 +20,6 @@ SPEED_RANGE: Incomplete
20
20
  class TPLinkFanEntity(CoordinatedTPLinkEntity, FanEntity):
21
21
  _attr_speed_count: Incomplete
22
22
  _attr_supported_features: Incomplete
23
- _enable_turn_on_off_backwards_compatibility: bool
24
23
  fan_module: Incomplete
25
24
  _attr_name: Incomplete
26
25
  def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, fan_module: FanInterface, parent: Device | None = None) -> None: ...
@@ -29,4 +28,4 @@ class TPLinkFanEntity(CoordinatedTPLinkEntity, FanEntity):
29
28
  async def async_set_percentage(self, percentage: int) -> None: ...
30
29
  _attr_is_on: Incomplete
31
30
  _attr_percentage: Incomplete
32
- def _async_update_attrs(self) -> None: ...
31
+ def _async_update_attrs(self) -> bool: ...
@@ -50,7 +50,7 @@ class TPLinkLightEntity(CoordinatedTPLinkEntity, LightEntity):
50
50
  _attr_color_mode: Incomplete
51
51
  _attr_color_temp_kelvin: Incomplete
52
52
  _attr_hs_color: Incomplete
53
- def _async_update_attrs(self) -> None: ...
53
+ def _async_update_attrs(self) -> bool: ...
54
54
 
55
55
  class TPLinkLightEffectEntity(TPLinkLightEntity):
56
56
  _effect_module: Incomplete
@@ -59,7 +59,7 @@ class TPLinkLightEffectEntity(TPLinkLightEntity):
59
59
  _attr_effect: Incomplete
60
60
  _attr_color_mode: Incomplete
61
61
  _attr_effect_list: Incomplete
62
- def _async_update_attrs(self) -> None: ...
62
+ def _async_update_attrs(self) -> bool: ...
63
63
  async def async_turn_on(self, **kwargs: Any) -> None: ...
64
64
  async def async_set_random_effect(self, brightness: int, duration: int, transition: int, segments: list[int], fadeoff: int, init_states: tuple[int, int, int], random_seed: int, backgrounds: Sequence[tuple[int, int, int]] | None = None, hue_range: tuple[int, int] | None = None, saturation_range: tuple[int, int] | None = None, brightness_range: tuple[int, int] | None = None, transition_range: tuple[int, int] | None = None) -> None: ...
65
65
  async def async_set_sequence_effect(self, brightness: int, duration: int, transition: int, segments: list[int], sequence: Sequence[tuple[int, int, int]], repeat_times: int, spread: int, direction: int) -> None: ...
@@ -1,8 +1,11 @@
1
1
  from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
2
2
  from dataclasses import dataclass
3
+ from kasa import Credentials as Credentials
3
4
 
4
5
  @dataclass(slots=True)
5
6
  class TPLinkData:
6
7
  parent_coordinator: TPLinkDataUpdateCoordinator
7
8
  children_coordinators: list[TPLinkDataUpdateCoordinator]
8
- def __init__(self, parent_coordinator, children_coordinators) -> None: ...
9
+ camera_credentials: Credentials | None
10
+ live_view: bool | None
11
+ def __init__(self, parent_coordinator, children_coordinators, camera_credentials, live_view) -> None: ...
@@ -12,7 +12,7 @@ _LOGGER: Incomplete
12
12
 
13
13
  @dataclass(frozen=True, kw_only=True)
14
14
  class TPLinkNumberEntityDescription(NumberEntityDescription, TPLinkFeatureEntityDescription):
15
- def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., deprecated_info=..., max_value=..., min_value=..., mode=..., native_max_value=..., native_min_value=..., native_step=..., native_unit_of_measurement=..., step=...) -> None: ...
15
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., deprecated_info=..., available_fn=..., max_value=..., min_value=..., mode=..., native_max_value=..., native_min_value=..., native_step=..., native_unit_of_measurement=..., step=...) -> None: ...
16
16
 
17
17
  NUMBER_DESCRIPTIONS: Final[Incomplete]
18
18
  NUMBER_DESCRIPTIONS_MAP: Incomplete
@@ -26,4 +26,4 @@ class TPLinkNumberEntity(CoordinatedTPLinkFeatureEntity, NumberEntity):
26
26
  def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature: Feature, description: TPLinkFeatureEntityDescription, parent: Device | None = None) -> None: ...
27
27
  async def async_set_native_value(self, value: float) -> None: ...
28
28
  _attr_native_value: Incomplete
29
- def _async_update_attrs(self) -> None: ...
29
+ def _async_update_attrs(self) -> bool: ...
@@ -10,7 +10,7 @@ from typing import Final
10
10
 
11
11
  @dataclass(frozen=True, kw_only=True)
12
12
  class TPLinkSelectEntityDescription(SelectEntityDescription, TPLinkFeatureEntityDescription):
13
- 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=..., deprecated_info=..., options=...) -> None: ...
13
+ 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=..., deprecated_info=..., available_fn=..., options=...) -> None: ...
14
14
 
15
15
  SELECT_DESCRIPTIONS: Final[Incomplete]
16
16
  SELECT_DESCRIPTIONS_MAP: Incomplete
@@ -23,4 +23,4 @@ class TPLinkSelectEntity(CoordinatedTPLinkFeatureEntity, SelectEntity):
23
23
  def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature: Feature, description: TPLinkFeatureEntityDescription, parent: Device | None = None) -> None: ...
24
24
  async def async_select_option(self, option: str) -> None: ...
25
25
  _attr_current_option: Incomplete
26
- def _async_update_attrs(self) -> None: ...
26
+ def _async_update_attrs(self) -> bool: ...
@@ -10,7 +10,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
10
10
 
11
11
  @dataclass(frozen=True, kw_only=True)
12
12
  class TPLinkSensorEntityDescription(SensorEntityDescription, TPLinkFeatureEntityDescription):
13
- 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=..., deprecated_info=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=...) -> None: ...
13
+ 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=..., deprecated_info=..., available_fn=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=...) -> None: ...
14
14
 
15
15
  SENSOR_DESCRIPTIONS: tuple[TPLinkSensorEntityDescription, ...]
16
16
  SENSOR_DESCRIPTIONS_MAP: Incomplete
@@ -22,4 +22,4 @@ class TPLinkSensorEntity(CoordinatedTPLinkFeatureEntity, SensorEntity):
22
22
  _attr_suggested_display_precision: Incomplete
23
23
  _attr_native_value: Incomplete
24
24
  _attr_native_unit_of_measurement: Incomplete
25
- def _async_update_attrs(self) -> None: ...
25
+ def _async_update_attrs(self) -> bool: ...
@@ -19,4 +19,4 @@ class TPLinkSirenEntity(CoordinatedTPLinkEntity, SirenEntity):
19
19
  async def async_turn_on(self, **kwargs: Any) -> None: ...
20
20
  async def async_turn_off(self, **kwargs: Any) -> None: ...
21
21
  _attr_is_on: Incomplete
22
- def _async_update_attrs(self) -> None: ...
22
+ def _async_update_attrs(self) -> bool: ...
@@ -11,7 +11,7 @@ _LOGGER: Incomplete
11
11
 
12
12
  @dataclass(frozen=True, kw_only=True)
13
13
  class TPLinkSwitchEntityDescription(SwitchEntityDescription, TPLinkFeatureEntityDescription):
14
- 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=..., deprecated_info=...) -> None: ...
14
+ 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=..., deprecated_info=..., available_fn=...) -> None: ...
15
15
 
16
16
  SWITCH_DESCRIPTIONS: tuple[TPLinkSwitchEntityDescription, ...]
17
17
  SWITCH_DESCRIPTIONS_MAP: Incomplete
@@ -23,4 +23,4 @@ class TPLinkSwitch(CoordinatedTPLinkFeatureEntity, SwitchEntity):
23
23
  async def async_turn_on(self, **kwargs: Any) -> None: ...
24
24
  async def async_turn_off(self, **kwargs: Any) -> None: ...
25
25
  _attr_is_on: Incomplete
26
- def _async_update_attrs(self) -> None: ...
26
+ def _async_update_attrs(self) -> bool: ...
@@ -5,7 +5,7 @@ from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
7
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
8
- from homeassistant.const import ATTR_BATTERY_LEVEL as ATTR_BATTERY_LEVEL, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfTime as UnitOfTime
8
+ from homeassistant.const import ATTR_BATTERY_LEVEL as ATTR_BATTERY_LEVEL, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfEnergy as UnitOfEnergy, UnitOfTime as UnitOfTime
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from homeassistant.helpers.typing import StateType as StateType
@@ -22,7 +22,6 @@ class TradfriAirPurifierFan(TradfriBaseEntity, FanEntity):
22
22
  _attr_supported_features: Incomplete
23
23
  _attr_preset_modes: Incomplete
24
24
  _attr_speed_count = ATTR_MAX_FAN_STEPS
25
- _enable_turn_on_off_backwards_compatibility: bool
26
25
  _device_control: Incomplete
27
26
  _device_data: Incomplete
28
27
  def __init__(self, device_coordinator: TradfriDeviceDataUpdateCoordinator, api: Callable[[Command | list[Command]], Any], gateway_id: str) -> None: ...
@@ -3,7 +3,7 @@ from .coordinator import TradfriDeviceDataUpdateCoordinator as TradfriDeviceData
3
3
  from .entity import TradfriBaseEntity as TradfriBaseEntity
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
- from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP as ATTR_COLOR_TEMP, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_TRANSITION as ATTR_TRANSITION, ColorMode as ColorMode, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature, filter_supported_color_modes as filter_supported_color_modes
6
+ from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_TRANSITION as ATTR_TRANSITION, ColorMode as ColorMode, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature, filter_supported_color_modes as filter_supported_color_modes
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -21,8 +21,8 @@ class TradfriLight(TradfriBaseEntity, LightEntity):
21
21
  _attr_unique_id: Incomplete
22
22
  _hs_color: Incomplete
23
23
  _attr_supported_color_modes: Incomplete
24
- _attr_min_mireds: Incomplete
25
- _attr_max_mireds: Incomplete
24
+ _attr_max_color_temp_kelvin: Incomplete
25
+ _attr_min_color_temp_kelvin: Incomplete
26
26
  def __init__(self, device_coordinator: TradfriDeviceDataUpdateCoordinator, api: Callable[[Command | list[Command]], Any], gateway_id: str) -> None: ...
27
27
  def _refresh(self) -> None: ...
28
28
  @property
@@ -32,7 +32,7 @@ class TradfriLight(TradfriBaseEntity, LightEntity):
32
32
  @property
33
33
  def brightness(self) -> int | None: ...
34
34
  @property
35
- def color_temp(self) -> int | None: ...
35
+ def color_temp_kelvin(self) -> int | None: ...
36
36
  @property
37
37
  def hs_color(self) -> tuple[float, float] | None: ...
38
38
  async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -1,5 +1,5 @@
1
1
  import transmission_rpc
2
- from .const import ATTR_DELETE_DATA as ATTR_DELETE_DATA, ATTR_TORRENT as ATTR_TORRENT, CONF_ENTRY_ID as CONF_ENTRY_ID, DEFAULT_DELETE_DATA as DEFAULT_DELETE_DATA, DEFAULT_PATH as DEFAULT_PATH, DEFAULT_SSL as DEFAULT_SSL, DOMAIN as DOMAIN, SERVICE_ADD_TORRENT as SERVICE_ADD_TORRENT, SERVICE_REMOVE_TORRENT as SERVICE_REMOVE_TORRENT, SERVICE_START_TORRENT as SERVICE_START_TORRENT, SERVICE_STOP_TORRENT as SERVICE_STOP_TORRENT
2
+ from .const import ATTR_DELETE_DATA as ATTR_DELETE_DATA, ATTR_DOWNLOAD_PATH as ATTR_DOWNLOAD_PATH, ATTR_TORRENT as ATTR_TORRENT, CONF_ENTRY_ID as CONF_ENTRY_ID, DEFAULT_DELETE_DATA as DEFAULT_DELETE_DATA, DEFAULT_PATH as DEFAULT_PATH, DEFAULT_SSL as DEFAULT_SSL, DOMAIN as DOMAIN, SERVICE_ADD_TORRENT as SERVICE_ADD_TORRENT, SERVICE_REMOVE_TORRENT as SERVICE_REMOVE_TORRENT, SERVICE_START_TORRENT as SERVICE_START_TORRENT, SERVICE_STOP_TORRENT as SERVICE_STOP_TORRENT
3
3
  from .coordinator import TransmissionDataUpdateCoordinator as TransmissionDataUpdateCoordinator
4
4
  from .errors import AuthenticationError as AuthenticationError, CannotConnect as CannotConnect, UnknownError as UnknownError
5
5
  from _typeshed import Incomplete
@@ -21,6 +21,7 @@ DEFAULT_SCAN_INTERVAL: int
21
21
  STATE_ATTR_TORRENT_INFO: str
22
22
  ATTR_DELETE_DATA: str
23
23
  ATTR_TORRENT: str
24
+ ATTR_DOWNLOAD_PATH: str
24
25
  SERVICE_ADD_TORRENT: str
25
26
  SERVICE_REMOVE_TORRENT: str
26
27
  SERVICE_START_TORRENT: str
@@ -1,19 +1,11 @@
1
- from .const import CONF_HOUSE_LETTER as CONF_HOUSE_LETTER, CONF_HOUSE_NUMBER as CONF_HOUSE_NUMBER, CONF_POST_CODE as CONF_POST_CODE, DOMAIN as DOMAIN, LOGGER as LOGGER
1
+ from .coordinator import TwenteMilieuConfigEntry as TwenteMilieuConfigEntry, TwenteMilieuDataUpdateCoordinator as TwenteMilieuDataUpdateCoordinator
2
2
  from _typeshed import Incomplete
3
- from datetime import date
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
3
  from homeassistant.const import CONF_ID as CONF_ID, Platform as Platform
6
4
  from homeassistant.core import HomeAssistant as HomeAssistant
7
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
9
- from twentemilieu import WasteType
10
5
 
11
- SCAN_INTERVAL: Incomplete
12
6
  SERVICE_UPDATE: str
13
7
  SERVICE_SCHEMA: Incomplete
14
8
  PLATFORMS: Incomplete
15
- type TwenteMilieuDataUpdateCoordinator = DataUpdateCoordinator[dict[WasteType, list[date]]]
16
- type TwenteMilieuConfigEntry = ConfigEntry[TwenteMilieuDataUpdateCoordinator]
17
9
 
18
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
19
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
10
+ async def async_setup_entry(hass: HomeAssistant, entry: TwenteMilieuConfigEntry) -> bool: ...
11
+ async def async_unload_entry(hass: HomeAssistant, entry: TwenteMilieuConfigEntry) -> bool: ...
@@ -1,5 +1,5 @@
1
- from . import TwenteMilieuConfigEntry as TwenteMilieuConfigEntry
2
1
  from .const import WASTE_TYPE_TO_DESCRIPTION as WASTE_TYPE_TO_DESCRIPTION
2
+ from .coordinator import TwenteMilieuConfigEntry as TwenteMilieuConfigEntry
3
3
  from .entity import TwenteMilieuEntity as TwenteMilieuEntity
4
4
  from _typeshed import Incomplete
5
5
  from datetime import datetime
@@ -0,0 +1,14 @@
1
+ from .const import CONF_HOUSE_LETTER as CONF_HOUSE_LETTER, CONF_HOUSE_NUMBER as CONF_HOUSE_NUMBER, CONF_POST_CODE as CONF_POST_CODE, DOMAIN as DOMAIN, LOGGER as LOGGER, SCAN_INTERVAL as SCAN_INTERVAL
2
+ from _typeshed import Incomplete
3
+ from datetime import date
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
8
+ from twentemilieu import WasteType
9
+
10
+ type TwenteMilieuConfigEntry = ConfigEntry[TwenteMilieuDataUpdateCoordinator]
11
+ class TwenteMilieuDataUpdateCoordinator(DataUpdateCoordinator[dict[WasteType, list[date]]]):
12
+ twentemilieu: Incomplete
13
+ def __init__(self, hass: HomeAssistant, entry: TwenteMilieuConfigEntry) -> None: ...
14
+ async def _async_update_data(self) -> dict[WasteType, list[date]]: ...
@@ -1,5 +1,5 @@
1
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
1
+ from .coordinator import TwenteMilieuConfigEntry as TwenteMilieuConfigEntry
2
2
  from homeassistant.core import HomeAssistant as HomeAssistant
3
3
  from typing import Any
4
4
 
5
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]: ...
5
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: TwenteMilieuConfigEntry) -> dict[str, Any]: ...
@@ -1,7 +1,6 @@
1
- from . import TwenteMilieuDataUpdateCoordinator as TwenteMilieuDataUpdateCoordinator
2
1
  from .const import DOMAIN as DOMAIN
2
+ from .coordinator import TwenteMilieuConfigEntry as TwenteMilieuConfigEntry, TwenteMilieuDataUpdateCoordinator as TwenteMilieuDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
4
  from homeassistant.const import CONF_ID as CONF_ID
6
5
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
7
6
  from homeassistant.helpers.entity import Entity as Entity
@@ -10,4 +9,4 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity as Coordi
10
9
  class TwenteMilieuEntity(CoordinatorEntity[TwenteMilieuDataUpdateCoordinator], Entity):
11
10
  _attr_has_entity_name: bool
12
11
  _attr_device_info: Incomplete
13
- def __init__(self, entry: ConfigEntry) -> None: ...
12
+ def __init__(self, entry: TwenteMilieuConfigEntry) -> None: ...
@@ -1,10 +1,10 @@
1
1
  from .const import DOMAIN as DOMAIN
2
+ from .coordinator import TwenteMilieuConfigEntry as TwenteMilieuConfigEntry
2
3
  from .entity import TwenteMilieuEntity as TwenteMilieuEntity
3
4
  from _typeshed import Incomplete
4
5
  from dataclasses import dataclass
5
6
  from datetime import date
6
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.const import CONF_ID as CONF_ID
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -17,11 +17,11 @@ class TwenteMilieuSensorDescription(SensorEntityDescription):
17
17
 
18
18
  SENSORS: tuple[TwenteMilieuSensorDescription, ...]
19
19
 
20
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
20
+ async def async_setup_entry(hass: HomeAssistant, entry: TwenteMilieuConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
21
 
22
22
  class TwenteMilieuSensor(TwenteMilieuEntity, SensorEntity):
23
23
  entity_description: TwenteMilieuSensorDescription
24
24
  _attr_unique_id: Incomplete
25
- def __init__(self, entry: ConfigEntry, description: TwenteMilieuSensorDescription) -> None: ...
25
+ def __init__(self, entry: TwenteMilieuConfigEntry, description: TwenteMilieuSensorDescription) -> None: ...
26
26
  @property
27
27
  def native_value(self) -> date | None: ...
@@ -35,7 +35,7 @@ def async_device_outlet_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
35
35
  def async_device_uplink_mac_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
36
36
  def device_system_stats_supported_fn(stat_index: int, hub: UnifiHub, obj_id: str) -> bool: ...
37
37
  def async_client_is_connected_fn(hub: UnifiHub, obj_id: str) -> bool: ...
38
- def async_device_state_value_fn(hub: UnifiHub, device: Device) -> str: ...
38
+ def async_device_state_value_fn(hub: UnifiHub, device: Device) -> str | None: ...
39
39
  def async_device_wan_latency_supported_fn(wan: Literal['WAN', 'WAN2'], monitor_target: str, hub: UnifiHub, obj_id: str) -> bool: ...
40
40
  def async_device_wan_latency_value_fn(wan: Literal['WAN', 'WAN2'], monitor_target: str, hub: UnifiHub, device: Device) -> int | None: ...
41
41
  def _device_wan_latency_monitor(wan: Literal['WAN', 'WAN2'], monitor_target: str, device: Device) -> TypedDeviceUptimeStatsWanMonitor | None: ...
@@ -39,3 +39,9 @@ EVENT_TYPE_FINGERPRINT_IDENTIFIED: Final[str]
39
39
  EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED: Final[str]
40
40
  EVENT_TYPE_NFC_SCANNED: Final[str]
41
41
  EVENT_TYPE_DOORBELL_RING: Final[str]
42
+ KEYRINGS_ULP_ID: Final[str]
43
+ KEYRINGS_USER_STATUS: Final[str]
44
+ KEYRINGS_USER_FULL_NAME: Final[str]
45
+ KEYRINGS_KEY_TYPE: Final[str]
46
+ KEYRINGS_KEY_TYPE_ID_FINGERPRINT: Final[str]
47
+ KEYRINGS_KEY_TYPE_ID_NFC: Final[str]
@@ -1,12 +1,14 @@
1
1
  import dataclasses
2
- from .const import ATTR_EVENT_ID as ATTR_EVENT_ID, EVENT_TYPE_DOORBELL_RING as EVENT_TYPE_DOORBELL_RING, EVENT_TYPE_FINGERPRINT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_IDENTIFIED, EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED, EVENT_TYPE_NFC_SCANNED as EVENT_TYPE_NFC_SCANNED
3
- from .data import ProtectData as ProtectData, ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
2
+ from . import Bootstrap as Bootstrap
3
+ from .const import ATTR_EVENT_ID as ATTR_EVENT_ID, EVENT_TYPE_DOORBELL_RING as EVENT_TYPE_DOORBELL_RING, EVENT_TYPE_FINGERPRINT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_IDENTIFIED, EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED, EVENT_TYPE_NFC_SCANNED as EVENT_TYPE_NFC_SCANNED, KEYRINGS_KEY_TYPE_ID_NFC as KEYRINGS_KEY_TYPE_ID_NFC, KEYRINGS_ULP_ID as KEYRINGS_ULP_ID, KEYRINGS_USER_FULL_NAME as KEYRINGS_USER_FULL_NAME, KEYRINGS_USER_STATUS as KEYRINGS_USER_STATUS
4
+ from .data import Camera as Camera, EventType as EventType, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectData as ProtectData, ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
4
5
  from .entity import EventEntityMixin as EventEntityMixin, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEventMixin as ProtectEventMixin
5
6
  from _typeshed import Incomplete
6
7
  from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
7
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
- from uiprotect.data import ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel
10
+
11
+ def _add_ulp_user_infos(bootstrap: Bootstrap, event_data: dict[str, str], ulp_id: str) -> None: ...
10
12
 
11
13
  @dataclasses.dataclass(frozen=True, kw_only=True)
12
14
  class ProtectEventEntityDescription(ProtectEventMixin, EventEntityDescription):
@@ -1,11 +1,12 @@
1
- from .const import ATTR_MESSAGE as ATTR_MESSAGE, DOMAIN as DOMAIN
1
+ from .const import ATTR_MESSAGE as ATTR_MESSAGE, DOMAIN as DOMAIN, KEYRINGS_KEY_TYPE as KEYRINGS_KEY_TYPE, KEYRINGS_KEY_TYPE_ID_FINGERPRINT as KEYRINGS_KEY_TYPE_ID_FINGERPRINT, KEYRINGS_KEY_TYPE_ID_NFC as KEYRINGS_KEY_TYPE_ID_NFC, KEYRINGS_ULP_ID as KEYRINGS_ULP_ID, KEYRINGS_USER_FULL_NAME as KEYRINGS_USER_FULL_NAME, KEYRINGS_USER_STATUS as KEYRINGS_USER_STATUS
2
2
  from .data import async_ufp_instance_for_config_entry_ids as async_ufp_instance_for_config_entry_ids
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass
5
5
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_NAME as ATTR_NAME, Platform as Platform
6
- from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
7
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
8
8
  from homeassistant.helpers.service import async_extract_referenced_entity_ids as async_extract_referenced_entity_ids
9
+ from homeassistant.util.json import JsonValueType as JsonValueType
9
10
  from homeassistant.util.read_only_dict import ReadOnlyDict as ReadOnlyDict
10
11
  from typing import Any
11
12
  from uiprotect.api import ProtectApiClient as ProtectApiClient
@@ -16,18 +17,24 @@ SERVICE_REMOVE_DOORBELL_TEXT: str
16
17
  SERVICE_SET_PRIVACY_ZONE: str
17
18
  SERVICE_REMOVE_PRIVACY_ZONE: str
18
19
  SERVICE_SET_CHIME_PAIRED: str
20
+ SERVICE_GET_USER_KEYRING_INFO: str
19
21
  ALL_GLOBAL_SERIVCES: Incomplete
20
22
  DOORBELL_TEXT_SCHEMA: Incomplete
21
23
  CHIME_PAIRED_SCHEMA: Incomplete
22
24
  REMOVE_PRIVACY_ZONE_SCHEMA: Incomplete
25
+ GET_USER_KEYRING_INFO_SCHEMA: Incomplete
23
26
 
24
27
  def _async_get_ufp_instance(hass: HomeAssistant, device_id: str) -> ProtectApiClient: ...
25
- def _async_get_ufp_camera(hass: HomeAssistant, call: ServiceCall) -> Camera: ...
26
- def _async_get_protect_from_call(hass: HomeAssistant, call: ServiceCall) -> set[ProtectApiClient]: ...
27
- async def _async_service_call_nvr(hass: HomeAssistant, call: ServiceCall, method: str, *args: Any, **kwargs: Any) -> None: ...
28
- async def add_doorbell_text(hass: HomeAssistant, call: ServiceCall) -> None: ...
29
- async def remove_doorbell_text(hass: HomeAssistant, call: ServiceCall) -> None: ...
30
- async def remove_privacy_zone(hass: HomeAssistant, call: ServiceCall) -> None: ...
28
+ def _async_get_ufp_camera(call: ServiceCall) -> Camera: ...
29
+ def _async_get_protect_from_call(call: ServiceCall) -> set[ProtectApiClient]: ...
30
+ async def _async_service_call_nvr(call: ServiceCall, method: str, *args: Any, **kwargs: Any) -> None: ...
31
+ async def add_doorbell_text(call: ServiceCall) -> None: ...
32
+ async def remove_doorbell_text(call: ServiceCall) -> None: ...
33
+ async def remove_privacy_zone(call: ServiceCall) -> None: ...
31
34
  def _async_unique_id_to_mac(unique_id: str) -> str: ...
32
- async def set_chime_paired_doorbells(hass: HomeAssistant, call: ServiceCall) -> None: ...
35
+ async def set_chime_paired_doorbells(call: ServiceCall) -> None: ...
36
+ async def get_user_keyring_info(call: ServiceCall) -> ServiceResponse: ...
37
+
38
+ SERVICES: Incomplete
39
+
33
40
  def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -55,8 +55,6 @@ class UpdateEntity(RestoreEntity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_
55
55
  def release_url(self) -> str | None: ...
56
56
  def supported_features(self) -> UpdateEntityFeature: ...
57
57
  def title(self) -> str | None: ...
58
- @property
59
- def supported_features_compat(self) -> UpdateEntityFeature: ...
60
58
  def update_percentage(self) -> int | float | None: ...
61
59
  async def async_skip(self) -> None: ...
62
60
  async def async_clear_skipped(self) -> None: ...