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
@@ -24,7 +24,6 @@ SWITCH_TYPES: tuple[TractiveSwitchEntityDescription, ...]
24
24
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
25
25
 
26
26
  class TractiveSwitch(TractiveEntity, SwitchEntity):
27
- _attr_has_entity_name: bool
28
27
  entity_description: TractiveSwitchEntityDescription
29
28
  _attr_unique_id: Incomplete
30
29
  _attr_available: bool
@@ -14,11 +14,11 @@ from typing import Any
14
14
  def handle_error(func: Callable[[Command | list[Command]], Any]) -> Callable[[Command | list[Command]], Coroutine[Any, Any, None]]: ...
15
15
 
16
16
  class TradfriBaseEntity(CoordinatorEntity[TradfriDeviceDataUpdateCoordinator], metaclass=abc.ABCMeta):
17
+ _attr_has_entity_name: bool
17
18
  _gateway_id: Incomplete
18
19
  _device: Incomplete
19
20
  _device_id: Incomplete
20
21
  _api: Incomplete
21
- _attr_name: Incomplete
22
22
  _attr_unique_id: Incomplete
23
23
  def __init__(self, device_coordinator: TradfriDeviceDataUpdateCoordinator, gateway_id: str, api: Callable[[Command | list[Command]], Any]) -> None: ...
24
24
  @abstractmethod
@@ -13,6 +13,7 @@ from typing import Any
13
13
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
14
 
15
15
  class TradfriCover(TradfriBaseEntity, CoverEntity):
16
+ _attr_name: Incomplete
16
17
  _device_control: Incomplete
17
18
  _device_data: Incomplete
18
19
  def __init__(self, device_coordinator: TradfriDeviceDataUpdateCoordinator, api: Callable[[Command | list[Command]], Any], gateway_id: str) -> None: ...
@@ -18,6 +18,7 @@ def _from_fan_speed(fan_speed: int) -> int: ...
18
18
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
19
19
 
20
20
  class TradfriAirPurifierFan(TradfriBaseEntity, FanEntity):
21
+ _attr_name: Incomplete
21
22
  _attr_supported_features: Incomplete
22
23
  _device_control: Incomplete
23
24
  _device_data: Incomplete
@@ -13,6 +13,7 @@ from typing import Any
13
13
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
14
 
15
15
  class TradfriLight(TradfriBaseEntity, LightEntity):
16
+ _attr_name: Incomplete
16
17
  _attr_supported_features: Incomplete
17
18
  _device_control: Incomplete
18
19
  _device_data: Incomplete
@@ -8,7 +8,6 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, PERCENTAGE as PERCENTAGE, Platform as Platform, UnitOfTime as UnitOfTime
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
- from homeassistant.helpers.typing import UNDEFINED as UNDEFINED
12
11
  from pytradfri.command import Command as Command
13
12
  from pytradfri.device import Device as Device
14
13
  from typing import Any
@@ -32,7 +31,6 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
32
31
  class TradfriSensor(TradfriBaseEntity, SensorEntity):
33
32
  entity_description: TradfriSensorEntityDescription
34
33
  _attr_unique_id: Incomplete
35
- _attr_name: Incomplete
36
34
  def __init__(self, device_coordinator: TradfriDeviceDataUpdateCoordinator, api: Callable[[Command | list[Command]], Any], gateway_id: str, description: TradfriSensorEntityDescription) -> None: ...
37
35
  _attr_native_value: Incomplete
38
36
  def _refresh(self) -> None: ...
@@ -13,6 +13,7 @@ from typing import Any
13
13
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
14
 
15
15
  class TradfriSwitch(TradfriBaseEntity, SwitchEntity):
16
+ _attr_name: Incomplete
16
17
  _device_control: Incomplete
17
18
  _device_data: Incomplete
18
19
  def __init__(self, device_coordinator: TradfriDeviceDataUpdateCoordinator, api: Callable[[Command | list[Command]], Any], gateway_id: str) -> None: ...
@@ -1,4 +1,5 @@
1
1
  from .const import CONF_FROM as CONF_FROM, CONF_TO as CONF_TO, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
