homeassistant-stubs 2023.7.2__py3-none-any.whl → 2023.8.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 (368) hide show
  1. homeassistant-stubs/backports/enum.pyi +1 -9
  2. homeassistant-stubs/backports/functools.pyi +6 -8
  3. homeassistant-stubs/components/accuweather/sensor.pyi +3 -4
  4. homeassistant-stubs/components/accuweather/weather.pyi +3 -1
  5. homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +8 -1
  6. homeassistant-stubs/components/alarm_control_panel/const.pyi +1 -2
  7. homeassistant-stubs/components/alert/__init__.pyi +4 -4
  8. homeassistant-stubs/components/apcupsd/__init__.pyi +3 -4
  9. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +0 -1
  10. homeassistant-stubs/components/apcupsd/sensor.pyi +0 -1
  11. homeassistant-stubs/components/aseko_pool_live/__init__.pyi +1 -7
  12. homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +1 -1
  13. homeassistant-stubs/components/aseko_pool_live/coordinator.pyi +11 -0
  14. homeassistant-stubs/components/aseko_pool_live/entity.pyi +1 -1
  15. homeassistant-stubs/components/aseko_pool_live/sensor.pyi +2 -2
  16. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
  17. homeassistant-stubs/components/assist_pipeline/vad.pyi +1 -1
  18. homeassistant-stubs/components/asuswrt/bridge.pyi +78 -0
  19. homeassistant-stubs/components/asuswrt/config_flow.pyi +2 -4
  20. homeassistant-stubs/components/asuswrt/const.pyi +3 -0
  21. homeassistant-stubs/components/asuswrt/router.pyi +8 -30
  22. homeassistant-stubs/components/asuswrt/sensor.pyi +5 -4
  23. homeassistant-stubs/components/bayesian/binary_sensor.pyi +3 -3
  24. homeassistant-stubs/components/binary_sensor/__init__.pyi +1 -1
  25. homeassistant-stubs/components/bluetooth/advertisement_tracker.pyi +1 -0
  26. homeassistant-stubs/components/bluetooth/manager.pyi +1 -0
  27. homeassistant-stubs/components/bluetooth/wrappers.pyi +2 -1
  28. homeassistant-stubs/components/braviatv/const.pyi +1 -1
  29. homeassistant-stubs/components/button/__init__.pyi +1 -1
  30. homeassistant-stubs/components/camera/const.pyi +1 -1
  31. homeassistant-stubs/components/cover/__init__.pyi +1 -2
  32. homeassistant-stubs/components/crownstone/devices.pyi +1 -0
  33. homeassistant-stubs/components/crownstone/light.pyi +1 -1
  34. homeassistant-stubs/components/demo/button.pyi +2 -2
  35. homeassistant-stubs/components/demo/climate.pyi +1 -0
  36. homeassistant-stubs/components/demo/event.pyi +22 -0
  37. homeassistant-stubs/components/demo/sensor.pyi +2 -3
  38. homeassistant-stubs/components/demo/water_heater.pyi +2 -0
  39. homeassistant-stubs/components/demo/weather.pyi +13 -5
  40. homeassistant-stubs/components/derivative/sensor.pyi +3 -3
  41. homeassistant-stubs/components/device_tracker/const.pyi +1 -1
  42. homeassistant-stubs/components/dhcp/__init__.pyi +4 -4
  43. homeassistant-stubs/components/diagnostics/const.pyi +1 -1
  44. homeassistant-stubs/components/dlna_dmr/media_player.pyi +1 -1
  45. homeassistant-stubs/components/dsmr/sensor.pyi +1 -1
  46. homeassistant-stubs/components/dunehd/media_player.pyi +2 -2
  47. homeassistant-stubs/components/electric_kiwi/__init__.pyi +13 -0
  48. homeassistant-stubs/components/electric_kiwi/api.pyi +10 -0
  49. homeassistant-stubs/components/electric_kiwi/application_credentials.pyi +9 -0
  50. homeassistant-stubs/components/electric_kiwi/config_flow.pyi +20 -0
  51. homeassistant-stubs/components/electric_kiwi/const.pyi +7 -0
  52. homeassistant-stubs/components/electric_kiwi/coordinator.pyi +17 -0
  53. homeassistant-stubs/components/electric_kiwi/oauth2.pyi +15 -0
  54. homeassistant-stubs/components/electric_kiwi/sensor.pyi +37 -0
  55. homeassistant-stubs/components/emulated_hue/config.pyi +4 -4
  56. homeassistant-stubs/components/emulated_hue/hue_api.pyi +3 -1
  57. homeassistant-stubs/components/esphome/__init__.pyi +5 -39
  58. homeassistant-stubs/components/esphome/bluetooth/__init__.pyi +5 -4
  59. homeassistant-stubs/components/esphome/bluetooth/cache.pyi +15 -0
  60. homeassistant-stubs/components/esphome/bluetooth/client.pyi +27 -9
  61. homeassistant-stubs/components/esphome/bluetooth/device.pyi +15 -0
  62. homeassistant-stubs/components/esphome/camera.pyi +6 -3
  63. homeassistant-stubs/components/esphome/climate.pyi +1 -0
  64. homeassistant-stubs/components/esphome/config_flow.pyi +2 -2
  65. homeassistant-stubs/components/esphome/const.pyi +8 -0
  66. homeassistant-stubs/components/esphome/domain_data.pyi +4 -14
  67. homeassistant-stubs/components/esphome/entity.pyi +4 -2
  68. homeassistant-stubs/components/esphome/entry_data.pyi +4 -6
  69. homeassistant-stubs/components/esphome/manager.pyi +69 -0
  70. homeassistant-stubs/components/esphome/update.pyi +3 -0
  71. homeassistant-stubs/components/event/__init__.pyi +50 -0
  72. homeassistant-stubs/components/event/const.pyi +3 -0
  73. homeassistant-stubs/components/event/recorder.pyi +4 -0
  74. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +1 -0
  75. homeassistant-stubs/components/evil_genius_labs/light.pyi +1 -2
  76. homeassistant-stubs/components/fastdotcom/sensor.pyi +2 -1
  77. homeassistant-stubs/components/filter/sensor.pyi +4 -4
  78. homeassistant-stubs/components/fitbit/const.pyi +1 -11
  79. homeassistant-stubs/components/fitbit/sensor.pyi +11 -3
  80. homeassistant-stubs/components/fritz/common.pyi +2 -7
  81. homeassistant-stubs/components/fritz/const.pyi +1 -1
  82. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +1 -1
  83. homeassistant-stubs/components/fritzbox_callmonitor/const.pyi +1 -1
  84. homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +1 -1
  85. homeassistant-stubs/components/fronius/__init__.pyi +6 -2
  86. homeassistant-stubs/components/fronius/const.pyi +2 -0
  87. homeassistant-stubs/components/fronius/sensor.pyi +2 -1
  88. homeassistant-stubs/components/frontend/__init__.pyi +4 -2
  89. homeassistant-stubs/components/geo_location/trigger.pyi +3 -3
  90. homeassistant-stubs/components/group/__init__.pyi +5 -4
  91. homeassistant-stubs/components/group/binary_sensor.pyi +3 -3
  92. homeassistant-stubs/components/group/cover.pyi +4 -4
  93. homeassistant-stubs/components/group/fan.pyi +4 -4
  94. homeassistant-stubs/components/group/light.pyi +3 -3
  95. homeassistant-stubs/components/group/lock.pyi +3 -3
  96. homeassistant-stubs/components/group/media_player.pyi +4 -2
  97. homeassistant-stubs/components/group/sensor.pyi +3 -3
  98. homeassistant-stubs/components/group/switch.pyi +3 -3
  99. homeassistant-stubs/components/guardian/__init__.pyi +0 -2
  100. homeassistant-stubs/components/history/websocket_api.pyi +2 -1
  101. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +3 -0
  102. homeassistant-stubs/components/homekit/accessories.pyi +6 -5
  103. homeassistant-stubs/components/homekit/util.pyi +4 -2
  104. homeassistant-stubs/components/http/__init__.pyi +7 -0
  105. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -1
  106. homeassistant-stubs/components/hydrawise/coordinator.pyi +2 -2
  107. homeassistant-stubs/components/hydrawise/sensor.pyi +1 -1
  108. homeassistant-stubs/components/hydrawise/switch.pyi +1 -1
  109. homeassistant-stubs/components/image/__init__.pyi +2 -0
  110. homeassistant-stubs/components/image_processing/__init__.pyi +1 -1
  111. homeassistant-stubs/components/imap/__init__.pyi +1 -1
  112. homeassistant-stubs/components/imap/config_flow.pyi +1 -1
  113. homeassistant-stubs/components/imap/const.pyi +1 -0
  114. homeassistant-stubs/components/imap/coordinator.pyi +5 -1
  115. homeassistant-stubs/components/input_button/__init__.pyi +1 -1
  116. homeassistant-stubs/components/input_select/__init__.pyi +1 -2
  117. homeassistant-stubs/components/integration/sensor.pyi +4 -5
  118. homeassistant-stubs/components/isy994/climate.pyi +1 -0
  119. homeassistant-stubs/components/jellyfin/__init__.pyi +2 -0
  120. homeassistant-stubs/components/jellyfin/coordinator.pyi +2 -0
  121. homeassistant-stubs/components/jellyfin/media_source.pyi +1 -1
  122. homeassistant-stubs/components/kaleidescape/entity.pyi +2 -2
  123. homeassistant-stubs/components/kaleidescape/media_player.pyi +1 -0
  124. homeassistant-stubs/components/kaleidescape/remote.pyi +1 -0
  125. homeassistant-stubs/components/kaleidescape/sensor.pyi +0 -1
  126. homeassistant-stubs/components/knx/__init__.pyi +1 -1
  127. homeassistant-stubs/components/knx/date.pyi +29 -0
  128. homeassistant-stubs/components/knx/datetime.pyi +26 -0
  129. homeassistant-stubs/components/knx/expose.pyi +4 -4
  130. homeassistant-stubs/components/knx/knx_entity.pyi +0 -1
  131. homeassistant-stubs/components/knx/schema.pyi +10 -0
  132. homeassistant-stubs/components/knx/sensor.pyi +0 -1
  133. homeassistant-stubs/components/knx/telegrams.pyi +10 -3
  134. homeassistant-stubs/components/kraken/const.pyi +0 -12
  135. homeassistant-stubs/components/kraken/sensor.pyi +12 -2
  136. homeassistant-stubs/components/lacrosse_view/sensor.pyi +1 -0
  137. homeassistant-stubs/components/laundrify/binary_sensor.pyi +2 -2
  138. homeassistant-stubs/components/ld2410_ble/binary_sensor.pyi +1 -0
  139. homeassistant-stubs/components/ld2410_ble/sensor.pyi +1 -0
  140. homeassistant-stubs/components/lifx/binary_sensor.pyi +0 -1
  141. homeassistant-stubs/components/lifx/button.pyi +0 -1
  142. homeassistant-stubs/components/lifx/entity.pyi +1 -0
  143. homeassistant-stubs/components/lifx/light.pyi +1 -1
  144. homeassistant-stubs/components/lifx/select.pyi +0 -2
  145. homeassistant-stubs/components/lifx/sensor.pyi +0 -1
  146. homeassistant-stubs/components/light/__init__.pyi +2 -4
  147. homeassistant-stubs/components/logbook/helpers.pyi +2 -1
  148. homeassistant-stubs/components/logger/helpers.pyi +1 -1
  149. homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
  150. homeassistant-stubs/components/matter/entity.pyi +1 -1
  151. homeassistant-stubs/components/matter/event.pyi +27 -0
  152. homeassistant-stubs/components/matter/sensor.pyi +1 -1
  153. homeassistant-stubs/components/media_player/__init__.pyi +2 -3
  154. homeassistant-stubs/components/media_player/const.pyi +3 -2
  155. homeassistant-stubs/components/min_max/sensor.pyi +3 -3
  156. homeassistant-stubs/components/mqtt/__init__.pyi +5 -3
  157. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -0
  158. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -0
  159. homeassistant-stubs/components/mqtt/button.pyi +1 -0
  160. homeassistant-stubs/components/mqtt/camera.pyi +1 -0
  161. homeassistant-stubs/components/mqtt/client.pyi +4 -1
  162. homeassistant-stubs/components/mqtt/climate.pyi +2 -3
  163. homeassistant-stubs/components/mqtt/config_integration.pyi +1 -1
  164. homeassistant-stubs/components/mqtt/const.pyi +2 -0
  165. homeassistant-stubs/components/mqtt/cover.pyi +1 -0
  166. homeassistant-stubs/components/mqtt/device_tracker.pyi +1 -0
  167. homeassistant-stubs/components/mqtt/event.pyi +46 -0
  168. homeassistant-stubs/components/mqtt/fan.pyi +1 -0
  169. homeassistant-stubs/components/mqtt/humidifier.pyi +1 -0
  170. homeassistant-stubs/components/mqtt/image.pyi +1 -0
  171. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +1 -0
  172. homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -0
  173. homeassistant-stubs/components/mqtt/light/schema_template.pyi +1 -0
  174. homeassistant-stubs/components/mqtt/lock.pyi +1 -0
  175. homeassistant-stubs/components/mqtt/mixins.pyi +15 -10
  176. homeassistant-stubs/components/mqtt/models.pyi +4 -4
  177. homeassistant-stubs/components/mqtt/number.pyi +1 -0
  178. homeassistant-stubs/components/mqtt/scene.pyi +4 -4
  179. homeassistant-stubs/components/mqtt/select.pyi +1 -0
  180. homeassistant-stubs/components/mqtt/sensor.pyi +1 -0
  181. homeassistant-stubs/components/mqtt/siren.pyi +3 -2
  182. homeassistant-stubs/components/mqtt/switch.pyi +1 -0
  183. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  184. homeassistant-stubs/components/mqtt/text.pyi +1 -0
  185. homeassistant-stubs/components/mqtt/update.pyi +1 -0
  186. homeassistant-stubs/components/mqtt/vacuum/__init__.pyi +6 -0
  187. homeassistant-stubs/components/mqtt/vacuum/schema_legacy.pyi +1 -0
  188. homeassistant-stubs/components/mqtt/vacuum/schema_state.pyi +1 -0
  189. homeassistant-stubs/components/mqtt/water_heater.pyi +4 -1
  190. homeassistant-stubs/components/nanoleaf/button.pyi +3 -4
  191. homeassistant-stubs/components/nanoleaf/entity.pyi +1 -0
  192. homeassistant-stubs/components/nanoleaf/light.pyi +1 -1
  193. homeassistant-stubs/components/nest/__init__.pyi +2 -3
  194. homeassistant-stubs/components/nest/camera.pyi +53 -3
  195. homeassistant-stubs/components/nest/climate.pyi +76 -3
  196. homeassistant-stubs/components/nest/config_flow.pyi +0 -23
  197. homeassistant-stubs/components/nest/sensor.pyi +35 -3
  198. homeassistant-stubs/components/notion/const.pyi +1 -0
  199. homeassistant-stubs/components/notion/sensor.pyi +1 -1
  200. homeassistant-stubs/components/number/__init__.pyi +1 -2
  201. homeassistant-stubs/components/number/const.pyi +4 -2
  202. homeassistant-stubs/components/nut/diagnostics.pyi +1 -1
  203. homeassistant-stubs/components/opensky/__init__.pyi +7 -0
  204. homeassistant-stubs/components/opensky/config_flow.pyi +11 -0
  205. homeassistant-stubs/components/opensky/const.pyi +17 -0
  206. homeassistant-stubs/components/opensky/sensor.pyi +7 -17
  207. homeassistant-stubs/components/otbr/websocket_api.pyi +2 -0
  208. homeassistant-stubs/components/persistent_notification/__init__.pyi +1 -1
  209. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +1 -1
  210. homeassistant-stubs/components/pure_energie/sensor.pyi +1 -0
  211. homeassistant-stubs/components/purpleair/__init__.pyi +6 -2
  212. homeassistant-stubs/components/purpleair/config_flow.pyi +7 -3
  213. homeassistant-stubs/components/purpleair/const.pyi +1 -0
  214. homeassistant-stubs/components/qnap_qsw/entity.pyi +1 -1
  215. homeassistant-stubs/components/rainmachine/util.pyi +1 -1
  216. homeassistant-stubs/components/recorder/const.pyi +1 -1
  217. homeassistant-stubs/components/recorder/db_schema.pyi +1 -2
  218. homeassistant-stubs/components/scrape/__init__.pyi +1 -1
  219. homeassistant-stubs/components/scrape/sensor.pyi +10 -6
  220. homeassistant-stubs/components/sensibo/entity.pyi +1 -2
  221. homeassistant-stubs/components/sensor/__init__.pyi +1 -2
  222. homeassistant-stubs/components/sensor/const.pyi +3 -2
  223. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  224. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  225. homeassistant-stubs/components/sensor/recorder.pyi +1 -1
  226. homeassistant-stubs/components/senz/climate.pyi +2 -1
  227. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +1 -0
  228. homeassistant-stubs/components/sfr_box/button.pyi +1 -0
  229. homeassistant-stubs/components/sfr_box/sensor.pyi +1 -0
  230. homeassistant-stubs/components/shelly/__init__.pyi +1 -1
  231. homeassistant-stubs/components/shelly/climate.pyi +1 -1
  232. homeassistant-stubs/components/shelly/const.pyi +5 -1
  233. homeassistant-stubs/components/shelly/coordinator.pyi +2 -1
  234. homeassistant-stubs/components/shelly/entity.pyi +0 -4
  235. homeassistant-stubs/components/shelly/logbook.pyi +2 -3
  236. homeassistant-stubs/components/shelly/sensor.pyi +1 -1
  237. homeassistant-stubs/components/shelly/utils.pyi +1 -2
  238. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +1 -0
  239. homeassistant-stubs/components/simplisafe/binary_sensor.pyi +0 -1
  240. homeassistant-stubs/components/skybell/light.pyi +1 -0
  241. homeassistant-stubs/components/sql/__init__.pyi +2 -1
  242. homeassistant-stubs/components/sql/config_flow.pyi +3 -1
  243. homeassistant-stubs/components/sql/sensor.pyi +12 -10
  244. homeassistant-stubs/components/ssdp/__init__.pyi +3 -3
  245. homeassistant-stubs/components/statistics/sensor.pyi +3 -3
  246. homeassistant-stubs/components/stookalert/binary_sensor.pyi +1 -0
  247. homeassistant-stubs/components/stream/worker.pyi +1 -2
  248. homeassistant-stubs/components/switch/__init__.pyi +1 -1
  249. homeassistant-stubs/components/switch/light.pyi +3 -3
  250. homeassistant-stubs/components/text/__init__.pyi +1 -1
  251. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -3
  252. homeassistant-stubs/components/tolo/__init__.pyi +1 -0
  253. homeassistant-stubs/components/tolo/binary_sensor.pyi +2 -2
  254. homeassistant-stubs/components/tolo/button.pyi +1 -1
  255. homeassistant-stubs/components/tolo/climate.pyi +1 -1
  256. homeassistant-stubs/components/tolo/fan.pyi +1 -1
  257. homeassistant-stubs/components/tolo/light.pyi +1 -1
  258. homeassistant-stubs/components/tolo/select.pyi +0 -1
  259. homeassistant-stubs/components/tplink/entity.pyi +1 -1
  260. homeassistant-stubs/components/tplink/light.pyi +1 -0
  261. homeassistant-stubs/components/tplink/sensor.pyi +0 -2
  262. homeassistant-stubs/components/tplink/switch.pyi +10 -1
  263. homeassistant-stubs/components/tractive/__init__.pyi +2 -1
  264. homeassistant-stubs/components/tractive/binary_sensor.pyi +0 -3
  265. homeassistant-stubs/components/tractive/const.pyi +6 -1
  266. homeassistant-stubs/components/tractive/device_tracker.pyi +0 -1
  267. homeassistant-stubs/components/tractive/entity.pyi +1 -0
  268. homeassistant-stubs/components/tractive/sensor.pyi +6 -4
  269. homeassistant-stubs/components/tractive/switch.pyi +0 -1
  270. homeassistant-stubs/components/tradfri/base_class.pyi +1 -1
  271. homeassistant-stubs/components/tradfri/cover.pyi +1 -0
  272. homeassistant-stubs/components/tradfri/fan.pyi +1 -0
  273. homeassistant-stubs/components/tradfri/light.pyi +1 -0
  274. homeassistant-stubs/components/tradfri/sensor.pyi +0 -2
  275. homeassistant-stubs/components/tradfri/switch.pyi +1 -0
  276. homeassistant-stubs/components/trafikverket_train/__init__.pyi +1 -0
  277. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +39 -0
  278. homeassistant-stubs/components/trafikverket_train/sensor.pyi +12 -20
  279. homeassistant-stubs/components/twentemilieu/sensor.pyi +1 -1
  280. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -1
  281. homeassistant-stubs/components/unifi/entity.pyi +8 -5
  282. homeassistant-stubs/components/unifi/image.pyi +37 -0
  283. homeassistant-stubs/components/unifi/sensor.pyi +4 -2
  284. homeassistant-stubs/components/unifi/switch.pyi +3 -2
  285. homeassistant-stubs/components/unifi/update.pyi +1 -1
  286. homeassistant-stubs/components/unifiprotect/entity.pyi +0 -1
  287. homeassistant-stubs/components/unifiprotect/models.pyi +7 -4
  288. homeassistant-stubs/components/unifiprotect/sensor.pyi +0 -3
  289. homeassistant-stubs/components/unifiprotect/utils.pyi +1 -1
  290. homeassistant-stubs/components/update/__init__.pyi +1 -1
  291. homeassistant-stubs/components/uptimerobot/entity.pyi +2 -0
  292. homeassistant-stubs/components/vacuum/__init__.pyi +4 -6
  293. homeassistant-stubs/components/vallox/__init__.pyi +1 -0
  294. homeassistant-stubs/components/vallox/binary_sensor.pyi +0 -1
  295. homeassistant-stubs/components/vallox/fan.pyi +1 -1
  296. homeassistant-stubs/components/vallox/number.pyi +0 -1
  297. homeassistant-stubs/components/vallox/sensor.pyi +0 -1
  298. homeassistant-stubs/components/vallox/switch.pyi +0 -1
  299. homeassistant-stubs/components/vlc_telnet/media_player.pyi +2 -3
  300. homeassistant-stubs/components/wallbox/const.pyi +1 -1
  301. homeassistant-stubs/components/water_heater/__init__.pyi +5 -0
  302. homeassistant-stubs/components/weather/__init__.pyi +18 -4
  303. homeassistant-stubs/components/weather/const.pyi +7 -0
  304. homeassistant-stubs/components/weather/websocket_api.pyi +6 -1
  305. homeassistant-stubs/components/websocket_api/auth.pyi +1 -1
  306. homeassistant-stubs/components/websocket_api/commands.pyi +6 -1
  307. homeassistant-stubs/components/websocket_api/connection.pyi +2 -1
  308. homeassistant-stubs/components/websocket_api/http.pyi +2 -1
  309. homeassistant-stubs/components/wemo/__init__.pyi +10 -4
  310. homeassistant-stubs/components/wemo/binary_sensor.pyi +2 -2
  311. homeassistant-stubs/components/wemo/fan.pyi +2 -2
  312. homeassistant-stubs/components/wemo/light.pyi +1 -1
  313. homeassistant-stubs/components/wemo/models.pyi +21 -0
  314. homeassistant-stubs/components/wemo/sensor.pyi +2 -2
  315. homeassistant-stubs/components/wemo/switch.pyi +2 -2
  316. homeassistant-stubs/components/wemo/wemo_device.pyi +5 -0
  317. homeassistant-stubs/components/wiz/binary_sensor.pyi +0 -1
  318. homeassistant-stubs/components/yalexs_ble/binary_sensor.pyi +0 -1
  319. homeassistant-stubs/components/yalexs_ble/entity.pyi +1 -0
  320. homeassistant-stubs/components/yalexs_ble/lock.pyi +0 -1
  321. homeassistant-stubs/components/zodiac/__init__.pyi +4 -1
  322. homeassistant-stubs/components/zodiac/config_flow.pyi +9 -0
  323. homeassistant-stubs/components/zodiac/const.pyi +1 -0
  324. homeassistant-stubs/components/zodiac/sensor.pyi +9 -4
  325. homeassistant-stubs/components/zone/__init__.pyi +4 -5
  326. homeassistant-stubs/components/zone/trigger.pyi +3 -3
  327. homeassistant-stubs/components/zwave_js/climate.pyi +3 -1
  328. homeassistant-stubs/components/zwave_js/device_action.pyi +3 -1
  329. homeassistant-stubs/components/zwave_js/discovery.pyi +1 -1
  330. homeassistant-stubs/config_entries.pyi +3 -5
  331. homeassistant-stubs/const.pyi +3 -1
  332. homeassistant-stubs/core.pyi +10 -12
  333. homeassistant-stubs/data_entry_flow.pyi +2 -3
  334. homeassistant-stubs/exceptions.pyi +0 -4
  335. homeassistant-stubs/helpers/check_config.pyi +1 -2
  336. homeassistant-stubs/helpers/config_validation.pyi +11 -2
  337. homeassistant-stubs/helpers/device_registry.pyi +32 -8
  338. homeassistant-stubs/helpers/entity.pyi +9 -7
  339. homeassistant-stubs/helpers/entity_platform.pyi +2 -3
  340. homeassistant-stubs/helpers/entity_registry.pyi +15 -2
  341. homeassistant-stubs/helpers/event.pyi +39 -33
  342. homeassistant-stubs/helpers/httpx_client.pyi +4 -2
  343. homeassistant-stubs/helpers/issue_registry.pyi +1 -1
  344. homeassistant-stubs/helpers/restore_state.pyi +1 -2
  345. homeassistant-stubs/helpers/selector.pyi +14 -6
  346. homeassistant-stubs/helpers/service.pyi +1 -1
  347. homeassistant-stubs/helpers/state.pyi +0 -12
  348. homeassistant-stubs/helpers/storage.pyi +1 -0
  349. homeassistant-stubs/helpers/system_info.pyi +8 -1
  350. homeassistant-stubs/helpers/template_entity.pyi +7 -7
  351. homeassistant-stubs/helpers/trace.pyi +1 -0
  352. homeassistant-stubs/helpers/typing.pyi +5 -2
  353. homeassistant-stubs/util/ssl.pyi +1 -1
  354. homeassistant-stubs/util/timeout.pyi +1 -2
  355. {homeassistant_stubs-2023.7.2.dist-info → homeassistant_stubs-2023.8.0.dist-info}/METADATA +3 -4
  356. {homeassistant_stubs-2023.7.2.dist-info → homeassistant_stubs-2023.8.0.dist-info}/RECORD +358 -341
  357. homeassistant-stubs/components/nest/camera_sdm.pyi +0 -58
  358. homeassistant-stubs/components/nest/climate_sdm.pyi +0 -81
  359. homeassistant-stubs/components/nest/legacy/__init__.pyi +0 -62
  360. homeassistant-stubs/components/nest/legacy/binary_sensor.pyi +0 -38
  361. homeassistant-stubs/components/nest/legacy/camera.pyi +0 -45
  362. homeassistant-stubs/components/nest/legacy/climate.pyi +0 -89
  363. homeassistant-stubs/components/nest/legacy/const.pyi +0 -4
  364. homeassistant-stubs/components/nest/legacy/local_auth.pyi +0 -7
  365. homeassistant-stubs/components/nest/legacy/sensor.pyi +0 -54
  366. homeassistant-stubs/components/nest/sensor_sdm.pyi +0 -42
  367. {homeassistant_stubs-2023.7.2.dist-info → homeassistant_stubs-2023.8.0.dist-info}/LICENSE +0 -0
  368. {homeassistant_stubs-2023.7.2.dist-info → homeassistant_stubs-2023.8.0.dist-info}/WHEEL +0 -0
