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
@@ -1,15 +1,15 @@
1
- from .const import ATTR_WEATHER_APPARENT_TEMPERATURE as ATTR_WEATHER_APPARENT_TEMPERATURE, ATTR_WEATHER_CLOUD_COVERAGE as ATTR_WEATHER_CLOUD_COVERAGE, ATTR_WEATHER_DEW_POINT as ATTR_WEATHER_DEW_POINT, ATTR_WEATHER_HUMIDITY as ATTR_WEATHER_HUMIDITY, ATTR_WEATHER_OZONE as ATTR_WEATHER_OZONE, ATTR_WEATHER_PRECIPITATION_UNIT as ATTR_WEATHER_PRECIPITATION_UNIT, ATTR_WEATHER_PRESSURE as ATTR_WEATHER_PRESSURE, ATTR_WEATHER_PRESSURE_UNIT as ATTR_WEATHER_PRESSURE_UNIT, ATTR_WEATHER_TEMPERATURE as ATTR_WEATHER_TEMPERATURE, ATTR_WEATHER_TEMPERATURE_UNIT as ATTR_WEATHER_TEMPERATURE_UNIT, ATTR_WEATHER_VISIBILITY as ATTR_WEATHER_VISIBILITY, ATTR_WEATHER_VISIBILITY_UNIT as ATTR_WEATHER_VISIBILITY_UNIT, ATTR_WEATHER_WIND_BEARING as ATTR_WEATHER_WIND_BEARING, ATTR_WEATHER_WIND_GUST_SPEED as ATTR_WEATHER_WIND_GUST_SPEED, ATTR_WEATHER_WIND_SPEED as ATTR_WEATHER_WIND_SPEED, ATTR_WEATHER_WIND_SPEED_UNIT as ATTR_WEATHER_WIND_SPEED_UNIT, DOMAIN as DOMAIN, UNIT_CONVERSIONS as UNIT_CONVERSIONS, VALID_UNITS as VALID_UNITS
1
+ from .const import ATTR_WEATHER_APPARENT_TEMPERATURE as ATTR_WEATHER_APPARENT_TEMPERATURE, ATTR_WEATHER_CLOUD_COVERAGE as ATTR_WEATHER_CLOUD_COVERAGE, ATTR_WEATHER_DEW_POINT as ATTR_WEATHER_DEW_POINT, ATTR_WEATHER_HUMIDITY as ATTR_WEATHER_HUMIDITY, ATTR_WEATHER_OZONE as ATTR_WEATHER_OZONE, ATTR_WEATHER_PRECIPITATION_UNIT as ATTR_WEATHER_PRECIPITATION_UNIT, ATTR_WEATHER_PRESSURE as ATTR_WEATHER_PRESSURE, ATTR_WEATHER_PRESSURE_UNIT as ATTR_WEATHER_PRESSURE_UNIT, ATTR_WEATHER_TEMPERATURE as ATTR_WEATHER_TEMPERATURE, ATTR_WEATHER_TEMPERATURE_UNIT as ATTR_WEATHER_TEMPERATURE_UNIT, ATTR_WEATHER_UV_INDEX as ATTR_WEATHER_UV_INDEX, ATTR_WEATHER_VISIBILITY as ATTR_WEATHER_VISIBILITY, ATTR_WEATHER_VISIBILITY_UNIT as ATTR_WEATHER_VISIBILITY_UNIT, ATTR_WEATHER_WIND_BEARING as ATTR_WEATHER_WIND_BEARING, ATTR_WEATHER_WIND_GUST_SPEED as ATTR_WEATHER_WIND_GUST_SPEED, ATTR_WEATHER_WIND_SPEED as ATTR_WEATHER_WIND_SPEED, ATTR_WEATHER_WIND_SPEED_UNIT as ATTR_WEATHER_WIND_SPEED_UNIT, DOMAIN as DOMAIN, UNIT_CONVERSIONS as UNIT_CONVERSIONS, VALID_UNITS as VALID_UNITS, WeatherEntityFeature as WeatherEntityFeature
2
2
  from _typeshed import Incomplete
3
+ from collections.abc import Callable as Callable, Iterable
3
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
5
  from homeassistant.const import PRECISION_HALVES as PRECISION_HALVES, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
5
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
6
7
  from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE
7
8
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
8
9
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
9
10
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
11
  from homeassistant.util.unit_system import US_CUSTOMARY_SYSTEM as US_CUSTOMARY_SYSTEM
11
- from typing import Any, Final, TypedDict
12
- from typing_extensions import Required
12
+ from typing import Any, Final, Literal, Required, TypedDict
13
13
 
14
14
  _LOGGER: Incomplete
15
15
  ATTR_CONDITION_CLASS: str
@@ -29,6 +29,7 @@ ATTR_CONDITION_SUNNY: str
29
29
  ATTR_CONDITION_WINDY: str
30
30
  ATTR_CONDITION_WINDY_VARIANT: str
31
31
  ATTR_FORECAST: str
32
+ ATTR_FORECAST_IS_DAYTIME: Final[str]
32
33
  ATTR_FORECAST_CONDITION: Final[str]
33
34
  ATTR_FORECAST_HUMIDITY: Final[str]
34
35
  ATTR_FORECAST_NATIVE_PRECIPITATION: Final[str]
