homeassistant-stubs 2023.3.6__py3-none-any.whl → 2023.4.0b1__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 (333) hide show
  1. homeassistant-stubs/auth/__init__.pyi +1 -1
  2. homeassistant-stubs/auth/jwt_wrapper.pyi +14 -0
  3. homeassistant-stubs/auth/permissions/models.pyi +3 -3
  4. homeassistant-stubs/bootstrap.pyi +1 -1
  5. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +0 -2
  6. homeassistant-stubs/components/aladdin_connect/cover.pyi +5 -7
  7. homeassistant-stubs/components/alarm_control_panel/device_action.pyi +0 -1
  8. homeassistant-stubs/components/alarm_control_panel/device_condition.pyi +1 -1
  9. homeassistant-stubs/components/alarm_control_panel/device_trigger.pyi +0 -1
  10. homeassistant-stubs/components/amazon_polly/tts.pyi +2 -2
  11. homeassistant-stubs/components/amcrest/camera.pyi +0 -1
  12. homeassistant-stubs/components/awair/sensor.pyi +2 -1
  13. homeassistant-stubs/components/backup/manager.pyi +2 -1
  14. homeassistant-stubs/components/bayesian/issues.pyi +0 -1
  15. homeassistant-stubs/components/bluetooth/wrappers.pyi +1 -0
  16. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +3 -0
  17. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -0
  18. homeassistant-stubs/components/braviatv/media_player.pyi +2 -2
  19. homeassistant-stubs/components/button/device_action.pyi +0 -1
  20. homeassistant-stubs/components/button/device_trigger.pyi +0 -1
  21. homeassistant-stubs/components/calendar/__init__.pyi +8 -4
  22. homeassistant-stubs/components/calendar/const.pyi +2 -2
  23. homeassistant-stubs/components/calendar/trigger.pyi +25 -8
  24. homeassistant-stubs/components/camera/__init__.pyi +1 -1
  25. homeassistant-stubs/components/cover/device_action.pyi +0 -1
  26. homeassistant-stubs/components/cover/device_condition.pyi +1 -1
  27. homeassistant-stubs/components/cover/device_trigger.pyi +0 -1
  28. homeassistant-stubs/components/demo/sensor.pyi +2 -1
  29. homeassistant-stubs/components/demo/stt.pyi +2 -2
  30. homeassistant-stubs/components/device_automation/condition.pyi +2 -4
  31. homeassistant-stubs/components/device_tracker/device_condition.pyi +1 -1
  32. homeassistant-stubs/components/device_tracker/device_trigger.pyi +0 -1
  33. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +0 -1
  34. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -0
  35. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -1
  36. homeassistant-stubs/components/dlna_dmr/media_player.pyi +1 -2
  37. homeassistant-stubs/components/dormakaba_dkey/__init__.pyi +1 -1
  38. homeassistant-stubs/components/dormakaba_dkey/config_flow.pyi +5 -1
  39. homeassistant-stubs/components/efergy/sensor.pyi +2 -2
  40. homeassistant-stubs/components/emulated_hue/hue_api.pyi +1 -0
  41. homeassistant-stubs/components/energy/types.pyi +2 -2
  42. homeassistant-stubs/components/energy/websocket_api.pyi +1 -0
  43. homeassistant-stubs/components/esphome/bluetooth/client.pyi +3 -1
  44. homeassistant-stubs/components/esphome/entry_data.pyi +1 -0
  45. homeassistant-stubs/components/esphome/media_player.pyi +1 -1
  46. homeassistant-stubs/components/fan/device_condition.pyi +1 -1
  47. homeassistant-stubs/components/filesize/__init__.pyi +1 -2
  48. homeassistant-stubs/components/fitbit/sensor.pyi +1 -1
  49. homeassistant-stubs/components/fritz/binary_sensor.pyi +7 -11
  50. homeassistant-stubs/components/fritz/common.pyi +25 -3
  51. homeassistant-stubs/components/fritz/sensor.pyi +6 -15
  52. homeassistant-stubs/components/fritzbox/sensor.pyi +0 -1
  53. homeassistant-stubs/components/fronius/coordinator.pyi +2 -3
  54. homeassistant-stubs/components/fronius/sensor.pyi +13 -8
  55. homeassistant-stubs/components/fully_kiosk/media_player.pyi +3 -3
  56. homeassistant-stubs/components/fully_kiosk/sensor.pyi +3 -3
  57. homeassistant-stubs/components/gios/__init__.pyi +3 -3
  58. homeassistant-stubs/components/gios/const.pyi +0 -2
  59. homeassistant-stubs/components/gios/sensor.pyi +10 -13
  60. homeassistant-stubs/components/google/__init__.pyi +1 -1
  61. homeassistant-stubs/components/google/calendar.pyi +1 -1
  62. homeassistant-stubs/components/google/const.pyi +1 -0
  63. homeassistant-stubs/components/group/media_player.pyi +4 -3
  64. homeassistant-stubs/components/group/notify.pyi +1 -1
  65. homeassistant-stubs/components/group/sensor.pyi +2 -0
  66. homeassistant-stubs/components/guardian/util.pyi +0 -1
  67. homeassistant-stubs/components/history/websocket_api.pyi +2 -1
  68. homeassistant-stubs/components/homeassistant_alerts/__init__.pyi +4 -2
  69. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +7 -2
  70. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +2 -8
  71. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +3 -7
  72. homeassistant-stubs/components/homekit/__init__.pyi +6 -6
  73. homeassistant-stubs/components/homekit/config_flow.pyi +2 -2
  74. homeassistant-stubs/components/homekit/type_triggers.pyi +0 -1
  75. homeassistant-stubs/components/http/__init__.pyi +18 -1
  76. homeassistant-stubs/components/http/auth.pyi +1 -0
  77. homeassistant-stubs/components/http/security_filter.pyi +1 -0
  78. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -1
  79. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +0 -1
  80. homeassistant-stubs/components/isy994/lock.pyi +8 -3
  81. homeassistant-stubs/components/isy994/services.pyi +6 -0
  82. homeassistant-stubs/components/jellyfin/coordinator.pyi +4 -2
  83. homeassistant-stubs/components/jellyfin/media_player.pyi +3 -3
  84. homeassistant-stubs/components/knx/__init__.pyi +3 -2
  85. homeassistant-stubs/components/knx/device.pyi +18 -0
  86. homeassistant-stubs/components/knx/light.pyi +2 -2
  87. homeassistant-stubs/components/knx/sensor.pyi +33 -2
  88. homeassistant-stubs/components/kraken/sensor.pyi +0 -1
  89. homeassistant-stubs/components/lametric/__init__.pyi +1 -2
  90. homeassistant-stubs/components/lidarr/const.pyi +0 -2
  91. homeassistant-stubs/components/lifx/__init__.pyi +2 -2
  92. homeassistant-stubs/components/light/intent.pyi +1 -1
  93. homeassistant-stubs/components/litejet/__init__.pyi +14 -0
  94. homeassistant-stubs/components/litejet/config_flow.pyi +18 -0
  95. homeassistant-stubs/components/litejet/const.pyi +8 -0
  96. homeassistant-stubs/components/litejet/diagnostics.pyi +7 -0
  97. homeassistant-stubs/components/litejet/light.pyi +39 -0
  98. homeassistant-stubs/components/litejet/scene.pyi +32 -0
  99. homeassistant-stubs/components/litejet/switch.pyi +37 -0
  100. homeassistant-stubs/components/litejet/trigger.pyi +16 -0
  101. homeassistant-stubs/components/litterrobot/select.pyi +11 -6
  102. homeassistant-stubs/components/lock/device_action.pyi +0 -1
  103. homeassistant-stubs/components/lock/device_condition.pyi +1 -1
  104. homeassistant-stubs/components/lock/device_trigger.pyi +0 -1
  105. homeassistant-stubs/components/logbook/__init__.pyi +3 -3
  106. homeassistant-stubs/components/logbook/const.pyi +0 -2
  107. homeassistant-stubs/components/logbook/helpers.pyi +1 -1
  108. homeassistant-stubs/components/logbook/models.pyi +25 -7
  109. homeassistant-stubs/components/logbook/processor.pyi +8 -7
  110. homeassistant-stubs/components/logbook/queries/__init__.pyi +3 -1
  111. homeassistant-stubs/components/logbook/queries/all.pyi +4 -4
  112. homeassistant-stubs/components/logbook/queries/common.pyi +2 -2
  113. homeassistant-stubs/components/logbook/queries/devices.pyi +1 -1
  114. homeassistant-stubs/components/logbook/queries/entities.pyi +6 -6
  115. homeassistant-stubs/components/logbook/queries/entities_and_devices.pyi +5 -5
  116. homeassistant-stubs/components/logbook/websocket_api.pyi +2 -2
  117. homeassistant-stubs/components/logger/helpers.pyi +1 -1
  118. homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
  119. homeassistant-stubs/components/matter/binary_sensor.pyi +5 -1
  120. homeassistant-stubs/components/matter/entity.pyi +5 -1
  121. homeassistant-stubs/components/matter/lock.pyi +44 -0
  122. homeassistant-stubs/components/matter/models.pyi +2 -9
  123. homeassistant-stubs/components/matter/sensor.pyi +5 -1
  124. homeassistant-stubs/components/media_player/__init__.pyi +2 -2
  125. homeassistant-stubs/components/media_player/device_condition.pyi +1 -1
  126. homeassistant-stubs/components/media_player/device_trigger.pyi +0 -1
  127. homeassistant-stubs/components/metoffice/__init__.pyi +0 -2
  128. homeassistant-stubs/components/metoffice/sensor.pyi +2 -1
  129. homeassistant-stubs/components/mikrotik/const.pyi +2 -0
  130. homeassistant-stubs/components/mikrotik/device_tracker.pyi +0 -1
  131. homeassistant-stubs/components/mikrotik/hub.pyi +2 -1
  132. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  133. homeassistant-stubs/components/modbus/climate.pyi +3 -1
  134. homeassistant-stubs/components/modbus/const.pyi +1 -0
  135. homeassistant-stubs/components/modbus/modbus.pyi +1 -1
  136. homeassistant-stubs/components/modem_callerid/button.pyi +2 -2
  137. homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
  138. homeassistant-stubs/components/moon/config_flow.pyi +0 -2
  139. homeassistant-stubs/components/moon/sensor.pyi +2 -7
  140. homeassistant-stubs/components/mqtt/__init__.pyi +5 -7
  141. homeassistant-stubs/components/mqtt/client.pyi +24 -2
  142. homeassistant-stubs/components/mqtt/config_integration.pyi +1 -1
  143. homeassistant-stubs/components/mqtt/const.pyi +0 -1
  144. homeassistant-stubs/components/mqtt/models.pyi +2 -1
  145. homeassistant-stubs/components/mysensors/__init__.pyi +4 -9
  146. homeassistant-stubs/components/mysensors/const.pyi +1 -3
  147. homeassistant-stubs/components/mysensors/device.pyi +1 -1
  148. homeassistant-stubs/components/mysensors/light.pyi +1 -1
  149. homeassistant-stubs/components/mysensors/switch.pyi +6 -20
  150. homeassistant-stubs/components/nam/__init__.pyi +0 -2
  151. homeassistant-stubs/components/nam/sensor.pyi +0 -1
  152. homeassistant-stubs/components/netatmo/device_trigger.pyi +0 -1
  153. homeassistant-stubs/components/nissan_leaf/sensor.pyi +2 -3
  154. homeassistant-stubs/components/notify/legacy.pyi +2 -2
  155. homeassistant-stubs/components/number/const.pyi +2 -0
  156. homeassistant-stubs/components/number/device_action.pyi +0 -1
  157. homeassistant-stubs/components/otbr/__init__.pyi +3 -0
  158. homeassistant-stubs/components/otbr/config_flow.pyi +3 -2
  159. homeassistant-stubs/components/otbr/util.pyi +6 -0
  160. homeassistant-stubs/components/otbr/websocket_api.pyi +7 -3
  161. homeassistant-stubs/components/overkiz/climate_entities/__init__.pyi +1 -0
  162. homeassistant-stubs/components/overkiz/climate_entities/atlantic_electrical_heater.pyi +2 -0
  163. homeassistant-stubs/components/overkiz/climate_entities/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +2 -0
  164. homeassistant-stubs/components/overkiz/climate_entities/atlantic_electrical_towel_dryer.pyi +2 -0
  165. homeassistant-stubs/components/overkiz/climate_entities/atlantic_heat_recovery_ventilation.pyi +2 -0
  166. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heating_zone.pyi +2 -0
  167. homeassistant-stubs/components/overkiz/climate_entities/somfy_thermostat.pyi +2 -2
  168. homeassistant-stubs/components/overkiz/climate_entities/valve_heating_temperature_interface.pyi +37 -0
  169. homeassistant-stubs/components/overkiz/const.pyi +2 -1
  170. homeassistant-stubs/components/overkiz/sensor.pyi +3 -1
  171. homeassistant-stubs/components/overkiz/switch.pyi +2 -2
  172. homeassistant-stubs/components/pi_hole/sensor.pyi +2 -2
  173. homeassistant-stubs/components/rainmachine/util.pyi +0 -1
  174. homeassistant-stubs/components/recorder/__init__.pyi +3 -3
  175. homeassistant-stubs/components/recorder/auto_repairs/__init__.pyi +0 -0
  176. homeassistant-stubs/components/recorder/auto_repairs/events/__init__.pyi +0 -0
  177. homeassistant-stubs/components/recorder/auto_repairs/events/schema.pyi +6 -0
  178. homeassistant-stubs/components/recorder/auto_repairs/schema.pyi +23 -0
  179. homeassistant-stubs/components/recorder/auto_repairs/states/schema.pyi +9 -0
  180. homeassistant-stubs/components/recorder/auto_repairs/statistics/__init__.pyi +0 -0
  181. homeassistant-stubs/components/recorder/auto_repairs/statistics/duplicates.pyi +19 -0
  182. homeassistant-stubs/components/recorder/auto_repairs/statistics/schema.pyi +9 -0
  183. homeassistant-stubs/components/recorder/const.pyi +10 -0
  184. homeassistant-stubs/components/recorder/core.pyi +33 -29
  185. homeassistant-stubs/components/recorder/db_schema.pyi +36 -6
  186. homeassistant-stubs/components/recorder/entity_registry.pyi +10 -0
  187. homeassistant-stubs/components/recorder/filters.pyi +13 -11
  188. homeassistant-stubs/components/recorder/history/__init__.pyi +13 -0
  189. homeassistant-stubs/components/recorder/history/common.pyi +4 -0
  190. homeassistant-stubs/components/recorder/history/const.pyi +9 -0
  191. homeassistant-stubs/components/recorder/{history.pyi → history/legacy.pyi} +9 -14
  192. homeassistant-stubs/components/recorder/history/modern.pyi +41 -0
  193. homeassistant-stubs/components/recorder/migration.pyi +34 -6
  194. homeassistant-stubs/components/recorder/models/__init__.pyi +5 -0
  195. homeassistant-stubs/components/recorder/models/context.pyi +6 -0
  196. homeassistant-stubs/components/recorder/models/database.pyi +14 -0
  197. homeassistant-stubs/components/recorder/models/legacy.pyi +39 -0
  198. homeassistant-stubs/components/recorder/models/state.pyi +43 -0
  199. homeassistant-stubs/components/recorder/models/state_attributes.pyi +9 -0
  200. homeassistant-stubs/components/recorder/models/statistics.pyi +50 -0
  201. homeassistant-stubs/components/recorder/models/time.pyi +20 -0
  202. homeassistant-stubs/components/recorder/purge.pyi +9 -12
  203. homeassistant-stubs/components/recorder/queries.pyi +19 -3
  204. homeassistant-stubs/components/recorder/services.pyi +1 -1
  205. homeassistant-stubs/components/recorder/statistics.pyi +40 -42
  206. homeassistant-stubs/components/recorder/table_managers/__init__.pyi +20 -0
  207. homeassistant-stubs/components/recorder/table_managers/event_data.pyi +26 -0
  208. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +20 -0
  209. homeassistant-stubs/components/recorder/{run_history.pyi → table_managers/recorder_runs.pyi} +3 -3
  210. homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +29 -0
  211. homeassistant-stubs/components/recorder/table_managers/states.pyi +14 -0
  212. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +23 -0
  213. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +35 -0
  214. homeassistant-stubs/components/recorder/tasks.pyi +39 -4
  215. homeassistant-stubs/components/recorder/util.pyi +2 -1
  216. homeassistant-stubs/components/recorder/websocket_api.pyi +2 -2
  217. homeassistant-stubs/components/renault/renault_vehicle.pyi +1 -0
  218. homeassistant-stubs/components/rest/__init__.pyi +1 -1
  219. homeassistant-stubs/components/rest/const.pyi +2 -0
  220. homeassistant-stubs/components/rest/data.pyi +3 -2
  221. homeassistant-stubs/components/rest/schema.pyi +1 -1
  222. homeassistant-stubs/components/ridwell/calendar.pyi +22 -0
  223. homeassistant-stubs/components/ridwell/coordinator.pyi +2 -2
  224. homeassistant-stubs/components/ridwell/entity.pyi +2 -4
  225. homeassistant-stubs/components/ridwell/sensor.pyi +2 -1
  226. homeassistant-stubs/components/ridwell/switch.pyi +4 -0
  227. homeassistant-stubs/components/roku/media_player.pyi +4 -4
  228. homeassistant-stubs/components/samsungtv/device_trigger.pyi +19 -0
  229. homeassistant-stubs/components/samsungtv/helpers.pyi +8 -0
  230. homeassistant-stubs/components/samsungtv/media_player.pyi +7 -2
  231. homeassistant-stubs/components/samsungtv/trigger.pyi +12 -0
  232. homeassistant-stubs/components/samsungtv/triggers/__init__.pyi +0 -0
  233. homeassistant-stubs/components/samsungtv/triggers/turn_on.pyi +14 -0
  234. homeassistant-stubs/components/scrape/config_flow.pyi +1 -1
  235. homeassistant-stubs/components/scrape/const.pyi +2 -0
  236. homeassistant-stubs/components/scrape/sensor.pyi +3 -6
  237. homeassistant-stubs/components/select/device_action.pyi +0 -1
  238. homeassistant-stubs/components/select/device_condition.pyi +1 -1
  239. homeassistant-stubs/components/select/device_trigger.pyi +0 -1
  240. homeassistant-stubs/components/sensor/const.pyi +2 -0
  241. homeassistant-stubs/components/sensor/recorder.pyi +3 -1
  242. homeassistant-stubs/components/sfr_box/__init__.pyi +1 -1
  243. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +3 -1
  244. homeassistant-stubs/components/sfr_box/models.pyi +4 -2
  245. homeassistant-stubs/components/sfr_box/sensor.pyi +2 -1
  246. homeassistant-stubs/components/sleepiq/entity.pyi +0 -1
  247. homeassistant-stubs/components/statistics/sensor.pyi +2 -2
  248. homeassistant-stubs/components/sun/__init__.pyi +1 -1
  249. homeassistant-stubs/components/sun/sensor.pyi +36 -0
  250. homeassistant-stubs/components/switcher_kis/__init__.pyi +1 -1
  251. homeassistant-stubs/components/switcher_kis/button.pyi +0 -1
  252. homeassistant-stubs/components/switcher_kis/climate.pyi +0 -1
  253. homeassistant-stubs/components/switcher_kis/cover.pyi +0 -1
  254. homeassistant-stubs/components/switcher_kis/sensor.pyi +0 -1
  255. homeassistant-stubs/components/switcher_kis/switch.pyi +1 -1
  256. homeassistant-stubs/components/synology_dsm/sensor.pyi +5 -4
  257. homeassistant-stubs/components/threshold/__init__.pyi +7 -0
  258. homeassistant-stubs/components/threshold/binary_sensor.pyi +55 -0
  259. homeassistant-stubs/components/threshold/config_flow.pyi +19 -0
  260. homeassistant-stubs/components/threshold/const.pyi +5 -0
  261. homeassistant-stubs/components/tibber/config_flow.pyi +3 -0
  262. homeassistant-stubs/components/tibber/sensor.pyi +2 -1
  263. homeassistant-stubs/components/tplink/light.pyi +1 -1
  264. homeassistant-stubs/components/tplink_omada/__init__.pyi +1 -0
  265. homeassistant-stubs/components/tplink_omada/controller.pyi +21 -0
  266. homeassistant-stubs/components/tplink_omada/coordinator.pyi +3 -4
  267. homeassistant-stubs/components/tplink_omada/entity.pyi +6 -4
  268. homeassistant-stubs/components/tplink_omada/switch.pyi +4 -6
  269. homeassistant-stubs/components/tplink_omada/update.pyi +43 -0
  270. homeassistant-stubs/components/tradfri/sensor.pyi +0 -1
  271. homeassistant-stubs/components/tts/__init__.pyi +2 -1
  272. homeassistant-stubs/components/unifi/__init__.pyi +33 -0
  273. homeassistant-stubs/components/unifi/config_flow.pyi +46 -0
  274. homeassistant-stubs/components/unifi/const.pyi +30 -0
  275. homeassistant-stubs/components/unifi/controller.pyi +77 -0
  276. homeassistant-stubs/components/unifi/device_tracker.pyi +70 -0
  277. homeassistant-stubs/components/unifi/diagnostics.pyi +19 -0
  278. homeassistant-stubs/components/unifi/entity.pyi +58 -0
  279. homeassistant-stubs/components/unifi/errors.pyi +8 -0
  280. homeassistant-stubs/components/unifi/sensor.pyi +37 -0
  281. homeassistant-stubs/components/unifi/services.pyi +17 -0
  282. homeassistant-stubs/components/unifi/switch.pyi +55 -0
  283. homeassistant-stubs/components/unifi/update.pyi +1 -1
  284. homeassistant-stubs/components/unifiprotect/select.pyi +2 -2
  285. homeassistant-stubs/components/vacuum/device_action.pyi +0 -1
  286. homeassistant-stubs/components/vacuum/device_condition.pyi +1 -1
  287. homeassistant-stubs/components/vacuum/device_trigger.pyi +0 -1
  288. homeassistant-stubs/components/velbus/__init__.pyi +0 -2
  289. homeassistant-stubs/components/velbus/light.pyi +1 -1
  290. homeassistant-stubs/components/velbus/select.pyi +21 -0
  291. homeassistant-stubs/components/water_heater/device_action.pyi +0 -1
  292. homeassistant-stubs/components/weather/__init__.pyi +2 -23
  293. homeassistant-stubs/components/weather/const.pyi +25 -0
  294. homeassistant-stubs/components/weather/websocket_api.pyi +7 -0
  295. homeassistant-stubs/components/webostv/trigger.pyi +3 -3
  296. homeassistant-stubs/components/webostv/triggers/__init__.pyi +0 -5
  297. homeassistant-stubs/components/websocket_api/commands.pyi +2 -2
  298. homeassistant-stubs/components/websocket_api/connection.pyi +7 -1
  299. homeassistant-stubs/components/zwave_js/__init__.pyi +4 -4
  300. homeassistant-stubs/components/zwave_js/api.pyi +0 -1
  301. homeassistant-stubs/components/zwave_js/device_action.pyi +0 -1
  302. homeassistant-stubs/components/zwave_js/device_trigger.pyi +0 -1
  303. homeassistant-stubs/components/zwave_js/diagnostics.pyi +2 -1
  304. homeassistant-stubs/components/zwave_js/discovery.pyi +1 -1
  305. homeassistant-stubs/components/zwave_js/update.pyi +18 -8
  306. homeassistant-stubs/config_entries.pyi +4 -1
  307. homeassistant-stubs/core.pyi +4 -3
  308. homeassistant-stubs/helpers/condition.pyi +11 -3
  309. homeassistant-stubs/helpers/config_validation.pyi +1 -1
  310. homeassistant-stubs/helpers/debounce.pyi +1 -0
  311. homeassistant-stubs/helpers/device_registry.pyi +1 -1
  312. homeassistant-stubs/helpers/entity.pyi +1 -0
  313. homeassistant-stubs/helpers/entity_platform.pyi +2 -1
  314. homeassistant-stubs/helpers/entity_registry.pyi +9 -1
  315. homeassistant-stubs/helpers/event.pyi +3 -1
  316. homeassistant-stubs/helpers/httpx_client.pyi +1 -0
  317. homeassistant-stubs/helpers/integration_platform.pyi +3 -3
  318. homeassistant-stubs/helpers/script.pyi +5 -3
  319. homeassistant-stubs/helpers/selector.pyi +29 -12
  320. homeassistant-stubs/helpers/service.pyi +11 -0
  321. homeassistant-stubs/helpers/template.pyi +24 -3
  322. homeassistant-stubs/scripts/check_config.pyi +0 -1
  323. homeassistant-stubs/util/ssl.pyi +8 -0
  324. homeassistant-stubs/util/ulid.pyi +2 -1
  325. homeassistant-stubs/util/yaml/dumper.pyi +1 -1
  326. homeassistant-stubs/util/yaml/loader.pyi +4 -5
  327. homeassistant-stubs/util/yaml/objects.pyi +1 -0
  328. {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/METADATA +2 -2
  329. {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/RECORD +331 -265
  330. homeassistant-stubs/components/mysensors/notify.pyi +0 -23
  331. homeassistant-stubs/components/recorder/models.pyi +0 -148
  332. {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/LICENSE +0 -0
  333. {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,55 @@
1
+ import aiounifi
2
+ from .const import ATTR_MANUFACTURER as ATTR_MANUFACTURER
3
+ from .controller import UniFiController as UniFiController
4
+ from .entity import HandlerT as HandlerT, SubscriptionT as SubscriptionT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_device_available_fn as async_device_available_fn, async_device_device_info_fn as async_device_device_info_fn
5
+ from _typeshed import Incomplete
6
+ from aiounifi.interfaces.api_handlers import ItemEvent
7
+ from aiounifi.models.api import ApiItemT
8
+ from aiounifi.models.dpi_restriction_group import DPIRestrictionGroup
9
+ from aiounifi.models.event import Event as Event
10
+ from collections.abc import Callable as Callable, Coroutine
11
+ from homeassistant.components.switch import DOMAIN as DOMAIN, SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
12
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
13
+ from homeassistant.const import EntityCategory as EntityCategory
14
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
15
+ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceEntryType as DeviceEntryType
16
+ from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
17
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
18
+ from typing import Any
19
+
20
+ CLIENT_BLOCKED: Incomplete
21
+ CLIENT_UNBLOCKED: Incomplete
22
+
23
+ def async_dpi_group_is_on_fn(controller: UniFiController, dpi_group: DPIRestrictionGroup) -> bool: ...
24
+ def async_client_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: ...
25
+ def async_dpi_group_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: ...
26
+ async def async_block_client_control_fn(api: aiounifi.Controller, obj_id: str, target: bool) -> None: ...
27
+ async def async_dpi_group_control_fn(api: aiounifi.Controller, obj_id: str, target: bool) -> None: ...
28
+ async def async_outlet_control_fn(api: aiounifi.Controller, obj_id: str, target: bool) -> None: ...
29
+ async def async_poe_port_control_fn(api: aiounifi.Controller, obj_id: str, target: bool) -> None: ...
30
+
31
+ class UnifiSwitchEntityDescriptionMixin:
32
+ control_fn: Callable[[aiounifi.Controller, str, bool], Coroutine[Any, Any, None]]
33
+ is_on_fn: Callable[[UniFiController, ApiItemT], bool]
34
+ def __init__(self, control_fn, is_on_fn) -> None: ...
35
+
36
+ class UnifiSwitchEntityDescription(SwitchEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT], UnifiSwitchEntityDescriptionMixin[HandlerT, ApiItemT]):
37
+ custom_subscribe: Union[Callable[[aiounifi.Controller], SubscriptionT], None]
38
+ only_event_for_state_change: bool
39
+ def __init__(self, control_fn, is_on_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, custom_subscribe, only_event_for_state_change) -> None: ...
40
+
41
+ ENTITY_DESCRIPTIONS: tuple[UnifiSwitchEntityDescription, ...]
42
+
43
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
44
+
45
+ class UnifiSwitchEntity(UnifiEntity[HandlerT, ApiItemT], SwitchEntity):
46
+ entity_description: UnifiSwitchEntityDescription[HandlerT, ApiItemT]
47
+ only_event_for_state_change: bool
48
+ def async_initiate_state(self) -> None: ...
49
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
50
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
51
+ _attr_is_on: Incomplete
52
+ def async_update_state(self, event: ItemEvent, obj_id: str) -> None: ...
53
+ _attr_available: Incomplete
54
+ def async_event_callback(self, event: Event) -> None: ...
55
+ async def async_added_to_hass(self) -> None: ...
@@ -24,7 +24,7 @@ class UnifiUpdateEntityDescriptionMixin:
24
24
  def __init__(self, control_fn, state_fn) -> None: ...
25
25
 
26
26
  class UnifiUpdateEntityDescription(UpdateEntityDescription, UnifiEntityDescription[_HandlerT, _DataT], UnifiUpdateEntityDescriptionMixin[_HandlerT, _DataT]):
27
- def __init__(self, *, control_fn, state_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, **kwargs) -> None: ...
27
+ def __init__(self, control_fn, state_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
28
28
 
29
29
  ENTITY_DESCRIPTIONS: tuple[UnifiUpdateEntityDescription, ...]
30
30
 
@@ -11,8 +11,8 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
11
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, EntityCategory as EntityCategory
12
12
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
13
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
14
- from homeassistant.helpers import entity_platform as entity_platform
15
14
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
15
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback, async_get_current_platform as async_get_current_platform
16
16
  from homeassistant.util.dt import utcnow as utcnow
17
17
  from pyunifiprotect.api import ProtectApiClient as ProtectApiClient
18
18
  from pyunifiprotect.data import Camera, Doorlock, Light, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectModelWithId as ProtectModelWithId, Sensor, Viewer
@@ -57,7 +57,7 @@ SENSE_SELECTS: tuple[ProtectSelectEntityDescription, ...]
57
57
  DOORLOCK_SELECTS: tuple[ProtectSelectEntityDescription, ...]
58
58
  VIEWER_SELECTS: tuple[ProtectSelectEntityDescription, ...]
59
59
 
60
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: entity_platform.AddEntitiesCallback) -> None: ...
60
+ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
61
61
 
62
62
  class ProtectSelects(ProtectDeviceEntity, SelectEntity):
63
63
  device: Union[Camera, Light, Viewer]
@@ -2,7 +2,6 @@ from . import DOMAIN as DOMAIN, SERVICE_RETURN_TO_BASE as SERVICE_RETURN_TO_BASE
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_TYPE as CONF_TYPE
4
4
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant
5
- from homeassistant.helpers import entity_registry as entity_registry
6
5
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
7
6
 
8
7
  ACTION_TYPES: Incomplete
@@ -2,7 +2,7 @@ from . import DOMAIN as DOMAIN, STATE_CLEANING as STATE_CLEANING, STATE_DOCKED a
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_CONDITION as CONF_CONDITION, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_TYPE as CONF_TYPE
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
5
- from homeassistant.helpers import condition as condition, entity_registry as entity_registry
5
+ from homeassistant.helpers import condition as condition
6
6
  from homeassistant.helpers.config_validation import DEVICE_CONDITION_BASE_SCHEMA as DEVICE_CONDITION_BASE_SCHEMA
7
7
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
8
8
 
@@ -4,7 +4,6 @@ from _typeshed import Incomplete
4
4
  from homeassistant.components.device_automation import DEVICE_TRIGGER_BASE_SCHEMA as DEVICE_TRIGGER_BASE_SCHEMA
5
5
  from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FOR as CONF_FOR, CONF_PLATFORM as CONF_PLATFORM, CONF_TYPE as CONF_TYPE
6
6
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
7
- from homeassistant.helpers import entity_registry as entity_registry
8
7
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
9
8
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
9
 
@@ -4,8 +4,6 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
4
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_PORT as CONF_PORT, Platform as Platform
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
6
6
  from homeassistant.exceptions import PlatformNotReady as PlatformNotReady
7
- from homeassistant.helpers import device_registry as device_registry
8
- from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
9
7
  from homeassistant.helpers.storage import STORAGE_DIR as STORAGE_DIR
10
8
  from velbusaio.controller import Velbus
11
9
 
@@ -34,6 +34,6 @@ class VelbusButtonLight(VelbusEntity, LightEntity):
34
34
  _attr_name: Incomplete
35
35
  def __init__(self, channel: VelbusChannel) -> None: ...
36
36
  @property
37
- def is_on(self) -> Any: ...
37
+ def is_on(self) -> bool: ...
38
38
  async def async_turn_on(self, **kwargs: Any) -> None: ...
39
39
  async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -0,0 +1,21 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .entity import VelbusEntity as VelbusEntity
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.select import SelectEntity as SelectEntity
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.const import EntityCategory as EntityCategory
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
+ from velbusaio.channels import SelectedProgram as SelectedProgram
10
+
11
+ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
12
+
13
+ class VelbusSelect(VelbusEntity, SelectEntity):
14
+ _channel: SelectedProgram
15
+ _attr_entity_category: Incomplete
16
+ _attr_options: Incomplete
17
+ _attr_unique_id: Incomplete
18
+ def __init__(self, channel: SelectedProgram) -> None: ...
19
+ async def async_select_option(self, option: str) -> None: ...
20
+ @property
21
+ def current_option(self) -> str: ...
@@ -2,7 +2,6 @@ from . import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_TYPE as CONF_TYPE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON
4
4
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant
5
- from homeassistant.helpers import entity_registry as entity_registry
6
5
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
7
6
 
8
7
  ACTION_TYPES: Incomplete
@@ -1,13 +1,12 @@
1
+ from .const import 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_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
2
  from _typeshed import Incomplete
2
- from collections.abc import Callable as Callable
3
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
- from homeassistant.const import PRECISION_HALVES as PRECISION_HALVES, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, UnitOfLength as UnitOfLength, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
4
+ 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
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
6
  from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE
7
7
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
8
8
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
9
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
- from homeassistant.util.unit_conversion import DistanceConverter as DistanceConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter
11
10
  from homeassistant.util.unit_system import US_CUSTOMARY_SYSTEM as US_CUSTOMARY_SYSTEM
12
11
  from typing import Any, Final, TypedDict
13
12
  from typing_extensions import Required
@@ -44,29 +43,9 @@ ATTR_FORECAST_TIME: Final[str]
44
43
  ATTR_FORECAST_WIND_BEARING: Final[str]
45
44
  ATTR_FORECAST_NATIVE_WIND_SPEED: Final[str]
46
45
  ATTR_FORECAST_WIND_SPEED: Final[str]
47
- ATTR_WEATHER_HUMIDITY: str
48
- ATTR_WEATHER_OZONE: str
49
- ATTR_WEATHER_PRESSURE: str
50
- ATTR_WEATHER_PRESSURE_UNIT: str
51
- ATTR_WEATHER_TEMPERATURE: str
52
- ATTR_WEATHER_TEMPERATURE_UNIT: str
53
- ATTR_WEATHER_VISIBILITY: str
54
- ATTR_WEATHER_VISIBILITY_UNIT: str
55
- ATTR_WEATHER_WIND_BEARING: str
56
- ATTR_WEATHER_WIND_SPEED: str
57
- ATTR_WEATHER_WIND_SPEED_UNIT: str
58
- ATTR_WEATHER_PRECIPITATION_UNIT: str
59
- DOMAIN: str
60
46
  ENTITY_ID_FORMAT: Incomplete
61
47
  SCAN_INTERVAL: Incomplete
62
48
  ROUNDING_PRECISION: int
63
- VALID_UNITS_PRESSURE: set[str]
64
- VALID_UNITS_TEMPERATURE: set[str]
65
- VALID_UNITS_PRECIPITATION: set[str]
66
- VALID_UNITS_VISIBILITY: set[str]
67
- VALID_UNITS_WIND_SPEED: set[str]
68
- UNIT_CONVERSIONS: dict[str, Callable[[float, str, str], float]]
69
- VALID_UNITS: dict[str, set[str]]
70
49
 
71
50
  def round_temperature(temperature: Union[float, None], precision: float) -> Union[float, None]: ...
72
51
 
@@ -0,0 +1,25 @@
1
+ from collections.abc import Callable as Callable
2
+ from homeassistant.const import UnitOfLength as UnitOfLength, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
3
+ from homeassistant.util.unit_conversion import DistanceConverter as DistanceConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter
4
+ from typing import Final
5
+
6
+ ATTR_WEATHER_HUMIDITY: str
7
+ ATTR_WEATHER_OZONE: str
8
+ ATTR_WEATHER_PRESSURE: str
9
+ ATTR_WEATHER_PRESSURE_UNIT: str
10
+ ATTR_WEATHER_TEMPERATURE: str
11
+ ATTR_WEATHER_TEMPERATURE_UNIT: str
12
+ ATTR_WEATHER_VISIBILITY: str
13
+ ATTR_WEATHER_VISIBILITY_UNIT: str
14
+ ATTR_WEATHER_WIND_BEARING: str
15
+ ATTR_WEATHER_WIND_SPEED: str
16
+ ATTR_WEATHER_WIND_SPEED_UNIT: str
17
+ ATTR_WEATHER_PRECIPITATION_UNIT: str
18
+ DOMAIN: Final[str]
19
+ VALID_UNITS_PRESSURE: set[str]
20
+ VALID_UNITS_TEMPERATURE: set[str]
21
+ VALID_UNITS_PRECIPITATION: set[str]
22
+ VALID_UNITS_VISIBILITY: set[str]
23
+ VALID_UNITS_WIND_SPEED: set[str]
24
+ UNIT_CONVERSIONS: dict[str, Callable[[float, str, str], float]]
25
+ VALID_UNITS: dict[str, set[str]]
@@ -0,0 +1,7 @@
1
+ from .const import VALID_UNITS as VALID_UNITS
2
+ from homeassistant.components import websocket_api as websocket_api
3
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
4
+ from typing import Any
5
+
6
+ def async_setup(hass: HomeAssistant) -> None: ...
7
+ def ws_convertible_units(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -1,12 +1,12 @@
1
- from .triggers import TriggersPlatformModule as TriggersPlatformModule, turn_on as turn_on
1
+ from .triggers import turn_on as turn_on
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import CONF_PLATFORM as CONF_PLATFORM
4
4
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
5
- from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
5
+ from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo, TriggerProtocol as TriggerProtocol
6
6
  from homeassistant.helpers.typing import ConfigType as ConfigType
7
7
 
8
8
  TRIGGERS: Incomplete
9
9
 
10
- def _get_trigger_platform(config: ConfigType) -> TriggersPlatformModule: ...
10
+ def _get_trigger_platform(config: ConfigType) -> TriggerProtocol: ...
11
11
  async def async_validate_trigger_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
12
12
  async def async_attach_trigger(hass: HomeAssistant, config: ConfigType, action: TriggerActionType, trigger_info: TriggerInfo) -> CALLBACK_TYPE: ...
@@ -1,5 +0,0 @@
1
- import voluptuous as vol
2
- from typing import Protocol
3
-
4
- class TriggersPlatformModule(Protocol):
5
- TRIGGER_SCHEMA: vol.Schema
@@ -29,7 +29,7 @@ async def handle_get_services(hass: HomeAssistant, connection: ActiveConnection,
29
29
  def handle_get_config(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
30
30
  async def handle_manifest_list(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
31
31
  async def handle_manifest_get(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
32
- async def handle_integration_setup_info(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
32
+ def handle_integration_setup_info(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
33
33
  def handle_ping(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
34
34
  def _cached_template(template_str: str, hass: HomeAssistant) -> template.Template: ...
35
35
  async def handle_render_template(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -37,7 +37,7 @@ def handle_entity_source(hass: HomeAssistant, connection: ActiveConnection, msg:
37
37
  async def handle_subscribe_trigger(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
38
38
  async def handle_test_condition(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
39
39
  async def handle_execute_script(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
40
- async def handle_fire_event(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
40
+ def handle_fire_event(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
41
41
  async def handle_validate_config(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
42
42
  def handle_supported_features(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
43
43
  async def handle_integration_descriptions(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -3,7 +3,7 @@ from .http import WebSocketAdapter as WebSocketAdapter
3
3
  from .util import describe_request as describe_request
4
4
  from _typeshed import Incomplete
5
5
  from aiohttp import web as web
6
- from collections.abc import Callable as Callable
6
+ from collections.abc import Callable
7
7
  from homeassistant.auth.models import RefreshToken as RefreshToken, User as User
8
8
  from homeassistant.components.http import current_request as current_request
9
9
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, callback as callback
@@ -11,6 +11,8 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, U
11
11
  from typing import Any
12
12
 
13
13
  current_connection: Incomplete
14
+ MessageHandler: Incomplete
15
+ BinaryHandler: Incomplete
14
16
 
15
17
  class ActiveConnection:
16
18
  logger: Incomplete
@@ -22,11 +24,15 @@ class ActiveConnection:
22
24
  last_id: int
23
25
  supported_features: Incomplete
24
26
  handlers: Incomplete
27
+ binary_handlers: Incomplete
25
28
  def __init__(self, logger: WebSocketAdapter, hass: HomeAssistant, send_message: Callable[[Union[str, dict[str, Any], Callable[[], str]]], None], user: User, refresh_token: RefreshToken) -> None: ...
26
29
  def get_description(self, request: Union[web.Request, None]) -> str: ...
27
30
  def context(self, msg: dict[str, Any]) -> Context: ...
31
+ def async_register_binary_handler(self, handler: BinaryHandler) -> tuple[int, Callable[[], None]]: ...
28
32
  def send_result(self, msg_id: int, result: Union[Any, None] = ...) -> None: ...
33
+ def send_event(self, msg_id: int, event: Union[Any, None] = ...) -> None: ...
29
34
  def send_error(self, msg_id: int, code: str, message: str) -> None: ...
35
+ def async_handle_binary(self, handler_id: int, payload: bytes) -> None: ...
30
36
  def async_handle(self, msg: dict[str, Any]) -> None: ...
31
37
  def async_handle_close(self) -> None: ...
32
38
  def async_handle_exception(self, msg: dict[str, Any], err: Exception) -> None: ...
@@ -12,7 +12,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
12
12
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_DOMAIN as ATTR_DOMAIN, ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_URL as CONF_URL, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
13
13
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
14
14
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
15
- from homeassistant.helpers import device_registry as device_registry, entity_registry as entity_registry
15
+ from homeassistant.helpers import device_registry as dr
16
16
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
17
17
  from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
18
18
  from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
@@ -53,10 +53,10 @@ class ControllerEvents:
53
53
  registered_unique_ids: Incomplete
54
54
  node_events: Incomplete
55
55
  def __init__(self, hass: HomeAssistant, driver_events: DriverEvents) -> None: ...
56
- def remove_device(self, device: device_registry.DeviceEntry) -> None: ...
56
+ def remove_device(self, device: dr.DeviceEntry) -> None: ...
57
57
  async def async_on_node_added(self, node: ZwaveNode) -> None: ...
58
58
  def async_on_node_removed(self, event: dict) -> None: ...
59
- def register_node_in_dev_reg(self, node: ZwaveNode) -> device_registry.DeviceEntry: ...
59
+ def register_node_in_dev_reg(self, node: ZwaveNode) -> dr.DeviceEntry: ...
60
60
 
61
61
  class NodeEvents:
62
62
  config_entry: Incomplete
@@ -66,7 +66,7 @@ class NodeEvents:
66
66
  hass: Incomplete
67
67
  def __init__(self, hass: HomeAssistant, controller_events: ControllerEvents) -> None: ...
68
68
  async def async_on_node_ready(self, node: ZwaveNode) -> None: ...
69
- async def async_handle_discovery_info(self, device: device_registry.DeviceEntry, disc_info: ZwaveDiscoveryInfo, value_updates_disc_info: dict[str, ZwaveDiscoveryInfo]) -> None: ...
69
+ async def async_handle_discovery_info(self, device: dr.DeviceEntry, disc_info: ZwaveDiscoveryInfo, value_updates_disc_info: dict[str, ZwaveDiscoveryInfo]) -> None: ...
70
70
  async def async_on_value_added(self, value_updates_disc_info: dict[str, ZwaveDiscoveryInfo], value: Value) -> None: ...
71
71
  def async_on_value_notification(self, notification: ValueNotification) -> None: ...
72
72
  def async_on_notification(self, event: dict[str, Any]) -> None: ...
@@ -45,7 +45,6 @@ STATUS: str
45
45
  OPTED_IN: str
46
46
  SECURITY_CLASSES: str
47
47
  CLIENT_SIDE_AUTH: str
48
- DRY_RUN: str
49
48
  INCLUSION_STRATEGY: str
50
49
  INCLUSION_STRATEGY_NOT_SMART_START: dict[int, Literal[InclusionStrategy.DEFAULT, InclusionStrategy.SECURITY_S0, InclusionStrategy.SECURITY_S2, InclusionStrategy.INSECURE]]
51
50
  PIN: str
@@ -7,7 +7,6 @@ from _typeshed import Incomplete
7
7
  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
8
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant
9
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
- from homeassistant.helpers import entity_registry as entity_registry
11
10
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
12
11
  from typing import Any
13
12
 
@@ -12,7 +12,6 @@ from homeassistant.components.homeassistant.triggers import event as event, stat
12
12
  from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_PLATFORM as CONF_PLATFORM, CONF_TYPE as CONF_TYPE
13
13
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
14
14
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
15
- from homeassistant.helpers import device_registry as device_registry, entity_registry as entity_registry
16
15
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
17
16
  from homeassistant.helpers.typing import ConfigType as ConfigType
18
17
  from typing import Any
@@ -16,7 +16,8 @@ from zwave_js_server.model.value import ValueDataType as ValueDataType
16
16
  KEYS_TO_REDACT: Incomplete
17
17
  VALUES_TO_REDACT: Incomplete
18
18
 
19
- def redact_value_of_zwave_value(zwave_value: ValueDataType) -> ValueDataType: ...
19
+ def _redacted_value(zwave_value: ValueDataType) -> ValueDataType: ...
20
+ def optionally_redact_value_of_zwave_value(zwave_value: ValueDataType) -> ValueDataType: ...
20
21
  def redact_node_state(node_state: NodeDataType) -> NodeDataType: ...
21
22
  def get_device_entities(hass: HomeAssistant, node: Node, device: dr.DeviceEntry) -> list[dict[str, Any]]: ...
22
23
  async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ConfigEntry) -> dict[str, Any]: ...
@@ -1,7 +1,7 @@
1
1
  from .const import LOGGER as LOGGER
2
2
  from .discovery_data_template import BaseDiscoverySchemaDataTemplate as BaseDiscoverySchemaDataTemplate, ConfigurableFanValueMappingDataTemplate as ConfigurableFanValueMappingDataTemplate, CoverTiltDataTemplate as CoverTiltDataTemplate, DynamicCurrentTempClimateDataTemplate as DynamicCurrentTempClimateDataTemplate, FanValueMapping as FanValueMapping, FixedFanValueMappingDataTemplate as FixedFanValueMappingDataTemplate, NumericSensorDataTemplate as NumericSensorDataTemplate
3
3
  from .helpers import ZwaveValueID as ZwaveValueID
4
- from _typeshed import Incomplete
4
+ from _typeshed import DataclassInstance as DataclassInstance, Incomplete
5
5
  from awesomeversion import AwesomeVersion
6
6
  from collections.abc import Generator
7
7
  from homeassistant.backports.enum import StrEnum as StrEnum
@@ -1,24 +1,32 @@
1
- import asyncio
2
1
  from .const import API_KEY_FIRMWARE_UPDATE_SERVICE as API_KEY_FIRMWARE_UPDATE_SERVICE, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, LOGGER as LOGGER
3
2
  from .helpers import get_device_info as get_device_info, get_valueless_base_unique_id as get_valueless_base_unique_id
4
3
  from _typeshed import Incomplete
5
4
  from collections.abc import Callable as Callable
6
- from datetime import datetime
7
- from homeassistant.components.update import UpdateDeviceClass as UpdateDeviceClass, UpdateEntity as UpdateEntity, UpdateEntityFeature as UpdateEntityFeature
5
+ from datetime import datetime, timedelta
6
+ from homeassistant.components.update import ATTR_LATEST_VERSION as ATTR_LATEST_VERSION, UpdateDeviceClass as UpdateDeviceClass, UpdateEntity as UpdateEntity, UpdateEntityFeature as UpdateEntityFeature
8
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
8
  from homeassistant.const import EntityCategory as EntityCategory
10
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
+ from homeassistant.core import CoreState as CoreState, HomeAssistant as HomeAssistant, callback as callback
11
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
12
11
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
13
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
13
  from homeassistant.helpers.event import async_call_later as async_call_later
15
- from homeassistant.helpers.start import async_at_start as async_at_start
14
+ from homeassistant.helpers.restore_state import ExtraStoredData as ExtraStoredData
16
15
  from typing import Any
17
16
  from zwave_js_server.model.driver import Driver as Driver
18
17
  from zwave_js_server.model.node import Node as ZwaveNode
19
- from zwave_js_server.model.node.firmware import NodeFirmwareUpdateInfo as NodeFirmwareUpdateInfo, NodeFirmwareUpdateProgress as NodeFirmwareUpdateProgress, NodeFirmwareUpdateResult as NodeFirmwareUpdateResult
18
+ from zwave_js_server.model.node.firmware import NodeFirmwareUpdateInfo, NodeFirmwareUpdateProgress as NodeFirmwareUpdateProgress, NodeFirmwareUpdateResult as NodeFirmwareUpdateResult
20
19
 
21
20
  PARALLEL_UPDATES: int
21
+ UPDATE_DELAY_STRING: str
22
+ UPDATE_DELAY_INTERVAL: int
23
+
24
+ class ZWaveNodeFirmwareUpdateExtraStoredData(ExtraStoredData):
25
+ latest_version_firmware: Union[NodeFirmwareUpdateInfo, None]
26
+ def as_dict(self) -> dict[str, Any]: ...
27
+ @classmethod
28
+ def from_dict(cls, data: dict[str, Any]) -> ZWaveNodeFirmwareUpdateExtraStoredData: ...
29
+ def __init__(self, latest_version_firmware) -> None: ...
22
30
 
23
31
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
24
32
 
@@ -30,7 +38,6 @@ class ZWaveNodeFirmwareUpdate(UpdateEntity):
30
38
  _attr_should_poll: bool
31
39
  driver: Incomplete
32
40
  node: Incomplete
33
- semaphore: Incomplete
34
41
  _latest_version_firmware: Incomplete
35
42
  _status_unsub: Incomplete
36
43
  _poll_unsub: Incomplete
@@ -38,12 +45,15 @@ class ZWaveNodeFirmwareUpdate(UpdateEntity):
38
45
  _finished_unsub: Incomplete
39
46
  _finished_event: Incomplete
40
47
  _result: Incomplete
48
+ _delay: Incomplete
41
49
  _attr_name: str
42
50
  _base_unique_id: Incomplete
43
51
  _attr_unique_id: Incomplete
44
52
  _attr_installed_version: Incomplete
45
53
  _attr_device_info: Incomplete
46
- def __init__(self, driver: Driver, node: ZwaveNode, semaphore: asyncio.Semaphore) -> None: ...
54
+ def __init__(self, driver: Driver, node: ZwaveNode, delay: timedelta) -> None: ...
55
+ @property
56
+ def extra_restore_state_data(self) -> ZWaveNodeFirmwareUpdateExtraStoredData: ...
47
57
  def _update_on_status_change(self, _: dict[str, Any]) -> None: ...
48
58
  _attr_in_progress: Incomplete
49
59
  def _update_progress(self, event: dict[str, Any]) -> None: ...
@@ -130,7 +130,7 @@ class ConfigEntry:
130
130
  async def _async_process_on_unload(self) -> None: ...
131
131
  def async_start_reauth(self, hass: HomeAssistant, context: Union[dict[str, Any], None] = ..., data: Union[dict[str, Any], None] = ...) -> None: ...
132
132
  def async_get_active_flows(self, hass: HomeAssistant, sources: set[str]) -> Generator[FlowResult, None, None]: ...
133
- def async_create_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R]) -> asyncio.Task[_R]: ...
133
+ def async_create_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: Union[str, None] = ...) -> asyncio.Task[_R]: ...
134
134
  def async_create_background_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: str) -> asyncio.Task[_R]: ...
135
135
 
136
136
  current_entry: ContextVar[Union[ConfigEntry, None]]
@@ -182,6 +182,7 @@ class ConfigEntries:
182
182
  async def async_wait_component(self, entry: ConfigEntry) -> bool: ...
183
183
 
184
184
  async def _old_conf_migrator(old_config: dict[str, Any]) -> dict[str, Any]: ...
185
+ def _async_abort_entries_match(other_entries: list[ConfigEntry], match_dict: Union[dict[str, Any], None] = ...) -> None: ...
185
186
 
186
187
  class ConfigFlow(data_entry_flow.FlowHandler):
187
188
  def __init_subclass__(cls, *, domain: Union[str, None] = ..., **kwargs: Any) -> None: ...
@@ -222,6 +223,7 @@ class OptionsFlowManager(data_entry_flow.FlowManager):
222
223
 
223
224
  class OptionsFlow(data_entry_flow.FlowHandler):
224
225
  handler: str
226
+ def _async_abort_entries_match(self, match_dict: Union[dict[str, Any], None] = ...) -> None: ...
225
227
 
226
228
  class OptionsFlowWithConfigEntry(OptionsFlow):
227
229
  _config_entry: Incomplete
@@ -245,3 +247,4 @@ class EntityRegistryDisabledHandler:
245
247
  def _handle_entry_updated_filter(event: Event) -> bool: ...
246
248
  async def support_entry_unload(hass: HomeAssistant, domain: str) -> bool: ...
247
249
  async def support_remove_from_device(hass: HomeAssistant, domain: str) -> bool: ...
250
+ async def _load_integration(hass: HomeAssistant, domain: str, hass_config: ConfigType) -> None: ...
@@ -71,8 +71,9 @@ class HassJobType(enum.Enum):
71
71
  class HassJob:
72
72
  __slots__: Incomplete
73
73
  target: Incomplete
74
+ name: Incomplete
74
75
  job_type: Incomplete
75
- def __init__(self, target: Callable[_P, _R_co]) -> None: ...
76
+ def __init__(self, target: Callable[_P, _R_co], name: Union[str, None] = ...) -> None: ...
76
77
  def __repr__(self) -> str: ...
77
78
 
78
79
  def _get_hassjob_callable_job_type(target: Callable[..., Any]) -> HassJobType: ...
@@ -126,7 +127,7 @@ class HomeAssistant:
126
127
  @overload
127
128
  def async_add_hass_job(self, hassjob: HassJob[..., Union[Coroutine[Any, Any, _R], _R]], *args: Any) -> Union[asyncio.Future[_R], None]: ...
128
129
  def create_task(self, target: Coroutine[Any, Any, Any]) -> None: ...
129
- def async_create_task(self, target: Coroutine[Any, Any, _R]) -> asyncio.Task[_R]: ...
130
+ def async_create_task(self, target: Coroutine[Any, Any, _R], name: Union[str, None] = ...) -> asyncio.Task[_R]: ...
130
131
  def async_create_background_task(self, target: Coroutine[Any, Any, _R], name: str) -> asyncio.Task[_R]: ...
131
132
  def async_add_executor_job(self, target: Callable[..., _T], *args: Any) -> asyncio.Future[_T]: ...
132
133
  @overload
@@ -237,7 +238,7 @@ class Service:
237
238
  __slots__: Incomplete
238
239
  job: Incomplete
239
240
  schema: Incomplete
240
- def __init__(self, func: Callable[[ServiceCall], Union[Coroutine[Any, Any, None], None]], schema: Union[vol.Schema, None], context: Union[Context, None] = ...) -> None: ...
241
+ def __init__(self, func: Callable[[ServiceCall], Union[Coroutine[Any, Any, None], None]], schema: Union[vol.Schema, None], domain: str, service: str, context: Union[Context, None] = ...) -> None: ...
241
242
 
242
243
  class ServiceCall:
243
244
  __slots__: Incomplete
@@ -1,3 +1,4 @@
1
+ import voluptuous as vol
1
2
  from .sun import get_astral_event_date as get_astral_event_date
2
3
  from .template import Template as Template, render_complex as render_complex
3
4
  from .trace import TraceElement as TraceElement, trace_append_element as trace_append_element, trace_path as trace_path, trace_path_get as trace_path_get, trace_stack_cv as trace_stack_cv, trace_stack_pop as trace_stack_pop, trace_stack_push as trace_stack_push, trace_stack_top as trace_stack_top
@@ -9,14 +10,21 @@ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceCla
9
10
  from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_GPS_ACCURACY as ATTR_GPS_ACCURACY, ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, CONF_ABOVE as CONF_ABOVE, CONF_AFTER as CONF_AFTER, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BEFORE as CONF_BEFORE, CONF_BELOW as CONF_BELOW, CONF_CONDITION as CONF_CONDITION, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_ENABLED as CONF_ENABLED, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FOR as CONF_FOR, CONF_ID as CONF_ID, CONF_MATCH as CONF_MATCH, CONF_STATE as CONF_STATE, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_WEEKDAY as CONF_WEEKDAY, CONF_ZONE as CONF_ZONE, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_ANY as ENTITY_MATCH_ANY, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET, WEEKDAYS as WEEKDAYS
10
11
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
11
12
  from homeassistant.exceptions import ConditionError as ConditionError, ConditionErrorContainer as ConditionErrorContainer, ConditionErrorIndex as ConditionErrorIndex, ConditionErrorMessage as ConditionErrorMessage, HomeAssistantError as HomeAssistantError, TemplateError as TemplateError
13
+ from homeassistant.loader import IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration
12
14
  from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
13
- from typing import Any
15
+ from typing import Any, Protocol
14
16
 
15
17
  ASYNC_FROM_CONFIG_FORMAT: str
16
18
  FROM_CONFIG_FORMAT: str
17
19
  VALIDATE_CONFIG_FORMAT: str
18
- _LOGGER: Incomplete
20
+ _PLATFORM_ALIASES: Incomplete
19
21
  INPUT_ENTITY_ID: Incomplete
22
+
23
+ class ConditionProtocol(Protocol):
24
+ CONDITION_SCHEMA: vol.Schema
25
+ async def async_validate_condition_config(self, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
26
+ def async_condition_from_config(self, hass: HomeAssistant, config: ConfigType) -> ConditionCheckerType: ...
27
+
20
28
  ConditionCheckerType: Incomplete
21
29
 
22
30
  def condition_trace_append(variables: TemplateVarsType, path: str) -> TraceElement: ...
@@ -24,6 +32,7 @@ def condition_trace_set_result(result: bool, **kwargs: Any) -> None: ...
24
32
  def condition_trace_update_result(**kwargs: Any) -> None: ...
25
33
  def trace_condition(variables: TemplateVarsType) -> Generator[TraceElement, None, None]: ...
26
34
  def trace_condition_function(condition: ConditionCheckerType) -> ConditionCheckerType: ...
35
+ async def _async_get_condition_platform(hass: HomeAssistant, config: ConfigType) -> Union[ConditionProtocol, None]: ...
27
36
  async def async_from_config(hass: HomeAssistant, config: ConfigType) -> ConditionCheckerType: ...
28
37
  async def async_and_from_config(hass: HomeAssistant, config: ConfigType) -> ConditionCheckerType: ...
29
38
  async def async_or_from_config(hass: HomeAssistant, config: ConfigType) -> ConditionCheckerType: ...
@@ -42,7 +51,6 @@ def time(hass: HomeAssistant, before: Union[dt_time, str, None] = ..., after: Un
42
51
  def time_from_config(config: ConfigType) -> ConditionCheckerType: ...
43
52
  def zone(hass: HomeAssistant, zone_ent: Union[None, str, State], entity: Union[None, str, State]) -> bool: ...
44
53
  def zone_from_config(config: ConfigType) -> ConditionCheckerType: ...
45
- async def async_device_from_config(hass: HomeAssistant, config: ConfigType) -> ConditionCheckerType: ...
46
54
  async def async_trigger_from_config(hass: HomeAssistant, config: ConfigType) -> ConditionCheckerType: ...
47
55
  def numeric_state_validate_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
48
56
  def state_validate_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
@@ -6,7 +6,7 @@ from collections.abc import Callable as Callable, Hashable
6
6
  from datetime import date as date_sys, datetime as datetime_sys, time as time_sys, timedelta
7
7
  from enum import Enum
8
8
  from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_ABOVE as CONF_ABOVE, CONF_ALIAS as CONF_ALIAS, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BELOW as CONF_BELOW, CONF_CHOOSE as CONF_CHOOSE, CONF_CONDITION as CONF_CONDITION, CONF_CONDITIONS as CONF_CONDITIONS, CONF_CONTINUE_ON_ERROR as CONF_CONTINUE_ON_ERROR, CONF_CONTINUE_ON_TIMEOUT as CONF_CONTINUE_ON_TIMEOUT, CONF_COUNT as CONF_COUNT, CONF_DEFAULT as CONF_DEFAULT, CONF_DELAY as CONF_DELAY, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ELSE as CONF_ELSE, CONF_ENABLED as CONF_ENABLED, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_ENTITY_NAMESPACE as CONF_ENTITY_NAMESPACE, CONF_ERROR as CONF_ERROR, CONF_EVENT as CONF_EVENT, CONF_EVENT_DATA as CONF_EVENT_DATA, CONF_EVENT_DATA_TEMPLATE as CONF_EVENT_DATA_TEMPLATE, CONF_FOR as CONF_FOR, CONF_FOR_EACH as CONF_FOR_EACH, CONF_ID as CONF_ID, CONF_IF as CONF_IF, CONF_MATCH as CONF_MATCH, CONF_PARALLEL as CONF_PARALLEL, CONF_PLATFORM as CONF_PLATFORM, CONF_REPEAT as CONF_REPEAT, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_SCENE as CONF_SCENE, CONF_SEQUENCE as CONF_SEQUENCE, CONF_SERVICE as CONF_SERVICE, CONF_SERVICE_DATA as CONF_SERVICE_DATA, CONF_SERVICE_DATA_TEMPLATE as CONF_SERVICE_DATA_TEMPLATE, CONF_SERVICE_TEMPLATE as CONF_SERVICE_TEMPLATE, CONF_STATE as CONF_STATE, CONF_STOP as CONF_STOP, CONF_TARGET as CONF_TARGET, CONF_THEN as CONF_THEN, CONF_TIMEOUT as CONF_TIMEOUT, CONF_UNTIL as CONF_UNTIL, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_VARIABLES as CONF_VARIABLES, CONF_WAIT_FOR_TRIGGER as CONF_WAIT_FOR_TRIGGER, CONF_WAIT_TEMPLATE as CONF_WAIT_TEMPLATE, CONF_WHILE as CONF_WHILE, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_ANY as ENTITY_MATCH_ANY, ENTITY_MATCH_NONE as ENTITY_MATCH_NONE, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET, UnitOfTemperature as UnitOfTemperature, WEEKDAYS as WEEKDAYS
9
- from homeassistant.core import split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
9
+ from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
10
10
  from homeassistant.exceptions import TemplateError as TemplateError
11
11
  from homeassistant.generated import currencies as currencies
12
12
  from homeassistant.generated.countries import COUNTRIES as COUNTRIES
@@ -24,4 +24,5 @@ class Debouncer:
24
24
  async def async_call(self) -> None: ...
25
25
  async def _handle_timer_finish(self) -> None: ...
26
26
  def async_cancel(self) -> None: ...
27
+ def _on_debounce(self) -> None: ...
27
28
  def _schedule_timer(self) -> None: ...
@@ -8,7 +8,7 @@ from collections import UserDict
8
8
  from collections.abc import ValuesView
9
9
  from homeassistant.backports.enum import StrEnum as StrEnum
10
10
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
- from homeassistant.const import EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED
11
+ from homeassistant.const import EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
12
12
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
13
13
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, RequiredParameterMissing as RequiredParameterMissing
14
14
  from homeassistant.loader import bind_hass as bind_hass
@@ -161,6 +161,7 @@ class Entity(ABC):
161
161
  async def async_update_ha_state(self, force_refresh: bool = ...) -> None: ...
162
162
  def async_write_ha_state(self) -> None: ...
163
163
  def _stringify_state(self, available: bool) -> str: ...
164
+ def _friendly_name_internal(self) -> Union[str, None]: ...
164
165
  def _async_write_ha_state(self) -> None: ...
165
166
  def schedule_update_ha_state(self, force_refresh: bool = ...) -> None: ...
166
167
  def async_schedule_update_ha_state(self, force_refresh: bool = ...) -> None: ...