@@ -2,6 +2,7 @@ from .entity import EsphomeEntity as EsphomeEntity, platform_async_setup_entry a
2
2
  from _typeshed import Incomplete
3
3
  from aioesphomeapi import CameraInfo, CameraState
4
4
  from aiohttp import web as web
5
+ from collections.abc import Callable as Callable, Coroutine
5
6
  from homeassistant.components import camera as camera
6
7
  from homeassistant.components.camera import Camera as Camera
7
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -12,10 +13,12 @@ from typing import Any
12
13
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
14
 
14
15
  class EsphomeCamera(Camera, EsphomeEntity[CameraInfo, CameraState]):
15
- _image_cond: Incomplete
16
+ _loop: Incomplete
17
+ _image_futures: Incomplete
16
18
  def __init__(self, *args: Any, **kwargs: Any) -> None: ...
19
+ def _set_futures(self, result: bool) -> None: ...
20
+ def _on_device_update(self) -> None: ...
17
21
  def _on_state_update(self) -> None: ...
18
- async def _on_state_update_coro(self) -> None: ...
19
22
  async def async_camera_image(self, width: int | None = ..., height: int | None = ...) -> bytes | None: ...
20
- async def _async_camera_stream_image(self) -> bytes | None: ...
23
+ async def _async_request_image(self, request_method: Callable[[], Coroutine[Any, Any, None]]) -> bytes | None: ...
21
24
  async def handle_async_mjpeg_stream(self, request: web.Request) -> web.StreamResponse: ...
