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
@@ -0,0 +1,46 @@
1
+ import voluptuous as vol
2
+ from . import subscription as subscription
3
+ from .config import MQTT_RO_SCHEMA as MQTT_RO_SCHEMA
4
+ from .const import CONF_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_EMPTY_JSON as PAYLOAD_EMPTY_JSON, PAYLOAD_NONE as PAYLOAD_NONE
5
+ from .debug_info import log_messages as log_messages
6
+ from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entry_helper as async_setup_entry_helper
7
+ from .models import MqttValueTemplate as MqttValueTemplate, PayloadSentinel as PayloadSentinel, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
8
+ from .util import get_mqtt_data as get_mqtt_data
9
+ from _typeshed import Incomplete
10
+ from collections.abc import Callable as Callable
11
+ from homeassistant.components import event as event
12
+ from homeassistant.components.event import ENTITY_ID_FORMAT as ENTITY_ID_FORMAT, EventDeviceClass as EventDeviceClass, EventEntity as EventEntity
13
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
14
+ from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_NAME as CONF_NAME, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
15
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
16
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
17
+ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
18
+ from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads_object as json_loads_object
19
+
20
+ _LOGGER: Incomplete
21
+ CONF_EVENT_TYPES: str
22
+ MQTT_EVENT_ATTRIBUTES_BLOCKED: Incomplete
23
+ DEFAULT_NAME: str
24
+ DEFAULT_FORCE_UPDATE: bool
25
+ DEVICE_CLASS_SCHEMA: Incomplete
26
+ _PLATFORM_SCHEMA_BASE: Incomplete
27
+ PLATFORM_SCHEMA_MODERN: Incomplete
28
+ DISCOVERY_SCHEMA: Incomplete
29
+
30
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
31
+ async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
32
+
33
+ class MqttEvent(MqttEntity, EventEntity):
34
+ _default_name = DEFAULT_NAME
35
+ _entity_id_format = ENTITY_ID_FORMAT
36
+ _attributes_extra_blocked = MQTT_EVENT_ATTRIBUTES_BLOCKED
37
+ _template: Callable[[ReceivePayloadType, PayloadSentinel], ReceivePayloadType]
38
+ def __init__(self, hass: HomeAssistant, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
39
+ @staticmethod
40
+ def config_schema() -> vol.Schema: ...
41
+ _attr_device_class: Incomplete
42
+ _attr_event_types: Incomplete
43
+ def _setup_from_config(self, config: ConfigType) -> None: ...
44
+ _sub_state: Incomplete
45
+ def _prepare_subscribe_topics(self) -> None: ...
46
+ async def _subscribe_topics(self) -> None: ...
@@ -64,6 +64,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
64
64
  async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
65
65
 
66
66
  class MqttFan(MqttEntity, FanEntity):
67
+ _default_name = DEFAULT_NAME
67
68
  _entity_id_format: Incomplete
68
69
  _attributes_extra_blocked = MQTT_FAN_ATTRIBUTES_BLOCKED
69
70
  _command_templates: dict[str, Callable[[PublishPayloadType], PublishPayloadType]]
@@ -51,6 +51,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
51
51
  async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
52
52
 
53
53
  class MqttHumidifier(MqttEntity, HumidifierEntity):
54
+ _default_name = DEFAULT_NAME
54
55
  _entity_id_format: Incomplete
55
56
  _attributes_extra_blocked = MQTT_HUMIDIFIER_ATTRIBUTES_BLOCKED
56
57
  _command_templates: dict[str, Callable[[PublishPayloadType], PublishPayloadType]]
@@ -39,6 +39,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
39
39
  async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
40
40
 
41
41
  class MqttImage(MqttEntity, ImageEntity):
42
+ _default_name = DEFAULT_NAME
42
43
  _entity_id_format: str
43
44
  _last_image: bytes | None
44
45
  _client: httpx.AsyncClient
@@ -76,6 +76,7 @@ DISCOVERY_SCHEMA_BASIC: Incomplete
76
76
  async def async_setup_entity_basic(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
77
77
 
78
78
  class MqttLight(MqttEntity, LightEntity, RestoreEntity):
79
+ _default_name = DEFAULT_NAME
79
80
  _entity_id_format = ENTITY_ID_FORMAT
80
81
  _attributes_extra_blocked = MQTT_LIGHT_ATTRIBUTES_BLOCKED
81
82
  _topic: dict[str, str | None]
@@ -51,6 +51,7 @@ PLATFORM_SCHEMA_MODERN_JSON: Incomplete
51
51
  async def async_setup_entity_json(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
52
52
 
53
53
  class MqttLightJson(MqttEntity, LightEntity, RestoreEntity):
54
+ _default_name = DEFAULT_NAME
54
55
  _entity_id_format = ENTITY_ID_FORMAT
55
56
  _attributes_extra_blocked = MQTT_LIGHT_ATTRIBUTES_BLOCKED
56
57
  _flash_times: dict[str, int | None]
@@ -41,6 +41,7 @@ DISCOVERY_SCHEMA_TEMPLATE: Incomplete
41
41
  async def async_setup_entity_template(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
42
42
 
43
43
  class MqttLightTemplate(MqttEntity, LightEntity, RestoreEntity):
44
+ _default_name = DEFAULT_NAME
44
45
  _entity_id_format = ENTITY_ID_FORMAT
45
46
  _attributes_extra_blocked = MQTT_LIGHT_ATTRIBUTES_BLOCKED
46
47
  _optimistic: bool
@@ -45,6 +45,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
45
45
  async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
46
46
 
47
47
  class MqttLock(MqttEntity, LockEntity):
48
+ _default_name = DEFAULT_NAME
48
49
  _entity_id_format: Incomplete
49
50
  _attributes_extra_blocked = MQTT_LOCK_ATTRIBUTES_BLOCKED
50
51
  _compiled_pattern: re.Pattern[Any] | None
@@ -14,13 +14,14 @@ from collections.abc import Callable as Callable, Coroutine
14
14
  from functools import partial
15
15
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
16
16
  from homeassistant.const import ATTR_CONFIGURATION_URL as ATTR_CONFIGURATION_URL, ATTR_HW_VERSION as ATTR_HW_VERSION, ATTR_MANUFACTURER as ATTR_MANUFACTURER, ATTR_MODEL as ATTR_MODEL, ATTR_NAME as ATTR_NAME, ATTR_SUGGESTED_AREA as ATTR_SUGGESTED_AREA, ATTR_SW_VERSION as ATTR_SW_VERSION, ATTR_VIA_DEVICE as ATTR_VIA_DEVICE, CONF_DEVICE as CONF_DEVICE, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ICON as CONF_ICON, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
17
- from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
18
- from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
17
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
18
+ from homeassistant.helpers import entity_registry as er
19
+ from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
19
20
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
20
21
  from homeassistant.helpers.entity import DeviceInfo as DeviceInfo, ENTITY_CATEGORIES_SCHEMA as ENTITY_CATEGORIES_SCHEMA, Entity as Entity, async_generate_entity_id as async_generate_entity_id
21
22
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
22
23
  from homeassistant.helpers.event import async_track_device_registry_updated_event as async_track_device_registry_updated_event, async_track_entity_registry_updated_event as async_track_entity_registry_updated_event
23
- from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
24
+ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, EventType as EventType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
24
25
  from homeassistant.util.json import json_loads as json_loads
25
26
  from typing import Any, Protocol
26
27
 
@@ -66,18 +67,16 @@ def init_entity_id_from_config(hass: HomeAssistant, entity: Entity, config: Conf
66
67
 
67
68
  class MqttAttributes(Entity):
68
69
  _attributes_extra_blocked: frozenset[str]
69
- _attributes: Incomplete
70
70
  _attributes_sub_state: Incomplete
71
71
  _attributes_config: Incomplete
72
72
  def __init__(self, config: ConfigType) -> None: ...
73
73
  async def async_added_to_hass(self) -> None: ...
74
74
  def attributes_prepare_discovery_update(self, config: DiscoveryInfoType) -> None: ...
75
75
  async def attributes_discovery_update(self, config: DiscoveryInfoType) -> None: ...
76
+ _attr_extra_state_attributes: Incomplete
76
77
  def _attributes_prepare_subscribe_topics(self) -> None: ...
77
78
  async def _attributes_subscribe_topics(self) -> None: ...
78
79
  async def async_will_remove_from_hass(self) -> None: ...
79
- @property
80
- def extra_state_attributes(self) -> dict[str, Any] | None: ...
81
80
 
82
81
  class MqttAvailability(Entity):
83
82
  _availability_sub_state: Incomplete
@@ -102,7 +101,7 @@ def get_discovery_hash(discovery_data: DiscoveryInfoType) -> tuple[str, str]: ..
102
101
  def send_discovery_done(hass: HomeAssistant, discovery_data: DiscoveryInfoType) -> None: ...
103
102
  def stop_discovery_updates(hass: HomeAssistant, discovery_data: DiscoveryInfoType, remove_discovery_updated: Callable[[], None] | None = ...) -> None: ...
104
103
  async def async_remove_discovery_payload(hass: HomeAssistant, discovery_data: DiscoveryInfoType) -> None: ...
105
- async def async_clear_discovery_topic_if_entity_removed(hass: HomeAssistant, discovery_data: DiscoveryInfoType, event: Event) -> None: ...
104
+ async def async_clear_discovery_topic_if_entity_removed(hass: HomeAssistant, discovery_data: DiscoveryInfoType, event: EventType[er.EventEntityRegistryUpdatedData]) -> None: ...
106
105
 
107
106
  class MqttDiscoveryDeviceUpdate(ABC, metaclass=abc.ABCMeta):
108
107
  hass: Incomplete
@@ -117,7 +116,7 @@ class MqttDiscoveryDeviceUpdate(ABC, metaclass=abc.ABCMeta):
117
116
  def __init__(self, hass: HomeAssistant, discovery_data: DiscoveryInfoType, device_id: str | None, config_entry: ConfigEntry, log_name: str) -> None: ...
118
117
  def _entry_unload(self, *_: Any) -> None: ...
119
118
  async def async_discovery_update(self, discovery_payload: MQTTDiscoveryPayload) -> None: ...
120
- async def _async_device_removed(self, event: Event) -> None: ...
119
+ async def _async_device_removed(self, event: EventType[EventDeviceRegistryUpdatedData]) -> None: ...
121
120
  async def _async_tear_down(self) -> None: ...
122
121
  @abstractmethod
123
122
  async def async_update(self, discovery_data: MQTTDiscoveryPayload) -> None: ...
@@ -148,12 +147,16 @@ class MqttEntityDeviceInfo(Entity):
148
147
  def device_info(self) -> DeviceInfo | None: ...
149
148
 
150
149
  class MqttEntity(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, MqttEntityDeviceInfo, metaclass=abc.ABCMeta):
150
+ _attr_has_entity_name: bool
151
151
  _attr_should_poll: bool
152
+ _default_name: str | None
152
153
  _entity_id_format: str
154
+ _issue_key: str | None
153
155
  hass: Incomplete
154
156
  _config: Incomplete
155
157
  _attr_unique_id: Incomplete
156
158
  _sub_state: Incomplete
159
+ _discovery: Incomplete
157
160
  def __init__(self, hass: HomeAssistant, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
158
161
  def _init_entity_id(self) -> None: ...
159
162
  async def async_added_to_hass(self) -> None: ...
@@ -164,10 +167,12 @@ class MqttEntity(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, MqttEnti
164
167
  @staticmethod
165
168
  @abstractmethod
166
169
  def config_schema() -> vol.Schema: ...
170
+ _attr_name: Incomplete
171
+ def _set_entity_name(self, config: ConfigType) -> None: ...
172
+ def collect_issues(self) -> None: ...
167
173
  _attr_entity_category: Incomplete
168
174
  _attr_entity_registry_enabled_default: Incomplete
169
175
  _attr_icon: Incomplete
170
- _attr_name: Incomplete
171
176
  def _setup_common_attributes_from_config(self, config: ConfigType) -> None: ...
172
177
  def _setup_from_config(self, config: ConfigType) -> None: ...
173
178
  @abstractmethod
@@ -176,4 +181,4 @@ class MqttEntity(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, MqttEnti
176
181
  async def _subscribe_topics(self) -> None: ...
177
182
 
178
183
  def update_device(hass: HomeAssistant, config_entry: ConfigEntry, config: ConfigType) -> str | None: ...
179
- def async_removed_from_device(hass: HomeAssistant, event: Event, mqtt_device_id: str, config_entry_id: str) -> bool: ...
184
+ def async_removed_from_device(hass: HomeAssistant, event: EventType[EventDeviceRegistryUpdatedData], mqtt_device_id: str, config_entry_id: str) -> bool: ...
@@ -8,7 +8,7 @@ from .tag import MQTTTagScanner as MQTTTagScanner
8
8
  from _typeshed import Incomplete
9
9
  from collections import deque
10
10
  from collections.abc import Callable, Coroutine
11
- from homeassistant.backports.enum import StrEnum as StrEnum
11
+ from enum import StrEnum
12
12
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_NAME as ATTR_NAME
13
13
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
14
14
  from homeassistant.helpers import template as template
@@ -92,7 +92,7 @@ class EntityTopicState:
92
92
 
93
93
  class MqttData:
94
94
  client: MQTT
95
- config: ConfigType
95
+ config: list[ConfigType]
96
96
  debug_info_entities: dict[str, EntityDebugInfo]
97
97
  debug_info_triggers: dict[tuple[str, str], TriggerDebugInfo]
98
98
  device_triggers: dict[str, Trigger]
@@ -102,11 +102,11 @@ class MqttData:
102
102
  discovery_registry_hooks: dict[tuple[str, str], CALLBACK_TYPE]
103
103
  discovery_unsubscribe: list[CALLBACK_TYPE]
104
104
  integration_unsubscribe: dict[str, CALLBACK_TYPE]
105
+ issues: dict[str, set[str]]
105
106
  last_discovery: float
106
107
  reload_dispatchers: list[CALLBACK_TYPE]
107
108
  reload_handlers: dict[str, Callable[[], Coroutine[Any, Any, None]]]
108
109
  state_write_requests: EntityTopicState
109
110
  subscriptions_to_restore: list[Subscription]
110
111
  tags: dict[str, dict[str, MQTTTagScanner]]
111
- updated_config: ConfigType
112
- def __init__(self, client, config, debug_info_entities, debug_info_triggers, device_triggers, data_config_flow_lock, discovery_already_discovered, discovery_pending_discovered, discovery_registry_hooks, discovery_unsubscribe, integration_unsubscribe, last_discovery, reload_dispatchers, reload_handlers, state_write_requests, subscriptions_to_restore, tags, updated_config) -> None: ...
112
+ def __init__(self, client, config, debug_info_entities, debug_info_triggers, device_triggers, data_config_flow_lock, discovery_already_discovered, discovery_pending_discovered, discovery_registry_hooks, discovery_unsubscribe, integration_unsubscribe, issues, last_discovery, reload_dispatchers, reload_handlers, state_write_requests, subscriptions_to_restore, tags) -> None: ...
@@ -34,6 +34,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
34
34
  async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
35
35
 
36
36
  class MqttNumber(MqttEntity, RestoreNumber):
37
+ _default_name = DEFAULT_NAME
37
38
  _entity_id_format: Incomplete
38
39
  _attributes_extra_blocked = MQTT_NUMBER_ATTRIBUTES_BLOCKED
39
40
  _optimistic: bool
@@ -1,14 +1,13 @@
1
1
  import voluptuous as vol
2
- from .client import async_publish as async_publish
3
2
  from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
4
3
  from .const import CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN
5
- from .mixins import CONF_ENABLED_BY_DEFAULT as CONF_ENABLED_BY_DEFAULT, CONF_OBJECT_ID as CONF_OBJECT_ID, MQTT_AVAILABILITY_SCHEMA as MQTT_AVAILABILITY_SCHEMA, MqttEntity as MqttEntity, async_setup_entry_helper as async_setup_entry_helper
4
+ from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entry_helper as async_setup_entry_helper
6
5
  from .util import valid_publish_topic as valid_publish_topic
7
6
  from _typeshed import Incomplete
8
7
  from homeassistant.components import scene as scene
9
8
  from homeassistant.components.scene import Scene as Scene
10
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
- from homeassistant.const import CONF_ICON as CONF_ICON, CONF_NAME as CONF_NAME, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON, CONF_UNIQUE_ID as CONF_UNIQUE_ID
10
+ from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON
12
11
  from homeassistant.core import HomeAssistant as HomeAssistant
13
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
13
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
@@ -16,6 +15,7 @@ from typing import Any
16
15
 
17
16
  DEFAULT_NAME: str
18
17
  DEFAULT_RETAIN: bool
18
+ ENTITY_ID_FORMAT: Incomplete
19
19
  PLATFORM_SCHEMA_MODERN: Incomplete
20
20
  DISCOVERY_SCHEMA: Incomplete
21
21
 
@@ -23,11 +23,11 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
23
23
  async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
24
24
 
25
25
  class MqttScene(MqttEntity, Scene):
26
+ _default_name = DEFAULT_NAME
26
27
  _entity_id_format: Incomplete
27
28
  def __init__(self, hass: HomeAssistant, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
28
29
  @staticmethod
29
30
  def config_schema() -> vol.Schema: ...
30
- _config: Incomplete
31
31
  def _setup_from_config(self, config: ConfigType) -> None: ...
32
32
  def _prepare_subscribe_topics(self) -> None: ...
33
33
  async def _subscribe_topics(self) -> None: ...
@@ -28,6 +28,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
28
28
  async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
29
29
 
30
30
  class MqttSelect(MqttEntity, SelectEntity, RestoreEntity):
31
+ _default_name = DEFAULT_NAME
31
32
  _entity_id_format: Incomplete
32
33
  _attributes_extra_blocked = MQTT_SELECT_ATTRIBUTES_BLOCKED
33
34
  _command_template: Callable[[PublishPayloadType], PublishPayloadType]
@@ -34,6 +34,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
34
34
  async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
35
35
 
36
36
  class MqttSensor(MqttEntity, RestoreSensor):
37
+ _default_name = DEFAULT_NAME
37
38
  _entity_id_format = ENTITY_ID_FORMAT
38
39
  _attr_last_reset: datetime | None
39
40
  _attributes_extra_blocked = MQTT_SENSOR_ATTRIBUTES_BLOCKED
@@ -42,8 +42,10 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
42
42
  async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
43
43
 
44
44
  class MqttSiren(MqttEntity, SirenEntity):
45
+ _default_name = DEFAULT_NAME
45
46
  _entity_id_format = ENTITY_ID_FORMAT
46
47
  _attributes_extra_blocked = MQTT_SIREN_ATTRIBUTES_BLOCKED
48
+ _extra_attributes: dict[str, Any]
47
49
  _command_templates: dict[str, Callable[[PublishPayloadType, TemplateVarsType], PublishPayloadType] | None]
48
50
  _value_template: Callable[[ReceivePayloadType], ReceivePayloadType]
49
51
  _state_on: str
@@ -52,7 +54,6 @@ class MqttSiren(MqttEntity, SirenEntity):
52
54
  def __init__(self, hass: HomeAssistant, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
53
55
  @staticmethod
54
56
  def config_schema() -> vol.Schema: ...
55
- _attr_extra_state_attributes: Incomplete
56
57
  _attr_available_tones: Incomplete
57
58
  _attr_supported_features: Incomplete
58
59
  _attr_is_on: Incomplete
@@ -63,7 +64,7 @@ class MqttSiren(MqttEntity, SirenEntity):
63
64
  @property
64
65
  def assumed_state(self) -> bool: ...
65
66
  @property
66
- def extra_state_attributes(self) -> dict[str, Any]: ...
67
+ def extra_state_attributes(self) -> dict[str, Any] | None: ...
67
68
  async def _async_publish(self, topic: str, template: str, value: Any, variables: dict[str, Any] | None = ...) -> None: ...
68
69
  async def async_turn_on(self, **kwargs: Any) -> None: ...
69
70
  async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -31,6 +31,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
31
31
  async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
32
32
 
33
33
  class MqttSwitch(MqttEntity, SwitchEntity, RestoreEntity):
34
+ _default_name = DEFAULT_NAME
34
35
  _entity_id_format: Incomplete
35
36
  _optimistic: bool
36
37
  _state_on: str
@@ -2,7 +2,7 @@ from . import subscription as subscription
2
2
  from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
3
3
  from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, CONF_QOS as CONF_QOS, CONF_TOPIC as CONF_TOPIC
4
4
  from .discovery import MQTTDiscoveryPayload as MQTTDiscoveryPayload
5
- from .mixins import MQTT_ENTITY_DEVICE_INFO_SCHEMA as MQTT_ENTITY_DEVICE_INFO_SCHEMA, MqttDiscoveryDeviceUpdate as MqttDiscoveryDeviceUpdate, async_setup_entry_helper as async_setup_entry_helper, send_discovery_done as send_discovery_done, update_device as update_device
5
+ from .mixins import MQTT_ENTITY_DEVICE_INFO_SCHEMA as MQTT_ENTITY_DEVICE_INFO_SCHEMA, MqttDiscoveryDeviceUpdate as MqttDiscoveryDeviceUpdate, async_handle_schema_error as async_handle_schema_error, async_setup_entry_helper as async_setup_entry_helper, send_discovery_done as send_discovery_done, update_device as update_device
6
6
  from .models import MqttValueTemplate as MqttValueTemplate, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
7
7
  from .subscription import EntitySubscription as EntitySubscription
8
8
  from .util import get_mqtt_data as get_mqtt_data, valid_subscribe_topic as valid_subscribe_topic
@@ -37,6 +37,7 @@ async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntiti
37
37
 
38
38
  class MqttTextEntity(MqttEntity, TextEntity):
39
39
  _attributes_extra_blocked = MQTT_TEXT_ATTRIBUTES_BLOCKED
40
+ _default_name = DEFAULT_NAME
40
41
  _entity_id_format: Incomplete
41
42
  _compiled_pattern: re.Pattern[Any] | None
42
43
  _optimistic: bool
@@ -42,6 +42,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
42
42
  async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
43
43
 
44
44
  class MqttUpdate(MqttEntity, UpdateEntity, RestoreEntity):
45
+ _default_name = DEFAULT_NAME
45
46
  _entity_id_format: Incomplete
46
47
  _config: Incomplete
47
48
  _attr_device_class: Incomplete
@@ -1,3 +1,4 @@
1
+ from ..const import DOMAIN as DOMAIN
1
2
  from ..mixins import async_setup_entry_helper as async_setup_entry_helper
2
3
  from .schema import CONF_SCHEMA as CONF_SCHEMA, LEGACY as LEGACY, MQTT_VACUUM_SCHEMA as MQTT_VACUUM_SCHEMA, STATE as STATE
3
4
  from .schema_legacy import DISCOVERY_SCHEMA_LEGACY as DISCOVERY_SCHEMA_LEGACY, PLATFORM_SCHEMA_LEGACY_MODERN as PLATFORM_SCHEMA_LEGACY_MODERN, async_setup_entity_legacy as async_setup_entity_legacy
@@ -7,8 +8,13 @@ from homeassistant.components import vacuum as vacuum
7
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
9
  from homeassistant.core import HomeAssistant as HomeAssistant
9
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
10
12
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
11
13
 
14
+ _LOGGER: Incomplete
15
+ MQTT_VACUUM_DOCS_URL: str
16
+
17
+ def warn_for_deprecation_legacy_schema(hass: HomeAssistant, config: ConfigType, discovery_data: DiscoveryInfoType | None) -> None: ...
12
18
  def validate_mqtt_vacuum_discovery(config_value: ConfigType) -> ConfigType: ...
13
19
  def validate_mqtt_vacuum_modern(config_value: ConfigType) -> ConfigType: ...
14
20
 
@@ -65,6 +65,7 @@ _COMMANDS: Incomplete
65
65
  async def async_setup_entity_legacy(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
66
66
 
67
67
  class MqttVacuum(MqttEntity, VacuumEntity):
68
+ _default_name = DEFAULT_NAME
68
69
  _entity_id_format = ENTITY_ID_FORMAT
69
70
  _attributes_extra_blocked = MQTT_LEGACY_VACUUM_ATTRIBUTES_BLOCKED
70
71
  _command_topic: str | None
@@ -55,6 +55,7 @@ DISCOVERY_SCHEMA_STATE: Incomplete
55
55
  async def async_setup_entity_state(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
56
56
 
57
57
  class MqttStateVacuum(MqttEntity, StateVacuumEntity):
58
+ _default_name = DEFAULT_NAME
58
59
  _entity_id_format = ENTITY_ID_FORMAT
59
60
  _attributes_extra_blocked = MQTT_VACUUM_ATTRIBUTES_BLOCKED
60
61
  _command_topic: str | None
@@ -1,7 +1,7 @@
1
1
  import voluptuous as vol
2
2
  from .climate import MqttTemperatureControlEntity as MqttTemperatureControlEntity
3
3
  from .config import DEFAULT_RETAIN as DEFAULT_RETAIN, MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
4
- from .const import CONF_CURRENT_TEMP_TEMPLATE as CONF_CURRENT_TEMP_TEMPLATE, CONF_CURRENT_TEMP_TOPIC as CONF_CURRENT_TEMP_TOPIC, CONF_MODE_COMMAND_TEMPLATE as CONF_MODE_COMMAND_TEMPLATE, CONF_MODE_COMMAND_TOPIC as CONF_MODE_COMMAND_TOPIC, CONF_MODE_LIST as CONF_MODE_LIST, CONF_MODE_STATE_TEMPLATE as CONF_MODE_STATE_TEMPLATE, CONF_MODE_STATE_TOPIC as CONF_MODE_STATE_TOPIC, CONF_PRECISION as CONF_PRECISION, CONF_RETAIN as CONF_RETAIN, CONF_TEMP_COMMAND_TEMPLATE as CONF_TEMP_COMMAND_TEMPLATE, CONF_TEMP_COMMAND_TOPIC as CONF_TEMP_COMMAND_TOPIC, CONF_TEMP_INITIAL as CONF_TEMP_INITIAL, CONF_TEMP_MAX as CONF_TEMP_MAX, CONF_TEMP_MIN as CONF_TEMP_MIN, CONF_TEMP_STATE_TEMPLATE as CONF_TEMP_STATE_TEMPLATE, CONF_TEMP_STATE_TOPIC as CONF_TEMP_STATE_TOPIC, DEFAULT_OPTIMISTIC as DEFAULT_OPTIMISTIC
4
+ from .const import CONF_CURRENT_TEMP_TEMPLATE as CONF_CURRENT_TEMP_TEMPLATE, CONF_CURRENT_TEMP_TOPIC as CONF_CURRENT_TEMP_TOPIC, CONF_MODE_COMMAND_TEMPLATE as CONF_MODE_COMMAND_TEMPLATE, CONF_MODE_COMMAND_TOPIC as CONF_MODE_COMMAND_TOPIC, CONF_MODE_LIST as CONF_MODE_LIST, CONF_MODE_STATE_TEMPLATE as CONF_MODE_STATE_TEMPLATE, CONF_MODE_STATE_TOPIC as CONF_MODE_STATE_TOPIC, CONF_POWER_COMMAND_TEMPLATE as CONF_POWER_COMMAND_TEMPLATE, CONF_POWER_COMMAND_TOPIC as CONF_POWER_COMMAND_TOPIC, CONF_PRECISION as CONF_PRECISION, CONF_RETAIN as CONF_RETAIN, CONF_TEMP_COMMAND_TEMPLATE as CONF_TEMP_COMMAND_TEMPLATE, CONF_TEMP_COMMAND_TOPIC as CONF_TEMP_COMMAND_TOPIC, CONF_TEMP_INITIAL as CONF_TEMP_INITIAL, CONF_TEMP_MAX as CONF_TEMP_MAX, CONF_TEMP_MIN as CONF_TEMP_MIN, CONF_TEMP_STATE_TEMPLATE as CONF_TEMP_STATE_TEMPLATE, CONF_TEMP_STATE_TOPIC as CONF_TEMP_STATE_TOPIC, DEFAULT_OPTIMISTIC as DEFAULT_OPTIMISTIC
5
5
  from .debug_info import log_messages as log_messages
6
6
  from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, async_setup_entry_helper as async_setup_entry_helper
7
7
  from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, ReceiveMessage as ReceiveMessage
@@ -33,6 +33,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
33
33
  async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
34
34
 
35
35
  class MqttWaterHeater(MqttTemperatureControlEntity, WaterHeaterEntity):
36
+ _default_name = DEFAULT_NAME
36
37
  _entity_id_format: Incomplete
37
38
  _attributes_extra_blocked = MQTT_WATER_HEATER_ATTRIBUTES_BLOCKED
38
39
  def __init__(self, hass: HomeAssistant, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
@@ -54,3 +55,5 @@ class MqttWaterHeater(MqttTemperatureControlEntity, WaterHeaterEntity):
54
55
  def _prepare_subscribe_topics(self) -> None: ...
55
56
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
56
57
  async def async_set_operation_mode(self, operation_mode: str) -> None: ...
58
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
59
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -3,7 +3,7 @@ from .const import DOMAIN as DOMAIN
3
3
  from .entity import NanoleafEntity as NanoleafEntity
4
4
  from _typeshed import Incomplete
5
5
  from aionanoleaf import Nanoleaf as Nanoleaf
6
- from homeassistant.components.button import ButtonEntity as ButtonEntity
6
+ from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.const import EntityCategory as EntityCategory
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -13,9 +13,8 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as Da
13
13
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
14
 
15
15
  class NanoleafIdentifyButton(NanoleafEntity, ButtonEntity):
16
- _attr_unique_id: Incomplete
17
- _attr_name: Incomplete
18
- _attr_icon: str
19
16
  _attr_entity_category: Incomplete
17
+ _attr_device_class: Incomplete
18
+ _attr_unique_id: Incomplete
20
19
  def __init__(self, nanoleaf: Nanoleaf, coordinator: DataUpdateCoordinator[None]) -> None: ...
21
20
  async def async_press(self) -> None: ...
@@ -5,6 +5,7 @@ from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
5
5
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
6
6
 
7
7
  class NanoleafEntity(CoordinatorEntity[DataUpdateCoordinator[None]]):
8
+ _attr_has_entity_name: bool
8
9
  _nanoleaf: Incomplete
9
10
  _attr_device_info: Incomplete
10
11
  def __init__(self, nanoleaf: Nanoleaf, coordinator: DataUpdateCoordinator[None]) -> None: ...
@@ -18,8 +18,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_e
18
18
  class NanoleafLight(NanoleafEntity, LightEntity):
19
19
  _attr_supported_color_modes: Incomplete
20
20
  _attr_supported_features: Incomplete
21
- _attr_unique_id: Incomplete
22
21
  _attr_name: Incomplete
22
+ _attr_unique_id: Incomplete
23
23
  _attr_min_mireds: Incomplete
24
24
  _attr_max_mireds: Incomplete
25
25
  def __init__(self, nanoleaf: Nanoleaf, coordinator: DataUpdateCoordinator[None]) -> None: ...
@@ -1,8 +1,7 @@
1
1
  import abc
2
- from . import api as api, config_flow as config_flow
3
- from .const import CONF_PROJECT_ID as CONF_PROJECT_ID, CONF_SUBSCRIBER_ID as CONF_SUBSCRIBER_ID, CONF_SUBSCRIBER_ID_IMPORTED as CONF_SUBSCRIBER_ID_IMPORTED, DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DATA_NEST_CONFIG as DATA_NEST_CONFIG, DATA_SDM as DATA_SDM, DATA_SUBSCRIBER as DATA_SUBSCRIBER, DOMAIN as DOMAIN
2
+ from . import api as api
3
+ from .const import CONF_PROJECT_ID as CONF_PROJECT_ID, CONF_SUBSCRIBER_ID as CONF_SUBSCRIBER_ID, CONF_SUBSCRIBER_ID_IMPORTED as CONF_SUBSCRIBER_ID_IMPORTED, DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DATA_SDM as DATA_SDM, DATA_SUBSCRIBER as DATA_SUBSCRIBER, DOMAIN as DOMAIN
4
4
  from .events import EVENT_NAME_MAP as EVENT_NAME_MAP, NEST_EVENT as NEST_EVENT
5
- from .legacy import async_setup_legacy as async_setup_legacy, async_setup_legacy_entry as async_setup_legacy_entry
6
5
  from .media_source import async_get_media_event_store as async_get_media_event_store, async_get_media_source_devices as async_get_media_source_devices, async_get_transcoder as async_get_transcoder
7
6
  from _typeshed import Incomplete
8
7
  from abc import ABC, abstractmethod
@@ -1,8 +1,58 @@
1
- from .camera_sdm import async_setup_sdm_entry as async_setup_sdm_entry
2
- from .const import DATA_SDM as DATA_SDM
3
- from .legacy.camera import async_setup_legacy_entry as async_setup_legacy_entry
1
+ import datetime
2
+ from .const import DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DOMAIN as DOMAIN
3
+ from .device_info import NestDeviceInfo as NestDeviceInfo
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Callable as Callable
6
+ from google_nest_sdm.camera_traits import RtspStream as RtspStream
7
+ from google_nest_sdm.device import Device as Device
8
+ from google_nest_sdm.device_manager import DeviceManager as DeviceManager
9
+ from homeassistant.components.camera import Camera as Camera, CameraEntityFeature as CameraEntityFeature, StreamType as StreamType
10
+ from homeassistant.components.stream import CONF_EXTRA_PART_WAIT_TIME as CONF_EXTRA_PART_WAIT_TIME
4
11
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
12
  from homeassistant.core import HomeAssistant as HomeAssistant
13
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
14
+ from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
6
15
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
16
+ from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time
17
+ from homeassistant.util.dt import utcnow as utcnow
18
+
19
+ _LOGGER: Incomplete
20
+ PLACEHOLDER: Incomplete
21
+ STREAM_EXPIRATION_BUFFER: Incomplete
7
22
 
8
23
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
24
+
25
+ class NestCamera(Camera):
26
+ _attr_has_entity_name: bool
27
+ _attr_name: Incomplete
28
+ _device: Incomplete
29
+ _device_info: Incomplete
30
+ _stream: Incomplete
31
+ _create_stream_url_lock: Incomplete
32
+ _stream_refresh_unsub: Incomplete
33
+ _attr_is_streaming: Incomplete
34
+ def __init__(self, device: Device) -> None: ...
35
+ @property
36
+ def unique_id(self) -> str: ...
37
+ @property
38
+ def device_info(self) -> DeviceInfo: ...
39
+ @property
40
+ def brand(self) -> str | None: ...
41
+ @property
42
+ def model(self) -> str | None: ...
43
+ @property
44
+ def supported_features(self) -> CameraEntityFeature: ...
45
+ @property
46
+ def frontend_stream_type(self) -> StreamType | None: ...
47
+ @property
48
+ def available(self) -> bool: ...
49
+ async def stream_source(self) -> str | None: ...
50
+ def _schedule_stream_refresh(self) -> None: ...
51
+ stream: Incomplete
52
+ async def _handle_stream_refresh(self, now: datetime.datetime) -> None: ...
53
+ async def async_will_remove_from_hass(self) -> None: ...
54
+ async def async_added_to_hass(self) -> None: ...
55
+ async def async_camera_image(self, width: int | None = ..., height: int | None = ...) -> bytes | None: ...
56
+ @classmethod
57
+ def placeholder_image(cls) -> bytes: ...
58
+ async def async_handle_web_rtc_offer(self, offer_sdp: str) -> str | None: ...