homeassistant-stubs 2023.8.3__py3-none-any.whl → 2023.9.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 (794) hide show
  1. homeassistant-stubs/__main__.pyi +0 -1
  2. homeassistant-stubs/components/abode/__init__.pyi +2 -1
  3. homeassistant-stubs/components/abode/sensor.pyi +18 -6
  4. homeassistant-stubs/components/accuweather/__init__.pyi +1 -2
  5. homeassistant-stubs/components/accuweather/const.pyi +2 -0
  6. homeassistant-stubs/components/accuweather/sensor.pyi +4 -6
  7. homeassistant-stubs/components/accuweather/weather.pyi +6 -5
  8. homeassistant-stubs/components/actiontec/model.pyi +0 -1
  9. homeassistant-stubs/components/adguard/entity.pyi +2 -2
  10. homeassistant-stubs/components/adguard/sensor.pyi +0 -2
  11. homeassistant-stubs/components/adguard/switch.pyi +0 -2
  12. homeassistant-stubs/components/airly/sensor.pyi +1 -3
  13. homeassistant-stubs/components/airzone/binary_sensor.pyi +0 -1
  14. homeassistant-stubs/components/airzone/entity.pyi +7 -1
  15. homeassistant-stubs/components/airzone/select.pyi +0 -2
  16. homeassistant-stubs/components/airzone/sensor.pyi +9 -1
  17. homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +8 -2
  18. homeassistant-stubs/components/airzone_cloud/entity.pyi +7 -1
  19. homeassistant-stubs/components/aladdin_connect/cover.pyi +1 -1
  20. homeassistant-stubs/components/aladdin_connect/sensor.pyi +1 -3
  21. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +0 -1
  22. homeassistant-stubs/components/alexa/__init__.pyi +16 -0
  23. homeassistant-stubs/components/alexa/auth.pyi +31 -0
  24. homeassistant-stubs/components/alexa/capabilities.pyi +281 -0
  25. homeassistant-stubs/components/alexa/config.pyi +57 -0
  26. homeassistant-stubs/components/alexa/const.pyi +51 -0
  27. homeassistant-stubs/components/alexa/entities.pyi +176 -0
  28. homeassistant-stubs/components/alexa/errors.pyi +69 -0
  29. homeassistant-stubs/components/alexa/flash_briefings.pyi +22 -0
  30. homeassistant-stubs/components/alexa/handlers.pyi +64 -0
  31. homeassistant-stubs/components/alexa/intent.pyi +53 -0
  32. homeassistant-stubs/components/alexa/logbook.pyi +6 -0
  33. homeassistant-stubs/components/alexa/resources.pyi +114 -0
  34. homeassistant-stubs/components/alexa/smart_home.pyi +51 -0
  35. homeassistant-stubs/components/alexa/state_report.pyi +53 -0
  36. homeassistant-stubs/components/ambient_station/__init__.pyi +1 -15
  37. homeassistant-stubs/components/ambient_station/binary_sensor.pyi +1 -3
  38. homeassistant-stubs/components/ambient_station/entity.pyi +21 -0
  39. homeassistant-stubs/components/ambient_station/sensor.pyi +2 -1
  40. homeassistant-stubs/components/amcrest/__init__.pyi +0 -1
  41. homeassistant-stubs/components/amcrest/binary_sensor.pyi +0 -1
  42. homeassistant-stubs/components/analytics/analytics.pyi +0 -1
  43. homeassistant-stubs/components/anova/__init__.pyi +1 -1
  44. homeassistant-stubs/components/anova/config_flow.pyi +4 -4
  45. homeassistant-stubs/components/anova/coordinator.pyi +2 -2
  46. homeassistant-stubs/components/anova/entity.pyi +2 -2
  47. homeassistant-stubs/components/anova/models.pyi +0 -1
  48. homeassistant-stubs/components/anova/sensor.pyi +0 -2
  49. homeassistant-stubs/components/anthemav/__init__.pyi +1 -1
  50. homeassistant-stubs/components/anthemav/const.pyi +1 -1
  51. homeassistant-stubs/components/anthemav/media_player.pyi +2 -2
  52. homeassistant-stubs/components/apcupsd/__init__.pyi +1 -1
  53. homeassistant-stubs/components/aqualogic/sensor.pyi +0 -1
  54. homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +0 -2
  55. homeassistant-stubs/components/aseko_pool_live/entity.pyi +2 -1
  56. homeassistant-stubs/components/aseko_pool_live/sensor.pyi +1 -0
  57. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  58. homeassistant-stubs/components/assist_pipeline/const.pyi +3 -0
  59. homeassistant-stubs/components/assist_pipeline/error.pyi +2 -0
  60. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +35 -14
  61. homeassistant-stubs/components/assist_pipeline/ring_buffer.pyi +15 -0
  62. homeassistant-stubs/components/assist_pipeline/vad.pyi +41 -6
  63. homeassistant-stubs/components/assist_pipeline/websocket_api.pyi +2 -2
  64. homeassistant-stubs/components/asuswrt/router.pyi +1 -2
  65. homeassistant-stubs/components/asuswrt/sensor.pyi +0 -1
  66. homeassistant-stubs/components/auth/__init__.pyi +2 -1
  67. homeassistant-stubs/components/automation/__init__.pyi +0 -1
  68. homeassistant-stubs/components/awair/__init__.pyi +0 -1
  69. homeassistant-stubs/components/awair/sensor.pyi +1 -3
  70. homeassistant-stubs/components/backup/manager.pyi +0 -1
  71. homeassistant-stubs/components/baf/binary_sensor.pyi +0 -2
  72. homeassistant-stubs/components/baf/entity.pyi +2 -2
  73. homeassistant-stubs/components/baf/light.pyi +1 -2
  74. homeassistant-stubs/components/baf/models.pyi +0 -2
  75. homeassistant-stubs/components/baf/number.pyi +0 -2
  76. homeassistant-stubs/components/baf/sensor.pyi +0 -2
  77. homeassistant-stubs/components/baf/switch.pyi +0 -2
  78. homeassistant-stubs/components/bayesian/helpers.pyi +0 -1
  79. homeassistant-stubs/components/binary_sensor/__init__.pyi +0 -1
  80. homeassistant-stubs/components/bluetooth/base_scanner.pyi +0 -1
  81. homeassistant-stubs/components/bluetooth/match.pyi +0 -1
  82. homeassistant-stubs/components/bluetooth/models.pyi +0 -1
  83. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +59 -20
  84. homeassistant-stubs/components/bluetooth/update_coordinator.pyi +6 -3
  85. homeassistant-stubs/components/bluetooth/wrappers.pyi +1 -2
  86. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +1 -1
  87. homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +0 -2
  88. homeassistant-stubs/components/bmw_connected_drive/button.pyi +6 -5
  89. homeassistant-stubs/components/bmw_connected_drive/number.pyi +0 -2
  90. homeassistant-stubs/components/bmw_connected_drive/select.pyi +0 -2
  91. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +0 -1
  92. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +0 -2
  93. homeassistant-stubs/components/bond/button.pyi +0 -2
  94. homeassistant-stubs/components/bond/entity.pyi +2 -1
  95. homeassistant-stubs/components/bond/models.pyi +0 -1
  96. homeassistant-stubs/components/braviatv/button.pyi +0 -2
  97. homeassistant-stubs/components/braviatv/coordinator.pyi +2 -2
  98. homeassistant-stubs/components/braviatv/entity.pyi +1 -1
  99. homeassistant-stubs/components/brother/sensor.pyi +1 -3
  100. homeassistant-stubs/components/button/__init__.pyi +0 -1
  101. homeassistant-stubs/components/calendar/__init__.pyi +5 -3
  102. homeassistant-stubs/components/calendar/trigger.pyi +0 -2
  103. homeassistant-stubs/components/camera/__init__.pyi +3 -1
  104. homeassistant-stubs/components/camera/prefs.pyi +0 -1
  105. homeassistant-stubs/components/canary/camera.pyi +1 -1
  106. homeassistant-stubs/components/canary/sensor.pyi +1 -1
  107. homeassistant-stubs/components/cloud/alexa_config.pyi +3 -2
  108. homeassistant-stubs/components/cloud/http_api.pyi +3 -3
  109. homeassistant-stubs/components/cover/__init__.pyi +2 -3
  110. homeassistant-stubs/components/cpuspeed/sensor.pyi +1 -1
  111. homeassistant-stubs/components/crownstone/devices.pyi +2 -1
  112. homeassistant-stubs/components/deconz/binary_sensor.pyi +0 -2
  113. homeassistant-stubs/components/deconz/button.pyi +0 -2
  114. homeassistant-stubs/components/deconz/deconz_device.pyi +2 -2
  115. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -0
  116. homeassistant-stubs/components/deconz/light.pyi +1 -1
  117. homeassistant-stubs/components/deconz/number.pyi +0 -2
  118. homeassistant-stubs/components/deconz/sensor.pyi +0 -2
  119. homeassistant-stubs/components/demo/binary_sensor.pyi +1 -1
  120. homeassistant-stubs/components/demo/button.pyi +1 -1
  121. homeassistant-stubs/components/demo/calendar.pyi +2 -2
  122. homeassistant-stubs/components/demo/climate.pyi +1 -1
  123. homeassistant-stubs/components/demo/cover.pyi +1 -1
  124. homeassistant-stubs/components/demo/date.pyi +1 -1
  125. homeassistant-stubs/components/demo/datetime.pyi +1 -1
  126. homeassistant-stubs/components/demo/event.pyi +1 -1
  127. homeassistant-stubs/components/demo/light.pyi +1 -1
  128. homeassistant-stubs/components/demo/number.pyi +1 -1
  129. homeassistant-stubs/components/demo/select.pyi +1 -1
  130. homeassistant-stubs/components/demo/sensor.pyi +1 -1
  131. homeassistant-stubs/components/demo/switch.pyi +1 -1
  132. homeassistant-stubs/components/demo/text.pyi +1 -1
  133. homeassistant-stubs/components/demo/time.pyi +1 -1
  134. homeassistant-stubs/components/demo/update.pyi +1 -1
  135. homeassistant-stubs/components/demo/weather.pyi +1 -0
  136. homeassistant-stubs/components/derivative/sensor.pyi +1 -1
  137. homeassistant-stubs/components/device_automation/__init__.pyi +0 -1
  138. homeassistant-stubs/components/device_tracker/config_entry.pyi +2 -1
  139. homeassistant-stubs/components/devolo_home_control/devolo_device.pyi +2 -1
  140. homeassistant-stubs/components/devolo_home_network/__init__.pyi +2 -2
  141. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +0 -2
  142. homeassistant-stubs/components/devolo_home_network/button.pyi +0 -2
  143. homeassistant-stubs/components/devolo_home_network/const.pyi +2 -0
  144. homeassistant-stubs/components/devolo_home_network/entity.pyi +2 -1
  145. homeassistant-stubs/components/devolo_home_network/image.pyi +32 -0
  146. homeassistant-stubs/components/devolo_home_network/sensor.pyi +0 -2
  147. homeassistant-stubs/components/devolo_home_network/switch.pyi +0 -2
  148. homeassistant-stubs/components/devolo_home_network/update.pyi +40 -0
  149. homeassistant-stubs/components/dhcp/__init__.pyi +0 -1
  150. homeassistant-stubs/components/diagnostics/__init__.pyi +0 -2
  151. homeassistant-stubs/components/dlna_dmr/media_player.pyi +2 -2
  152. homeassistant-stubs/components/dnsip/sensor.pyi +1 -2
  153. homeassistant-stubs/components/doorbird/__init__.pyi +25 -0
  154. homeassistant-stubs/components/doorbird/button.pyi +32 -0
  155. homeassistant-stubs/components/doorbird/camera.pyi +33 -0
  156. homeassistant-stubs/components/doorbird/config_flow.pyi +37 -0
  157. homeassistant-stubs/components/doorbird/const.pyi +19 -0
  158. homeassistant-stubs/components/doorbird/device.pyi +40 -0
  159. homeassistant-stubs/components/doorbird/entity.pyi +14 -0
  160. homeassistant-stubs/components/doorbird/logbook.pyi +8 -0
  161. homeassistant-stubs/components/doorbird/models.pyi +8 -0
  162. homeassistant-stubs/components/doorbird/util.pyi +8 -0
  163. homeassistant-stubs/components/doorbird/view.pyi +14 -0
  164. homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +0 -2
  165. homeassistant-stubs/components/dormakaba_dkey/entity.pyi +1 -1
  166. homeassistant-stubs/components/dormakaba_dkey/models.pyi +0 -1
  167. homeassistant-stubs/components/dsmr/sensor.pyi +1 -3
  168. homeassistant-stubs/components/dunehd/media_player.pyi +3 -7
  169. homeassistant-stubs/components/efergy/__init__.pyi +2 -1
  170. homeassistant-stubs/components/electrasmart/climate.pyi +1 -1
  171. homeassistant-stubs/components/electric_kiwi/select.pyi +27 -0
  172. homeassistant-stubs/components/electric_kiwi/sensor.pyi +1 -3
  173. homeassistant-stubs/components/elgato/button.pyi +0 -2
  174. homeassistant-stubs/components/elgato/coordinator.pyi +0 -1
  175. homeassistant-stubs/components/elgato/entity.pyi +1 -2
  176. homeassistant-stubs/components/elgato/sensor.pyi +0 -2
  177. homeassistant-stubs/components/elgato/switch.pyi +0 -2
  178. homeassistant-stubs/components/elkm1/__init__.pyi +2 -2
  179. homeassistant-stubs/components/elkm1/climate.pyi +6 -15
  180. homeassistant-stubs/components/elkm1/sensor.pyi +10 -18
  181. homeassistant-stubs/components/energy/sensor.pyi +0 -1
  182. homeassistant-stubs/components/energy/validate.pyi +0 -3
  183. homeassistant-stubs/components/esphome/bluetooth/cache.pyi +0 -1
  184. homeassistant-stubs/components/esphome/bluetooth/client.pyi +3 -3
  185. homeassistant-stubs/components/esphome/bluetooth/device.pyi +0 -1
  186. homeassistant-stubs/components/esphome/bluetooth/scanner.pyi +2 -0
  187. homeassistant-stubs/components/esphome/domain_data.pyi +0 -1
  188. homeassistant-stubs/components/esphome/entity.pyi +2 -1
  189. homeassistant-stubs/components/esphome/entry_data.pyi +0 -1
  190. homeassistant-stubs/components/esphome/manager.pyi +1 -1
  191. homeassistant-stubs/components/esphome/update.pyi +1 -1
  192. homeassistant-stubs/components/esphome/voice_assistant.pyi +5 -7
  193. homeassistant-stubs/components/event/__init__.pyi +0 -2
  194. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +1 -1
  195. homeassistant-stubs/components/evil_genius_labs/util.pyi +3 -2
  196. homeassistant-stubs/components/fan/__init__.pyi +0 -1
  197. homeassistant-stubs/components/feedreader/__init__.pyi +21 -18
  198. homeassistant-stubs/components/file_upload/__init__.pyi +0 -1
  199. homeassistant-stubs/components/filesize/__init__.pyi +2 -1
  200. homeassistant-stubs/components/filesize/coordinator.pyi +12 -0
  201. homeassistant-stubs/components/filesize/sensor.pyi +3 -8
  202. homeassistant-stubs/components/filter/sensor.pyi +0 -1
  203. homeassistant-stubs/components/fitbit/sensor.pyi +0 -1
  204. homeassistant-stubs/components/flux_led/entity.pyi +2 -1
  205. homeassistant-stubs/components/forecast_solar/__init__.pyi +2 -1
  206. homeassistant-stubs/components/forecast_solar/config_flow.pyi +1 -1
  207. homeassistant-stubs/components/forecast_solar/const.pyi +2 -0
  208. homeassistant-stubs/components/forecast_solar/coordinator.pyi +1 -1
  209. homeassistant-stubs/components/forecast_solar/sensor.pyi +1 -3
  210. homeassistant-stubs/components/fritz/binary_sensor.pyi +0 -1
  211. homeassistant-stubs/components/fritz/button.pyi +1 -4
  212. homeassistant-stubs/components/fritz/common.pyi +2 -6
  213. homeassistant-stubs/components/fritz/sensor.pyi +0 -1
  214. homeassistant-stubs/components/fritz/switch.pyi +2 -2
  215. homeassistant-stubs/components/fritzbox/__init__.pyi +3 -2
  216. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +0 -2
  217. homeassistant-stubs/components/fritzbox/button.pyi +1 -1
  218. homeassistant-stubs/components/fritzbox/coordinator.pyi +0 -1
  219. homeassistant-stubs/components/fritzbox/model.pyi +0 -1
  220. homeassistant-stubs/components/fritzbox/sensor.pyi +5 -3
  221. homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +1 -1
  222. homeassistant-stubs/components/fronius/__init__.pyi +1 -1
  223. homeassistant-stubs/components/fronius/const.pyi +1 -1
  224. homeassistant-stubs/components/fronius/sensor.pyi +1 -2
  225. homeassistant-stubs/components/fully_kiosk/button.pyi +0 -2
  226. homeassistant-stubs/components/fully_kiosk/entity.pyi +2 -2
  227. homeassistant-stubs/components/fully_kiosk/sensor.pyi +0 -1
  228. homeassistant-stubs/components/fully_kiosk/switch.pyi +0 -2
  229. homeassistant-stubs/components/geocaching/sensor.pyi +1 -4
  230. homeassistant-stubs/components/gios/sensor.pyi +1 -4
  231. homeassistant-stubs/components/goalzero/entity.pyi +2 -1
  232. homeassistant-stubs/components/google/calendar.pyi +3 -8
  233. homeassistant-stubs/components/group/__init__.pyi +4 -1
  234. homeassistant-stubs/components/group/binary_sensor.pyi +4 -4
  235. homeassistant-stubs/components/group/config_flow.pyi +22 -7
  236. homeassistant-stubs/components/group/cover.pyi +6 -9
  237. homeassistant-stubs/components/group/event.pyi +29 -0
  238. homeassistant-stubs/components/group/fan.pyi +6 -9
  239. homeassistant-stubs/components/group/light.pyi +3 -4
  240. homeassistant-stubs/components/group/lock.pyi +2 -3
  241. homeassistant-stubs/components/group/media_player.pyi +5 -3
  242. homeassistant-stubs/components/group/sensor.pyi +2 -3
  243. homeassistant-stubs/components/group/switch.pyi +2 -3
  244. homeassistant-stubs/components/guardian/__init__.pyi +2 -4
  245. homeassistant-stubs/components/guardian/binary_sensor.pyi +0 -1
  246. homeassistant-stubs/components/guardian/button.pyi +0 -2
  247. homeassistant-stubs/components/guardian/sensor.pyi +0 -1
  248. homeassistant-stubs/components/guardian/switch.pyi +0 -2
  249. homeassistant-stubs/components/guardian/util.pyi +0 -1
  250. homeassistant-stubs/components/hardware/models.pyi +0 -3
  251. homeassistant-stubs/components/hardware/websocket_api.pyi +0 -1
  252. homeassistant-stubs/components/here_travel_time/model.pyi +0 -1
  253. homeassistant-stubs/components/here_travel_time/sensor.pyi +1 -2
  254. homeassistant-stubs/components/history/websocket_api.pyi +0 -1
  255. homeassistant-stubs/components/homeassistant/exposed_entities.pyi +0 -2
  256. homeassistant-stubs/components/homeassistant_alerts/__init__.pyi +0 -1
  257. homeassistant-stubs/components/homeassistant_green/__init__.pyi +7 -0
  258. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +8 -0
  259. homeassistant-stubs/components/homeassistant_green/const.pyi +1 -0
  260. homeassistant-stubs/components/homeassistant_green/hardware.pyi +11 -0
  261. homeassistant-stubs/components/homeassistant_hardware/const.pyi +1 -0
  262. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +29 -13
  263. homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -0
  264. homeassistant-stubs/components/homeassistant_yellow/hardware.pyi +1 -0
  265. homeassistant-stubs/components/homekit_controller/button.pyi +0 -1
  266. homeassistant-stubs/components/homewizard/const.pyi +0 -1
  267. homeassistant-stubs/components/homewizard/entity.pyi +1 -1
  268. homeassistant-stubs/components/homewizard/helpers.pyi +3 -2
  269. homeassistant-stubs/components/homewizard/sensor.pyi +0 -2
  270. homeassistant-stubs/components/homewizard/switch.pyi +0 -2
  271. homeassistant-stubs/components/http/__init__.pyi +5 -1
  272. homeassistant-stubs/components/http/ban.pyi +2 -2
  273. homeassistant-stubs/components/http/data_validator.pyi +2 -2
  274. homeassistant-stubs/components/http/decorators.pyi +15 -0
  275. homeassistant-stubs/components/http/headers.pyi +5 -0
  276. homeassistant-stubs/components/huawei_lte/__init__.pyi +2 -4
  277. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +0 -11
  278. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +0 -1
  279. homeassistant-stubs/components/huawei_lte/notify.pyi +0 -1
  280. homeassistant-stubs/components/huawei_lte/sensor.pyi +0 -4
  281. homeassistant-stubs/components/huawei_lte/switch.pyi +0 -5
  282. homeassistant-stubs/components/hyperion/camera.pyi +4 -5
  283. homeassistant-stubs/components/hyperion/const.pyi +0 -2
  284. homeassistant-stubs/components/hyperion/light.pyi +3 -5
  285. homeassistant-stubs/components/hyperion/switch.pyi +5 -6
  286. homeassistant-stubs/components/ibeacon/entity.pyi +2 -1
  287. homeassistant-stubs/components/ibeacon/sensor.pyi +0 -2
  288. homeassistant-stubs/components/image/__init__.pyi +0 -2
  289. homeassistant-stubs/components/image_processing/__init__.pyi +0 -1
  290. homeassistant-stubs/components/imap/sensor.pyi +1 -2
  291. homeassistant-stubs/components/integration/sensor.pyi +1 -2
  292. homeassistant-stubs/components/ipp/__init__.pyi +11 -0
  293. homeassistant-stubs/components/ipp/config_flow.pyi +22 -0
  294. homeassistant-stubs/components/ipp/const.pyi +13 -0
  295. homeassistant-stubs/components/ipp/coordinator.pyi +15 -0
  296. homeassistant-stubs/components/ipp/entity.pyi +13 -0
  297. homeassistant-stubs/components/ipp/sensor.pyi +36 -0
  298. homeassistant-stubs/components/isy994/__init__.pyi +1 -2
  299. homeassistant-stubs/components/isy994/binary_sensor.pyi +2 -1
  300. homeassistant-stubs/components/isy994/button.pyi +2 -1
  301. homeassistant-stubs/components/isy994/climate.pyi +2 -1
  302. homeassistant-stubs/components/isy994/cover.pyi +2 -1
  303. homeassistant-stubs/components/isy994/entity.pyi +2 -1
  304. homeassistant-stubs/components/isy994/fan.pyi +2 -1
  305. homeassistant-stubs/components/isy994/helpers.pyi +1 -1
  306. homeassistant-stubs/components/isy994/light.pyi +2 -1
  307. homeassistant-stubs/components/isy994/lock.pyi +2 -1
  308. homeassistant-stubs/components/isy994/models.pyi +1 -2
  309. homeassistant-stubs/components/isy994/number.pyi +2 -1
  310. homeassistant-stubs/components/isy994/select.pyi +1 -1
  311. homeassistant-stubs/components/isy994/sensor.pyi +2 -1
  312. homeassistant-stubs/components/isy994/switch.pyi +1 -2
  313. homeassistant-stubs/components/jellyfin/entity.pyi +2 -2
  314. homeassistant-stubs/components/jellyfin/media_player.pyi +1 -1
  315. homeassistant-stubs/components/jellyfin/models.pyi +0 -1
  316. homeassistant-stubs/components/jellyfin/sensor.pyi +0 -2
  317. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +0 -2
  318. homeassistant-stubs/components/jvc_projector/entity.pyi +1 -1
  319. homeassistant-stubs/components/kaleidescape/__init__.pyi +0 -1
  320. homeassistant-stubs/components/kaleidescape/entity.pyi +2 -1
  321. homeassistant-stubs/components/kaleidescape/sensor.pyi +0 -2
  322. homeassistant-stubs/components/knx/config_flow.pyi +1 -4
  323. homeassistant-stubs/components/knx/device.pyi +1 -1
  324. homeassistant-stubs/components/knx/helpers/keyring.pyi +12 -0
  325. homeassistant-stubs/components/knx/project.pyi +0 -1
  326. homeassistant-stubs/components/knx/sensor.pyi +0 -1
  327. homeassistant-stubs/components/kraken/sensor.pyi +3 -5
  328. homeassistant-stubs/components/lacrosse_view/sensor.pyi +1 -3
  329. homeassistant-stubs/components/lametric/button.pyi +0 -2
  330. homeassistant-stubs/components/lametric/entity.pyi +1 -2
  331. homeassistant-stubs/components/lametric/helpers.pyi +3 -2
  332. homeassistant-stubs/components/lametric/number.pyi +0 -2
  333. homeassistant-stubs/components/lametric/select.pyi +0 -2
  334. homeassistant-stubs/components/lametric/sensor.pyi +0 -2
  335. homeassistant-stubs/components/lametric/switch.pyi +0 -2
  336. homeassistant-stubs/components/laundrify/binary_sensor.pyi +1 -1
  337. homeassistant-stubs/components/lawn_mower/__init__.pyi +35 -0
  338. homeassistant-stubs/components/lawn_mower/const.pyi +17 -0
  339. homeassistant-stubs/components/lcn/__init__.pyi +2 -1
  340. homeassistant-stubs/components/ld2410_ble/binary_sensor.pyi +1 -1
  341. homeassistant-stubs/components/ld2410_ble/coordinator.pyi +1 -1
  342. homeassistant-stubs/components/ld2410_ble/models.pyi +0 -1
  343. homeassistant-stubs/components/ld2410_ble/sensor.pyi +1 -1
  344. homeassistant-stubs/components/lidarr/__init__.pyi +2 -2
  345. homeassistant-stubs/components/lidarr/sensor.pyi +0 -2
  346. homeassistant-stubs/components/lifx/__init__.pyi +1 -1
  347. homeassistant-stubs/components/lifx/entity.pyi +1 -1
  348. homeassistant-stubs/components/lifx/light.pyi +1 -2
  349. homeassistant-stubs/components/light/__init__.pyi +0 -3
  350. homeassistant-stubs/components/litejet/config_flow.pyi +2 -1
  351. homeassistant-stubs/components/litejet/light.pyi +1 -1
  352. homeassistant-stubs/components/litejet/scene.pyi +1 -1
  353. homeassistant-stubs/components/litejet/switch.pyi +1 -1
  354. homeassistant-stubs/components/litterrobot/__init__.pyi +2 -0
  355. homeassistant-stubs/components/litterrobot/binary_sensor.pyi +0 -2
  356. homeassistant-stubs/components/litterrobot/button.pyi +0 -2
  357. homeassistant-stubs/components/litterrobot/entity.pyi +2 -1
  358. homeassistant-stubs/components/litterrobot/select.pyi +0 -2
  359. homeassistant-stubs/components/litterrobot/sensor.pyi +0 -1
  360. homeassistant-stubs/components/litterrobot/switch.pyi +0 -2
  361. homeassistant-stubs/components/litterrobot/time.pyi +0 -2
  362. homeassistant-stubs/components/lock/__init__.pyi +0 -1
  363. homeassistant-stubs/components/logbook/models.pyi +0 -2
  364. homeassistant-stubs/components/logbook/processor.pyi +0 -1
  365. homeassistant-stubs/components/logbook/websocket_api.pyi +0 -1
  366. homeassistant-stubs/components/logger/helpers.pyi +0 -2
  367. homeassistant-stubs/components/lookin/const.pyi +1 -1
  368. homeassistant-stubs/components/lookin/entity.pyi +1 -1
  369. homeassistant-stubs/components/lookin/models.pyi +0 -1
  370. homeassistant-stubs/components/luftdaten/sensor.pyi +1 -1
  371. homeassistant-stubs/components/matter/binary_sensor.pyi +0 -1
  372. homeassistant-stubs/components/matter/entity.pyi +2 -2
  373. homeassistant-stubs/components/matter/helpers.pyi +0 -1
  374. homeassistant-stubs/components/matter/models.pyi +0 -2
  375. homeassistant-stubs/components/matter/sensor.pyi +0 -1
  376. homeassistant-stubs/components/media_extractor/__init__.pyi +31 -0
  377. homeassistant-stubs/components/media_player/__init__.pyi +0 -1
  378. homeassistant-stubs/components/media_source/local_source.pyi +1 -1
  379. homeassistant-stubs/components/media_source/models.pyi +0 -2
  380. homeassistant-stubs/components/metoffice/__init__.pyi +1 -1
  381. homeassistant-stubs/components/metoffice/const.pyi +1 -0
  382. homeassistant-stubs/components/metoffice/data.pyi +0 -1
  383. homeassistant-stubs/components/metoffice/sensor.pyi +1 -1
  384. homeassistant-stubs/components/metoffice/weather.pyi +1 -2
  385. homeassistant-stubs/components/mjpeg/camera.pyi +1 -1
  386. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  387. homeassistant-stubs/components/modbus/base_platform.pyi +4 -3
  388. homeassistant-stubs/components/modbus/climate.pyi +4 -3
  389. homeassistant-stubs/components/modbus/const.pyi +3 -11
  390. homeassistant-stubs/components/modbus/modbus.pyi +6 -6
  391. homeassistant-stubs/components/modbus/sensor.pyi +4 -1
  392. homeassistant-stubs/components/modbus/validators.pyi +1 -0
  393. homeassistant-stubs/components/modem_callerid/button.pyi +4 -1
  394. homeassistant-stubs/components/modem_callerid/sensor.pyi +5 -2
  395. homeassistant-stubs/components/moon/sensor.pyi +1 -3
  396. homeassistant-stubs/components/mqtt/abbreviations.pyi +1 -0
  397. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +2 -3
  398. homeassistant-stubs/components/mqtt/climate.pyi +4 -1
  399. homeassistant-stubs/components/mqtt/const.pyi +13 -0
  400. homeassistant-stubs/components/mqtt/device_tracker.pyi +2 -0
  401. homeassistant-stubs/components/mqtt/discovery.pyi +6 -4
  402. homeassistant-stubs/components/mqtt/lawn_mower.pyi +64 -0
  403. homeassistant-stubs/components/mqtt/mixins.pyi +4 -14
  404. homeassistant-stubs/components/mqtt/models.pyi +7 -1
  405. homeassistant-stubs/components/mysensors/binary_sensor.pyi +0 -1
  406. homeassistant-stubs/components/mysensors/device.pyi +2 -1
  407. homeassistant-stubs/components/nam/__init__.pyi +1 -1
  408. homeassistant-stubs/components/nam/config_flow.pyi +0 -1
  409. homeassistant-stubs/components/nam/sensor.pyi +0 -2
  410. homeassistant-stubs/components/nanoleaf/__init__.pyi +0 -1
  411. homeassistant-stubs/components/nanoleaf/entity.pyi +1 -1
  412. homeassistant-stubs/components/neato/__init__.pyi +1 -0
  413. homeassistant-stubs/components/neato/button.pyi +18 -0
  414. homeassistant-stubs/components/neato/camera.pyi +4 -9
  415. homeassistant-stubs/components/neato/entity.pyi +12 -0
  416. homeassistant-stubs/components/neato/sensor.pyi +3 -9
  417. homeassistant-stubs/components/neato/switch.pyi +4 -9
  418. homeassistant-stubs/components/neato/vacuum.pyi +5 -5
  419. homeassistant-stubs/components/nest/camera.pyi +6 -4
  420. homeassistant-stubs/components/nest/climate.pyi +5 -11
  421. homeassistant-stubs/components/nest/device_info.pyi +1 -1
  422. homeassistant-stubs/components/nest/media_source.pyi +0 -1
  423. homeassistant-stubs/components/netatmo/__init__.pyi +1 -0
  424. homeassistant-stubs/components/netatmo/climate.pyi +1 -1
  425. homeassistant-stubs/components/netatmo/data_handler.pyi +0 -4
  426. homeassistant-stubs/components/netatmo/helper.pyi +0 -1
  427. homeassistant-stubs/components/netatmo/netatmo_entity_base.pyi +2 -1
  428. homeassistant-stubs/components/netatmo/sensor.pyi +0 -2
  429. homeassistant-stubs/components/nextdns/__init__.pyi +2 -3
  430. homeassistant-stubs/components/nextdns/binary_sensor.pyi +0 -2
  431. homeassistant-stubs/components/nextdns/sensor.pyi +0 -2
  432. homeassistant-stubs/components/nextdns/switch.pyi +0 -2
  433. homeassistant-stubs/components/notion/__init__.pyi +2 -2
  434. homeassistant-stubs/components/notion/binary_sensor.pyi +0 -2
  435. homeassistant-stubs/components/notion/model.pyi +0 -1
  436. homeassistant-stubs/components/notion/sensor.pyi +0 -1
  437. homeassistant-stubs/components/number/__init__.pyi +0 -2
  438. homeassistant-stubs/components/nut/__init__.pyi +0 -1
  439. homeassistant-stubs/components/nut/sensor.pyi +1 -1
  440. homeassistant-stubs/components/oncue/entity.pyi +3 -1
  441. homeassistant-stubs/components/onewire/binary_sensor.pyi +0 -1
  442. homeassistant-stubs/components/onewire/model.pyi +1 -2
  443. homeassistant-stubs/components/onewire/onewire_entities.pyi +2 -2
  444. homeassistant-stubs/components/onewire/onewirehub.pyi +1 -1
  445. homeassistant-stubs/components/onewire/sensor.pyi +0 -1
  446. homeassistant-stubs/components/onewire/switch.pyi +0 -1
  447. homeassistant-stubs/components/open_meteo/weather.pyi +7 -6
  448. homeassistant-stubs/components/openexchangerates/sensor.pyi +4 -5
  449. homeassistant-stubs/components/opensky/__init__.pyi +5 -1
  450. homeassistant-stubs/components/opensky/config_flow.pyi +10 -3
  451. homeassistant-stubs/components/opensky/const.pyi +3 -1
  452. homeassistant-stubs/components/opensky/coordinator.pyi +17 -0
  453. homeassistant-stubs/components/opensky/sensor.pyi +14 -22
  454. homeassistant-stubs/components/openuv/config_flow.pyi +0 -1
  455. homeassistant-stubs/components/otbr/util.pyi +6 -4
  456. homeassistant-stubs/components/otbr/websocket_api.pyi +0 -1
  457. homeassistant-stubs/components/overkiz/__init__.pyi +0 -1
  458. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +0 -2
  459. homeassistant-stubs/components/overkiz/binary_sensor.pyi +0 -2
  460. homeassistant-stubs/components/overkiz/button.pyi +0 -1
  461. homeassistant-stubs/components/overkiz/entity.pyi +2 -1
  462. homeassistant-stubs/components/overkiz/number.pyi +0 -2
  463. homeassistant-stubs/components/overkiz/select.pyi +0 -2
  464. homeassistant-stubs/components/overkiz/sensor.pyi +1 -2
  465. homeassistant-stubs/components/overkiz/switch.pyi +0 -2
  466. homeassistant-stubs/components/peco/__init__.pyi +0 -1
  467. homeassistant-stubs/components/peco/sensor.pyi +3 -3
  468. homeassistant-stubs/components/pi_hole/__init__.pyi +1 -1
  469. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +0 -2
  470. homeassistant-stubs/components/pi_hole/update.pyi +0 -1
  471. homeassistant-stubs/components/powerwall/binary_sensor.pyi +4 -5
  472. homeassistant-stubs/components/powerwall/entity.pyi +2 -1
  473. homeassistant-stubs/components/powerwall/models.pyi +0 -2
  474. homeassistant-stubs/components/powerwall/sensor.pyi +4 -6
  475. homeassistant-stubs/components/powerwall/switch.pyi +1 -2
  476. homeassistant-stubs/components/prusalink/__init__.pyi +1 -1
  477. homeassistant-stubs/components/prusalink/button.pyi +0 -2
  478. homeassistant-stubs/components/prusalink/sensor.pyi +0 -2
  479. homeassistant-stubs/components/pure_energie/sensor.pyi +1 -3
  480. homeassistant-stubs/components/purpleair/__init__.pyi +1 -1
  481. homeassistant-stubs/components/purpleair/config_flow.pyi +0 -1
  482. homeassistant-stubs/components/purpleair/sensor.pyi +0 -2
  483. homeassistant-stubs/components/pvoutput/sensor.pyi +1 -3
  484. homeassistant-stubs/components/qnap_qsw/binary_sensor.pyi +2 -1
  485. homeassistant-stubs/components/qnap_qsw/button.pyi +1 -3
  486. homeassistant-stubs/components/qnap_qsw/entity.pyi +3 -3
  487. homeassistant-stubs/components/qnap_qsw/sensor.pyi +2 -1
  488. homeassistant-stubs/components/qnap_qsw/update.pyi +0 -1
  489. homeassistant-stubs/components/radarr/__init__.pyi +2 -2
  490. homeassistant-stubs/components/radarr/sensor.pyi +0 -2
  491. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -2
  492. homeassistant-stubs/components/rainmachine/binary_sensor.pyi +0 -1
  493. homeassistant-stubs/components/rainmachine/button.pyi +0 -2
  494. homeassistant-stubs/components/rainmachine/model.pyi +0 -4
  495. homeassistant-stubs/components/rainmachine/select.pyi +0 -4
  496. homeassistant-stubs/components/rainmachine/sensor.pyi +0 -2
  497. homeassistant-stubs/components/rainmachine/switch.pyi +2 -5
  498. homeassistant-stubs/components/rainmachine/util.pyi +0 -1
  499. homeassistant-stubs/components/rdw/binary_sensor.pyi +1 -4
  500. homeassistant-stubs/components/rdw/sensor.pyi +1 -4
  501. homeassistant-stubs/components/recollect_waste/entity.pyi +1 -2
  502. homeassistant-stubs/components/recorder/migration.pyi +0 -2
  503. homeassistant-stubs/components/recorder/models/database.pyi +0 -2
  504. homeassistant-stubs/components/recorder/statistics.pyi +0 -2
  505. homeassistant-stubs/components/recorder/table_managers/recorder_runs.pyi +0 -1
  506. homeassistant-stubs/components/recorder/tasks.pyi +0 -30
  507. homeassistant-stubs/components/recorder/util.pyi +2 -2
  508. homeassistant-stubs/components/remote/__init__.pyi +0 -1
  509. homeassistant-stubs/components/renault/binary_sensor.pyi +0 -2
  510. homeassistant-stubs/components/renault/button.pyi +0 -2
  511. homeassistant-stubs/components/renault/entity.pyi +0 -2
  512. homeassistant-stubs/components/renault/renault_hub.pyi +1 -0
  513. homeassistant-stubs/components/renault/renault_vehicle.pyi +3 -4
  514. homeassistant-stubs/components/renault/select.pyi +0 -2
  515. homeassistant-stubs/components/renault/sensor.pyi +0 -2
  516. homeassistant-stubs/components/repairs/websocket_api.pyi +1 -0
  517. homeassistant-stubs/components/rest/binary_sensor.pyi +7 -5
  518. homeassistant-stubs/components/rest/schema.pyi +1 -1
  519. homeassistant-stubs/components/rest/sensor.pyi +13 -6
  520. homeassistant-stubs/components/rest/switch.pyi +6 -5
  521. homeassistant-stubs/components/rest/util.pyi +7 -0
  522. homeassistant-stubs/components/rfxtrx/__init__.pyi +2 -1
  523. homeassistant-stubs/components/rfxtrx/sensor.pyi +0 -1
  524. homeassistant-stubs/components/ridwell/entity.pyi +1 -2
  525. homeassistant-stubs/components/ridwell/switch.pyi +0 -1
  526. homeassistant-stubs/components/rituals_perfume_genie/binary_sensor.pyi +0 -2
  527. homeassistant-stubs/components/rituals_perfume_genie/entity.pyi +2 -1
  528. homeassistant-stubs/components/rituals_perfume_genie/number.pyi +0 -2
  529. homeassistant-stubs/components/rituals_perfume_genie/select.pyi +0 -2
  530. homeassistant-stubs/components/rituals_perfume_genie/sensor.pyi +0 -2
  531. homeassistant-stubs/components/rituals_perfume_genie/switch.pyi +0 -2
  532. homeassistant-stubs/components/roku/binary_sensor.pyi +0 -2
  533. homeassistant-stubs/components/roku/coordinator.pyi +2 -1
  534. homeassistant-stubs/components/roku/entity.pyi +4 -6
  535. homeassistant-stubs/components/roku/helpers.pyi +2 -2
  536. homeassistant-stubs/components/roku/select.pyi +0 -2
  537. homeassistant-stubs/components/roku/sensor.pyi +0 -2
  538. homeassistant-stubs/components/ruuvi_gateway/models.pyi +0 -1
  539. homeassistant-stubs/components/samsungtv/entity.pyi +2 -1
  540. homeassistant-stubs/components/scrape/__init__.pyi +1 -1
  541. homeassistant-stubs/components/scrape/config_flow.pyi +1 -1
  542. homeassistant-stubs/components/scrape/sensor.pyi +9 -6
  543. homeassistant-stubs/components/select/__init__.pyi +0 -1
  544. homeassistant-stubs/components/sensibo/binary_sensor.pyi +0 -4
  545. homeassistant-stubs/components/sensibo/button.pyi +0 -2
  546. homeassistant-stubs/components/sensibo/climate.pyi +3 -0
  547. homeassistant-stubs/components/sensibo/entity.pyi +3 -4
  548. homeassistant-stubs/components/sensibo/number.pyi +0 -2
  549. homeassistant-stubs/components/sensibo/select.pyi +0 -2
  550. homeassistant-stubs/components/sensibo/sensor.pyi +0 -4
  551. homeassistant-stubs/components/sensibo/switch.pyi +0 -2
  552. homeassistant-stubs/components/sensibo/update.pyi +0 -2
  553. homeassistant-stubs/components/sensor/__init__.pyi +0 -2
  554. homeassistant-stubs/components/senz/climate.pyi +1 -1
  555. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +1 -3
  556. homeassistant-stubs/components/sfr_box/button.pyi +3 -5
  557. homeassistant-stubs/components/sfr_box/models.pyi +0 -1
  558. homeassistant-stubs/components/sfr_box/sensor.pyi +1 -3
  559. homeassistant-stubs/components/shelly/__init__.pyi +2 -1
  560. homeassistant-stubs/components/shelly/binary_sensor.pyi +0 -3
  561. homeassistant-stubs/components/shelly/button.pyi +1 -4
  562. homeassistant-stubs/components/shelly/climate.pyi +1 -3
  563. homeassistant-stubs/components/shelly/const.pyi +1 -0
  564. homeassistant-stubs/components/shelly/coordinator.pyi +4 -4
  565. homeassistant-stubs/components/shelly/entity.pyi +2 -6
  566. homeassistant-stubs/components/shelly/number.pyi +0 -1
  567. homeassistant-stubs/components/shelly/sensor.pyi +0 -3
  568. homeassistant-stubs/components/shelly/switch.pyi +20 -2
  569. homeassistant-stubs/components/shelly/update.pyi +0 -4
  570. homeassistant-stubs/components/simplisafe/__init__.pyi +1 -1
  571. homeassistant-stubs/components/simplisafe/button.pyi +0 -2
  572. homeassistant-stubs/components/skybell/entity.pyi +2 -1
  573. homeassistant-stubs/components/skybell/sensor.pyi +0 -2
  574. homeassistant-stubs/components/slack/__init__.pyi +2 -2
  575. homeassistant-stubs/components/sleepiq/button.pyi +0 -2
  576. homeassistant-stubs/components/sleepiq/coordinator.pyi +0 -1
  577. homeassistant-stubs/components/sleepiq/entity.pyi +2 -1
  578. homeassistant-stubs/components/sleepiq/number.pyi +0 -2
  579. homeassistant-stubs/components/smhi/weather.pyi +11 -6
  580. homeassistant-stubs/components/snooz/config_flow.pyi +0 -1
  581. homeassistant-stubs/components/snooz/fan.pyi +4 -1
  582. homeassistant-stubs/components/snooz/models.pyi +0 -1
  583. homeassistant-stubs/components/sonarr/entity.pyi +2 -2
  584. homeassistant-stubs/components/sonarr/sensor.pyi +0 -2
  585. homeassistant-stubs/components/speedtestdotnet/sensor.pyi +1 -3
  586. homeassistant-stubs/components/sql/__init__.pyi +1 -1
  587. homeassistant-stubs/components/sql/models.pyi +0 -1
  588. homeassistant-stubs/components/sql/sensor.pyi +7 -9
  589. homeassistant-stubs/components/ssdp/__init__.pyi +0 -1
  590. homeassistant-stubs/components/starlink/__init__.pyi +11 -0
  591. homeassistant-stubs/components/starlink/binary_sensor.pyi +26 -0
  592. homeassistant-stubs/components/starlink/button.pyi +25 -0
  593. homeassistant-stubs/components/starlink/config_flow.pyi +12 -0
  594. homeassistant-stubs/components/starlink/const.pyi +1 -0
  595. homeassistant-stubs/components/starlink/coordinator.pyi +21 -0
  596. homeassistant-stubs/components/starlink/device_tracker.pyi +31 -0
  597. homeassistant-stubs/components/starlink/diagnostics.pyi +11 -0
  598. homeassistant-stubs/components/starlink/entity.pyi +13 -0
  599. homeassistant-stubs/components/starlink/sensor.pyi +28 -0
  600. homeassistant-stubs/components/starlink/switch.pyi +30 -0
  601. homeassistant-stubs/components/steamist/entity.pyi +2 -1
  602. homeassistant-stubs/components/steamist/sensor.pyi +0 -2
  603. homeassistant-stubs/components/stookalert/binary_sensor.pyi +1 -2
  604. homeassistant-stubs/components/stream/__init__.pyi +1 -1
  605. homeassistant-stubs/components/stream/core.pyi +4 -2
  606. homeassistant-stubs/components/sun/sensor.pyi +1 -4
  607. homeassistant-stubs/components/surepetcare/__init__.pyi +1 -0
  608. homeassistant-stubs/components/surepetcare/entity.pyi +1 -1
  609. homeassistant-stubs/components/switch/__init__.pyi +0 -1
  610. homeassistant-stubs/components/switchbee/entity.pyi +1 -1
  611. homeassistant-stubs/components/switcher_kis/button.pyi +2 -4
  612. homeassistant-stubs/components/switcher_kis/climate.pyi +3 -2
  613. homeassistant-stubs/components/switcher_kis/cover.pyi +3 -2
  614. homeassistant-stubs/components/switcher_kis/sensor.pyi +7 -20
  615. homeassistant-stubs/components/switcher_kis/switch.pyi +3 -2
  616. homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +0 -1
  617. homeassistant-stubs/components/synology_dsm/button.pyi +1 -3
  618. homeassistant-stubs/components/synology_dsm/camera.pyi +1 -2
  619. homeassistant-stubs/components/synology_dsm/entity.pyi +2 -3
  620. homeassistant-stubs/components/synology_dsm/models.pyi +0 -1
  621. homeassistant-stubs/components/synology_dsm/sensor.pyi +0 -1
  622. homeassistant-stubs/components/synology_dsm/switch.pyi +1 -2
  623. homeassistant-stubs/components/synology_dsm/update.pyi +0 -1
  624. homeassistant-stubs/components/systemmonitor/sensor.pyi +0 -2
  625. homeassistant-stubs/components/tailscale/__init__.pyi +2 -2
  626. homeassistant-stubs/components/tailscale/binary_sensor.pyi +0 -2
  627. homeassistant-stubs/components/tailscale/sensor.pyi +0 -2
  628. homeassistant-stubs/components/tautulli/__init__.pyi +2 -2
  629. homeassistant-stubs/components/tautulli/sensor.pyi +0 -4
  630. homeassistant-stubs/components/text/__init__.pyi +0 -2
  631. homeassistant-stubs/components/threshold/binary_sensor.pyi +1 -1
  632. homeassistant-stubs/components/tibber/sensor.pyi +1 -1
  633. homeassistant-stubs/components/tile/__init__.pyi +0 -1
  634. homeassistant-stubs/components/tile/device_tracker.pyi +5 -1
  635. homeassistant-stubs/components/tolo/__init__.pyi +1 -1
  636. homeassistant-stubs/components/tolo/number.pyi +0 -2
  637. homeassistant-stubs/components/tolo/sensor.pyi +0 -2
  638. homeassistant-stubs/components/tplink/diagnostics.pyi +1 -0
  639. homeassistant-stubs/components/tplink/entity.pyi +3 -3
  640. homeassistant-stubs/components/tplink/sensor.pyi +0 -1
  641. homeassistant-stubs/components/tplink_omada/entity.pyi +1 -1
  642. homeassistant-stubs/components/tplink_omada/update.pyi +2 -2
  643. homeassistant-stubs/components/tractive/__init__.pyi +3 -2
  644. homeassistant-stubs/components/tractive/binary_sensor.pyi +5 -8
  645. homeassistant-stubs/components/tractive/const.pyi +2 -0
  646. homeassistant-stubs/components/tractive/device_tracker.pyi +2 -3
  647. homeassistant-stubs/components/tractive/entity.pyi +13 -4
  648. homeassistant-stubs/components/tractive/sensor.pyi +11 -24
  649. homeassistant-stubs/components/tractive/switch.pyi +4 -9
  650. homeassistant-stubs/components/tradfri/base_class.pyi +1 -1
  651. homeassistant-stubs/components/tradfri/sensor.pyi +0 -2
  652. homeassistant-stubs/components/trafikverket_camera/__init__.pyi +13 -0
  653. homeassistant-stubs/components/trafikverket_camera/camera.pyi +28 -0
  654. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +15 -0
  655. homeassistant-stubs/components/trafikverket_camera/const.pyi +9 -0
  656. homeassistant-stubs/components/trafikverket_camera/coordinator.pyi +24 -0
  657. homeassistant-stubs/components/trafikverket_camera/recorder.pyi +5 -0
  658. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -4
  659. homeassistant-stubs/components/trafikverket_train/__init__.pyi +2 -1
  660. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +13 -4
  661. homeassistant-stubs/components/trafikverket_train/const.pyi +1 -0
  662. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +7 -7
  663. homeassistant-stubs/components/trafikverket_train/sensor.pyi +26 -26
  664. homeassistant-stubs/components/trafikverket_train/util.pyi +4 -1
  665. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +1 -4
  666. homeassistant-stubs/components/tts/models.pyi +0 -1
  667. homeassistant-stubs/components/twentemilieu/entity.pyi +2 -2
  668. homeassistant-stubs/components/twentemilieu/sensor.pyi +0 -2
  669. homeassistant-stubs/components/unifi/button.pyi +30 -0
  670. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  671. homeassistant-stubs/components/unifi/controller.pyi +10 -14
  672. homeassistant-stubs/components/unifi/device_tracker.pyi +0 -2
  673. homeassistant-stubs/components/unifi/entity.pyi +7 -7
  674. homeassistant-stubs/components/unifi/image.pyi +1 -3
  675. homeassistant-stubs/components/unifi/sensor.pyi +3 -7
  676. homeassistant-stubs/components/unifi/switch.pyi +12 -13
  677. homeassistant-stubs/components/unifi/update.pyi +0 -2
  678. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +0 -2
  679. homeassistant-stubs/components/unifiprotect/button.pyi +0 -1
  680. homeassistant-stubs/components/unifiprotect/entity.pyi +2 -1
  681. homeassistant-stubs/components/unifiprotect/models.pyi +0 -4
  682. homeassistant-stubs/components/unifiprotect/number.pyi +0 -2
  683. homeassistant-stubs/components/unifiprotect/select.pyi +0 -1
  684. homeassistant-stubs/components/unifiprotect/sensor.pyi +0 -2
  685. homeassistant-stubs/components/unifiprotect/switch.pyi +0 -1
  686. homeassistant-stubs/components/unifiprotect/text.pyi +0 -1
  687. homeassistant-stubs/components/upcloud/__init__.pyi +1 -3
  688. homeassistant-stubs/components/update/__init__.pyi +1 -1
  689. homeassistant-stubs/components/uptime/sensor.pyi +1 -2
  690. homeassistant-stubs/components/uptimerobot/entity.pyi +2 -2
  691. homeassistant-stubs/components/usb/__init__.pyi +0 -1
  692. homeassistant-stubs/components/usb/models.pyi +0 -1
  693. homeassistant-stubs/components/vacuum/__init__.pyi +0 -2
  694. homeassistant-stubs/components/vallox/__init__.pyi +1 -2
  695. homeassistant-stubs/components/vallox/binary_sensor.pyi +0 -2
  696. homeassistant-stubs/components/vallox/number.pyi +0 -2
  697. homeassistant-stubs/components/vallox/sensor.pyi +0 -1
  698. homeassistant-stubs/components/vallox/switch.pyi +0 -2
  699. homeassistant-stubs/components/velbus/button.pyi +1 -1
  700. homeassistant-stubs/components/velbus/climate.pyi +1 -1
  701. homeassistant-stubs/components/velbus/cover.pyi +1 -1
  702. homeassistant-stubs/components/velbus/entity.pyi +9 -1
  703. homeassistant-stubs/components/velbus/light.pyi +1 -1
  704. homeassistant-stubs/components/velbus/select.pyi +1 -1
  705. homeassistant-stubs/components/velbus/switch.pyi +1 -1
  706. homeassistant-stubs/components/vlc_telnet/media_player.pyi +3 -4
  707. homeassistant-stubs/components/wallbox/__init__.pyi +1 -1
  708. homeassistant-stubs/components/wallbox/number.pyi +0 -1
  709. homeassistant-stubs/components/wallbox/sensor.pyi +0 -1
  710. homeassistant-stubs/components/water_heater/__init__.pyi +0 -1
  711. homeassistant-stubs/components/watttime/sensor.pyi +2 -1
  712. homeassistant-stubs/components/weather/__init__.pyi +60 -34
  713. homeassistant-stubs/components/weather/websocket_api.pyi +1 -0
  714. homeassistant-stubs/components/webostv/media_player.pyi +3 -3
  715. homeassistant-stubs/components/wemo/entity.pyi +1 -1
  716. homeassistant-stubs/components/wemo/light.pyi +1 -2
  717. homeassistant-stubs/components/wemo/models.pyi +0 -2
  718. homeassistant-stubs/components/wemo/sensor.pyi +0 -1
  719. homeassistant-stubs/components/wemo/wemo_device.pyi +1 -4
  720. homeassistant-stubs/components/whois/sensor.pyi +1 -4
  721. homeassistant-stubs/components/wiz/entity.pyi +2 -2
  722. homeassistant-stubs/components/wiz/models.pyi +0 -1
  723. homeassistant-stubs/components/wiz/number.pyi +0 -2
  724. homeassistant-stubs/components/wled/helpers.pyi +3 -2
  725. homeassistant-stubs/components/wled/models.pyi +1 -2
  726. homeassistant-stubs/components/wled/number.pyi +0 -2
  727. homeassistant-stubs/components/wled/sensor.pyi +0 -2
  728. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +4 -1
  729. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +1 -1
  730. homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +1 -1
  731. homeassistant-stubs/components/yale_smart_alarm/entity.pyi +2 -2
  732. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +1 -1
  733. homeassistant-stubs/components/yalexs_ble/entity.pyi +2 -1
  734. homeassistant-stubs/components/yalexs_ble/models.pyi +0 -1
  735. homeassistant-stubs/components/yalexs_ble/sensor.pyi +0 -2
  736. homeassistant-stubs/components/zeroconf/__init__.pyi +0 -1
  737. homeassistant-stubs/components/zodiac/sensor.pyi +1 -2
  738. homeassistant-stubs/components/zwave_js/__init__.pyi +2 -0
  739. homeassistant-stubs/components/zwave_js/api.pyi +1 -1
  740. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +0 -3
  741. homeassistant-stubs/components/zwave_js/device_action.pyi +2 -2
  742. homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi +1 -4
  743. homeassistant-stubs/components/zwave_js/device_condition.pyi +2 -2
  744. homeassistant-stubs/components/zwave_js/diagnostics.pyi +2 -2
  745. homeassistant-stubs/components/zwave_js/discovery.pyi +0 -5
  746. homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +0 -12
  747. homeassistant-stubs/components/zwave_js/entity.pyi +4 -3
  748. homeassistant-stubs/components/zwave_js/helpers.pyi +1 -4
  749. homeassistant-stubs/components/zwave_js/humidifier.pyi +0 -2
  750. homeassistant-stubs/components/zwave_js/migrate.pyi +0 -1
  751. homeassistant-stubs/components/zwave_js/repairs.pyi +15 -0
  752. homeassistant-stubs/components/zwave_js/sensor.pyi +21 -2
  753. homeassistant-stubs/components/zwave_js/services.pyi +0 -1
  754. homeassistant-stubs/components/zwave_js/update.pyi +0 -1
  755. homeassistant-stubs/config_entries.pyi +3 -0
  756. homeassistant-stubs/const.pyi +2 -0
  757. homeassistant-stubs/core.pyi +6 -5
  758. homeassistant-stubs/data_entry_flow.pyi +7 -4
  759. homeassistant-stubs/exceptions.pyi +0 -4
  760. homeassistant-stubs/helpers/collection.pyi +0 -1
  761. homeassistant-stubs/helpers/deprecation.pyi +3 -2
  762. homeassistant-stubs/helpers/device_registry.pyi +18 -2
  763. homeassistant-stubs/helpers/entity.pyi +4 -22
  764. homeassistant-stubs/helpers/entity_registry.pyi +1 -2
  765. homeassistant-stubs/helpers/event.pyi +5 -7
  766. homeassistant-stubs/helpers/integration_platform.pyi +0 -1
  767. homeassistant-stubs/helpers/intent.pyi +0 -1
  768. homeassistant-stubs/helpers/issue_registry.pyi +3 -3
  769. homeassistant-stubs/helpers/recorder.pyi +0 -1
  770. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +6 -7
  771. homeassistant-stubs/helpers/script.pyi +7 -2
  772. homeassistant-stubs/helpers/selector.pyi +1 -0
  773. homeassistant-stubs/helpers/sensor.pyi +1 -1
  774. homeassistant-stubs/helpers/service.pyi +0 -1
  775. homeassistant-stubs/helpers/service_info/mqtt.pyi +0 -1
  776. homeassistant-stubs/helpers/storage.pyi +2 -1
  777. homeassistant-stubs/helpers/template.pyi +9 -15
  778. homeassistant-stubs/helpers/trigger.pyi +0 -1
  779. homeassistant-stubs/helpers/trigger_template_entity.pyi +62 -0
  780. homeassistant-stubs/helpers/update_coordinator.pyi +7 -1
  781. homeassistant-stubs/loader.pyi +3 -2
  782. homeassistant-stubs/runner.pyi +0 -2
  783. homeassistant-stubs/scripts/check_config.pyi +1 -1
  784. homeassistant-stubs/util/async_.pyi +2 -2
  785. homeassistant-stubs/util/language.pyi +0 -2
  786. homeassistant-stubs/util/pil.pyi +1 -1
  787. homeassistant-stubs/util/variance.pyi +3 -2
  788. homeassistant-stubs/util/yaml/objects.pyi +0 -1
  789. {homeassistant_stubs-2023.8.3.dist-info → homeassistant_stubs-2023.9.0.dist-info}/METADATA +3 -3
  790. {homeassistant_stubs-2023.8.3.dist-info → homeassistant_stubs-2023.9.0.dist-info}/RECORD +792 -721
  791. homeassistant-stubs/components/nest/binary_sensor.pyi +0 -7
  792. homeassistant-stubs/helpers/template_entity.pyi +0 -107
  793. {homeassistant_stubs-2023.8.3.dist-info → homeassistant_stubs-2023.9.0.dist-info}/LICENSE +0 -0
  794. {homeassistant_stubs-2023.8.3.dist-info → homeassistant_stubs-2023.9.0.dist-info}/WHEEL +0 -0
@@ -1,40 +1,40 @@
1
- from .const import CONF_TIME as CONF_TIME, DOMAIN as DOMAIN
2
- from .coordinator import TVDataUpdateCoordinator as TVDataUpdateCoordinator
3
- from .util import create_unique_id as create_unique_id
1
+ from .const import ATTRIBUTION as ATTRIBUTION, DOMAIN as DOMAIN
2
+ from .coordinator import TVDataUpdateCoordinator as TVDataUpdateCoordinator, TrainData as TrainData
4
3
  from _typeshed import Incomplete
5
- from datetime import time
6
- from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity
4
+ from collections.abc import Callable as Callable, Mapping
5
+ from datetime import datetime
6
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
- from homeassistant.const import CONF_NAME as CONF_NAME, CONF_WEEKDAY as CONF_WEEKDAY
8
+ from homeassistant.const import CONF_NAME as CONF_NAME, UnitOfTime as UnitOfTime
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
- from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType
11
- from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
10
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
12
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+ from homeassistant.helpers.typing import StateType as StateType
13
13
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
14
- from pytrafikverket.trafikverket_train import StationInfo as StationInfo
14
+ from typing import Any
15
15
 
16
- ATTR_DEPARTURE_STATE: str
17
- ATTR_CANCELED: str
18
- ATTR_DELAY_TIME: str
19
- ATTR_PLANNED_TIME: str
20
- ATTR_ESTIMATED_TIME: str
21
- ATTR_ACTUAL_TIME: str
22
- ATTR_OTHER_INFORMATION: str
23
- ATTR_DEVIATIONS: str
24
- ICON: str
25
- SCAN_INTERVAL: Incomplete
16
+ ATTR_PRODUCT_FILTER: str
17
+
18
+ class TrafikverketRequiredKeysMixin:
19
+ value_fn: Callable[[TrainData], StateType | datetime]
20
+ def __init__(self, value_fn) -> None: ...
21
+
22
+ class TrafikverketSensorEntityDescription(SensorEntityDescription, TrafikverketRequiredKeysMixin):
23
+ def __init__(self, value_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
24
+
25
+ SENSOR_TYPES: tuple[TrafikverketSensorEntityDescription, ...]
26
26
 
27
27
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
28
28
 
29
29
  class TrainSensor(CoordinatorEntity[TVDataUpdateCoordinator], SensorEntity):
30
- _attr_icon = ICON
31
- _attr_device_class: Incomplete
30
+ entity_description: TrafikverketSensorEntityDescription
31
+ _attr_attribution = ATTRIBUTION
32
32
  _attr_has_entity_name: bool
33
- _attr_name: Incomplete
34
- _attr_device_info: Incomplete
35
33
  _attr_unique_id: Incomplete
36
- def __init__(self, coordinator: TVDataUpdateCoordinator, name: str, from_station: StationInfo, to_station: StationInfo, weekday: list, departuretime: time | None, entry_id: str) -> None: ...
37
- def _handle_coordinator_update(self) -> None: ...
34
+ _attr_device_info: Incomplete
35
+ def __init__(self, coordinator: TVDataUpdateCoordinator, name: str, entry_id: str, entity_description: TrafikverketSensorEntityDescription) -> None: ...
38
36
  _attr_native_value: Incomplete
39
- _attr_extra_state_attributes: Incomplete
40
37
  def _update_attr(self) -> None: ...
38
+ def _handle_coordinator_update(self) -> None: ...
39
+ @property
40
+ def extra_state_attributes(self) -> Mapping[str, Any] | None: ...
@@ -1,3 +1,6 @@
1
- from datetime import time
1
+ from datetime import date, time
2
+ from homeassistant.const import WEEKDAYS as WEEKDAYS
2
3
 
3
4
  def create_unique_id(from_station: str, to_station: str, depart_time: time | str | None, weekdays: list) -> str: ...
5
+ def next_weekday(fromdate: date, weekday: int) -> date: ...
6
+ def next_departuredate(departure: list[str]) -> date: ...
@@ -6,8 +6,7 @@ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceCla
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import DEGREE as DEGREE, PERCENTAGE as PERCENTAGE, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfVolumetricFlux as UnitOfVolumetricFlux
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType
10
- from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
9
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
11
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
11
  from homeassistant.helpers.typing import StateType as StateType
13
12
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
@@ -20,11 +19,9 @@ PRECIPITATION_TYPE: Incomplete
20
19
  class TrafikverketRequiredKeysMixin:
21
20
  api_key: str
22
21
  def __init__(self, api_key) -> None: ...
23
- def __mypy-replace(*, api_key) -> None: ...
24
22
 
25
23
  class TrafikverketSensorEntityDescription(SensorEntityDescription, TrafikverketRequiredKeysMixin):
26
24
  def __init__(self, api_key, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
27
- def __mypy-replace(*, api_key, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
28
25
 
29
26
  SENSOR_TYPES: tuple[TrafikverketSensorEntityDescription, ...]
30
27
 
@@ -2,4 +2,3 @@ class Voice:
2
2
  voice_id: str
3
3
  name: str
4
4
  def __init__(self, voice_id, name) -> None: ...
5
- def __mypy-replace(*, voice_id, name) -> None: ...
@@ -3,8 +3,8 @@ from _typeshed import Incomplete
3
3
  from datetime import date
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import CONF_ID as CONF_ID
6
- from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType
7
- from homeassistant.helpers.entity import DeviceInfo as DeviceInfo, Entity as Entity
6
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
7
+ from homeassistant.helpers.entity import Entity as Entity
8
8
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
9
9
  from twentemilieu import WasteType
10
10
 
@@ -13,11 +13,9 @@ from twentemilieu import WasteType
13
13
  class TwenteMilieuSensorDescriptionMixin:
14
14
  waste_type: WasteType
15
15
  def __init__(self, waste_type) -> None: ...
16
- def __mypy-replace(*, waste_type) -> None: ...
17
16
 
18
17
  class TwenteMilieuSensorDescription(SensorEntityDescription, TwenteMilieuSensorDescriptionMixin):
19
18
  def __init__(self, waste_type, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
20
- def __mypy-replace(*, waste_type, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
21
19
 
22
20
  SENSORS: tuple[TwenteMilieuSensorDescription, ...]
23
21
 
@@ -0,0 +1,30 @@
1
+ import aiounifi
2
+ from .controller import UniFiController as UniFiController
3
+ from .entity import HandlerT as HandlerT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_device_available_fn as async_device_available_fn, async_device_device_info_fn as async_device_device_info_fn
4
+ from aiounifi.interfaces.api_handlers import ItemEvent as ItemEvent
5
+ from aiounifi.models.api import ApiItemT
6
+ from collections.abc import Callable as Callable, Coroutine
7
+ from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
+ from homeassistant.const import EntityCategory as EntityCategory
10
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+ from typing import Any, Generic
13
+
14
+ async def async_restart_device_control_fn(api: aiounifi.Controller, obj_id: str) -> None: ...
15
+
16
+ class UnifiButtonEntityDescriptionMixin(Generic[HandlerT, ApiItemT]):
17
+ control_fn: Callable[[aiounifi.Controller, str], Coroutine[Any, Any, None]]
18
+ def __init__(self, control_fn) -> None: ...
19
+
20
+ class UnifiButtonEntityDescription(ButtonEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT], UnifiButtonEntityDescriptionMixin[HandlerT, ApiItemT]):
21
+ def __init__(self, control_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
22
+
23
+ ENTITY_DESCRIPTIONS: tuple[UnifiButtonEntityDescription, ...]
24
+
25
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
26
+
27
+ class UnifiButtonEntity(UnifiEntity[HandlerT, ApiItemT], ButtonEntity):
28
+ entity_description: UnifiButtonEntityDescription[HandlerT, ApiItemT]
29
+ async def async_press(self) -> None: ...
30
+ def async_update_state(self, event: ItemEvent, obj_id: str) -> None: ...
@@ -2,6 +2,7 @@ from .const import CONF_ALLOW_BANDWIDTH_SENSORS as CONF_ALLOW_BANDWIDTH_SENSORS,
2
2
  from .controller import UniFiController as UniFiController, get_unifi_controller as get_unifi_controller
3
3
  from .errors import AuthenticationRequired as AuthenticationRequired, CannotConnect as CannotConnect
4
4
  from _typeshed import Incomplete
5
+ from aiounifi.interfaces.sites import Sites as Sites
5
6
  from collections.abc import Mapping
6
7
  from homeassistant import config_entries as config_entries
7
8
  from homeassistant.components import ssdp as ssdp
@@ -18,11 +19,10 @@ MODEL_PORTS: Incomplete
18
19
 
19
20
  class UnifiFlowHandler(config_entries.ConfigFlow, domain=UNIFI_DOMAIN):
20
21
  VERSION: int
22
+ sites: Sites
21
23
  @staticmethod
22
24
  def async_get_options_flow(config_entry: config_entries.ConfigEntry) -> UnifiOptionsFlowHandler: ...
23
25
  config: Incomplete
24
- site_ids: Incomplete
25
- site_names: Incomplete
26
26
  reauth_config_entry: Incomplete
27
27
  reauth_schema: Incomplete
28
28
  def __init__(self) -> None: ...
@@ -9,11 +9,11 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
9
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL, Platform as Platform
10
10
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, callback as callback
11
11
  from homeassistant.helpers import aiohttp_client as aiohttp_client
12
- from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC
12
+ from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry, DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
13
13
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
14
14
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
15
15
  from homeassistant.helpers.entity_registry import async_entries_for_config_entry as async_entries_for_config_entry
16
- from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
16
+ from homeassistant.helpers.event import async_call_later as async_call_later, async_track_time_interval as async_track_time_interval
17
17
  from types import MappingProxyType
18
18
  from typing import Any
19
19
 
@@ -26,13 +26,14 @@ class UniFiController:
26
26
  api: Incomplete
27
27
  available: bool
28
28
  wireless_clients: Incomplete
29
- site_id: str
30
- _site_name: Incomplete
31
- _site_role: Incomplete
29
+ site: Incomplete
30
+ is_admin: bool
32
31
  _cancel_heartbeat_check: Incomplete
33
32
  _heartbeat_time: Incomplete
34
33
  entities: Incomplete
35
34
  known_objects: Incomplete
35
+ poe_command_queue: Incomplete
36
+ _cancel_poe_command: Incomplete
36
37
  def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, api: aiounifi.Controller) -> None: ...
37
38
  option_track_clients: Incomplete
38
39
  option_track_wired_clients: Incomplete
@@ -47,14 +48,6 @@ class UniFiController:
47
48
  def load_config_entry_options(self) -> None: ...
48
49
  @property
49
50
  def host(self) -> str: ...
50
- @property
51
- def site(self) -> str: ...
52
- @property
53
- def site_name(self) -> str | None: ...
54
- @property
55
- def site_role(self) -> str | None: ...
56
- @property
57
- def mac(self) -> str | None: ...
58
51
  def register_platform_add_entities(self, unifi_platform_entity: type[UnifiEntity], descriptions: tuple[UnifiEntityDescription, ...], async_add_entities: AddEntitiesCallback) -> None: ...
59
52
  def async_unifi_ws_state_callback(self, state: WebsocketState) -> None: ...
60
53
  @property
@@ -66,7 +59,10 @@ class UniFiController:
66
59
  async def initialize(self) -> None: ...
67
60
  def async_heartbeat(self, unique_id: str, heartbeat_expire_time: datetime | None = ...) -> None: ...
68
61
  def _async_check_for_stale(self, *_: datetime) -> None: ...
69
- async def async_update_device_registry(self) -> None: ...
62
+ def async_queue_poe_port_command(self, device_id: str, port_idx: int, poe_mode: str) -> None: ...
63
+ @property
64
+ def device_info(self) -> DeviceInfo: ...
65
+ def async_update_device_registry(self) -> DeviceEntry: ...
70
66
  @staticmethod
71
67
  async def async_config_entry_updated(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
72
68
  def reconnect(self, log: bool = ...) -> None: ...
@@ -35,11 +35,9 @@ class UnifiEntityTrackerDescriptionMixin(Generic[HandlerT, ApiItemT]):
35
35
  is_connected_fn: Callable[[UniFiController, str], bool]
36
36
  hostname_fn: Callable[[aiounifi.Controller, str], str | None]
37
37
  def __init__(self, heartbeat_timedelta_fn, ip_address_fn, is_connected_fn, hostname_fn) -> None: ...
38
- def __mypy-replace(*, heartbeat_timedelta_fn, ip_address_fn, is_connected_fn, hostname_fn) -> None: ...
39
38
 
40
39
  class UnifiTrackerEntityDescription(UnifiEntityDescription[HandlerT, ApiItemT], UnifiEntityTrackerDescriptionMixin[HandlerT, ApiItemT]):
41
40
  def __init__(self, heartbeat_timedelta_fn, ip_address_fn, is_connected_fn, hostname_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
42
- def __mypy-replace(*, heartbeat_timedelta_fn, ip_address_fn, is_connected_fn, hostname_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
43
41
 
44
42
  ENTITY_DESCRIPTIONS: tuple[UnifiTrackerEntityDescription, ...]
45
43
 
@@ -9,23 +9,25 @@ from aiounifi.models.api import ApiItemT
9
9
  from aiounifi.models.event import Event as Event, EventKey as EventKey
10
10
  from collections.abc import Callable
11
11
  from homeassistant.core import callback as callback
12
- from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceEntryType as DeviceEntryType
12
+ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
13
13
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
14
- from homeassistant.helpers.entity import DeviceInfo as DeviceInfo, Entity as Entity, EntityDescription as EntityDescription
14
+ from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
15
15
  from typing import Generic, TypeVar
16
16
 
17
17
  HandlerT = TypeVar('HandlerT', bound=APIHandler)
18
18
  SubscriptionT = Callable[[CallbackType, ItemEvent], UnsubscribeType]
19
19
 
20
20
  def async_device_available_fn(controller: UniFiController, obj_id: str) -> bool: ...
21
- def async_device_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: ...
22
- def async_wlan_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: ...
21
+ def async_wlan_available_fn(controller: UniFiController, obj_id: str) -> bool: ...
22
+ def async_device_device_info_fn(controller: UniFiController, obj_id: str) -> DeviceInfo: ...
23
+ def async_wlan_device_info_fn(controller: UniFiController, obj_id: str) -> DeviceInfo: ...
24
+ def async_client_device_info_fn(controller: UniFiController, obj_id: str) -> DeviceInfo: ...
23
25
 
24
26
  class UnifiDescription(Generic[HandlerT, ApiItemT]):
25
27
  allowed_fn: Callable[[UniFiController, str], bool]
26
28
  api_handler_fn: Callable[[aiounifi.Controller], HandlerT]
27
29
  available_fn: Callable[[UniFiController, str], bool]
28
- device_info_fn: Callable[[aiounifi.Controller, str], DeviceInfo | None]
30
+ device_info_fn: Callable[[UniFiController, str], DeviceInfo | None]
29
31
  event_is_on: tuple[EventKey, ...] | None
30
32
  event_to_subscribe: tuple[EventKey, ...] | None
31
33
  name_fn: Callable[[ApiItemT], str | None]
@@ -34,11 +36,9 @@ class UnifiDescription(Generic[HandlerT, ApiItemT]):
34
36
  supported_fn: Callable[[UniFiController, str], bool | None]
35
37
  unique_id_fn: Callable[[UniFiController, str], str]
36
38
  def __init__(self, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn) -> None: ...
37
- def __mypy-replace(*, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn) -> None: ...
38
39
 
39
40
  class UnifiEntityDescription(EntityDescription, UnifiDescription[HandlerT, ApiItemT]):
40
41
  def __init__(self, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
41
- def __mypy-replace(*, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
42
42
 
43
43
  class UnifiEntity(Entity, Generic[HandlerT, ApiItemT], metaclass=abc.ABCMeta):
44
44
  entity_description: UnifiEntityDescription[HandlerT, ApiItemT]
@@ -1,5 +1,5 @@
1
1
  from .controller import UniFiController as UniFiController
2
- from .entity import HandlerT as HandlerT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_wlan_device_info_fn as async_wlan_device_info_fn
2
+ from .entity import HandlerT as HandlerT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_wlan_available_fn as async_wlan_available_fn, async_wlan_device_info_fn as async_wlan_device_info_fn
3
3
  from _typeshed import Incomplete
4
4
  from aiounifi.interfaces.api_handlers import ItemEvent as ItemEvent
5
5
  from aiounifi.models.api import ApiItemT
@@ -18,11 +18,9 @@ class UnifiImageEntityDescriptionMixin(Generic[HandlerT, ApiItemT]):
18
18
  image_fn: Callable[[UniFiController, ApiItemT], bytes]
19
19
  value_fn: Callable[[ApiItemT], str | None]
20
20
  def __init__(self, image_fn, value_fn) -> None: ...
21
- def __mypy-replace(*, image_fn, value_fn) -> None: ...
22
21
 
23
22
  class UnifiImageEntityDescription(ImageEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT], UnifiImageEntityDescriptionMixin[HandlerT, ApiItemT]):
24
23
  def __init__(self, image_fn, value_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
25
- def __mypy-replace(*, image_fn, value_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
26
24
 
27
25
  ENTITY_DESCRIPTIONS: tuple[UnifiImageEntityDescription, ...]
28
26
 
@@ -1,6 +1,5 @@
1
- import aiounifi
2
1
  from .controller import UniFiController as UniFiController
3
- from .entity import HandlerT as HandlerT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_device_available_fn as async_device_available_fn, async_device_device_info_fn as async_device_device_info_fn, async_wlan_device_info_fn as async_wlan_device_info_fn
2
+ from .entity import HandlerT as HandlerT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_client_device_info_fn as async_client_device_info_fn, async_device_available_fn as async_device_available_fn, async_device_device_info_fn as async_device_device_info_fn, async_wlan_available_fn as async_wlan_available_fn, async_wlan_device_info_fn as async_wlan_device_info_fn
4
3
  from _typeshed import Incomplete
5
4
  from aiounifi.interfaces.api_handlers import ItemEvent as ItemEvent
6
5
  from aiounifi.models.api import ApiItemT
@@ -12,8 +11,6 @@ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceCla
12
11
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
13
12
  from homeassistant.const import EntityCategory as EntityCategory, UnitOfInformation as UnitOfInformation, UnitOfPower as UnitOfPower
14
13
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
15
- from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC
16
- from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
17
14
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
18
15
  from typing import Generic
19
16
 
@@ -21,16 +18,15 @@ def async_client_rx_value_fn(controller: UniFiController, client: Client) -> flo
21
18
  def async_client_tx_value_fn(controller: UniFiController, client: Client) -> float: ...
22
19
  def async_client_uptime_value_fn(controller: UniFiController, client: Client) -> datetime: ...
23
20
  def async_wlan_client_value_fn(controller: UniFiController, wlan: Wlan) -> int: ...
24
- def async_client_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: ...
21
+ def async_device_outlet_power_supported_fn(controller: UniFiController, obj_id: str) -> bool: ...
22
+ def async_device_outlet_supported_fn(controller: UniFiController, obj_id: str) -> bool: ...
25
23
 
26
24
  class UnifiSensorEntityDescriptionMixin(Generic[HandlerT, ApiItemT]):
27
25
  value_fn: Callable[[UniFiController, ApiItemT], datetime | float | str | None]
28
26
  def __init__(self, value_fn) -> None: ...
29
- def __mypy-replace(*, value_fn) -> None: ...
30
27
 
31
28
  class UnifiSensorEntityDescription(SensorEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT], UnifiSensorEntityDescriptionMixin[HandlerT, ApiItemT]):
32
29
  def __init__(self, value_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
33
- def __mypy-replace(*, value_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
34
30
 
35
31
  ENTITY_DESCRIPTIONS: tuple[UnifiSensorEntityDescription, ...]
36
32
 
@@ -1,7 +1,7 @@
1
1
  import aiounifi
2
2
  from .const import ATTR_MANUFACTURER as ATTR_MANUFACTURER
3
3
  from .controller import UniFiController as UniFiController
4
- from .entity import HandlerT as HandlerT, SubscriptionT as SubscriptionT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_device_available_fn as async_device_available_fn, async_device_device_info_fn as async_device_device_info_fn, async_wlan_device_info_fn as async_wlan_device_info_fn
4
+ from .entity import HandlerT as HandlerT, SubscriptionT as SubscriptionT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_client_device_info_fn as async_client_device_info_fn, async_device_available_fn as async_device_available_fn, async_device_device_info_fn as async_device_device_info_fn, async_wlan_device_info_fn as async_wlan_device_info_fn
5
5
  from _typeshed import Incomplete
6
6
  from aiounifi.interfaces.api_handlers import ItemEvent
7
7
  from aiounifi.models.api import ApiItemT
@@ -12,8 +12,7 @@ from homeassistant.components.switch import DOMAIN as DOMAIN, SwitchDeviceClass
12
12
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
13
13
  from homeassistant.const import EntityCategory as EntityCategory
14
14
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
15
- from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceEntryType as DeviceEntryType
16
- from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
15
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
17
16
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
18
17
  from typing import Any, Generic
19
18
 
@@ -21,25 +20,25 @@ CLIENT_BLOCKED: Incomplete
21
20
  CLIENT_UNBLOCKED: Incomplete
22
21
 
23
22
  def async_dpi_group_is_on_fn(controller: UniFiController, dpi_group: DPIRestrictionGroup) -> bool: ...
24
- def async_client_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: ...
25
- def async_dpi_group_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: ...
26
- async def async_block_client_control_fn(api: aiounifi.Controller, obj_id: str, target: bool) -> None: ...
27
- async def async_dpi_group_control_fn(api: aiounifi.Controller, obj_id: str, target: bool) -> None: ...
28
- async def async_outlet_control_fn(api: aiounifi.Controller, obj_id: str, target: bool) -> None: ...
29
- async def async_poe_port_control_fn(api: aiounifi.Controller, obj_id: str, target: bool) -> None: ...
30
- async def async_wlan_control_fn(api: aiounifi.Controller, obj_id: str, target: bool) -> None: ...
23
+ def async_dpi_group_device_info_fn(controller: UniFiController, obj_id: str) -> DeviceInfo: ...
24
+ def async_port_forward_device_info_fn(controller: UniFiController, obj_id: str) -> DeviceInfo: ...
25
+ async def async_block_client_control_fn(controller: UniFiController, obj_id: str, target: bool) -> None: ...
26
+ async def async_dpi_group_control_fn(controller: UniFiController, obj_id: str, target: bool) -> None: ...
27
+ def async_outlet_supports_switching_fn(controller: UniFiController, obj_id: str) -> bool: ...
28
+ async def async_outlet_control_fn(controller: UniFiController, obj_id: str, target: bool) -> None: ...
29
+ async def async_poe_port_control_fn(controller: UniFiController, obj_id: str, target: bool) -> None: ...
30
+ async def async_port_forward_control_fn(controller: UniFiController, obj_id: str, target: bool) -> None: ...
31
+ async def async_wlan_control_fn(controller: UniFiController, obj_id: str, target: bool) -> None: ...
31
32
 
32
33
  class UnifiSwitchEntityDescriptionMixin(Generic[HandlerT, ApiItemT]):
33
- control_fn: Callable[[aiounifi.Controller, str, bool], Coroutine[Any, Any, None]]
34
+ control_fn: Callable[[UniFiController, str, bool], Coroutine[Any, Any, None]]
34
35
  is_on_fn: Callable[[UniFiController, ApiItemT], bool]
35
36
  def __init__(self, control_fn, is_on_fn) -> None: ...
36
- def __mypy-replace(*, control_fn, is_on_fn) -> None: ...
37
37
 
38
38
  class UnifiSwitchEntityDescription(SwitchEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT], UnifiSwitchEntityDescriptionMixin[HandlerT, ApiItemT]):
39
39
  custom_subscribe: Callable[[aiounifi.Controller], SubscriptionT] | None
40
40
  only_event_for_state_change: bool
41
41
  def __init__(self, control_fn, is_on_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, custom_subscribe, only_event_for_state_change) -> None: ...
42
- def __mypy-replace(*, control_fn, is_on_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, custom_subscribe, only_event_for_state_change) -> None: ...
43
42
 
44
43
  ENTITY_DESCRIPTIONS: tuple[UnifiSwitchEntityDescription, ...]
45
44
 
@@ -22,11 +22,9 @@ class UnifiUpdateEntityDescriptionMixin(Generic[_HandlerT, _DataT]):
22
22
  control_fn: Callable[[aiounifi.Controller, str], Coroutine[Any, Any, None]]
23
23
  state_fn: Callable[[aiounifi.Controller, _DataT], bool]
24
24
  def __init__(self, control_fn, state_fn) -> None: ...
25
- def __mypy-replace(*, control_fn, state_fn) -> None: ...
26
25
 
27
26
  class UnifiUpdateEntityDescription(UpdateEntityDescription, UnifiEntityDescription[_HandlerT, _DataT], UnifiUpdateEntityDescriptionMixin[_HandlerT, _DataT]):
28
27
  def __init__(self, control_fn, state_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
29
- def __mypy-replace(*, control_fn, state_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
30
28
 
31
29
  ENTITY_DESCRIPTIONS: tuple[UnifiUpdateEntityDescription, ...]
32
30
 
@@ -17,11 +17,9 @@ _KEY_DOOR: str
17
17
 
18
18
  class ProtectBinaryEntityDescription(ProtectRequiredKeysMixin, BinarySensorEntityDescription):
19
19
  def __init__(self, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm) -> None: ...
20
- def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm) -> None: ...
21
20
 
22
21
  class ProtectBinaryEventEntityDescription(ProtectEventMixin, BinarySensorEntityDescription):
23
22
  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, unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_event_obj) -> None: ...
24
- def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_event_obj) -> None: ...
25
23
 
26
24
  MOUNT_DEVICE_CLASS_MAP: Incomplete
27
25
  CAMERA_SENSORS: tuple[ProtectBinaryEntityDescription, ...]
@@ -17,7 +17,6 @@ _LOGGER: Incomplete
17
17
  class ProtectButtonEntityDescription(ProtectSetableKeysMixin[T], ButtonEntityDescription):
18
18
  ufp_press: str | None
19
19
  def __init__(self, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn, ufp_press) -> None: ...
20
- def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn, ufp_press) -> None: ...
21
20
 
22
21
  DEVICE_CLASS_CHIME_BUTTON: Final[str]
23
22
  KEY_ADOPT: str
@@ -4,7 +4,8 @@ from .models import PermRequired as PermRequired, ProtectEventMixin as ProtectEv
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable, Sequence
6
6
  from homeassistant.core import callback as callback
7
- from homeassistant.helpers.entity import DeviceInfo as DeviceInfo, Entity as Entity, EntityDescription as EntityDescription
7
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
+ from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
8
9
  from homeassistant.helpers.typing import UNDEFINED as UNDEFINED
9
10
  from pyunifiprotect.data import Event as Event, ModelType, NVR as NVR, ProtectAdoptableDeviceModel, ProtectModelWithId as ProtectModelWithId
10
11
  from typing import Any
@@ -27,19 +27,15 @@ class ProtectRequiredKeysMixin(EntityDescription, Generic[T]):
27
27
  def get_ufp_enabled(self, obj: T) -> bool: ...
28
28
  def has_required(self, obj: T) -> bool: ...
29
29
  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, unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm) -> None: ...
30
- def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm) -> None: ...
31
- def __mypy-post_init(self) -> None: ...
32
30
 
33
31
  class ProtectEventMixin(ProtectRequiredKeysMixin[T]):
34
32
  ufp_event_obj: str | None
35
33
  def get_event_obj(self, obj: T) -> Event | None: ...
36
34
  def get_is_on(self, event: Event | None) -> bool: ...
37
35
  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, unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_event_obj) -> None: ...
38
- def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_event_obj) -> None: ...
39
36
 
40
37
  class ProtectSetableKeysMixin(ProtectRequiredKeysMixin[T]):
41
38
  ufp_set_method: str | None
42
39
  ufp_set_method_fn: Callable[[T, Any], Coroutine[Any, Any, None]] | None
43
40
  async def ufp_set(self, obj: T, value: Any) -> None: ...
44
41
  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, unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn) -> None: ...
45
- def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn) -> None: ...
@@ -16,11 +16,9 @@ class NumberKeysMixin:
16
16
  ufp_min: int | float
17
17
  ufp_step: int | float
18
18
  def __init__(self, ufp_max, ufp_min, ufp_step) -> None: ...
19
- def __mypy-replace(*, ufp_max, ufp_min, ufp_step) -> None: ...
20
19
 
21
20
  class ProtectNumberEntityDescription(ProtectSetableKeysMixin[T], NumberEntityDescription, NumberKeysMixin):
22
21
  def __init__(self, ufp_max, ufp_min, ufp_step, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn) -> None: ...
23
- def __mypy-replace(*, ufp_max, ufp_min, ufp_step, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn) -> None: ...
24
22
 
25
23
  def _get_pir_duration(obj: Light) -> int: ...
26
24
  async def _set_pir_duration(obj: Light, value: float) -> None: ...
@@ -36,7 +36,6 @@ class ProtectSelectEntityDescription(ProtectSetableKeysMixin[T], SelectEntityDes
36
36
  ufp_options_fn: Callable[[ProtectApiClient], list[dict[str, Any]]] | None
37
37
  ufp_enum_type: type[Enum] | None
38
38
  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, unit_of_measurement, options, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn, ufp_options, ufp_options_fn, ufp_enum_type) -> None: ...
39
- def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, options, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn, ufp_options, ufp_options_fn, ufp_enum_type) -> None: ...
40
39
 
41
40
  def _get_viewer_options(api: ProtectApiClient) -> list[dict[str, Any]]: ...
42
41
  def _get_doorbell_options(api: ProtectApiClient) -> list[dict[str, Any]]: ...
@@ -21,11 +21,9 @@ class ProtectSensorEntityDescription(ProtectRequiredKeysMixin[T], SensorEntityDe
21
21
  precision: int | None
22
22
  def get_ufp_value(self, obj: T) -> Any: ...
23
23
  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, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, precision) -> None: ...
24
- def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, precision) -> None: ...
25
24
 
26
25
  class ProtectSensorEventEntityDescription(ProtectEventMixin[T], SensorEntityDescription):
27
26
  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, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_event_obj) -> None: ...
28
- def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_event_obj) -> None: ...
29
27
 
30
28
  def _get_uptime(obj: ProtectDeviceModel) -> datetime | None: ...
31
29
  def _get_nvr_recording_capacity(obj: NVR) -> int: ...
@@ -18,7 +18,6 @@ ATTR_PREV_RECORD: str
18
18
 
19
19
  class ProtectSwitchEntityDescription(ProtectSetableKeysMixin[T], SwitchEntityDescription):
20
20
  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, unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn) -> None: ...
21
- def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn) -> None: ...
22
21
 
23
22
  async def _set_highfps(obj: Camera, value: bool) -> None: ...
24
23
 
@@ -13,7 +13,6 @@ from pyunifiprotect.data import Camera as Camera, ProtectAdoptableDeviceModel as
13
13
 
14
14
  class ProtectTextEntityDescription(ProtectSetableKeysMixin[T], TextEntityDescription):
15
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, unit_of_measurement, native_min, native_max, mode, pattern, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn) -> None: ...
16
- def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, native_min, native_max, mode, pattern, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn) -> None: ...
17
16
 
18
17
  def _get_doorbell_current(obj: Camera) -> str | None: ...
19
18
  async def _set_doorbell_message(obj: Camera, message: str) -> None: ...
@@ -6,9 +6,8 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_USERNAME as CONF_USERNAME, Platform as Platform, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_PROBLEM as STATE_PROBLEM
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
9
- from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType
9
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
10
10
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
11
- from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
12
11
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
13
12
  from typing import Any
14
13
 
@@ -36,7 +35,6 @@ class UpCloudDataUpdateCoordinator(DataUpdateCoordinator[dict[str, upcloud_api.S
36
35
  class UpCloudHassData:
37
36
  coordinators: dict[str, UpCloudDataUpdateCoordinator]
38
37
  def __init__(self, coordinators) -> None: ...
39
- def __mypy-replace(*, coordinators) -> None: ...
40
38
 
41
39
  def _config_entry_update_signal_name(config_entry: ConfigEntry) -> str: ...
42
40
  async def _async_signal_options_update(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
@@ -16,7 +16,6 @@ class UpdateEntityDescription(EntityDescription):
16
16
  device_class: UpdateDeviceClass | None
17
17
  entity_category: EntityCategory | None
18
18
  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, unit_of_measurement) -> None: ...
19
- def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
20
19
 
21
20
  class UpdateEntity(RestoreEntity):
22
21
  entity_description: UpdateEntityDescription
@@ -36,6 +35,7 @@ class UpdateEntity(RestoreEntity):
36
35
  def auto_update(self) -> bool: ...
37
36
  @property
38
37
  def installed_version(self) -> str | None: ...
38
+ def _default_to_device_class_name(self) -> bool: ...
39
39
  @property
40
40
  def device_class(self) -> UpdateDeviceClass | None: ...
41
41
  @property
@@ -3,8 +3,7 @@ from _typeshed import Incomplete
3
3
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
- from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType
7
- from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
6
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
8
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
8
 
10
9
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -1,8 +1,8 @@
1
1
  from . import UptimeRobotDataUpdateCoordinator as UptimeRobotDataUpdateCoordinator
2
2
  from .const import ATTRIBUTION as ATTRIBUTION, ATTR_TARGET as ATTR_TARGET, DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
- from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType
5
- from homeassistant.helpers.entity import DeviceInfo as DeviceInfo, EntityDescription as EntityDescription
4
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
5
+ from homeassistant.helpers.entity import EntityDescription as EntityDescription
6
6
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
7
  from pyuptimerobot import UptimeRobotMonitor as UptimeRobotMonitor
8
8