@@ -21,6 +21,7 @@ _PRESETS: EsphomeEnumMapper[ClimatePreset, str]
21
21
 
22
22
  class EsphomeClimateEntity(EsphomeEntity[ClimateInfo, ClimateState], ClimateEntity):
23
23
  _attr_temperature_unit: Incomplete
24
+ _attr_translation_key: str
24
25
  _attr_precision: Incomplete
25
26
  _attr_hvac_modes: Incomplete
26
27
  _attr_fan_modes: Incomplete
@@ -1,5 +1,4 @@
1
- from . import CONF_DEVICE_NAME as CONF_DEVICE_NAME, CONF_NOISE_PSK as CONF_NOISE_PSK
2
- from .const import CONF_ALLOW_SERVICE_CALLS as CONF_ALLOW_SERVICE_CALLS, DEFAULT_ALLOW_SERVICE_CALLS as DEFAULT_ALLOW_SERVICE_CALLS, DEFAULT_NEW_CONFIG_ALLOW_ALLOW_SERVICE_CALLS as DEFAULT_NEW_CONFIG_ALLOW_ALLOW_SERVICE_CALLS, DOMAIN as DOMAIN
1
+ from .const import CONF_ALLOW_SERVICE_CALLS as CONF_ALLOW_SERVICE_CALLS, CONF_DEVICE_NAME as CONF_DEVICE_NAME, CONF_NOISE_PSK as CONF_NOISE_PSK, DEFAULT_ALLOW_SERVICE_CALLS as DEFAULT_ALLOW_SERVICE_CALLS, DEFAULT_NEW_CONFIG_ALLOW_ALLOW_SERVICE_CALLS as DEFAULT_NEW_CONFIG_ALLOW_ALLOW_SERVICE_CALLS, DOMAIN as DOMAIN
3
2
  from .dashboard import async_get_or_create_dashboard_manager as async_get_or_create_dashboard_manager, async_set_dashboard_info as async_set_dashboard_info