+ from .coordinator import TVDataUpdateCoordinator as TVDataUpdateCoordinator
2
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
4
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY
4
5
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -0,0 +1,39 @@
1
+ from .const import CONF_TIME as CONF_TIME, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from datetime import date, datetime
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_WEEKDAY as CONF_WEEKDAY, WEEKDAYS as WEEKDAYS
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
8
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
10
+ from pytrafikverket.trafikverket_train import StationInfo as StationInfo, TrainStop as TrainStop
11
+
12
+ class TrainData:
13
+ departure_time: datetime | None
14
+ departure_state: str
15
+ cancelled: bool
16
+ delayed_time: int | None
17
+ planned_time: datetime | None
18
+ estimated_time: datetime | None
19
+ actual_time: datetime | None
20
+ other_info: str | None
21
+ deviation: str | None
22
+ def __init__(self, departure_time, departure_state, cancelled, delayed_time, planned_time, estimated_time, actual_time, other_info, deviation) -> None: ...
23
+
24
+ _LOGGER: Incomplete
25
+ TIME_BETWEEN_UPDATES: Incomplete
26
+
27
+ def _next_weekday(fromdate: date, weekday: int) -> date: ...
28
+ def _next_departuredate(departure: list[str]) -> date: ...
29
+ def _get_as_utc(date_value: datetime | None) -> datetime | None: ...
30
+ def _get_as_joined(information: list[str] | None) -> str | None: ...
31
+
32
+ class TVDataUpdateCoordinator(DataUpdateCoordinator[TrainData]):
33
+ _train_api: Incomplete
34
+ from_station: Incomplete
35
+ to_station: Incomplete
36
+ _time: Incomplete
37
+ _weekdays: Incomplete
38
+ def __init__(self, hass: HomeAssistant, entry: ConfigEntry, to_station: StationInfo, from_station: StationInfo) -> None: ...
39
+ async def _async_update_data(self) -> TrainData: ...
@@ -1,18 +1,18 @@
1
- from .const import CONF_FROM as CONF_FROM, CONF_TIME as CONF_TIME, CONF_TO as CONF_TO, DOMAIN as DOMAIN
1
+ from .const import CONF_TIME as CONF_TIME, DOMAIN as DOMAIN
2
+ from .coordinator import TVDataUpdateCoordinator as TVDataUpdateCoordinator
2
3
  from .util import create_unique_id as create_unique_id
3
4
  from _typeshed import Incomplete
4
- from datetime import date, datetime, time
5
+ from datetime import time
5
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
- from homeassistant.const import CONF_NAME as CONF_NAME, CONF_WEEKDAY as CONF_WEEKDAY, WEEKDAYS as WEEKDAYS
8
- from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.const import CONF_NAME as CONF_NAME, CONF_WEEKDAY as CONF_WEEKDAY
9
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
10
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType
10
11
  from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
11
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
- from pytrafikverket import TrafikverketTrain as TrafikverketTrain
13
- from pytrafikverket.trafikverket_train import StationInfo as StationInfo, TrainStop as TrainStop
13
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
14
+ from pytrafikverket.trafikverket_train import StationInfo as StationInfo
14
15
 
15
- _LOGGER: Incomplete
16
16
  ATTR_DEPARTURE_STATE: str
17
17
  ATTR_CANCELED: str
18
18
  ATTR_DELAY_TIME: str
@@ -25,24 +25,16 @@ ICON: str
25
25
  SCAN_INTERVAL: Incomplete
26
26
 
27
27
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
28
- def next_weekday(fromdate: date, weekday: int) -> date: ...
29
- def next_departuredate(departure: list[str]) -> date: ...
30
- def _to_iso_format(traintime: datetime) -> str: ...
31
28
 
32
- class TrainSensor(SensorEntity):
29
+ class TrainSensor(CoordinatorEntity[TVDataUpdateCoordinator], SensorEntity):
33
30
  _attr_icon = ICON
34
31
  _attr_device_class: Incomplete
35
32
  _attr_has_entity_name: bool
36
- _train_api: Incomplete
37
- _from_station: Incomplete
38
- _to_station: Incomplete
39
- _weekday: Incomplete
40
- _time: Incomplete
33
+ _attr_name: Incomplete
41
34
  _attr_device_info: Incomplete
42
35
  _attr_unique_id: Incomplete
43
- def __init__(self, train_api: TrafikverketTrain, name: str, from_station: StationInfo, to_station: StationInfo, weekday: list, departuretime: time | None, entry_id: str) -> None: ...
44
- _attr_available: bool
36
+ def __init__(self, coordinator: TVDataUpdateCoordinator, name: str, from_station: StationInfo, to_station: StationInfo, weekday: list, departuretime: time | None, entry_id: str) -> None: ...
37
+ def _handle_coordinator_update(self) -> None: ...
45
38
  _attr_native_value: Incomplete
46
39
  _attr_extra_state_attributes: Incomplete
47
- async def async_update(self) -> None: ...
48
- def _update_attributes(self, state: TrainStop) -> None: ...
40
+ def _update_attr(self) -> None: ...
@@ -1,4 +1,4 @@
1
- from .const import DOMAIN as DOMAIN, WASTE_TYPE_TO_DESCRIPTION as WASTE_TYPE_TO_DESCRIPTION
1
+ from .const import DOMAIN as DOMAIN
2
2
  from .entity import TwenteMilieuEntity as TwenteMilieuEntity
3
3
  from _typeshed import Incomplete
4
4
  from datetime import date
@@ -37,7 +37,7 @@ class UnifiEntityTrackerDescriptionMixin(Generic[HandlerT, ApiItemT]):
37
37
  def __init__(self, heartbeat_timedelta_fn, ip_address_fn, is_connected_fn, hostname_fn) -> None: ...
38
38
 
39
39
  class UnifiTrackerEntityDescription(UnifiEntityDescription[HandlerT, ApiItemT], UnifiEntityTrackerDescriptionMixin[HandlerT, ApiItemT]):
40
- def __init__(self, heartbeat_timedelta_fn, ip_address_fn, is_connected_fn, hostname_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, 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: ...
40
+ def __init__(self, heartbeat_timedelta_fn, ip_address_fn, is_connected_fn, hostname_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
41
41
 
42
42
  ENTITY_DESCRIPTIONS: tuple[UnifiTrackerEntityDescription, ...]
43
43
 
@@ -1,6 +1,6 @@
1
1
  import abc
2
2
  import aiounifi
3
- from .const import ATTR_MANUFACTURER as ATTR_MANUFACTURER
3
+ from .const import ATTR_MANUFACTURER as ATTR_MANUFACTURER, DOMAIN as DOMAIN
4
4
  from .controller import UniFiController as UniFiController
5
5
  from _typeshed import Incomplete
6
6
  from abc import abstractmethod
@@ -9,7 +9,7 @@ from aiounifi.models.api import ApiItemT
9
9
  from aiounifi.models.event import Event as Event, EventKey as EventKey
10
10
  from collections.abc import Callable
11
11
  from homeassistant.core import callback as callback
12
- from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC
12
+ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceEntryType as DeviceEntryType
13
13
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
14
14
  from homeassistant.helpers.entity import DeviceInfo as DeviceInfo, Entity as Entity, EntityDescription as EntityDescription
15
15
  from typing import Generic, TypeVar
@@ -19,6 +19,7 @@ SubscriptionT = Callable[[CallbackType, ItemEvent], UnsubscribeType]
19
19
 
20
20
  def async_device_available_fn(controller: UniFiController, obj_id: str) -> bool: ...
21
21
  def async_device_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: ...
22
+ def async_wlan_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: ...
22
23
 
23
24
  class UnifiDescription(Generic[HandlerT, ApiItemT]):
24
25
  allowed_fn: Callable[[UniFiController, str], bool]
@@ -29,22 +30,23 @@ class UnifiDescription(Generic[HandlerT, ApiItemT]):
29
30
  event_to_subscribe: tuple[EventKey, ...] | None
30
31
  name_fn: Callable[[ApiItemT], str | None]
31
32
  object_fn: Callable[[aiounifi.Controller, str], ApiItemT]
33
+ should_poll: bool
32
34
  supported_fn: Callable[[UniFiController, str], bool | None]
33
35
  unique_id_fn: Callable[[UniFiController, str], str]
34
- def __init__(self, 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) -> None: ...
36
+ def __init__(self, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn) -> None: ...
35
37
 
36
38
  class UnifiEntityDescription(EntityDescription, UnifiDescription[HandlerT, ApiItemT]):
37
- def __init__(self, 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: ...
39
+ def __init__(self, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
38
40
 
39
41
  class UnifiEntity(Entity, Generic[HandlerT, ApiItemT], metaclass=abc.ABCMeta):
40
42
  entity_description: UnifiEntityDescription[HandlerT, ApiItemT]
41
- _attr_should_poll: bool
42
43
  _attr_unique_id: str
43
44
  _obj_id: Incomplete
44
45
  controller: Incomplete
45
46
  _removed: bool
46
47
  _attr_available: Incomplete
47
48
  _attr_device_info: Incomplete
49
+ _attr_should_poll: Incomplete
48
50
  _attr_name: Incomplete
49
51
  def __init__(self, obj_id: str, controller: UniFiController, description: UnifiEntityDescription[HandlerT, ApiItemT]) -> None: ...
50
52
  async def async_added_to_hass(self) -> None: ...
@@ -52,6 +54,7 @@ class UnifiEntity(Entity, Generic[HandlerT, ApiItemT], metaclass=abc.ABCMeta):
52
54
  def async_signal_reachable_callback(self) -> None: ...
53
55
  async def async_signal_options_updated(self) -> None: ...
54
56
  async def remove_item(self, keys: set) -> None: ...
57
+ async def async_update(self) -> None: ...
55
58
  def async_initiate_state(self) -> None: ...
56
59
  @abstractmethod
57
60
  def async_update_state(self, event: ItemEvent, obj_id: str) -> None: ...
@@ -0,0 +1,37 @@
1
+ from .controller import UniFiController as UniFiController
2
+ from .entity import HandlerT as HandlerT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_wlan_device_info_fn as async_wlan_device_info_fn
3
+ from _typeshed import Incomplete
4
+ from aiounifi.interfaces.api_handlers import ItemEvent as ItemEvent
5
+ from aiounifi.models.api import ApiItemT
6
+ from aiounifi.models.wlan import Wlan
7
+ from collections.abc import Callable as Callable
8
+ from homeassistant.components.image import ImageEntity as ImageEntity, ImageEntityDescription as ImageEntityDescription
9
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
+ from homeassistant.const import EntityCategory as EntityCategory
11
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
+ from typing import Generic
14
+
15
+ def async_wlan_qr_code_image_fn(controller: UniFiController, wlan: Wlan) -> bytes: ...
16
+
17
+ class UnifiImageEntityDescriptionMixin(Generic[HandlerT, ApiItemT]):
18
+ image_fn: Callable[[UniFiController, ApiItemT], bytes]
19
+ value_fn: Callable[[ApiItemT], str]
20
+ def __init__(self, image_fn, value_fn) -> None: ...
21
+
22
+ class UnifiImageEntityDescription(ImageEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT], UnifiImageEntityDescriptionMixin[HandlerT, ApiItemT]):
23
+ def __init__(self, image_fn, value_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
24
+
25
+ ENTITY_DESCRIPTIONS: tuple[UnifiImageEntityDescription, ...]
26
+
27
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
28
+
29
+ class UnifiImageEntity(UnifiEntity[HandlerT, ApiItemT], ImageEntity):
30
+ entity_description: UnifiImageEntityDescription[HandlerT, ApiItemT]
31
+ _attr_content_type: str
32
+ current_image: bytes | None
33
+ previous_value: str
34
+ def __init__(self, obj_id: str, controller: UniFiController, description: UnifiEntityDescription[HandlerT, ApiItemT]) -> None: ...
35
+ def image(self) -> bytes | None: ...
36
+ _attr_image_last_updated: Incomplete
37
+ def async_update_state(self, event: ItemEvent, obj_id: str) -> None: ...
@@ -1,10 +1,11 @@
1
1
  import aiounifi
2
2
  from .controller import UniFiController as UniFiController
3
- from .entity import HandlerT as HandlerT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_device_available_fn as async_device_available_fn, async_device_device_info_fn as async_device_device_info_fn
3
+ from .entity import HandlerT as HandlerT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_device_available_fn as async_device_available_fn, async_device_device_info_fn as async_device_device_info_fn, async_wlan_device_info_fn as async_wlan_device_info_fn
4
4
  from _typeshed import Incomplete
5
5
  from aiounifi.interfaces.api_handlers import ItemEvent as ItemEvent
6
6
  from aiounifi.models.api import ApiItemT
7
7
  from aiounifi.models.client import Client
8
+ from aiounifi.models.wlan import Wlan
8
9
  from collections.abc import Callable as Callable
9
10
  from datetime import datetime
10
11
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
@@ -19,6 +20,7 @@ from typing import Generic
19
20
  def async_client_rx_value_fn(controller: UniFiController, client: Client) -> float: ...
20
21
  def async_client_tx_value_fn(controller: UniFiController, client: Client) -> float: ...
21
22
  def async_client_uptime_value_fn(controller: UniFiController, client: Client) -> datetime: ...
23
+ def async_wlan_client_value_fn(controller: UniFiController, wlan: Wlan) -> int: ...
22
24
  def async_client_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: ...
23
25
 
24
26
  class UnifiSensorEntityDescriptionMixin(Generic[HandlerT, ApiItemT]):
@@ -26,7 +28,7 @@ class UnifiSensorEntityDescriptionMixin(Generic[HandlerT, ApiItemT]):
26
28
  def __init__(self, value_fn) -> None: ...
27
29
 
28
30
  class UnifiSensorEntityDescription(SensorEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT], UnifiSensorEntityDescriptionMixin[HandlerT, ApiItemT]):
29
- def __init__(self, value_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
31
+ def __init__(self, value_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
30
32
 
31
33
  ENTITY_DESCRIPTIONS: tuple[UnifiSensorEntityDescription, ...]
32
34
 
@@ -1,7 +1,7 @@
1
1
  import aiounifi
2
2
  from .const import ATTR_MANUFACTURER as ATTR_MANUFACTURER
3
3
  from .controller import UniFiController as UniFiController
4
- from .entity import HandlerT as HandlerT, SubscriptionT as SubscriptionT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_device_available_fn as async_device_available_fn, async_device_device_info_fn as async_device_device_info_fn
4
+ from .entity import HandlerT as HandlerT, SubscriptionT as SubscriptionT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_device_available_fn as async_device_available_fn, async_device_device_info_fn as async_device_device_info_fn, async_wlan_device_info_fn as async_wlan_device_info_fn
5
5
  from _typeshed import Incomplete
6
6
  from aiounifi.interfaces.api_handlers import ItemEvent
7
7
  from aiounifi.models.api import ApiItemT
@@ -27,6 +27,7 @@ async def async_block_client_control_fn(api: aiounifi.Controller, obj_id: str, t
27
27
  async def async_dpi_group_control_fn(api: aiounifi.Controller, obj_id: str, target: bool) -> None: ...
28
28
  async def async_outlet_control_fn(api: aiounifi.Controller, obj_id: str, target: bool) -> None: ...
29
29
  async def async_poe_port_control_fn(api: aiounifi.Controller, obj_id: str, target: bool) -> None: ...
30
+ async def async_wlan_control_fn(api: aiounifi.Controller, obj_id: str, target: bool) -> None: ...
30
31
 
31
32
  class UnifiSwitchEntityDescriptionMixin(Generic[HandlerT, ApiItemT]):
32
33
  control_fn: Callable[[aiounifi.Controller, str, bool], Coroutine[Any, Any, None]]
@@ -36,7 +37,7 @@ class UnifiSwitchEntityDescriptionMixin(Generic[HandlerT, ApiItemT]):
36
37
  class UnifiSwitchEntityDescription(SwitchEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT], UnifiSwitchEntityDescriptionMixin[HandlerT, ApiItemT]):
37
38
  custom_subscribe: Callable[[aiounifi.Controller], SubscriptionT] | None
38
39
  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
+ def __init__(self, control_fn, is_on_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, custom_subscribe, only_event_for_state_change) -> None: ...
40
41
 
41
42
  ENTITY_DESCRIPTIONS: tuple[UnifiSwitchEntityDescription, ...]
42
43
 
@@ -24,7 +24,7 @@ class UnifiUpdateEntityDescriptionMixin(Generic[_HandlerT, _DataT]):
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, 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: ...
27
+ def __init__(self, control_fn, state_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
28
28
 
29
29
  ENTITY_DESCRIPTIONS: tuple[UnifiUpdateEntityDescription, ...]
30
30
 
@@ -44,6 +44,5 @@ class EventEntityMixin(ProtectDeviceEntity):
44
44
  entity_description: ProtectEventMixin
45
45
  _event: Incomplete
46
46
  def __init__(self, *args: Any, **kwarg: Any) -> None: ...
47
- def _async_event_extra_attrs(self) -> dict[str, Any]: ...
48
47
  _attr_extra_state_attributes: Incomplete
49
48
  def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
@@ -9,17 +9,20 @@ from typing import Any, Generic, TypeVar
9
9
  _LOGGER: Incomplete
10
10
  T = TypeVar('T', bound=ProtectAdoptableDeviceModel | NVR)
11
11
 
12
+ def split_tuple(value: tuple[str, ...] | str | None) -> tuple[str, ...] | None: ...
13
+
12
14
  class PermRequired(int, Enum):
13
15
  NO_WRITE: int
14
16
  WRITE: int
15
17
  DELETE: int
16
18
 
17
19
  class ProtectRequiredKeysMixin(EntityDescription, Generic[T]):
18
- ufp_required_field: str | None
19
- ufp_value: str | None
20
+ ufp_required_field: tuple[str, ...] | str | None
21
+ ufp_value: tuple[str, ...] | str | None
20
22
  ufp_value_fn: Callable[[T], Any] | None
21
- ufp_enabled: str | None
23
+ ufp_enabled: tuple[str, ...] | str | None
22
24
  ufp_perm: PermRequired | None
25
+ def __post_init__(self) -> None: ...
23
26
  def get_ufp_value(self, obj: T) -> Any: ...
24
27
  def get_ufp_enabled(self, obj: T) -> bool: ...
25
28
  def has_required(self, obj: T) -> bool: ...
@@ -28,7 +31,7 @@ class ProtectRequiredKeysMixin(EntityDescription, Generic[T]):
28
31
  class ProtectEventMixin(ProtectRequiredKeysMixin[T]):
29
32
  ufp_event_obj: str | None
30
33
  def get_event_obj(self, obj: T) -> Event | None: ...
31
- def get_is_on(self, obj: T) -> bool: ...
34
+ def get_is_on(self, event: Event | None) -> bool: ...
32
35
  def __init__(self, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_event_obj) -> None: ...
33
36
 
34
37
  class ProtectSetableKeysMixin(ProtectRequiredKeysMixin[T]):
@@ -49,19 +49,16 @@ def _async_nvr_entities(data: ProtectData) -> list[ProtectDeviceEntity]: ...
49
49
 
50
50
  class ProtectDeviceSensor(ProtectDeviceEntity, SensorEntity):
51
51
  entity_description: ProtectSensorEntityDescription
52
- def __init__(self, data: ProtectData, device: ProtectAdoptableDeviceModel, description: ProtectSensorEntityDescription) -> None: ...
53
52
  _attr_native_value: Incomplete
54
53
  def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
55
54
 
56
55
  class ProtectNVRSensor(ProtectNVREntity, SensorEntity):
57
56
  entity_description: ProtectSensorEntityDescription
58
- def __init__(self, data: ProtectData, device: NVR, description: ProtectSensorEntityDescription) -> None: ...
59
57
  _attr_native_value: Incomplete
60
58
  def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
61
59
 
62
60
  class ProtectEventSensor(EventEntityMixin, SensorEntity):
63
61
  entity_description: ProtectSensorEventEntityDescription
64
- def __init__(self, data: ProtectData, device: ProtectAdoptableDeviceModel, description: ProtectSensorEventEntityDescription) -> None: ...
65
62
  _attr_native_value: Incomplete
66
63
  _event: Incomplete
67
64
  _attr_extra_state_attributes: Incomplete
@@ -12,7 +12,7 @@ from typing import Any
12
12
 
13
13
  _SENTINEL: Incomplete
14
14
 
15
- def get_nested_attr(obj: Any, attr: str) -> Any: ...
15
+ def get_nested_attr(obj: Any, attrs: tuple[str, ...]) -> Any: ...
16
16
  def _async_unifi_mac_from_hass(mac: str) -> str: ...
17
17
  def _async_short_mac(mac: str) -> str: ...
18
18
  async def _async_resolve(hass: HomeAssistant, host: str) -> str | None: ...
@@ -1,6 +1,6 @@
1
1
  from .const import ATTR_BACKUP as ATTR_BACKUP, ATTR_INSTALLED_VERSION as ATTR_INSTALLED_VERSION, ATTR_LATEST_VERSION as ATTR_LATEST_VERSION, ATTR_VERSION as ATTR_VERSION, DOMAIN as DOMAIN, SERVICE_INSTALL as SERVICE_INSTALL, SERVICE_SKIP as SERVICE_SKIP, UpdateEntityFeature as UpdateEntityFeature
2
2
  from _typeshed import Incomplete
3
- from homeassistant.backports.enum import StrEnum
3
+ from enum import StrEnum
4
4
  from homeassistant.const import EntityCategory
5
5
  from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE
6
6
  from homeassistant.helpers.entity import EntityDescription
@@ -8,6 +8,8 @@ from pyuptimerobot import UptimeRobotMonitor as UptimeRobotMonitor
8
8
 
9
9
  class UptimeRobotEntity(CoordinatorEntity[UptimeRobotDataUpdateCoordinator]):
10
10
  _attr_attribution = ATTRIBUTION
11
+ _attr_has_entity_name: bool
12
+ _attr_name: Incomplete
11
13
  entity_description: Incomplete
12
14
  _monitor: Incomplete
13
15
  _attr_device_info: Incomplete
@@ -1,12 +1,14 @@
1
+ import asyncio
1
2
  from _typeshed import Incomplete
2
3
  from collections.abc import Mapping
3
4
  from enum import IntFlag
4
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
6
  from homeassistant.const import ATTR_BATTERY_LEVEL as ATTR_BATTERY_LEVEL, ATTR_COMMAND as ATTR_COMMAND, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_IDLE as STATE_IDLE, STATE_ON as STATE_ON, STATE_PAUSED as STATE_PAUSED
6
- from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
8
  from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE, make_entity_service_schema as make_entity_service_schema
8
9
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription, ToggleEntity as ToggleEntity, ToggleEntityDescription as ToggleEntityDescription
9
10
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
11
+ from homeassistant.helpers.entity_platform import EntityPlatform as EntityPlatform
10
12
  from homeassistant.helpers.icon import icon_for_battery_level as icon_for_battery_level
11
13
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
14
  from homeassistant.loader import bind_hass as bind_hass
@@ -111,6 +113,7 @@ class VacuumEntityDescription(ToggleEntityDescription):
111
113
  def __init__(self, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
112
114
 
113
115
  class VacuumEntity(_BaseVacuum, ToggleEntity):
116
+ def add_to_platform_start(self, hass: HomeAssistant, platform: EntityPlatform, parallel_updates: asyncio.Semaphore | None) -> None: ...
114
117
  entity_description: VacuumEntityDescription
115
118
  _attr_status: str | None
116
119
  @property
@@ -125,8 +128,6 @@ class VacuumEntity(_BaseVacuum, ToggleEntity):
125
128
  async def async_turn_off(self, **kwargs: Any) -> None: ...
126
129
  def start_pause(self, **kwargs: Any) -> None: ...
127
130
  async def async_start_pause(self, **kwargs: Any) -> None: ...
128
- async def async_pause(self) -> None: ...
129
- async def async_start(self) -> None: ...
130
131
 
131
132
  class StateVacuumEntityDescription(EntityDescription):
132
133
  def __init__(self, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
@@ -142,6 +143,3 @@ class StateVacuumEntity(_BaseVacuum):
142
143
  async def async_start(self) -> None: ...
143
144
  def pause(self) -> None: ...
144
145
  async def async_pause(self) -> None: ...
145
- async def async_turn_on(self, **kwargs: Any) -> None: ...
146
- async def async_turn_off(self, **kwargs: Any) -> None: ...
147
- async def async_toggle(self, **kwargs: Any) -> None: ...
@@ -55,6 +55,7 @@ class ValloxServiceHandler:
55
55
  async def async_handle(self, call: ServiceCall) -> None: ...
56
56
 
57
57
  class ValloxEntity(CoordinatorEntity[ValloxDataUpdateCoordinator]):
58
+ _attr_has_entity_name: bool
58
59
  _device_uuid: Incomplete
59
60
  _attr_device_info: Incomplete
60
61
  def __init__(self, name: str, coordinator: ValloxDataUpdateCoordinator) -> None: ...
@@ -10,7 +10,6 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
10
10
  class ValloxBinarySensorEntity(ValloxEntity, BinarySensorEntity):
11
11
  entity_description: ValloxBinarySensorEntityDescription
12
12
  _attr_entity_category: Incomplete
13
- _attr_has_entity_name: bool
14
13
  _attr_unique_id: Incomplete
15
14
  def __init__(self, name: str, coordinator: ValloxDataUpdateCoordinator, description: ValloxBinarySensorEntityDescription) -> None: ...
16
15
  @property
@@ -21,7 +21,7 @@ def _convert_to_int(value: StateType) -> int | None: ...
21
21
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
22
 
23
23
  class ValloxFanEntity(ValloxEntity, FanEntity):
24
- _attr_has_entity_name: bool
24
+ _attr_name: Incomplete
25
25
  _attr_supported_features: Incomplete
26
26
  _client: Incomplete
27
27
  _attr_unique_id: Incomplete
@@ -10,7 +10,6 @@ from vallox_websocket_api import Vallox as Vallox
10
10
 
11
11
  class ValloxNumberEntity(ValloxEntity, NumberEntity):
12
12
  entity_description: ValloxNumberEntityDescription
13
- _attr_has_entity_name: bool
14
13
  _attr_entity_category: Incomplete
15
14
  _attr_unique_id: Incomplete
16
15
  _client: Incomplete
@@ -12,7 +12,6 @@ from homeassistant.helpers.typing import StateType as StateType
12
12
  class ValloxSensorEntity(ValloxEntity, SensorEntity):
13
13
  entity_description: ValloxSensorEntityDescription
14
14
  _attr_entity_category: Incomplete
15
- _attr_has_entity_name: bool
16
15
  _attr_unique_id: Incomplete
17
16
  def __init__(self, name: str, coordinator: ValloxDataUpdateCoordinator, description: ValloxSensorEntityDescription) -> None: ...
18
17
  @property
@@ -12,7 +12,6 @@ from vallox_websocket_api import Vallox as Vallox
12
12
  class ValloxSwitchEntity(ValloxEntity, SwitchEntity):
13
13
  entity_description: ValloxSwitchEntityDescription
14
14
  _attr_entity_category: Incomplete
15
- _attr_has_entity_name: bool
16
15
  _attr_unique_id: Incomplete
17
16
  _client: Incomplete
18
17
  def __init__(self, name: str, coordinator: ValloxDataUpdateCoordinator, description: ValloxSwitchEntityDescription, client: Vallox) -> None: ...
@@ -21,10 +21,11 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_e
21
21
  def catch_vlc_errors(func: Callable[Concatenate[_VlcDeviceT, _P], Awaitable[None]]) -> Callable[Concatenate[_VlcDeviceT, _P], Coroutine[Any, Any, None]]: ...
22
22
 
23
23
  class VlcDevice(MediaPlayerEntity):
24
+ _attr_has_entity_name: bool
25
+ _attr_name: Incomplete
24
26
  _attr_media_content_type: Incomplete
25
27
  _attr_supported_features: Incomplete
26
28
  _config_entry: Incomplete
27
- _name: Incomplete
28
29
  _volume: Incomplete
29
30
  _muted: Incomplete
30
31
  _media_position_updated_at: Incomplete
@@ -43,8 +44,6 @@ class VlcDevice(MediaPlayerEntity):
43
44
  _attr_media_album_name: Incomplete
44
45
  async def async_update(self) -> None: ...
45
46
  @property
46
- def name(self) -> str: ...
47
- @property
48
47
  def available(self) -> bool: ...
49
48
  @property
50
49
  def volume_level(self) -> float | None: ...
@@ -1,5 +1,5 @@
1
1
  from _typeshed import Incomplete
2
- from homeassistant.backports.enum import StrEnum as StrEnum
2
+ from enum import StrEnum
3
3
 
4
4
  DOMAIN: str
5
5
  BIDIRECTIONAL_MODEL_PREFIXES: Incomplete
@@ -30,6 +30,7 @@ class WaterHeaterEntityFeature(IntFlag):
30
30
  TARGET_TEMPERATURE: int
31
31
  OPERATION_MODE: int
32
32
  AWAY_MODE: int
33
+ ON_OFF: int
33
34
 
34
35
  SUPPORT_TARGET_TEMPERATURE: int
35
36
  SUPPORT_OPERATION_MODE: int
@@ -97,6 +98,10 @@ class WaterHeaterEntity(Entity):
97
98
  def is_away_mode_on(self) -> bool | None: ...
98
99
  def set_temperature(self, **kwargs: Any) -> None: ...
99
100
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
101
+ def turn_on(self, **kwargs: Any) -> None: ...
102
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
103
+ def turn_off(self, **kwargs: Any) -> None: ...
104
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
100
105
  def set_operation_mode(self, operation_mode: str) -> None: ...
101
106
  async def async_set_operation_mode(self, operation_mode: str) -> None: ...
102
107
  def turn_away_mode_on(self) -> None: ...