@@ -51,6 +52,7 @@ ATTR_FORECAST_WIND_SPEED: Final[str]
51
52
  ATTR_FORECAST_NATIVE_DEW_POINT: Final[str]
52
53
  ATTR_FORECAST_DEW_POINT: Final[str]
53
54
  ATTR_FORECAST_CLOUD_COVERAGE: Final[str]
55
+ ATTR_FORECAST_UV_INDEX: Final[str]
54
56
  ENTITY_ID_FORMAT: Incomplete
55
57
  SCAN_INTERVAL: Incomplete
56
58
  ROUNDING_PRECISION: int
@@ -77,6 +79,8 @@ class Forecast(TypedDict, total=False):
77
79
  native_wind_speed: float | None
78
80
  wind_speed: None
79
81
  native_dew_point: float | None
82
+ uv_index: float | None
83
+ is_daytime: bool | None
80
84
 
81
85
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
82
86
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -92,6 +96,7 @@ class WeatherEntity(Entity):
92
96
  _attr_humidity: float | None
93
97
  _attr_ozone: float | None
94
98
  _attr_cloud_coverage: int | None
99
+ _attr_uv_index: float | None
95
100
  _attr_precision: float
96
101
  _attr_pressure: None
97
102
  _attr_pressure_unit: None
@@ -116,6 +121,7 @@ class WeatherEntity(Entity):
116
121
  _attr_native_wind_speed: float | None
117
122
  _attr_native_wind_speed_unit: str | None
118
123
  _attr_native_dew_point: float | None
124
+ _forecast_listeners: dict[Literal['daily', 'hourly', 'twice_daily'], list[Callable[[list[dict[str, Any]] | None], None]]]
119
125
  _weather_option_temperature_unit: str | None
120
126
  _weather_option_pressure_unit: str | None
121
127
  _weather_option_visibility_unit: str | None
@@ -174,6 +180,8 @@ class WeatherEntity(Entity):
174
180
  @property
175
181
  def cloud_coverage(self) -> float | None: ...
176
182
  @property
183
+ def uv_index(self) -> float | None: ...
184
+ @property
177
185
  def visibility(self) -> float | None: ...
178
186
  @property
179
187
  def native_visibility(self) -> float | None: ...
@@ -187,6 +195,9 @@ class WeatherEntity(Entity):
187
195
  def _visibility_unit(self) -> str: ...
188
196
  @property
189
197
  def forecast(self) -> list[Forecast] | None: ...
198
+ async def async_forecast_daily(self) -> list[Forecast] | None: ...
199
+ async def async_forecast_twice_daily(self) -> list[Forecast] | None: ...
200
+ async def async_forecast_hourly(self) -> list[Forecast] | None: ...
190
201
  @property
191
202
  def native_precipitation_unit(self) -> str | None: ...
192
203
  @property
@@ -199,8 +210,11 @@ class WeatherEntity(Entity):
199
210
  def precision(self) -> float: ...
200
211
  @property
201
212
  def state_attributes(self) -> dict[str, Any]: ...
213
+ def _convert_forecast(self, native_forecast_list: list[Forecast]) -> list[dict[str, Any]]: ...
202
214
  @property
203
215
  def state(self) -> str | None: ...
204
216
  @property
205
217
  def condition(self) -> str | None: ...
206
218
  def async_registry_entry_updated(self) -> None: ...
219
+ def async_subscribe_forecast(self, forecast_type: Literal['daily', 'hourly', 'twice_daily'], forecast_listener: Callable[[list[dict[str, Any]] | None], None]) -> CALLBACK_TYPE: ...
220
+ async def async_update_listeners(self, forecast_types: Iterable[Literal['daily', 'hourly', 'twice_daily']] | None) -> None: ...
@@ -1,8 +1,14 @@
1
1
  from collections.abc import Callable as Callable
2
+ from enum import IntFlag
2
3
  from homeassistant.const import UnitOfLength as UnitOfLength, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
3
4
  from homeassistant.util.unit_conversion import DistanceConverter as DistanceConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter
4
5
  from typing import Final
5
6
 
7
+ class WeatherEntityFeature(IntFlag):
8
+ FORECAST_DAILY: int
9
+ FORECAST_HOURLY: int
10
+ FORECAST_TWICE_DAILY: int
11
+
6
12
  ATTR_WEATHER_HUMIDITY: str
7
13
  ATTR_WEATHER_OZONE: str
8
14
  ATTR_WEATHER_DEW_POINT: str
@@ -19,6 +25,7 @@ ATTR_WEATHER_WIND_SPEED: str
19
25
  ATTR_WEATHER_WIND_SPEED_UNIT: str
20
26
  ATTR_WEATHER_PRECIPITATION_UNIT: str
21
27
  ATTR_WEATHER_CLOUD_COVERAGE: str
28
+ ATTR_WEATHER_UV_INDEX: str
22
29
  DOMAIN: Final[str]
23
30
  VALID_UNITS_PRESSURE: set[str]
24
31
  VALID_UNITS_TEMPERATURE: set[str]
@@ -1,7 +1,12 @@
1
- from .const import VALID_UNITS as VALID_UNITS
1
+ from .const import DOMAIN as DOMAIN, VALID_UNITS as VALID_UNITS, WeatherEntityFeature as WeatherEntityFeature
2
+ from _typeshed import Incomplete
2
3
  from homeassistant.components import websocket_api as websocket_api