4
3
  from _typeshed import Incomplete
5
4
  from aioesphomeapi import DeviceInfo as DeviceInfo
@@ -24,6 +23,7 @@ class EsphomeFlowHandler(ConfigFlow, domain=DOMAIN):
24
23
  _host: Incomplete
25
24
  _port: Incomplete
26
25
  _password: Incomplete
26
+ _noise_required: Incomplete
27
27
  _noise_psk: Incomplete
28
28
  _device_info: Incomplete
29
29
  _reauth_entry: Incomplete
@@ -1,4 +1,12 @@
1
+ from _typeshed import Incomplete
2
+
1
3
  DOMAIN: str
2
4
  CONF_ALLOW_SERVICE_CALLS: str
5
+ CONF_DEVICE_NAME: str
6
+ CONF_NOISE_PSK: str
3
7
  DEFAULT_ALLOW_SERVICE_CALLS: bool
4
8
  DEFAULT_NEW_CONFIG_ALLOW_ALLOW_SERVICE_CALLS: bool
9
+ STABLE_BLE_VERSION_STR: str
10
+ STABLE_BLE_VERSION: Incomplete
11
+ PROJECT_URLS: Incomplete
12
+ DEFAULT_URL: Incomplete
@@ -1,31 +1,21 @@
1
+ from .bluetooth.cache import ESPHomeBluetoothCache as ESPHomeBluetoothCache
1
2
  from .const import DOMAIN as DOMAIN
2
3
  from .entry_data import ESPHomeStorage as ESPHomeStorage, RuntimeEntryData as RuntimeEntryData
3
- from bleak.backends.service import BleakGATTServiceCollection as BleakGATTServiceCollection
4
- from collections.abc import MutableMapping
5
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant
7
6
  from homeassistant.helpers.json import JSONEncoder as JSONEncoder
8
- from typing_extensions import Self
7
+ from typing import Self
9
8
 
10
9
  STORAGE_VERSION: int
11
- MAX_CACHED_SERVICES: int
12
10
 
13
11
  class DomainData:
14
12
  _entry_datas: dict[str, RuntimeEntryData]
15
13
  _stores: dict[str, ESPHomeStorage]
16
- _gatt_services_cache: MutableMapping[int, BleakGATTServiceCollection]
17
- _gatt_mtu_cache: MutableMapping[int, int]
18
- def get_gatt_services_cache(self, address: int) -> BleakGATTServiceCollection | None: ...
19
- def set_gatt_services_cache(self, address: int, services: BleakGATTServiceCollection) -> None: ...
20
- def clear_gatt_services_cache(self, address: int) -> None: ...
21
- def get_gatt_mtu_cache(self, address: int) -> int | None: ...
22
- def set_gatt_mtu_cache(self, address: int, mtu: int) -> None: ...
23
- def clear_gatt_mtu_cache(self, address: int) -> None: ...
14
+ bluetooth_cache: ESPHomeBluetoothCache
24
15
  def get_entry_data(self, entry: ConfigEntry) -> RuntimeEntryData: ...
25
16
  def set_entry_data(self, entry: ConfigEntry, entry_data: RuntimeEntryData) -> None: ...
26
17
  def pop_entry_data(self, entry: ConfigEntry) -> RuntimeEntryData: ...
27
- def is_entry_loaded(self, entry: ConfigEntry) -> bool: ...
28
18
  def get_or_create_store(self, hass: HomeAssistant, entry: ConfigEntry) -> ESPHomeStorage: ...
29
19
  @classmethod
30
20
  def get(cls, hass: HomeAssistant) -> Self: ...
31
- def __init__(self, _entry_datas, _stores, _gatt_services_cache, _gatt_mtu_cache) -> None: ...
21
+ def __init__(self, _entry_datas, _stores, bluetooth_cache) -> None: ...
@@ -7,6 +7,7 @@ from collections.abc import Callable as Callable
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.const import EntityCategory as EntityCategory
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
+ from homeassistant.helpers import entity_platform as entity_platform
10
11
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
11
12
  from homeassistant.helpers.entity import DeviceInfo as DeviceInfo, Entity as Entity
12
13
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -32,10 +33,11 @@ class EsphomeEntity(Entity, Generic[_InfoT, _StateT]):
32
33
  _key: Incomplete
33
34
  _state_type: Incomplete
34
35
  _device_info: Incomplete
35
- _attr_has_entity_name: Incomplete
36
36
  _attr_device_info: Incomplete
37
37
  _entry_id: Incomplete
38
- def __init__(self, entry_data: RuntimeEntryData, entity_info: EntityInfo, state_type: type[_StateT]) -> None: ...
38
+ _attr_has_entity_name: bool
39
+ entity_id: Incomplete
40
+ def __init__(self, entry_data: RuntimeEntryData, domain: str, entity_info: EntityInfo, state_type: type[_StateT]) -> None: ...
39
41
  async def async_added_to_hass(self) -> None: ...
40
42
  _attr_unique_id: Incomplete
41
43
  _attr_entity_registry_enabled_default: Incomplete
@@ -1,4 +1,5 @@
1
1
  import asyncio
2
+ from .bluetooth.device import ESPHomeBluetoothDevice as ESPHomeBluetoothDevice
2
3
  from .dashboard import async_get_dashboard as async_get_dashboard
3
4
  from _typeshed import Incomplete
4
5
  from aioesphomeapi import APIClient as APIClient, APIVersion, DeviceInfo, EntityInfo as EntityInfo, EntityState as EntityState, UserService
@@ -25,6 +26,7 @@ class ESPHomeStorage(Store[StoreData]): ...
25
26
 
26
27
  class RuntimeEntryData:
27
28
  entry_id: str
29
+ title: str
28
30
  client: APIClient
29
31
  store: ESPHomeStorage
30
32
  state: dict[type[EntityState], dict[int, EntityState]]
@@ -34,6 +36,7 @@ class RuntimeEntryData:
34
36
  available: bool
35
37
  expected_disconnect: bool
36
38
  device_info: DeviceInfo | None
39
+ bluetooth_device: ESPHomeBluetoothDevice | None
37
40
  api_version: APIVersion
38
41
  cleanup_callbacks: list[Callable[[], None]]
39
42
  disconnect_callbacks: list[Callable[[], None]]
@@ -42,9 +45,6 @@ class RuntimeEntryData:
42
45
  platform_load_lock: asyncio.Lock
43
46
  _storage_contents: StoreData | None
44
47
  _pending_storage: Callable[[], StoreData] | None
45
- ble_connections_free: int
46
- ble_connections_limit: int
47
- _ble_connection_free_futures: list[asyncio.Future[int]]
48
48
  assist_pipeline_update_callbacks: list[Callable[[], None]]
49
49
  assist_pipeline_state: bool
50
50
  entity_info_callbacks: dict[type[EntityInfo], list[Callable[[list[EntityInfo]], None]]]
@@ -62,8 +62,6 @@ class RuntimeEntryData:
62
62
  def async_register_static_info_callback(self, entity_info_type: type[EntityInfo], callback_: Callable[[list[EntityInfo]], None]) -> CALLBACK_TYPE: ...
63
63
  def async_register_key_static_info_remove_callback(self, static_info: EntityInfo, callback_: Callable[[], Coroutine[Any, Any, None]]) -> CALLBACK_TYPE: ...
64
64
  def async_register_key_static_info_updated_callback(self, static_info: EntityInfo, callback_: Callable[[EntityInfo], None]) -> CALLBACK_TYPE: ...
65
- def async_update_ble_connection_limits(self, free: int, limit: int) -> None: ...
66
- async def wait_for_ble_connections_free(self) -> int: ...
67
65
  def async_set_assist_pipeline_state(self, state: bool) -> None: ...
68
66
  def async_subscribe_assist_pipeline_update(self, update_callback: Callable[[], None]) -> Callable[[], None]: ...
69
67
  async def async_remove_entities(self, static_infos: Iterable[EntityInfo]) -> None: ...
@@ -77,4 +75,4 @@ class RuntimeEntryData:
77
75
  async def async_save_to_store(self) -> None: ...
78
76
  async def async_cleanup(self) -> None: ...
79
77
  async def async_update_listener(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
80
- def __init__(self, entry_id, client, store, state, stale_state, info, services, available, expected_disconnect, device_info, api_version, cleanup_callbacks, disconnect_callbacks, state_subscriptions, loaded_platforms, platform_load_lock, _storage_contents, _pending_storage, ble_connections_free, ble_connections_limit, _ble_connection_free_futures, assist_pipeline_update_callbacks, assist_pipeline_state, entity_info_callbacks, entity_info_key_remove_callbacks, entity_info_key_updated_callbacks, original_options) -> None: ...
78
+ def __init__(self, entry_id, title, client, store, state, stale_state, info, services, available, expected_disconnect, device_info, bluetooth_device, api_version, cleanup_callbacks, disconnect_callbacks, state_subscriptions, loaded_platforms, platform_load_lock, _storage_contents, _pending_storage, assist_pipeline_update_callbacks, assist_pipeline_state, entity_info_callbacks, entity_info_key_remove_callbacks, entity_info_key_updated_callbacks, original_options) -> None: ...
@@ -0,0 +1,69 @@
1
+ from .bluetooth import async_connect_scanner as async_connect_scanner
2
+ from .const import CONF_ALLOW_SERVICE_CALLS as CONF_ALLOW_SERVICE_CALLS, CONF_DEVICE_NAME as CONF_DEVICE_NAME, DEFAULT_ALLOW_SERVICE_CALLS as DEFAULT_ALLOW_SERVICE_CALLS, DEFAULT_URL as DEFAULT_URL, DOMAIN as DOMAIN, PROJECT_URLS as PROJECT_URLS, STABLE_BLE_VERSION as STABLE_BLE_VERSION, STABLE_BLE_VERSION_STR as STABLE_BLE_VERSION_STR
3
+ from .dashboard import async_get_dashboard as async_get_dashboard
4
+ from .domain_data import DomainData as DomainData
5
+ from .entry_data import RuntimeEntryData as RuntimeEntryData
6
+ from .voice_assistant import VoiceAssistantUDPServer as VoiceAssistantUDPServer
7
+ from _typeshed import Incomplete
8
+ from aioesphomeapi import APIClient as APIClient, APIVersion as APIVersion, DeviceInfo as EsphomeDeviceInfo, HomeassistantServiceCall as HomeassistantServiceCall, UserService as UserService, VoiceAssistantEventType as VoiceAssistantEventType
9
+ from homeassistant.components import tag as tag, zeroconf as zeroconf
10
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
+ from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, CONF_MODE as CONF_MODE, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
12
+ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, State as State, callback as callback
13
+ from homeassistant.exceptions import TemplateError as TemplateError
14
+ from homeassistant.helpers import template as template
15
+ from homeassistant.helpers.device_registry import format_mac as format_mac
16
+ from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_state_change_event as async_track_state_change_event
17
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
18
+ from homeassistant.helpers.service import async_set_service_schema as async_set_service_schema
19
+ from homeassistant.helpers.template import Template as Template
20
+ from homeassistant.helpers.typing import EventType as EventType
21
+ from typing import Any, NamedTuple
22
+
23
+ _LOGGER: Incomplete
24
+
25
+ def _async_check_firmware_version(hass: HomeAssistant, device_info: EsphomeDeviceInfo, api_version: APIVersion) -> None: ...
26
+ def _async_check_using_api_password(hass: HomeAssistant, device_info: EsphomeDeviceInfo, has_password: bool) -> None: ...
27
+
28
+ class ESPHomeManager:
29
+ __slots__: Incomplete
30
+ hass: Incomplete
31
+ host: Incomplete
32
+ password: Incomplete
33
+ entry: Incomplete
34
+ cli: Incomplete
35
+ device_id: Incomplete
36
+ domain_data: Incomplete
37
+ voice_assistant_udp_server: Incomplete
38
+ reconnect_logic: Incomplete
39
+ zeroconf_instance: Incomplete
40
+ entry_data: Incomplete
41
+ def __init__(self, hass: HomeAssistant, entry: ConfigEntry, host: str, password: str | None, cli: APIClient, zeroconf_instance: zeroconf.HaZeroconf, domain_data: DomainData, entry_data: RuntimeEntryData) -> None: ...
42
+ async def on_stop(self, event: Event) -> None: ...
43
+ @property
44
+ def services_issue(self) -> str: ...
45
+ def async_on_service_call(self, service: HomeassistantServiceCall) -> None: ...
46
+ async def _send_home_assistant_state(self, entity_id: str, attribute: str | None, state: State | None) -> None: ...
47
+ def async_on_state_subscription(self, entity_id: str, attribute: str | None = ...) -> None: ...
48
+ def _handle_pipeline_event(self, event_type: VoiceAssistantEventType, data: dict[str, str] | None) -> None: ...
49
+ def _handle_pipeline_finished(self) -> None: ...
50
+ async def _handle_pipeline_start(self, conversation_id: str, use_vad: bool) -> int | None: ...
51
+ async def _handle_pipeline_stop(self) -> None: ...
52
+ async def on_connect(self) -> None: ...
53
+ async def on_disconnect(self, expected_disconnect: bool) -> None: ...
54
+ async def on_connect_error(self, err: Exception) -> None: ...
55
+ async def async_start(self) -> None: ...
56
+
57
+ def _async_setup_device_registry(hass: HomeAssistant, entry: ConfigEntry, entry_data: RuntimeEntryData) -> str: ...
58
+
59
+ class ServiceMetadata(NamedTuple):
60
+ validator: Any
61
+ example: str
62
+ selector: dict[str, Any]
63
+ description: str | None
64
+
65
+ ARG_TYPE_METADATA: Incomplete
66
+
67
+ async def _register_service(hass: HomeAssistant, entry_data: RuntimeEntryData, service: UserService) -> None: ...
68
+ async def _setup_services(hass: HomeAssistant, entry_data: RuntimeEntryData, services: list[UserService]) -> None: ...
69
+ async def cleanup_instance(hass: HomeAssistant, entry: ConfigEntry) -> RuntimeEntryData: ...
@@ -6,6 +6,7 @@ from aioesphomeapi import DeviceInfo as ESPHomeDeviceInfo, EntityInfo as EntityI
6
6
  from homeassistant.components.update import UpdateDeviceClass as UpdateDeviceClass, UpdateEntity as UpdateEntity, UpdateEntityFeature as UpdateEntityFeature
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
9
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
10
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
10
11
  from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
11
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -13,6 +14,7 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity as Coordi
13
14
  from typing import Any
14
15
 
15
16
  KEY_UPDATE_LOCK: str
17
+ _LOGGER: Incomplete
16
18
 
17
19
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
18
20
 
@@ -36,5 +38,6 @@ class ESPHomeUpdateEntity(CoordinatorEntity[ESPHomeDashboard], UpdateEntity):
36
38
  def latest_version(self) -> str | None: ...
37
39
  @property
38
40
  def release_url(self) -> str | None: ...
41
+ def _async_static_info_updated(self, _: list[EntityInfo]) -> None: ...
39
42
  async def async_added_to_hass(self) -> None: ...
40
43
  async def async_install(self, version: str | None, backup: bool, **kwargs: Any) -> None: ...
@@ -0,0 +1,50 @@
1
+ from .const import ATTR_EVENT_TYPE as ATTR_EVENT_TYPE, ATTR_EVENT_TYPES as ATTR_EVENT_TYPES, DOMAIN as DOMAIN
2
+ from datetime import datetime
3
+ from enum import StrEnum
4
+ from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE
5
+ from homeassistant.helpers.entity import EntityDescription
6
+ from homeassistant.helpers.restore_state import ExtraStoredData, RestoreEntity
7
+ from typing import Any, Self
8
+
9
+ class EventDeviceClass(StrEnum):
10
+ DOORBELL: str
11
+ BUTTON: str
12
+ MOTION: str
13
+
14
+ class EventEntityDescription(EntityDescription):
15
+ device_class: EventDeviceClass | None
16
+ event_types: list[str] | None
17
+ 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, event_types) -> None: ...
18
+
19
+ class EventExtraStoredData(ExtraStoredData):
20
+ last_event_type: str | None
21
+ last_event_attributes: dict[str, Any] | None
22
+ def as_dict(self) -> dict[str, Any]: ...
23
+ @classmethod
24
+ def from_dict(cls, restored: dict[str, Any]) -> Self | None: ...
25
+ def __init__(self, last_event_type, last_event_attributes) -> None: ...
26
+
27
+ class EventEntity(RestoreEntity):
28
+ entity_description: EventEntityDescription
29
+ _attr_device_class: EventDeviceClass | None
30
+ _attr_event_types: list[str]
31
+ _attr_state: None
32
+ __last_event_triggered: datetime | None
33
+ __last_event_type: str | None
34
+ __last_event_attributes: dict[str, Any] | None
35
+ @property
36
+ def device_class(self) -> EventDeviceClass | None: ...
37
+ @property
38
+ def event_types(self) -> list[str]: ...
39
+ def _trigger_event(self, event_type: str, event_attributes: dict[str, Any] | None = ...) -> None: ...
40
+ def _default_to_device_class_name(self) -> bool: ...
41
+ @property
42
+ def capability_attributes(self) -> dict[str, list[str]]: ...
43
+ @property
44
+ def state(self) -> str | None: ...
45
+ @property
46
+ def state_attributes(self) -> dict[str, Any]: ...
47
+ async def async_internal_added_to_hass(self) -> None: ...
48
+ @property
49
+ def extra_restore_state_data(self) -> EventExtraStoredData: ...
50
+ async def async_get_last_event_data(self) -> EventExtraStoredData | None: ...
@@ -0,0 +1,3 @@
1
+ DOMAIN: str
2
+ ATTR_EVENT_TYPE: str
3
+ ATTR_EVENT_TYPES: str
@@ -0,0 +1,4 @@
1
+ from . import ATTR_EVENT_TYPES as ATTR_EVENT_TYPES
2
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
3
+
4
+ def exclude_attributes(hass: HomeAssistant) -> set[str]: ...
@@ -26,5 +26,6 @@ class EvilGeniusUpdateCoordinator(DataUpdateCoordinator[dict]):
26
26
  async def _async_update_data(self) -> dict: ...
27
27
 
28
28
  class EvilGeniusEntity(CoordinatorEntity[EvilGeniusUpdateCoordinator]):
29
+ _attr_has_entity_name: bool
29
30
  @property
30
31
  def device_info(self) -> DeviceInfo: ...
@@ -15,6 +15,7 @@ FIB_NO_EFFECT: str
15
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
16
 
17
17
  class EvilGeniusLight(EvilGeniusEntity, LightEntity):
18
+ _attr_name: Incomplete
18
19
  _attr_supported_features: Incomplete
19
20
  _attr_supported_color_modes: Incomplete
20
21
  _attr_color_mode: Incomplete
@@ -22,8 +23,6 @@ class EvilGeniusLight(EvilGeniusEntity, LightEntity):
22
23
  _attr_effect_list: Incomplete
23
24
  def __init__(self, coordinator: EvilGeniusUpdateCoordinator) -> None: ...
24
25
  @property
25
- def name(self) -> str: ...
26
- @property
27
26
  def is_on(self) -> bool: ...
28
27
  @property
29
28
  def brightness(self) -> int: ...
@@ -1,6 +1,6 @@
1
1
  from . import DATA_UPDATED as DATA_UPDATED
2
2
  from _typeshed import Incomplete
3
- from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity
3
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
4
4
  from homeassistant.const import UnitOfDataRate as UnitOfDataRate
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
6
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
@@ -15,6 +15,7 @@ class SpeedtestSensor(RestoreEntity, SensorEntity):
15
15
  _attr_name: str
16
16
  _attr_device_class: Incomplete
17
17
  _attr_native_unit_of_measurement: Incomplete
18
+ _attr_state_class: Incomplete
18
19
  _attr_icon: str
19
20
  _attr_should_poll: bool
20
21
  _speedtest_data: Incomplete
@@ -4,12 +4,12 @@ from datetime import datetime, timedelta
4
4
  from homeassistant.components.recorder import get_instance as get_instance, history as history
5
5
  from homeassistant.components.sensor import ATTR_STATE_CLASS as ATTR_STATE_CLASS, PLATFORM_SCHEMA as PLATFORM_SCHEMA, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity
6
6
  from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_ICON as ATTR_ICON, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
7
- from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback
7
+ from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
8
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
- from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
9
+ from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_state_change_event as async_track_state_change_event
10
10
  from homeassistant.helpers.reload import async_setup_reload_service as async_setup_reload_service
11
11
  from homeassistant.helpers.start import async_at_started as async_at_started
12
- from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, StateType as StateType
12
+ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, EventType as EventType, StateType as StateType
13
13
  from homeassistant.util.decorator import Registry as Registry
14
14
 
15
15
  _LOGGER: Incomplete
@@ -61,7 +61,7 @@ class SensorFilter(SensorEntity):
61
61
  _attr_state_class: Incomplete
62
62
  _attr_extra_state_attributes: Incomplete
63
63
  def __init__(self, name: str | None, unique_id: str | None, entity_id: str, filters: list[Filter]) -> None: ...
64
- def _update_filter_sensor_state_event(self, event: Event) -> None: ...
64
+ def _update_filter_sensor_state_event(self, event: EventType[EventStateChangedData]) -> None: ...
65
65
  _attr_available: bool
66
66
  def _update_filter_sensor_state(self, new_state: State | None, update_ha: bool = ...) -> None: ...
67
67
  async def async_added_to_hass(self) -> None: ...
@@ -1,6 +1,4 @@
1
- from _typeshed import Incomplete
2
- from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
3
- from homeassistant.const import CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_CLIENT_SECRET as CONF_CLIENT_SECRET, PERCENTAGE as PERCENTAGE, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume
1
+ from homeassistant.const import CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_CLIENT_SECRET as CONF_CLIENT_SECRET, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume
4
2
  from typing import Final
5
3
 
6
4
  ATTR_ACCESS_TOKEN: Final[str]
@@ -24,13 +22,5 @@ FITBIT_CONFIG_FILE: Final[str]
24
22
  FITBIT_DEFAULT_RESOURCES: Final[list[str]]
25
23
  DEFAULT_CONFIG: Final[dict[str, str]]
26
24
  DEFAULT_CLOCK_FORMAT: Final[str]
27
-
28
- class FitbitSensorEntityDescription(SensorEntityDescription):
29
- unit_type: str | None
30
- def __init__(self, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, unit_type) -> None: ...
31
-
32
- FITBIT_RESOURCES_LIST: Final[tuple[FitbitSensorEntityDescription, ...]]
33
- FITBIT_RESOURCE_BATTERY: Incomplete
34
- FITBIT_RESOURCES_KEYS: Final[list[str]]
35
25
  FITBIT_MEASUREMENTS: Final[dict[str, dict[str, str]]]
36
26
  BATTERY_LEVELS: Final[dict[str, int]]
@@ -1,12 +1,12 @@
1
- from .const import ATTRIBUTION as ATTRIBUTION, ATTR_ACCESS_TOKEN as ATTR_ACCESS_TOKEN, ATTR_LAST_SAVED_AT as ATTR_LAST_SAVED_AT, ATTR_REFRESH_TOKEN as ATTR_REFRESH_TOKEN, BATTERY_LEVELS as BATTERY_LEVELS, CONF_CLOCK_FORMAT as CONF_CLOCK_FORMAT, CONF_MONITORED_RESOURCES as CONF_MONITORED_RESOURCES, DEFAULT_CLOCK_FORMAT as DEFAULT_CLOCK_FORMAT, DEFAULT_CONFIG as DEFAULT_CONFIG, FITBIT_AUTH_CALLBACK_PATH as FITBIT_AUTH_CALLBACK_PATH, FITBIT_AUTH_START as FITBIT_AUTH_START, FITBIT_CONFIG_FILE as FITBIT_CONFIG_FILE, FITBIT_DEFAULT_RESOURCES as FITBIT_DEFAULT_RESOURCES, FITBIT_MEASUREMENTS as FITBIT_MEASUREMENTS, FITBIT_RESOURCES_KEYS as FITBIT_RESOURCES_KEYS, FITBIT_RESOURCES_LIST as FITBIT_RESOURCES_LIST, FITBIT_RESOURCE_BATTERY as FITBIT_RESOURCE_BATTERY, FitbitSensorEntityDescription as FitbitSensorEntityDescription
1
+ from .const import ATTRIBUTION as ATTRIBUTION, ATTR_ACCESS_TOKEN as ATTR_ACCESS_TOKEN, ATTR_LAST_SAVED_AT as ATTR_LAST_SAVED_AT, ATTR_REFRESH_TOKEN as ATTR_REFRESH_TOKEN, BATTERY_LEVELS as BATTERY_LEVELS, CONF_CLOCK_FORMAT as CONF_CLOCK_FORMAT, CONF_MONITORED_RESOURCES as CONF_MONITORED_RESOURCES, DEFAULT_CLOCK_FORMAT as DEFAULT_CLOCK_FORMAT, DEFAULT_CONFIG as DEFAULT_CONFIG, FITBIT_AUTH_CALLBACK_PATH as FITBIT_AUTH_CALLBACK_PATH, FITBIT_AUTH_START as FITBIT_AUTH_START, FITBIT_CONFIG_FILE as FITBIT_CONFIG_FILE, FITBIT_DEFAULT_RESOURCES as FITBIT_DEFAULT_RESOURCES, FITBIT_MEASUREMENTS as FITBIT_MEASUREMENTS
2
2
  from _typeshed import Incomplete
3
3
  from aiohttp.web import Request as Request
4
4
  from fitbit import Fitbit
5
5
  from fitbit.api import FitbitOauth2Client
6
6
  from homeassistant.components import configurator as configurator
7
7
  from homeassistant.components.http import HomeAssistantView as HomeAssistantView
8
- from homeassistant.components.sensor import SensorEntity as SensorEntity
9
- from homeassistant.const import CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_CLIENT_SECRET as CONF_CLIENT_SECRET, CONF_UNIT_SYSTEM as CONF_UNIT_SYSTEM
8
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
+ from homeassistant.const import CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_CLIENT_SECRET as CONF_CLIENT_SECRET, CONF_UNIT_SYSTEM as CONF_UNIT_SYSTEM, PERCENTAGE as PERCENTAGE, UnitOfTime as UnitOfTime
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
12
  from homeassistant.helpers.icon import icon_for_battery_level as icon_for_battery_level
@@ -20,6 +20,14 @@ from typing import Any, Final
20
20
  _LOGGER: Final[Incomplete]
21
21
  _CONFIGURING: dict[str, str]
22
22
  SCAN_INTERVAL: Final[Incomplete]
23
+
24
+ class FitbitSensorEntityDescription(SensorEntityDescription):
25
+ unit_type: str | None
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, unit_type) -> None: ...
27
+
28
+ FITBIT_RESOURCES_LIST: Final[tuple[FitbitSensorEntityDescription, ...]]
29
+ FITBIT_RESOURCE_BATTERY: Incomplete
30
+ FITBIT_RESOURCES_KEYS: Final[list[str]]
23
31
  PLATFORM_SCHEMA: Final[Incomplete]
24
32
 
25
33
  def request_app_setup(hass: HomeAssistant, config: ConfigType, add_entities: AddEntitiesCallback, config_path: str, discovery_info: DiscoveryInfoType | None = ...) -> None: ...
@@ -41,11 +41,7 @@ class Interface(TypedDict):
41
41
  ssid: str | None
42
42
  type: str
43
43
 
44
- class HostInfo(TypedDict):
45
- mac: str
46
- name: str
47
- ip: str
48
- status: bool
44
+ HostAttributes = TypedDict('HostAttributes', {'Index': int, 'IPAddress': str, 'MACAddress': str, 'Active': bool, 'HostName': str, 'InterfaceType': str, 'X_AVM-DE_Port': int, 'X_AVM-DE_Speed': int, 'X_AVM-DE_UpdateAvailable': bool, 'X_AVM-DE_UpdateSuccessful': str, 'X_AVM-DE_InfoURL': str | None, 'X_AVM-DE_MACAddressList': str | None, 'X_AVM-DE_Model': str | None, 'X_AVM-DE_URL': str | None, 'X_AVM-DE_Guest': bool, 'X_AVM-DE_RequestClient': str, 'X_AVM-DE_VPN': bool, 'X_AVM-DE_WANAccess': str, 'X_AVM-DE_Disallow': bool, 'X_AVM-DE_IsMeshable': str, 'X_AVM-DE_Priority': str, 'X_AVM-DE_FriendlyName': str, 'X_AVM-DE_FriendlyNameIsWriteable': str})
49
45
 
50
46
  class UpdateCoordinatorDataType(TypedDict):
51
47
  call_deflections: dict[int, dict]
@@ -99,11 +95,10 @@ class FritzBoxTools(update_coordinator.DataUpdateCoordinator[UpdateCoordinatorDa
99
95
  def signal_device_new(self) -> str: ...
100
96
  @property
101
97
  def signal_device_update(self) -> str: ...
102
- async def _async_update_hosts_info(self) -> list[HostInfo]: ...
98
+ async def _async_update_hosts_info(self) -> list[HostAttributes]: ...
103
99
  def _update_device_info(self) -> tuple[bool, str | None, str | None]: ...
104
100
  async def _async_update_device_info(self) -> tuple[bool, str | None, str | None]: ...
105
101
  async def async_update_call_deflections(self) -> dict[int, dict[str, Any]]: ...
106
- async def _async_get_wan_access(self, ip_address: str) -> bool | None: ...
107
102
  def manage_device_info(self, dev_info: Device, dev_mac: str, consider_home: bool) -> bool: ...
108
103
  async def async_send_signal_device_update(self, new_device: bool) -> None: ...
109
104
  async def async_scan_devices(self, now: datetime | None = ...) -> None: ...
@@ -1,5 +1,5 @@
1
1
  from _typeshed import Incomplete
2
- from homeassistant.backports.enum import StrEnum as StrEnum
2
+ from enum import StrEnum
3
3
  from homeassistant.const import Platform as Platform
4
4
  from typing import Literal
5
5
 
@@ -2,8 +2,8 @@ import voluptuous as vol
2
2
  from .base import FritzBoxPhonebook as FritzBoxPhonebook
3
3
  from .const import CONF_PHONEBOOK as CONF_PHONEBOOK, CONF_PREFIXES as CONF_PREFIXES, DEFAULT_HOST as DEFAULT_HOST, DEFAULT_PHONEBOOK as DEFAULT_PHONEBOOK, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_USERNAME as DEFAULT_USERNAME, DOMAIN as DOMAIN, FRITZ_ATTR_NAME as FRITZ_ATTR_NAME, FRITZ_ATTR_SERIAL_NUMBER as FRITZ_ATTR_SERIAL_NUMBER, SERIAL_NUMBER as SERIAL_NUMBER
4
4
  from _typeshed import Incomplete
5
+ from enum import StrEnum
5
6
  from homeassistant import config_entries as config_entries
6
- from homeassistant.backports.enum import StrEnum as StrEnum
7
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
8
8
  from homeassistant.core import callback as callback
9
9
  from homeassistant.data_entry_flow import FlowResult as FlowResult
@@ -1,5 +1,5 @@
1
1
  from _typeshed import Incomplete
2
- from homeassistant.backports.enum import StrEnum as StrEnum
2
+ from enum import StrEnum
3
3
  from homeassistant.const import Platform as Platform
4
4
  from typing import Final
5
5
 
@@ -3,7 +3,7 @@ from .base import FritzBoxPhonebook as FritzBoxPhonebook
3
3
  from .const import ATTR_PREFIXES as ATTR_PREFIXES, CONF_PHONEBOOK as CONF_PHONEBOOK, CONF_PREFIXES as CONF_PREFIXES, DOMAIN as DOMAIN, FRITZBOX_PHONEBOOK as FRITZBOX_PHONEBOOK, FritzState as FritzState, ICON_PHONE as ICON_PHONE, MANUFACTURER as MANUFACTURER, SERIAL_NUMBER as SERIAL_NUMBER
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Mapping
6
- from homeassistant.backports.enum import StrEnum as StrEnum
6
+ from enum import StrEnum
7
7
  from homeassistant.components.sensor import SensorEntity as SensorEntity
8
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
9
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
@@ -1,13 +1,16 @@
1
- from .const import DOMAIN as DOMAIN, FroniusDeviceInfo as FroniusDeviceInfo, SOLAR_NET_ID_SYSTEM as SOLAR_NET_ID_SYSTEM
1
+ from .const import DOMAIN as DOMAIN, FroniusDeviceInfo as FroniusDeviceInfo, SOLAR_NET_DISCOVERY_NEW as SOLAR_NET_DISCOVERY_NEW, SOLAR_NET_ID_SYSTEM as SOLAR_NET_ID_SYSTEM, SOLAR_NET_RESCAN_TIMER as SOLAR_NET_RESCAN_TIMER
2
2
  from .coordinator import FroniusCoordinatorBase as FroniusCoordinatorBase, FroniusInverterUpdateCoordinator as FroniusInverterUpdateCoordinator, FroniusLoggerUpdateCoordinator as FroniusLoggerUpdateCoordinator, FroniusMeterUpdateCoordinator as FroniusMeterUpdateCoordinator, FroniusOhmpilotUpdateCoordinator as FroniusOhmpilotUpdateCoordinator, FroniusPowerFlowUpdateCoordinator as FroniusPowerFlowUpdateCoordinator, FroniusStorageUpdateCoordinator as FroniusStorageUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from datetime import datetime
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
6
7
  from homeassistant.const import ATTR_MODEL as ATTR_MODEL, ATTR_SW_VERSION as ATTR_SW_VERSION, CONF_HOST as CONF_HOST, Platform as Platform
7
8
  from homeassistant.core import HomeAssistant as HomeAssistant
8
9
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
9
10
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
11
+ from homeassistant.helpers.dispatcher import dispatcher_send as dispatcher_send
10
12
  from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
13
+ from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
11
14
  from pyfronius import Fronius
12
15
  from typing import Final, TypeVar
13
16
 
@@ -36,6 +39,7 @@ class FroniusSolarNet:
36
39
  def __init__(self, hass: HomeAssistant, entry: ConfigEntry, fronius: Fronius) -> None: ...
37
40
  async def init_devices(self) -> None: ...
38
41
  async def _create_solar_net_device(self) -> DeviceInfo: ...
42
+ async def _init_devices_inverter(self, _now: datetime | None = ...) -> None: ...
39
43
  async def _get_inverter_infos(self) -> list[FroniusDeviceInfo]: ...
40
44
  @staticmethod
41
45
  async def _init_optional_coordinator(coordinator: _FroniusCoordinatorT) -> _FroniusCoordinatorT | None: ...
@@ -3,8 +3,10 @@ from typing import Final, NamedTuple, TypedDict
3
3
 
4
4
  DOMAIN: Final[str]
5
5
  SolarNetId = str
6
+ SOLAR_NET_DISCOVERY_NEW: Final[str]
6
7
  SOLAR_NET_ID_POWER_FLOW: SolarNetId
7
8
  SOLAR_NET_ID_SYSTEM: SolarNetId
9
+ SOLAR_NET_RESCAN_TIMER: Final[int]
8
10
 
9
11
  class FroniusConfigEntryData(TypedDict):
10
12
  host: str
@@ -1,11 +1,12 @@
1
1
  from . import FroniusSolarNet as FroniusSolarNet
2
- from .const import DOMAIN as DOMAIN
2
+ from .const import DOMAIN as DOMAIN, SOLAR_NET_DISCOVERY_NEW as SOLAR_NET_DISCOVERY_NEW
3
3
  from .coordinator import FroniusCoordinatorBase as FroniusCoordinatorBase, FroniusInverterUpdateCoordinator as FroniusInverterUpdateCoordinator, FroniusLoggerUpdateCoordinator as FroniusLoggerUpdateCoordinator, FroniusMeterUpdateCoordinator as FroniusMeterUpdateCoordinator, FroniusOhmpilotUpdateCoordinator as FroniusOhmpilotUpdateCoordinator, FroniusPowerFlowUpdateCoordinator as FroniusPowerFlowUpdateCoordinator, FroniusStorageUpdateCoordinator as FroniusStorageUpdateCoordinator
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, POWER_VOLT_AMPERE_REACTIVE as POWER_VOLT_AMPERE_REACTIVE, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
+ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
9
10
  from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
10
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
12
  from homeassistant.helpers.typing import StateType as StateType
@@ -78,10 +78,11 @@ class Panel:
78
78
  frontend_url_path: str | None
79
79
  config: dict[str, Any] | None
80
80
  require_admin: bool
81
- def __init__(self, component_name: str, sidebar_title: str | None, sidebar_icon: str | None, frontend_url_path: str | None, config: dict[str, Any] | None, require_admin: bool) -> None: ...
81
+ config_panel_domain: str | None
82
+ def __init__(self, component_name: str, sidebar_title: str | None, sidebar_icon: str | None, frontend_url_path: str | None, config: dict[str, Any] | None, require_admin: bool, config_panel_domain: str | None) -> None: ...
82
83
  def to_response(self) -> PanelRespons: ...
83
84
 
84
- def async_register_built_in_panel(hass: HomeAssistant, component_name: str, sidebar_title: str | None = ..., sidebar_icon: str | None = ..., frontend_url_path: str | None = ..., config: dict[str, Any] | None = ..., require_admin: bool = ..., *, update: bool = ...) -> None: ...
85
+ def async_register_built_in_panel(hass: HomeAssistant, component_name: str, sidebar_title: str | None = ..., sidebar_icon: str | None = ..., frontend_url_path: str | None = ..., config: dict[str, Any] | None = ..., require_admin: bool = ..., *, update: bool = ..., config_panel_domain: str | None = ...) -> None: ...
85
86
  def async_remove_panel(hass: HomeAssistant, frontend_url_path: str) -> None: ...
86
87
  def add_extra_js_url(hass: HomeAssistant, url: str, es5: bool = ...) -> None: ...
87
88
  def add_manifest_json_key(key: str, val: Any) -> None: ...
@@ -127,3 +128,4 @@ class PanelRespons(TypedDict):
127
128
  config: dict[str, Any] | None
128
129
  url_path: str | None
129
130
  require_admin: bool
131
+ config_panel_domain: str | None
@@ -1,12 +1,12 @@
1
1
  from . import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import CONF_EVENT as CONF_EVENT, CONF_PLATFORM as CONF_PLATFORM, CONF_SOURCE as CONF_SOURCE, CONF_ZONE as CONF_ZONE
4
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, State as State, callback as callback
4
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HomeAssistant as HomeAssistant, State as State, callback as callback
5
5
  from homeassistant.helpers import condition as condition
6
6
  from homeassistant.helpers.config_validation import entity_domain as entity_domain
7
- from homeassistant.helpers.event import TrackStates as TrackStates, async_track_state_change_filtered as async_track_state_change_filtered
7
+ from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, TrackStates as TrackStates, async_track_state_change_filtered as async_track_state_change_filtered
8
8
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
9
- from homeassistant.helpers.typing import ConfigType as ConfigType
9
+ from homeassistant.helpers.typing import ConfigType as ConfigType, EventType as EventType
10
10
  from typing import Final
11
11
 
12
12
  _LOGGER: Incomplete