3
4
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
5
+ from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
4
6
  from typing import Any
5
7
 
8
+ FORECAST_TYPE_TO_FLAG: Incomplete
9
+
6
10
  def async_setup(hass: HomeAssistant) -> None: ...
7
11
  def ws_convertible_units(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
12
+ async def ws_subscribe_forecast(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -27,6 +27,6 @@ class AuthPhase:
27
27
  _cancel_ws: Incomplete
28
28
  _logger: Incomplete
29
29
  _request: Incomplete
30
- def __init__(self, logger: WebSocketAdapter, hass: HomeAssistant, send_message: Callable[[str | dict[str, Any] | Callable[[], str]], None], cancel_ws: CALLBACK_TYPE, request: Request) -> None: ...
30
+ def __init__(self, logger: WebSocketAdapter, hass: HomeAssistant, send_message: Callable[[str | dict[str, Any]], None], cancel_ws: CALLBACK_TYPE, request: Request) -> None: ...
31
31
  async def async_handle(self, msg: JsonValueType) -> ActiveConnection: ...
32
32
  async def _async_finish_auth(self, user: User, refresh_token: RefreshToken) -> ActiveConnection: ...
@@ -3,15 +3,17 @@ from .connection import ActiveConnection as ActiveConnection
3
3
  from .const import ERR_NOT_FOUND as ERR_NOT_FOUND
4
4
  from .messages import construct_event_message as construct_event_message, construct_result_message as construct_result_message
5
5
  from collections.abc import Callable as Callable
6
+ from homeassistant.auth.models import User as User
6
7
  from homeassistant.auth.permissions.const import CAT_ENTITIES as CAT_ENTITIES, POLICY_READ as POLICY_READ
7
8
  from homeassistant.const import EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, MATCH_ALL as MATCH_ALL, SIGNAL_BOOTSTRAP_INTEGRATIONS as SIGNAL_BOOTSTRAP_INTEGRATIONS
8
9
  from homeassistant.core import Context as Context, Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback
9
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceNotFound as ServiceNotFound, TemplateError as TemplateError, Unauthorized as Unauthorized
10
11
  from homeassistant.helpers import entity as entity, template as template
11
12
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
12
- from homeassistant.helpers.event import TrackTemplate as TrackTemplate, TrackTemplateResult as TrackTemplateResult, async_track_template_result as async_track_template_result
13
+ from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, TrackTemplate as TrackTemplate, TrackTemplateResult as TrackTemplateResult, async_track_template_result as async_track_template_result
13
14
  from homeassistant.helpers.json import ExtendedJSONEncoder as ExtendedJSONEncoder, JSON_DUMP as JSON_DUMP, find_paths_unserializable_data as find_paths_unserializable_data, json_dumps as json_dumps
14
15
  from homeassistant.helpers.service import async_get_all_descriptions as async_get_all_descriptions
16
+ from homeassistant.helpers.typing import EventType as EventType
15
17
  from homeassistant.loader import Integration as Integration, IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration, async_get_integration_descriptions as async_get_integration_descriptions, async_get_integrations as async_get_integrations
16
18
  from homeassistant.setup import DATA_SETUP_TIME as DATA_SETUP_TIME, async_get_loaded_integrations as async_get_loaded_integrations
17
19
  from homeassistant.util.json import format_unserializable_data as format_unserializable_data
@@ -21,6 +23,8 @@ ALL_SERVICE_DESCRIPTIONS_JSON_CACHE: str
21
23
 
22
24
  def async_register_commands(hass: HomeAssistant, async_reg: Callable[[HomeAssistant, const.WebSocketCommandHandler], None]) -> None: ...
23
25
  def pong_message(iden: int) -> dict[str, Any]: ...
26
+ def _forward_events_check_permissions(send_message: Callable[[str | dict[str, Any] | Callable[[], str]], None], user: User, msg_id: int, event: Event) -> None: ...
27
+ def _forward_events_unconditional(send_message: Callable[[str | dict[str, Any] | Callable[[], str]], None], msg_id: int, event: Event) -> None: ...
24
28
  def handle_subscribe_events(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
25
29
  def handle_subscribe_bootstrap_integrations(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
26
30
  def handle_unsubscribe_events(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -28,6 +32,7 @@ async def handle_call_service(hass: HomeAssistant, connection: ActiveConnection,
28
32
  def _async_get_allowed_states(hass: HomeAssistant, connection: ActiveConnection) -> list[State]: ...
29
33
  def handle_get_states(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
30
34
  def _send_handle_get_states_response(connection: ActiveConnection, msg_id: int, serialized_states: list[str]) -> None: ...
35
+ def _forward_entity_changes(send_message: Callable[[str | dict[str, Any] | Callable[[], str]], None], entity_ids: set[str], user: User, msg_id: int, event: Event) -> None: ...
31
36
  def handle_subscribe_entities(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
32
37
  def _send_handle_entities_init_response(connection: ActiveConnection, msg_id: int, serialized_states: list[str]) -> None: ...
33
38
  async def _async_get_all_descriptions_json(hass: HomeAssistant) -> str: ...
@@ -16,6 +16,7 @@ MessageHandler: Incomplete
16
16
  BinaryHandler: Incomplete
17
17
 
18
18
  class ActiveConnection:
19
+ __slots__: Incomplete
19
20
  logger: Incomplete
20
21
  hass: Incomplete
21
22
  send_message: Incomplete
@@ -27,7 +28,7 @@ class ActiveConnection:
27
28
  supported_features: Incomplete
28
29
  handlers: Incomplete
29
30
  binary_handlers: Incomplete
30
- def __init__(self, logger: WebSocketAdapter, hass: HomeAssistant, send_message: Callable[[str | dict[str, Any] | Callable[[], str]], None], user: User, refresh_token: RefreshToken) -> None: ...
31
+ def __init__(self, logger: WebSocketAdapter, hass: HomeAssistant, send_message: Callable[[str | dict[str, Any]], None], user: User, refresh_token: RefreshToken) -> None: ...
31
32
  def __repr__(self) -> str: ...
32
33
  def set_supported_features(self, features: dict[str, float]) -> None: ...
33
34
  def get_description(self, request: web.Request | None) -> str: ...
@@ -29,6 +29,7 @@ class WebSocketAdapter(logging.LoggerAdapter):
29
29
  def process(self, msg: str, kwargs: Any) -> tuple[str, Any]: ...
30
30
 
31
31
  class WebSocketHandler:
32
+ __slots__: Incomplete
32
33
  _hass: Incomplete
33
34
  _request: Incomplete
34
35
  _wsock: Incomplete
@@ -47,7 +48,7 @@ class WebSocketHandler:
47
48
  def description(self) -> str: ...
48
49
  async def _writer(self) -> None: ...
49
50
  def _cancel_peak_checker(self) -> None: ...
50
- def _send_message(self, message: str | dict[str, Any] | Callable[[], str]) -> None: ...
51
+ def _send_message(self, message: str | dict[str, Any]) -> None: ...
51
52
  def _check_write_peak(self, _utc_time: dt.datetime) -> None: ...
52
53
  def _cancel(self) -> None: ...
53
54
  async def async_handle(self) -> web.WebSocketResponse: ...
@@ -1,21 +1,23 @@
1
1
  import pywemo
2
2
  from .const import DOMAIN as DOMAIN
3
- from .wemo_device import async_register_device as async_register_device
3
+ from .models import WemoConfigEntryData as WemoConfigEntryData, WemoData as WemoData, async_wemo_data as async_wemo_data
4
+ from .wemo_device import DeviceCoordinator as DeviceCoordinator, async_register_device as async_register_device
4
5
  from _typeshed import Incomplete
5
- from collections.abc import Sequence
6
+ from collections.abc import Callable, Coroutine, Sequence
6
7
  from datetime import datetime
7
8
  from homeassistant import config_entries as config_entries
8
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
10
  from homeassistant.const import CONF_DISCOVERY as CONF_DISCOVERY, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
10
11
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, callback as callback
11
- from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
12
12
  from homeassistant.helpers.event import async_call_later as async_call_later
13
13
  from homeassistant.helpers.typing import ConfigType as ConfigType
14
14
  from homeassistant.util.async_ import gather_with_concurrency as gather_with_concurrency
15
+ from typing import Any
15
16
 
16
17
  MAX_CONCURRENCY: int
17
18
  WEMO_MODEL_DISPATCH: Incomplete
18
19
  _LOGGER: Incomplete
20
+ DispatchCallback = Callable[[DeviceCoordinator], Coroutine[Any, Any, None]]
19
21
  HostPortTuple: Incomplete
20
22
 
21
23
  def coerce_host_port(value: str) -> HostPortTuple: ...
@@ -27,14 +29,18 @@ CONFIG_SCHEMA: Incomplete
27
29
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
28
30
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
29
31
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
32
+ async def async_wemo_dispatcher_connect(hass: HomeAssistant, dispatch: DispatchCallback) -> None: ...
30
33
 
31
34
  class WemoDispatcher:
32
35
  _config_entry: Incomplete
33
36
  _added_serial_numbers: Incomplete
34
37
  _failed_serial_numbers: Incomplete
35
- _loaded_platforms: Incomplete
38
+ _dispatch_backlog: Incomplete
39
+ _dispatch_callbacks: Incomplete
36
40
  def __init__(self, config_entry: ConfigEntry) -> None: ...
37
41
  async def async_add_unique_device(self, hass: HomeAssistant, wemo: pywemo.WeMoDevice) -> None: ...
42
+ async def async_connect_platform(self, platform: Platform, dispatch: DispatchCallback) -> None: ...
43
+ async def async_unload_platforms(self, hass: HomeAssistant) -> bool: ...
38
44
 
39
45
  class WemoDiscovery:
40
46
  ADDITIONAL_SECONDS_BETWEEN_SCANS: int
@@ -1,13 +1,13 @@
1
+ from . import async_wemo_dispatcher_connect as async_wemo_dispatcher_connect
1
2
  from .entity import WemoBinaryStateEntity as WemoBinaryStateEntity, WemoEntity as WemoEntity
2
3
  from .wemo_device import DeviceCoordinator as DeviceCoordinator
3
4
  from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity
4
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant
6
- from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
7
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
8
8
  from pywemo import Insight, Maker
9
9
 
10
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
10
+ async def async_setup_entry(hass: HomeAssistant, _config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
11
11
 
12
12
  class WemoBinarySensor(WemoBinaryStateEntity, BinarySensorEntity): ...
13
13
 
@@ -1,3 +1,4 @@
1
+ from . import async_wemo_dispatcher_connect as async_wemo_dispatcher_connect
1
2
  from .const import SERVICE_RESET_FILTER_LIFE as SERVICE_RESET_FILTER_LIFE, SERVICE_SET_HUMIDITY as SERVICE_SET_HUMIDITY
2
3
  from .entity import WemoBinaryStateEntity as WemoBinaryStateEntity
3
4
  from .wemo_device import DeviceCoordinator as DeviceCoordinator
@@ -6,7 +7,6 @@ from homeassistant.components.fan import FanEntity as FanEntity, FanEntityFeatur
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
9
  from homeassistant.helpers import entity_platform as entity_platform
9
- from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from homeassistant.util.percentage import int_states_in_range as int_states_in_range, percentage_to_ranged_value as percentage_to_ranged_value, ranged_value_to_percentage as ranged_value_to_percentage
12
12
  from pywemo import FanMode, Humidifier as Humidifier
@@ -23,7 +23,7 @@ ATTR_WATER_LEVEL: str
23
23
  SPEED_RANGE: Incomplete
24
24
  SET_HUMIDITY_SCHEMA: Incomplete
25
25
 
26
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
26
+ async def async_setup_entry(hass: HomeAssistant, _config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
27
27
 
28
28
  class WemoHumidifier(WemoBinaryStateEntity, FanEntity):
29
29
  _attr_supported_features: Incomplete
@@ -1,3 +1,4 @@
1
+ from . import async_wemo_dispatcher_connect as async_wemo_dispatcher_connect
1
2
  from .entity import WemoBinaryStateEntity as WemoBinaryStateEntity, WemoEntity as WemoEntity
2
3
  from .wemo_device import DeviceCoordinator as DeviceCoordinator
3
4
  from _typeshed import Incomplete
@@ -5,7 +6,6 @@ from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, A
5
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
8
  from homeassistant.helpers.device_registry import CONNECTION_ZIGBEE as CONNECTION_ZIGBEE
8
- from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
9
9
  from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from pywemo import BridgeLight as BridgeLight, Dimmer as Dimmer
@@ -0,0 +1,21 @@
1
+ import pywemo
2
+ from . import HostPortTuple as HostPortTuple, WemoDiscovery as WemoDiscovery, WemoDispatcher as WemoDispatcher
3
+ from .const import DOMAIN as DOMAIN
4
+ from .wemo_device import DeviceCoordinator as DeviceCoordinator
5
+ from collections.abc import Sequence
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
+
8
+ class WemoConfigEntryData:
9
+ device_coordinators: dict[str, 'DeviceCoordinator']
10
+ discovery: WemoDiscovery
11
+ dispatcher: WemoDispatcher
12
+ def __init__(self, device_coordinators, discovery, dispatcher) -> None: ...
13
+
14
+ class WemoData:
15
+ discovery_enabled: bool
16
+ static_config: Sequence['HostPortTuple']
17
+ registry: pywemo.SubscriptionRegistry
18
+ config_entry_data: WemoConfigEntryData
19
+ def __init__(self, discovery_enabled, static_config, registry, config_entry_data) -> None: ...
20
+
21
+ def async_wemo_data(hass: HomeAssistant) -> WemoData: ...
@@ -1,3 +1,4 @@
1
+ from . import async_wemo_dispatcher_connect as async_wemo_dispatcher_connect
1
2
  from .entity import WemoEntity as WemoEntity
2
3
  from .wemo_device import DeviceCoordinator as DeviceCoordinator
3
4
  from _typeshed import Incomplete
@@ -6,7 +7,6 @@ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceCla
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
8
  from homeassistant.const import UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower
8
9
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from homeassistant.helpers.typing import StateType as StateType
12
12
 
@@ -18,7 +18,7 @@ class AttributeSensorDescription(SensorEntityDescription):
18
18
 
19
19
  ATTRIBUTE_SENSORS: Incomplete
20
20
 
21
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
+ async def async_setup_entry(hass: HomeAssistant, _config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
22
 
23
23
  class AttributeSensor(WemoEntity, SensorEntity):
24
24
  entity_description: AttributeSensorDescription
@@ -1,3 +1,4 @@
1
+ from . import async_wemo_dispatcher_connect as async_wemo_dispatcher_connect
1
2
  from .entity import WemoBinaryStateEntity as WemoBinaryStateEntity
2
3
  from .wemo_device import DeviceCoordinator as DeviceCoordinator
3
4
  from _typeshed import Incomplete
@@ -5,7 +6,6 @@ from homeassistant.components.switch import SwitchEntity as SwitchEntity
5
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
7
  from homeassistant.const import STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_STANDBY as STATE_STANDBY, STATE_UNKNOWN as STATE_UNKNOWN
7
8
  from homeassistant.core import HomeAssistant as HomeAssistant
8
- from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
10
  from pywemo import Switch as Switch
11
11
  from typing import Any
@@ -23,7 +23,7 @@ ATTR_SWITCH_MODE: str
23
23
  MAKER_SWITCH_MOMENTARY: str
24
24
  MAKER_SWITCH_TOGGLE: str
25
25
 
26
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
26
+ async def async_setup_entry(hass: HomeAssistant, _config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
27
27
 
28
28
  class WemoSwitch(WemoBinaryStateEntity, SwitchEntity):
29
29
  wemo: Switch
@@ -1,4 +1,5 @@
1
1
  from .const import DOMAIN as DOMAIN, WEMO_SUBSCRIPTION_EVENT as WEMO_SUBSCRIPTION_EVENT
2
+ from .models import async_wemo_data as async_wemo_data
2
3
  from _typeshed import Incomplete
3
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
5
  from homeassistant.const import ATTR_CONFIGURATION_URL as ATTR_CONFIGURATION_URL, ATTR_IDENTIFIERS as ATTR_IDENTIFIERS, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_NAME as CONF_NAME, CONF_PARAMS as CONF_PARAMS, CONF_TYPE as CONF_TYPE, CONF_UNIQUE_ID as CONF_UNIQUE_ID
@@ -7,6 +8,7 @@ from homeassistant.helpers.device_registry import CONNECTION_UPNP as CONNECTION_
7
8
  from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
8
9
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
9
10
  from pywemo import WeMoDevice as WeMoDevice
11
+ from pywemo.subscribe import SubscriptionRegistry as SubscriptionRegistry
10
12
 
11
13
  _LOGGER: Incomplete
12
14
  ErrorStringKey: Incomplete
@@ -33,6 +35,7 @@ class DeviceCoordinator(DataUpdateCoordinator[None]):
33
35
  update_lock: Incomplete
34
36
  def __init__(self, hass: HomeAssistant, wemo: WeMoDevice, device_id: str) -> None: ...
35
37
  def subscription_callback(self, _device: WeMoDevice, event_type: str, params: str) -> None: ...
38
+ async def async_shutdown(self) -> None: ...
36
39
  async def _async_set_enable_subscription(self, enable_subscription: bool) -> None: ...
37
40
  async def _async_set_enable_long_press(self, enable_long_press: bool) -> None: ...
38
41
  async def async_set_options(self, hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
@@ -48,3 +51,5 @@ def _create_device_info(wemo: WeMoDevice) -> DeviceInfo: ...
48
51
  def _device_info(wemo: WeMoDevice) -> DeviceInfo: ...
49
52
  async def async_register_device(hass: HomeAssistant, config_entry: ConfigEntry, wemo: WeMoDevice) -> DeviceCoordinator: ...
50
53
  def async_get_coordinator(hass: HomeAssistant, device_id: str) -> DeviceCoordinator: ...
54
+ def _async_coordinators(hass: HomeAssistant) -> dict[str, DeviceCoordinator]: ...
55
+ def _async_registry(hass: HomeAssistant) -> SubscriptionRegistry: ...
@@ -16,7 +16,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_e
16
16
 
17
17
  class WizOccupancyEntity(WizEntity, BinarySensorEntity):
18
18
  _attr_device_class: Incomplete
19
- _attr_name: str
20
19
  _attr_unique_id: Incomplete
21
20
  def __init__(self, wiz_data: WizData, name: str) -> None: ...
22
21
  _attr_is_on: Incomplete
@@ -12,6 +12,5 @@ async def async_setup_entry(hass: HomeAssistant, entry: config_entries.ConfigEnt
12
12
 
13
13
  class YaleXSBLEDoorSensor(YALEXSBLEEntity, BinarySensorEntity):
14
14
  _attr_device_class: Incomplete
15
- _attr_has_entity_name: bool
16
15
  _attr_is_on: Incomplete
17
16
  def _async_update_state(self, new_state: LockState, lock_info: LockInfo, connection_info: ConnectionInfo) -> None: ...
@@ -7,6 +7,7 @@ from homeassistant.helpers.entity import DeviceInfo as DeviceInfo, Entity as Ent
7
7
  from yalexs_ble import ConnectionInfo as ConnectionInfo, LockInfo as LockInfo, LockState as LockState
8
8
 
9
9
  class YALEXSBLEEntity(Entity):
10
+ _attr_has_entity_name: bool
10
11
  _attr_should_poll: bool
11
12
  _data: Incomplete
12
13
  _device: Incomplete
@@ -12,7 +12,6 @@ from yalexs_ble import ConnectionInfo as ConnectionInfo, LockInfo as LockInfo, L
12
12
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
13
 
14
14
  class YaleXSBLELock(YALEXSBLEEntity, LockEntity):
15
- _attr_has_entity_name: bool
16
15
  _attr_name: Incomplete
17
16
  _attr_is_locked: bool
18
17
  _attr_is_locking: bool
@@ -1,10 +1,13 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
3
4
  from homeassistant.const import Platform as Platform
4
5
  from homeassistant.core import HomeAssistant as HomeAssistant
5
- from homeassistant.helpers.discovery import async_load_platform as async_load_platform
6
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
6
7
  from homeassistant.helpers.typing import ConfigType as ConfigType
7
8
 
8
9
  CONFIG_SCHEMA: Incomplete
9
10
 
10
11
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
12
+ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
13
+ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -0,0 +1,9 @@
1
+ from .const import DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
2
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow
3
+ from homeassistant.data_entry_flow import FlowResult as FlowResult
4
+ from typing import Any
5
+
6
+ class ZodiacConfigFlow(ConfigFlow, domain=DOMAIN):
7
+ VERSION: int
8
+ async def async_step_user(self, user_input: dict[str, Any] | None = ...) -> FlowResult: ...
9
+ async def async_step_import(self, user_input: dict[str, Any]) -> FlowResult: ...
@@ -1,4 +1,5 @@
1
1
  DOMAIN: str
2
+ DEFAULT_NAME: str
2
3
  SIGN_ARIES: str
3
4
  SIGN_TAURUS: str
4
5
  SIGN_GEMINI: str
@@ -1,22 +1,27 @@
1
- from .const import ATTR_ELEMENT as ATTR_ELEMENT, ATTR_MODALITY as ATTR_MODALITY, DOMAIN as DOMAIN, ELEMENT_AIR as ELEMENT_AIR, ELEMENT_EARTH as ELEMENT_EARTH, ELEMENT_FIRE as ELEMENT_FIRE, ELEMENT_WATER as ELEMENT_WATER, MODALITY_CARDINAL as MODALITY_CARDINAL, MODALITY_FIXED as MODALITY_FIXED, MODALITY_MUTABLE as MODALITY_MUTABLE, SIGN_AQUARIUS as SIGN_AQUARIUS, SIGN_ARIES as SIGN_ARIES, SIGN_CANCER as SIGN_CANCER, SIGN_CAPRICORN as SIGN_CAPRICORN, SIGN_GEMINI as SIGN_GEMINI, SIGN_LEO as SIGN_LEO, SIGN_LIBRA as SIGN_LIBRA, SIGN_PISCES as SIGN_PISCES, SIGN_SAGITTARIUS as SIGN_SAGITTARIUS, SIGN_SCORPIO as SIGN_SCORPIO, SIGN_TAURUS as SIGN_TAURUS, SIGN_VIRGO as SIGN_VIRGO
1
+ from .const import ATTR_ELEMENT as ATTR_ELEMENT, ATTR_MODALITY as ATTR_MODALITY, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN, ELEMENT_AIR as ELEMENT_AIR, ELEMENT_EARTH as ELEMENT_EARTH, ELEMENT_FIRE as ELEMENT_FIRE, ELEMENT_WATER as ELEMENT_WATER, MODALITY_CARDINAL as MODALITY_CARDINAL, MODALITY_FIXED as MODALITY_FIXED, MODALITY_MUTABLE as MODALITY_MUTABLE, SIGN_AQUARIUS as SIGN_AQUARIUS, SIGN_ARIES as SIGN_ARIES, SIGN_CANCER as SIGN_CANCER, SIGN_CAPRICORN as SIGN_CAPRICORN, SIGN_GEMINI as SIGN_GEMINI, SIGN_LEO as SIGN_LEO, SIGN_LIBRA as SIGN_LIBRA, SIGN_PISCES as SIGN_PISCES, SIGN_SAGITTARIUS as SIGN_SAGITTARIUS, SIGN_SCORPIO as SIGN_SCORPIO, SIGN_TAURUS as SIGN_TAURUS, SIGN_VIRGO as SIGN_VIRGO
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
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
5
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
6
- from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
7
9
  from homeassistant.util.dt import as_local as as_local, utcnow as utcnow
8
10
 
9
11
  ZODIAC_BY_DATE: Incomplete
10
12
  ZODIAC_ICONS: Incomplete
11
13
 
12
- async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = ...) -> None: ...
14
+ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
15
 
14
16
  class ZodiacSensor(SensorEntity):
15
- _attr_name: str
17
+ _attr_name: Incomplete
18
+ _attr_has_entity_name: bool
16
19
  _attr_device_class: Incomplete
17
20
  _attr_options: Incomplete
18
21
  _attr_translation_key: str
19
22
  _attr_unique_id = DOMAIN
23
+ _attr_device_info: Incomplete
24
+ def __init__(self, entry_id: str) -> None: ...
20
25
  _attr_native_value: Incomplete
21
26
  _attr_icon: Incomplete
22
27
  _attr_extra_state_attributes: Incomplete
@@ -2,14 +2,13 @@ from .const import ATTR_PASSIVE as ATTR_PASSIVE, ATTR_RADIUS as ATTR_RADIUS, CON
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Callable as Callable
4
4
  from homeassistant import config_entries as config_entries
5
- from homeassistant.const import ATTR_EDITABLE as ATTR_EDITABLE, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, ATTR_PERSONS as ATTR_PERSONS, CONF_ICON as CONF_ICON, CONF_ID as CONF_ID, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_NAME as CONF_NAME, CONF_RADIUS as CONF_RADIUS, EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, SERVICE_RELOAD as SERVICE_RELOAD, STATE_HOME as STATE_HOME, STATE_NOT_HOME as STATE_NOT_HOME, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
5
+ from homeassistant.const import ATTR_EDITABLE as ATTR_EDITABLE, ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, ATTR_PERSONS as ATTR_PERSONS, CONF_ICON as CONF_ICON, CONF_ID as CONF_ID, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_NAME as CONF_NAME, CONF_RADIUS as CONF_RADIUS, EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, SERVICE_RELOAD as SERVICE_RELOAD, STATE_HOME as STATE_HOME, STATE_NOT_HOME as STATE_NOT_HOME, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
6
6
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, State as State, callback as callback
7
7
  from homeassistant.helpers import collection as collection, entity_component as entity_component, event as event, service as service, storage as storage
8
- from homeassistant.helpers.typing import ConfigType as ConfigType
8
+ from homeassistant.helpers.typing import ConfigType as ConfigType, EventType as EventType
9
9
  from homeassistant.loader import bind_hass as bind_hass
10
10
  from homeassistant.util.location import distance as distance
11
- from typing import Any
12
- from typing_extensions import Self
11
+ from typing import Any, Self
13
12
 
14
13
  _LOGGER: Incomplete
15
14
  DEFAULT_PASSIVE: bool
@@ -68,7 +67,7 @@ class Zone(collection.CollectionEntity):
68
67
  @property
69
68
  def should_poll(self) -> bool: ...
70
69
  async def async_update_config(self, config: ConfigType) -> None: ...
71
- def _person_state_change_listener(self, evt: Event) -> None: ...
70
+ def _person_state_change_listener(self, evt: EventType[event.EventStateChangedData]) -> None: ...
72
71
  async def async_added_to_hass(self) -> None: ...
73
72
  _attr_extra_state_attributes: Incomplete
74
73
  def _generate_attrs(self) -> None: ...
@@ -1,10 +1,10 @@
1
1
  from _typeshed import Incomplete
2
2
  from homeassistant.const import ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_EVENT as CONF_EVENT, CONF_PLATFORM as CONF_PLATFORM, CONF_ZONE as CONF_ZONE
3
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, State as State, callback as callback
3
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
4
4
  from homeassistant.helpers import condition as condition, location as location
5
- from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
5
+ from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_state_change_event as async_track_state_change_event
6
6
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
7
- from homeassistant.helpers.typing import ConfigType as ConfigType
7
+ from homeassistant.helpers.typing import ConfigType as ConfigType, EventType as EventType
8
8
 
9
9
  EVENT_ENTER: str
10
10
  EVENT_LEAVE: str
@@ -1,4 +1,4 @@
1
- from .const import DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN
1
+ from .const import DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, LOGGER as LOGGER
2
2
  from .discovery import ZwaveDiscoveryInfo as ZwaveDiscoveryInfo
3
3
  from .discovery_data_template import DynamicCurrentTempClimateDataTemplate as DynamicCurrentTempClimateDataTemplate
4
4
  from .entity import ZWaveBaseEntity as ZWaveBaseEntity
@@ -10,6 +10,7 @@ from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
11
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
12
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
13
14
  from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
14
15
  from typing import Any
15
16
  from zwave_js_server.const.command_class.thermostat import ThermostatSetpointType
@@ -17,6 +18,7 @@ from zwave_js_server.model.driver import Driver as Driver
17
18
  from zwave_js_server.model.value import Value as ZwaveValue
18
19
 
19
20
  PARALLEL_UPDATES: int
21
+ THERMOSTAT_MODES: Incomplete
20
22
  ZW_HVAC_MODE_MAP: dict[int, HVACMode]
21
23
  HVAC_CURRENT_MAP: dict[int, HVACAction]
22
24
  ATTR_FAN_STATE: str
@@ -4,6 +4,7 @@ from .const import ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_CONFIG_PARAMET
4
4
  from .device_automation_helpers import CONF_SUBTYPE as CONF_SUBTYPE, VALUE_ID_REGEX as VALUE_ID_REGEX, generate_config_parameter_subtype as generate_config_parameter_subtype, get_config_parameter_value_schema as get_config_parameter_value_schema
5
5
  from .helpers import async_get_node_from_device_id as async_get_node_from_device_id
6
6
  from _typeshed import Incomplete
7
+ from homeassistant.components.device_automation import async_validate_entity_schema as async_validate_entity_schema
7
8
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_DOMAIN as ATTR_DOMAIN, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_TYPE as CONF_TYPE, STATE_UNAVAILABLE as STATE_UNAVAILABLE
8
9
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant
9
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -18,8 +19,9 @@ RESET_METER_SCHEMA: Incomplete
18
19
  SET_CONFIG_PARAMETER_SCHEMA: Incomplete
19
20
  SET_LOCK_USERCODE_SCHEMA: Incomplete
20
21
  SET_VALUE_SCHEMA: Incomplete
21
- ACTION_SCHEMA: Incomplete
22
+ _ACTION_SCHEMA: Incomplete
22
23
 
24
+ async def async_validate_action_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
23
25
  async def async_get_actions(hass: HomeAssistant, device_id: str) -> list[dict[str, Any]]: ...
24
26
  async def async_call_action_from_config(hass: HomeAssistant, config: ConfigType, variables: TemplateVarsType, context: Context | None) -> None: ...
25
27
  async def async_get_action_capabilities(hass: HomeAssistant, config: ConfigType) -> dict[str, vol.Schema]: ...
@@ -4,7 +4,7 @@ from .helpers import ZwaveValueID as ZwaveValueID
4
4
  from _typeshed import Incomplete
5
5
  from awesomeversion import AwesomeVersion
6
6
  from collections.abc import Generator
7
- from homeassistant.backports.enum import StrEnum as StrEnum
7
+ from enum import StrEnum
8
8
  from homeassistant.const import EntityCategory as EntityCategory, Platform as Platform
9
9
  from homeassistant.core import callback as callback
10
10
  from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry