homeassistant-stubs 2024.6.4__py3-none-any.whl → 2024.7.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 (618) hide show
  1. homeassistant-stubs/auth/__init__.pyi +2 -0
  2. homeassistant-stubs/auth/auth_store.pyi +1 -0
  3. homeassistant-stubs/auth/providers/homeassistant.pyi +10 -2
  4. homeassistant-stubs/block_async_io.pyi +23 -0
  5. homeassistant-stubs/bootstrap.pyi +4 -3
  6. homeassistant-stubs/components/accuweather/sensor.pyi +5 -9
  7. homeassistant-stubs/components/accuweather/weather.pyi +1 -1
  8. homeassistant-stubs/components/acer_projector/switch.pyi +2 -1
  9. homeassistant-stubs/components/air_quality/__init__.pyi +4 -3
  10. homeassistant-stubs/components/airgradient/__init__.pyi +8 -0
  11. homeassistant-stubs/components/airgradient/button.pyi +28 -0
  12. homeassistant-stubs/components/airgradient/const.pyi +2 -0
  13. homeassistant-stubs/components/airgradient/coordinator.pyi +2 -2
  14. homeassistant-stubs/components/airgradient/number.pyi +32 -0
  15. homeassistant-stubs/components/airgradient/select.pyi +14 -12
  16. homeassistant-stubs/components/airgradient/sensor.pyi +28 -10
  17. homeassistant-stubs/components/airgradient/switch.pyi +33 -0
  18. homeassistant-stubs/components/airnow/const.pyi +1 -0
  19. homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
  20. homeassistant-stubs/components/airnow/sensor.pyi +1 -2
  21. homeassistant-stubs/components/airzone/__init__.pyi +4 -4
  22. homeassistant-stubs/components/airzone/binary_sensor.pyi +2 -2
  23. homeassistant-stubs/components/airzone/climate.pyi +3 -2
  24. homeassistant-stubs/components/airzone/diagnostics.pyi +2 -4
  25. homeassistant-stubs/components/airzone/entity.pyi +2 -1
  26. homeassistant-stubs/components/airzone/select.pyi +2 -2
  27. homeassistant-stubs/components/airzone/sensor.pyi +3 -2
  28. homeassistant-stubs/components/airzone/water_heater.pyi +3 -2
  29. homeassistant-stubs/components/airzone_cloud/__init__.pyi +3 -3
  30. homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +2 -3
  31. homeassistant-stubs/components/airzone_cloud/climate.pyi +8 -10
  32. homeassistant-stubs/components/airzone_cloud/diagnostics.pyi +2 -4
  33. homeassistant-stubs/components/airzone_cloud/select.pyi +2 -3
  34. homeassistant-stubs/components/airzone_cloud/sensor.pyi +2 -3
  35. homeassistant-stubs/components/airzone_cloud/water_heater.pyi +2 -3
  36. homeassistant-stubs/components/aladdin_connect/__init__.pyi +4 -13
  37. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +3 -16
  38. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +3 -3
  39. homeassistant-stubs/components/alexa/capabilities.pyi +2 -2
  40. homeassistant-stubs/components/alexa/entities.pyi +25 -24
  41. homeassistant-stubs/components/alpha_vantage/sensor.pyi +2 -1
  42. homeassistant-stubs/components/ambient_network/coordinator.pyi +2 -0
  43. homeassistant-stubs/components/ambient_network/sensor.pyi +1 -0
  44. homeassistant-stubs/components/androidtv/entity.pyi +1 -0
  45. homeassistant-stubs/components/androidtv/remote.pyi +21 -0
  46. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +11 -1
  47. homeassistant-stubs/components/androidtv_remote/const.pyi +3 -0
  48. homeassistant-stubs/components/androidtv_remote/entity.pyi +2 -1
  49. homeassistant-stubs/components/androidtv_remote/media_player.pyi +4 -1
  50. homeassistant-stubs/components/androidtv_remote/remote.pyi +3 -0
  51. homeassistant-stubs/components/anel_pwrctrl/switch.pyi +2 -1
  52. homeassistant-stubs/components/apprise/notify.pyi +2 -1
  53. homeassistant-stubs/components/apsystems/__init__.pyi +9 -2
  54. homeassistant-stubs/components/apsystems/entity.pyi +10 -0
  55. homeassistant-stubs/components/apsystems/number.pyi +25 -0
  56. homeassistant-stubs/components/apsystems/sensor.pyi +6 -7
  57. homeassistant-stubs/components/aqualogic/sensor.pyi +2 -1
  58. homeassistant-stubs/components/aqualogic/switch.pyi +2 -1
  59. homeassistant-stubs/components/aquostv/media_player.pyi +2 -1
  60. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +8 -7
  61. homeassistant-stubs/components/assist_pipeline/select.pyi +1 -1
  62. homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -0
  63. homeassistant-stubs/components/automation/__init__.pyi +10 -5
  64. homeassistant-stubs/components/automation/config.pyi +11 -1
  65. homeassistant-stubs/components/automation/trace.pyi +2 -2
  66. homeassistant-stubs/components/axis/config_flow.pyi +1 -0
  67. homeassistant-stubs/components/baf/binary_sensor.pyi +2 -4
  68. homeassistant-stubs/components/baf/entity.pyi +6 -1
  69. homeassistant-stubs/components/baf/number.pyi +2 -4
  70. homeassistant-stubs/components/baf/sensor.pyi +2 -4
  71. homeassistant-stubs/components/baf/switch.pyi +2 -4
  72. homeassistant-stubs/components/bang_olufsen/const.pyi +2 -0
  73. homeassistant-stubs/components/bang_olufsen/media_player.pyi +3 -2
  74. homeassistant-stubs/components/bayesian/binary_sensor.pyi +2 -1
  75. homeassistant-stubs/components/binary_sensor/__init__.pyi +3 -2
  76. homeassistant-stubs/components/bitcoin/sensor.pyi +2 -1
  77. homeassistant-stubs/components/blockchain/sensor.pyi +2 -1
  78. homeassistant-stubs/components/blueprint/errors.pyi +1 -1
  79. homeassistant-stubs/components/blueprint/websocket_api.pyi +6 -3
  80. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +3 -3
  81. homeassistant-stubs/components/bmw_connected_drive/const.pyi +0 -1
  82. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
  83. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +1 -1
  84. homeassistant-stubs/components/brother/config_flow.pyi +9 -1
  85. homeassistant-stubs/components/button/__init__.pyi +4 -3
  86. homeassistant-stubs/components/calendar/__init__.pyi +2 -4
  87. homeassistant-stubs/components/camera/__init__.pyi +8 -7
  88. homeassistant-stubs/components/cert_expiry/sensor.pyi +2 -1
  89. homeassistant-stubs/components/clickatell/notify.pyi +2 -1
  90. homeassistant-stubs/components/clicksend/notify.pyi +2 -1
  91. homeassistant-stubs/components/climate/__init__.pyi +5 -4
  92. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  93. homeassistant-stubs/components/cloud/account_link.pyi +1 -1
  94. homeassistant-stubs/components/cloud/binary_sensor.pyi +1 -1
  95. homeassistant-stubs/components/cloud/const.pyi +6 -1
  96. homeassistant-stubs/components/cloud/http_api.pyi +1 -1
  97. homeassistant-stubs/components/cloud/repairs.pyi +1 -3
  98. homeassistant-stubs/components/cloud/stt.pyi +1 -1
  99. homeassistant-stubs/components/cloud/system_health.pyi +1 -3
  100. homeassistant-stubs/components/cloud/tts.pyi +1 -1
  101. homeassistant-stubs/components/config/auth_provider_homeassistant.pyi +1 -0
  102. homeassistant-stubs/components/config/scene.pyi +3 -1
  103. homeassistant-stubs/components/counter/__init__.pyi +2 -2
  104. homeassistant-stubs/components/cover/__init__.pyi +3 -2
  105. homeassistant-stubs/components/demo/tts.pyi +2 -1
  106. homeassistant-stubs/components/derivative/__init__.pyi +2 -1
  107. homeassistant-stubs/components/derivative/config_flow.pyi +11 -4
  108. homeassistant-stubs/components/derivative/sensor.pyi +3 -1
  109. homeassistant-stubs/components/device_automation/__init__.pyi +2 -2
  110. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +1 -0
  111. homeassistant-stubs/components/dnsip/__init__.pyi +4 -2
  112. homeassistant-stubs/components/dnsip/config_flow.pyi +4 -3
  113. homeassistant-stubs/components/dnsip/const.pyi +2 -0
  114. homeassistant-stubs/components/dnsip/sensor.pyi +4 -3
  115. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +3 -3
  116. homeassistant-stubs/components/ecovacs/button.pyi +5 -5
  117. homeassistant-stubs/components/ecovacs/config_flow.pyi +1 -0
  118. homeassistant-stubs/components/ecovacs/controller.pyi +4 -4
  119. homeassistant-stubs/components/ecovacs/entity.pyi +8 -10
  120. homeassistant-stubs/components/ecovacs/event.pyi +3 -3
  121. homeassistant-stubs/components/ecovacs/image.pyi +2 -2
  122. homeassistant-stubs/components/ecovacs/lawn_mower.pyi +3 -3
  123. homeassistant-stubs/components/ecovacs/number.pyi +3 -3
  124. homeassistant-stubs/components/ecovacs/select.pyi +3 -3
  125. homeassistant-stubs/components/ecovacs/sensor.pyi +6 -6
  126. homeassistant-stubs/components/ecovacs/switch.pyi +4 -4
  127. homeassistant-stubs/components/ecovacs/vacuum.pyi +9 -5
  128. homeassistant-stubs/components/ecowitt/binary_sensor.pyi +1 -0
  129. homeassistant-stubs/components/efergy/__init__.pyi +3 -2
  130. homeassistant-stubs/components/efergy/sensor.pyi +3 -4
  131. homeassistant-stubs/components/electrasmart/__init__.pyi +12 -0
  132. homeassistant-stubs/components/electrasmart/climate.pyi +64 -0
  133. homeassistant-stubs/components/electrasmart/config_flow.pyi +24 -0
  134. homeassistant-stubs/components/electrasmart/const.pyi +10 -0
  135. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -1
  136. homeassistant-stubs/components/elkm1/const.pyi +2 -1
  137. homeassistant-stubs/components/elkm1/sensor.pyi +2 -1
  138. homeassistant-stubs/components/energy/websocket_api.pyi +5 -5
  139. homeassistant-stubs/components/enigma2/__init__.pyi +3 -2
  140. homeassistant-stubs/components/enigma2/config_flow.pyi +10 -1
  141. homeassistant-stubs/components/enigma2/media_player.pyi +3 -2
  142. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +8 -2
  143. homeassistant-stubs/components/enphase_envoy/const.pyi +2 -0
  144. homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +3 -1
  145. homeassistant-stubs/components/esphome/__init__.pyi +5 -5
  146. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +3 -5
  147. homeassistant-stubs/components/esphome/binary_sensor.pyi +2 -3
  148. homeassistant-stubs/components/esphome/button.pyi +3 -5
  149. homeassistant-stubs/components/esphome/camera.pyi +3 -5
  150. homeassistant-stubs/components/esphome/climate.pyi +3 -6
  151. homeassistant-stubs/components/esphome/cover.pyi +3 -5
  152. homeassistant-stubs/components/esphome/date.pyi +3 -5
  153. homeassistant-stubs/components/esphome/datetime.pyi +3 -5
  154. homeassistant-stubs/components/esphome/diagnostics.pyi +3 -3
  155. homeassistant-stubs/components/esphome/domain_data.pyi +4 -8
  156. homeassistant-stubs/components/esphome/entity.pyi +2 -4
  157. homeassistant-stubs/components/esphome/entry_data.pyi +4 -3
  158. homeassistant-stubs/components/esphome/event.pyi +3 -5
  159. homeassistant-stubs/components/esphome/fan.pyi +3 -6
  160. homeassistant-stubs/components/esphome/light.pyi +3 -6
  161. homeassistant-stubs/components/esphome/lock.pyi +3 -5
  162. homeassistant-stubs/components/esphome/manager.pyi +4 -5
  163. homeassistant-stubs/components/esphome/media_player.pyi +3 -5
  164. homeassistant-stubs/components/esphome/number.pyi +3 -5
  165. homeassistant-stubs/components/esphome/select.pyi +2 -4
  166. homeassistant-stubs/components/esphome/switch.pyi +3 -5
  167. homeassistant-stubs/components/esphome/text.pyi +3 -5
  168. homeassistant-stubs/components/esphome/time.pyi +3 -5
  169. homeassistant-stubs/components/esphome/update.pyi +23 -2
  170. homeassistant-stubs/components/esphome/valve.pyi +3 -5
  171. homeassistant-stubs/components/event/__init__.pyi +3 -1
  172. homeassistant-stubs/components/evohome/__init__.pyi +8 -49
  173. homeassistant-stubs/components/evohome/climate.pyi +2 -2
  174. homeassistant-stubs/components/evohome/const.pyi +39 -16
  175. homeassistant-stubs/components/evohome/coordinator.pyi +33 -0
  176. homeassistant-stubs/components/evohome/helpers.pyi +13 -0
  177. homeassistant-stubs/components/fan/__init__.pyi +3 -2
  178. homeassistant-stubs/components/fastdotcom/__init__.pyi +2 -7
  179. homeassistant-stubs/components/fastdotcom/config_flow.pyi +0 -2
  180. homeassistant-stubs/components/feedreader/__init__.pyi +10 -5
  181. homeassistant-stubs/components/feedreader/config_flow.pyi +30 -0
  182. homeassistant-stubs/components/feedreader/const.pyi +5 -0
  183. homeassistant-stubs/components/feedreader/coordinator.pyi +4 -4
  184. homeassistant-stubs/components/filter/sensor.pyi +2 -1
  185. homeassistant-stubs/components/flux_led/light.pyi +4 -3
  186. homeassistant-stubs/components/fritz/switch.pyi +1 -1
  187. homeassistant-stubs/components/fritzbox/climate.pyi +14 -9
  188. homeassistant-stubs/components/fritzbox/switch.pyi +3 -0
  189. homeassistant-stubs/components/fronius/config_flow.pyi +3 -2
  190. homeassistant-stubs/components/frontend/__init__.pyi +9 -4
  191. homeassistant-stubs/components/fully_kiosk/camera.pyi +21 -0
  192. homeassistant-stubs/components/fully_kiosk/image.pyi +30 -0
  193. homeassistant-stubs/components/fully_kiosk/media_player.pyi +2 -0
  194. homeassistant-stubs/components/fully_kiosk/notify.pyi +25 -0
  195. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +4 -0
  196. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +19 -0
  197. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +7 -2
  198. homeassistant-stubs/components/generic_thermostat/__init__.pyi +6 -0
  199. homeassistant-stubs/components/generic_thermostat/climate.pyi +7 -1
  200. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +19 -0
  201. homeassistant-stubs/components/geo_location/__init__.pyi +4 -3
  202. homeassistant-stubs/components/glances/__init__.pyi +3 -2
  203. homeassistant-stubs/components/glances/sensor.pyi +2 -3
  204. homeassistant-stubs/components/goalzero/__init__.pyi +3 -5
  205. homeassistant-stubs/components/goalzero/binary_sensor.pyi +2 -3
  206. homeassistant-stubs/components/goalzero/coordinator.pyi +3 -1
  207. homeassistant-stubs/components/goalzero/sensor.pyi +2 -3
  208. homeassistant-stubs/components/goalzero/switch.pyi +2 -3
  209. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +2 -2
  210. homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +9 -0
  211. homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +1 -0
  212. homeassistant-stubs/components/google_sheets/__init__.pyi +4 -3
  213. homeassistant-stubs/components/google_sheets/config_flow.pyi +3 -2
  214. homeassistant-stubs/components/gpsd/sensor.pyi +2 -1
  215. homeassistant-stubs/components/group/binary_sensor.pyi +2 -1
  216. homeassistant-stubs/components/group/cover.pyi +2 -1
  217. homeassistant-stubs/components/group/entity.pyi +2 -2
  218. homeassistant-stubs/components/group/event.pyi +2 -1
  219. homeassistant-stubs/components/group/fan.pyi +2 -1
  220. homeassistant-stubs/components/group/light.pyi +2 -1
  221. homeassistant-stubs/components/group/lock.pyi +2 -1
  222. homeassistant-stubs/components/group/media_player.pyi +2 -1
  223. homeassistant-stubs/components/group/notify.pyi +2 -1
  224. homeassistant-stubs/components/group/registry.pyi +8 -2
  225. homeassistant-stubs/components/group/switch.pyi +2 -1
  226. homeassistant-stubs/components/history_stats/sensor.pyi +4 -1
  227. homeassistant-stubs/components/homeassistant/const.pyi +3 -1
  228. homeassistant-stubs/components/homekit/aidmanager.pyi +2 -2
  229. homeassistant-stubs/components/homekit_controller/config_flow.pyi +1 -0
  230. homeassistant-stubs/components/homeworks/__init__.pyi +2 -5
  231. homeassistant-stubs/components/homeworks/config_flow.pyi +1 -6
  232. homeassistant-stubs/components/http/__init__.pyi +20 -3
  233. homeassistant-stubs/components/http/cors.pyi +1 -1
  234. homeassistant-stubs/components/http/data_validator.pyi +2 -1
  235. homeassistant-stubs/components/humidifier/__init__.pyi +3 -2
  236. homeassistant-stubs/components/humidifier/device_action.pyi +1 -1
  237. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +3 -3
  238. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +2 -3
  239. homeassistant-stubs/components/husqvarna_automower/button.pyi +22 -0
  240. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +2 -3
  241. homeassistant-stubs/components/husqvarna_automower/diagnostics.pyi +2 -2
  242. homeassistant-stubs/components/husqvarna_automower/entity.pyi +7 -1
  243. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +14 -5
  244. homeassistant-stubs/components/husqvarna_automower/number.pyi +4 -5
  245. homeassistant-stubs/components/husqvarna_automower/select.pyi +2 -3
  246. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +10 -5
  247. homeassistant-stubs/components/husqvarna_automower/switch.pyi +4 -8
  248. homeassistant-stubs/components/hydrawise/coordinator.pyi +3 -3
  249. homeassistant-stubs/components/hydrawise/sensor.pyi +3 -0
  250. homeassistant-stubs/components/ibeacon/config_flow.pyi +1 -0
  251. homeassistant-stubs/components/idasen_desk/coordinator.pyi +2 -5
  252. homeassistant-stubs/components/idasen_desk/sensor.pyi +3 -0
  253. homeassistant-stubs/components/image/__init__.pyi +3 -2
  254. homeassistant-stubs/components/image_upload/__init__.pyi +7 -3
  255. homeassistant-stubs/components/imap/__init__.pyi +5 -4
  256. homeassistant-stubs/components/imap/diagnostics.pyi +3 -5
  257. homeassistant-stubs/components/imap/sensor.pyi +5 -5
  258. homeassistant-stubs/components/input_button/__init__.pyi +3 -4
  259. homeassistant-stubs/components/input_select/__init__.pyi +2 -2
  260. homeassistant-stubs/components/input_text/__init__.pyi +3 -4
  261. homeassistant-stubs/components/integration/__init__.pyi +2 -0
  262. homeassistant-stubs/components/integration/config_flow.pyi +1 -1
  263. homeassistant-stubs/components/integration/const.pyi +1 -0
  264. homeassistant-stubs/components/integration/sensor.pyi +33 -12
  265. homeassistant-stubs/components/intent/timers.pyi +7 -3
  266. homeassistant-stubs/components/islamic_prayer_times/__init__.pyi +4 -3
  267. homeassistant-stubs/components/islamic_prayer_times/sensor.pyi +3 -3
  268. homeassistant-stubs/components/isy994/services.pyi +3 -2
  269. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +6 -12
  270. homeassistant-stubs/components/jewish_calendar/entity.pyi +19 -0
  271. homeassistant-stubs/components/jewish_calendar/sensor.pyi +8 -13
  272. homeassistant-stubs/components/knocki/__init__.pyi +12 -0
  273. homeassistant-stubs/components/knocki/config_flow.pyi +12 -0
  274. homeassistant-stubs/components/knocki/const.pyi +4 -0
  275. homeassistant-stubs/components/knocki/coordinator.pyi +13 -0
  276. homeassistant-stubs/components/knocki/event.pyi +26 -0
  277. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  278. homeassistant-stubs/components/knx/device_trigger.pyi +1 -1
  279. homeassistant-stubs/components/knx/trigger.pyi +2 -3
  280. homeassistant-stubs/components/knx/websocket.pyi +1 -0
  281. homeassistant-stubs/components/lacrosse/sensor.pyi +2 -1
  282. homeassistant-stubs/components/lamarzocco/__init__.pyi +8 -3
  283. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +4 -5
  284. homeassistant-stubs/components/lamarzocco/button.pyi +4 -5
  285. homeassistant-stubs/components/lamarzocco/calendar.pyi +9 -3
  286. homeassistant-stubs/components/lamarzocco/config_flow.pyi +7 -3
  287. homeassistant-stubs/components/lamarzocco/const.pyi +1 -2
  288. homeassistant-stubs/components/lamarzocco/coordinator.pyi +13 -11
  289. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +10 -5
  290. homeassistant-stubs/components/lamarzocco/entity.pyi +3 -3
  291. homeassistant-stubs/components/lamarzocco/number.pyi +9 -13
  292. homeassistant-stubs/components/lamarzocco/select.pyi +13 -7
  293. homeassistant-stubs/components/lamarzocco/sensor.pyi +4 -5
  294. homeassistant-stubs/components/lamarzocco/switch.pyi +21 -6
  295. homeassistant-stubs/components/lamarzocco/update.pyi +5 -10
  296. homeassistant-stubs/components/lawn_mower/__init__.pyi +3 -2
  297. homeassistant-stubs/components/lidarr/__init__.pyi +12 -2
  298. homeassistant-stubs/components/lidarr/config_flow.pyi +2 -1
  299. homeassistant-stubs/components/lidarr/coordinator.pyi +0 -1
  300. homeassistant-stubs/components/lidarr/sensor.pyi +3 -4
  301. homeassistant-stubs/components/lifx/light.pyi +3 -2
  302. homeassistant-stubs/components/light/__init__.pyi +8 -6
  303. homeassistant-stubs/components/light/device_action.pyi +1 -1
  304. homeassistant-stubs/components/litterrobot/__init__.pyi +4 -3
  305. homeassistant-stubs/components/litterrobot/binary_sensor.pyi +2 -4
  306. homeassistant-stubs/components/litterrobot/button.pyi +2 -4
  307. homeassistant-stubs/components/litterrobot/select.pyi +2 -3
  308. homeassistant-stubs/components/litterrobot/sensor.pyi +2 -4
  309. homeassistant-stubs/components/litterrobot/switch.pyi +2 -4
  310. homeassistant-stubs/components/litterrobot/time.pyi +2 -4
  311. homeassistant-stubs/components/litterrobot/update.pyi +3 -4
  312. homeassistant-stubs/components/litterrobot/vacuum.pyi +2 -4
  313. homeassistant-stubs/components/lock/__init__.pyi +4 -3
  314. homeassistant-stubs/components/logbook/processor.pyi +4 -3
  315. homeassistant-stubs/components/london_underground/sensor.pyi +2 -1
  316. homeassistant-stubs/components/mastodon/notify.pyi +2 -1
  317. homeassistant-stubs/components/matrix/notify.pyi +2 -1
  318. homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
  319. homeassistant-stubs/components/matter/discovery.pyi +3 -3
  320. homeassistant-stubs/components/matter/entity.pyi +8 -1
  321. homeassistant-stubs/components/matter/event.pyi +0 -2
  322. homeassistant-stubs/components/matter/fan.pyi +2 -2
  323. homeassistant-stubs/components/matter/lock.pyi +1 -0
  324. homeassistant-stubs/components/matter/models.pyi +1 -2
  325. homeassistant-stubs/components/matter/number.pyi +24 -0
  326. homeassistant-stubs/components/matter/sensor.pyi +1 -1
  327. homeassistant-stubs/components/media_player/__init__.pyi +3 -2
  328. homeassistant-stubs/components/media_player/intent.pyi +2 -1
  329. homeassistant-stubs/components/mikrotik/__init__.pyi +2 -1
  330. homeassistant-stubs/components/mikrotik/device_tracker.pyi +2 -3
  331. homeassistant-stubs/components/min_max/sensor.pyi +2 -1
  332. homeassistant-stubs/components/modbus/sensor.pyi +2 -2
  333. homeassistant-stubs/components/monzo/config_flow.pyi +5 -1
  334. homeassistant-stubs/components/monzo/coordinator.pyi +1 -0
  335. homeassistant-stubs/components/motionmount/select.pyi +5 -2
  336. homeassistant-stubs/components/mqtt/async_client.pyi +22 -0
  337. homeassistant-stubs/components/mqtt/client.pyi +13 -28
  338. homeassistant-stubs/components/mqtt/climate.pyi +2 -3
  339. homeassistant-stubs/components/mqtt/cover.pyi +2 -3
  340. homeassistant-stubs/components/mqtt/device_tracker.pyi +2 -3
  341. homeassistant-stubs/components/mqtt/event.pyi +2 -3
  342. homeassistant-stubs/components/mqtt/fan.pyi +2 -3
  343. homeassistant-stubs/components/mqtt/humidifier.pyi +2 -3
  344. homeassistant-stubs/components/mqtt/image.pyi +2 -3
  345. homeassistant-stubs/components/mqtt/lawn_mower.pyi +2 -3
  346. homeassistant-stubs/components/mqtt/light/__init__.pyi +1 -1
  347. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -3
  348. homeassistant-stubs/components/mqtt/light/schema_json.pyi +2 -3
  349. homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -3
  350. homeassistant-stubs/components/mqtt/mixins.pyi +4 -4
  351. homeassistant-stubs/components/mqtt/models.pyi +2 -3
  352. homeassistant-stubs/components/mqtt/number.pyi +2 -3
  353. homeassistant-stubs/components/mqtt/select.pyi +2 -3
  354. homeassistant-stubs/components/mqtt/sensor.pyi +2 -3
  355. homeassistant-stubs/components/mqtt/siren.pyi +2 -3
  356. homeassistant-stubs/components/mqtt/text.pyi +2 -3
  357. homeassistant-stubs/components/mqtt/update.pyi +2 -3
  358. homeassistant-stubs/components/mqtt/util.pyi +23 -2
  359. homeassistant-stubs/components/mqtt/vacuum.pyi +2 -3
  360. homeassistant-stubs/components/mqtt/valve.pyi +2 -3
  361. homeassistant-stubs/components/mqtt/water_heater.pyi +2 -3
  362. homeassistant-stubs/components/mysensors/config_flow.pyi +1 -0
  363. homeassistant-stubs/components/mysensors/sensor.pyi +1 -1
  364. homeassistant-stubs/components/myuplink/__init__.pyi +4 -1
  365. homeassistant-stubs/components/myuplink/binary_sensor.pyi +2 -4
  366. homeassistant-stubs/components/myuplink/diagnostics.pyi +2 -4
  367. homeassistant-stubs/components/myuplink/number.pyi +2 -4
  368. homeassistant-stubs/components/myuplink/sensor.pyi +3 -5
  369. homeassistant-stubs/components/myuplink/switch.pyi +2 -4
  370. homeassistant-stubs/components/myuplink/update.pyi +2 -4
  371. homeassistant-stubs/components/nam/const.pyi +1 -0
  372. homeassistant-stubs/components/nam/sensor.pyi +1 -1
  373. homeassistant-stubs/components/nanoleaf/__init__.pyi +6 -14
  374. homeassistant-stubs/components/nanoleaf/button.pyi +4 -7
  375. homeassistant-stubs/components/nanoleaf/coordinator.pyi +12 -0
  376. homeassistant-stubs/components/nanoleaf/device_trigger.pyi +1 -0
  377. homeassistant-stubs/components/nanoleaf/diagnostics.pyi +2 -4
  378. homeassistant-stubs/components/nanoleaf/entity.pyi +4 -4
  379. homeassistant-stubs/components/nanoleaf/event.pyi +18 -0
  380. homeassistant-stubs/components/nanoleaf/light.pyi +4 -7
  381. homeassistant-stubs/components/number/__init__.pyi +3 -1
  382. homeassistant-stubs/components/number/const.pyi +2 -1
  383. homeassistant-stubs/components/overkiz/water_heater.pyi +2 -1
  384. homeassistant-stubs/components/overkiz/water_heater_entities/__init__.pyi +2 -0
  385. homeassistant-stubs/components/overkiz/water_heater_entities/atlantic_domestic_hot_water_production_mlb_component.pyi +32 -0
  386. homeassistant-stubs/components/ping/binary_sensor.pyi +2 -8
  387. homeassistant-stubs/components/ping/config_flow.pyi +2 -4
  388. homeassistant-stubs/components/ping/device_tracker.pyi +4 -14
  389. homeassistant-stubs/components/plugwise/button.pyi +20 -0
  390. homeassistant-stubs/components/plugwise/const.pyi +3 -0
  391. homeassistant-stubs/components/plugwise/coordinator.pyi +5 -3
  392. homeassistant-stubs/components/plugwise/number.pyi +2 -4
  393. homeassistant-stubs/components/plugwise/select.pyi +3 -5
  394. homeassistant-stubs/components/prometheus/__init__.pyi +1 -1
  395. homeassistant-stubs/components/proximity/config_flow.pyi +2 -1
  396. homeassistant-stubs/components/radarr/__init__.pyi +14 -2
  397. homeassistant-stubs/components/radarr/binary_sensor.pyi +3 -4
  398. homeassistant-stubs/components/radarr/calendar.pyi +2 -4
  399. homeassistant-stubs/components/radarr/config_flow.pyi +3 -4
  400. homeassistant-stubs/components/radarr/coordinator.pyi +2 -2
  401. homeassistant-stubs/components/radarr/sensor.pyi +2 -4
  402. homeassistant-stubs/components/rainmachine/switch.pyi +1 -0
  403. homeassistant-stubs/components/recorder/const.pyi +3 -1
  404. homeassistant-stubs/components/recorder/core.pyi +2 -2
  405. homeassistant-stubs/components/recorder/db_schema.pyi +3 -1
  406. homeassistant-stubs/components/recorder/purge.pyi +1 -1
  407. homeassistant-stubs/components/recorder/statistics.pyi +7 -4
  408. homeassistant-stubs/components/recorder/table_managers/event_data.pyi +3 -3
  409. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +1 -1
  410. homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +3 -3
  411. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +1 -1
  412. homeassistant-stubs/components/recorder/util.pyi +4 -3
  413. homeassistant-stubs/components/remote/__init__.pyi +5 -4
  414. homeassistant-stubs/components/rest/binary_sensor.pyi +2 -1
  415. homeassistant-stubs/components/rest/notify.pyi +2 -1
  416. homeassistant-stubs/components/rest/sensor.pyi +2 -1
  417. homeassistant-stubs/components/rest/switch.pyi +2 -1
  418. homeassistant-stubs/components/rfxtrx/config_flow.pyi +1 -0
  419. homeassistant-stubs/components/roborock/__init__.pyi +30 -0
  420. homeassistant-stubs/components/roborock/binary_sensor.pyi +29 -0
  421. homeassistant-stubs/components/roborock/button.pyi +28 -0
  422. homeassistant-stubs/components/roborock/config_flow.pyi +30 -0
  423. homeassistant-stubs/components/roborock/const.pyi +13 -0
  424. homeassistant-stubs/components/roborock/coordinator.pyi +47 -0
  425. homeassistant-stubs/components/roborock/device.pyi +53 -0
  426. homeassistant-stubs/components/roborock/diagnostics.pyi +13 -0
  427. homeassistant-stubs/components/roborock/image.pyi +37 -0
  428. homeassistant-stubs/components/roborock/models.pyi +27 -0
  429. homeassistant-stubs/components/roborock/number.pyi +35 -0
  430. homeassistant-stubs/components/roborock/select.pyi +37 -0
  431. homeassistant-stubs/components/roborock/sensor.pyi +47 -0
  432. homeassistant-stubs/components/roborock/switch.pyi +37 -0
  433. homeassistant-stubs/components/roborock/time.pyi +38 -0
  434. homeassistant-stubs/components/roborock/vacuum.pyi +39 -0
  435. homeassistant-stubs/components/roku/media_player.pyi +2 -1
  436. homeassistant-stubs/components/schedule/__init__.pyi +5 -5
  437. homeassistant-stubs/components/select/__init__.pyi +3 -1
  438. homeassistant-stubs/components/sensor/__init__.pyi +3 -1
  439. homeassistant-stubs/components/sensor/const.pyi +3 -2
  440. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  441. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  442. homeassistant-stubs/components/shelly/__init__.pyi +1 -2
  443. homeassistant-stubs/components/shelly/climate.pyi +3 -0
  444. homeassistant-stubs/components/shelly/const.pyi +0 -1
  445. homeassistant-stubs/components/shelly/coordinator.pyi +3 -2
  446. homeassistant-stubs/components/shelly/switch.pyi +2 -18
  447. homeassistant-stubs/components/shelly/valve.pyi +1 -1
  448. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +4 -5
  449. homeassistant-stubs/components/siren/__init__.pyi +4 -3
  450. homeassistant-stubs/components/sql/sensor.pyi +2 -1
  451. homeassistant-stubs/components/starlink/const.pyi +1 -0
  452. homeassistant-stubs/components/starlink/device_tracker.pyi +6 -2
  453. homeassistant-stubs/components/statistics/__init__.pyi +8 -1
  454. homeassistant-stubs/components/statistics/config_flow.pyi +23 -0
  455. homeassistant-stubs/components/statistics/sensor.pyi +7 -2
  456. homeassistant-stubs/components/stream/fmp4utils.pyi +2 -2
  457. homeassistant-stubs/components/stream/worker.pyi +3 -2
  458. homeassistant-stubs/components/streamlabswater/__init__.pyi +1 -6
  459. homeassistant-stubs/components/streamlabswater/config_flow.pyi +0 -1
  460. homeassistant-stubs/components/suez_water/config_flow.pyi +0 -1
  461. homeassistant-stubs/components/suez_water/sensor.pyi +3 -8
  462. homeassistant-stubs/components/switch/__init__.pyi +4 -3
  463. homeassistant-stubs/components/switch/light.pyi +2 -1
  464. homeassistant-stubs/components/switcher_kis/__init__.pyi +3 -0
  465. homeassistant-stubs/components/switcher_kis/switch.pyi +3 -2
  466. homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
  467. homeassistant-stubs/components/systemmonitor/config_flow.pyi +0 -2
  468. homeassistant-stubs/components/systemmonitor/sensor.pyi +4 -7
  469. homeassistant-stubs/components/tag/__init__.pyi +4 -5
  470. homeassistant-stubs/components/tami4/__init__.pyi +1 -1
  471. homeassistant-stubs/components/tami4/coordinator.pyi +3 -5
  472. homeassistant-stubs/components/tami4/sensor.pyi +3 -3
  473. homeassistant-stubs/components/tautulli/__init__.pyi +3 -2
  474. homeassistant-stubs/components/tautulli/coordinator.pyi +2 -2
  475. homeassistant-stubs/components/tautulli/sensor.pyi +3 -3
  476. homeassistant-stubs/components/threshold/__init__.pyi +2 -1
  477. homeassistant-stubs/components/threshold/binary_sensor.pyi +11 -3
  478. homeassistant-stubs/components/threshold/config_flow.pyi +8 -0
  479. homeassistant-stubs/components/tibber/__init__.pyi +1 -0
  480. homeassistant-stubs/components/tibber/sensor.pyi +12 -6
  481. homeassistant-stubs/components/tibber/services.pyi +15 -0
  482. homeassistant-stubs/components/time_date/sensor.pyi +3 -3
  483. homeassistant-stubs/components/timer/__init__.pyi +2 -2
  484. homeassistant-stubs/components/todo/__init__.pyi +3 -2
  485. homeassistant-stubs/components/tplink/__init__.pyi +14 -8
  486. homeassistant-stubs/components/tplink/binary_sensor.pyi +22 -0
  487. homeassistant-stubs/components/tplink/button.pyi +22 -0
  488. homeassistant-stubs/components/tplink/climate.pyi +42 -0
  489. homeassistant-stubs/components/tplink/config_flow.pyi +5 -5
  490. homeassistant-stubs/components/tplink/const.pyi +5 -1
  491. homeassistant-stubs/components/tplink/coordinator.pyi +2 -2
  492. homeassistant-stubs/components/tplink/diagnostics.pyi +2 -4
  493. homeassistant-stubs/components/tplink/entity.pyi +49 -7
  494. homeassistant-stubs/components/tplink/fan.pyi +31 -0
  495. homeassistant-stubs/components/tplink/light.pyi +20 -19
  496. homeassistant-stubs/components/tplink/number.pyi +27 -0
  497. homeassistant-stubs/components/tplink/select.pyi +26 -0
  498. homeassistant-stubs/components/tplink/sensor.pyi +12 -23
  499. homeassistant-stubs/components/tplink/switch.pyi +12 -35
  500. homeassistant-stubs/components/tplink_omada/controller.pyi +4 -15
  501. homeassistant-stubs/components/tplink_omada/coordinator.pyi +20 -1
  502. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +36 -0
  503. homeassistant-stubs/components/transmission/__init__.pyi +9 -3
  504. homeassistant-stubs/components/transmission/sensor.pyi +2 -2
  505. homeassistant-stubs/components/transmission/switch.pyi +2 -4
  506. homeassistant-stubs/components/trend/__init__.pyi +2 -1
  507. homeassistant-stubs/components/trend/binary_sensor.pyi +6 -2
  508. homeassistant-stubs/components/tts/notify.pyi +2 -1
  509. homeassistant-stubs/components/unifi/config_flow.pyi +1 -1
  510. homeassistant-stubs/components/unifi/sensor.pyi +2 -1
  511. homeassistant-stubs/components/unifi/services.pyi +1 -0
  512. homeassistant-stubs/components/unifiprotect/__init__.pyi +8 -9
  513. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +29 -21
  514. homeassistant-stubs/components/unifiprotect/button.pyi +8 -9
  515. homeassistant-stubs/components/unifiprotect/camera.pyi +10 -10
  516. homeassistant-stubs/components/unifiprotect/const.pyi +0 -1
  517. homeassistant-stubs/components/unifiprotect/data.pyi +27 -14
  518. homeassistant-stubs/components/unifiprotect/diagnostics.pyi +2 -4
  519. homeassistant-stubs/components/unifiprotect/entity.pyi +27 -17
  520. homeassistant-stubs/components/unifiprotect/light.pyi +3 -6
  521. homeassistant-stubs/components/unifiprotect/lock.pyi +3 -8
  522. homeassistant-stubs/components/unifiprotect/media_player.pyi +4 -8
  523. homeassistant-stubs/components/unifiprotect/media_source.pyi +2 -3
  524. homeassistant-stubs/components/unifiprotect/migrate.pyi +5 -5
  525. homeassistant-stubs/components/unifiprotect/models.pyi +16 -17
  526. homeassistant-stubs/components/unifiprotect/number.pyi +8 -12
  527. homeassistant-stubs/components/unifiprotect/repairs.pyi +5 -3
  528. homeassistant-stubs/components/unifiprotect/select.pyi +9 -11
  529. homeassistant-stubs/components/unifiprotect/sensor.pyi +25 -23
  530. homeassistant-stubs/components/unifiprotect/services.pyi +0 -4
  531. homeassistant-stubs/components/unifiprotect/switch.pyi +15 -24
  532. homeassistant-stubs/components/unifiprotect/text.pyi +8 -11
  533. homeassistant-stubs/components/unifiprotect/utils.pyi +6 -11
  534. homeassistant-stubs/components/unifiprotect/views.pyi +2 -4
  535. homeassistant-stubs/components/update/__init__.pyi +3 -1
  536. homeassistant-stubs/components/vacuum/__init__.pyi +2 -1
  537. homeassistant-stubs/components/vallox/sensor.pyi +5 -1
  538. homeassistant-stubs/components/valve/__init__.pyi +3 -2
  539. homeassistant-stubs/components/water_heater/__init__.pyi +4 -3
  540. homeassistant-stubs/components/weather/__init__.pyi +4 -5
  541. homeassistant-stubs/components/webhook/__init__.pyi +1 -1
  542. homeassistant-stubs/components/webostv/__init__.pyi +7 -0
  543. homeassistant-stubs/components/websocket_api/__init__.pyi +3 -4
  544. homeassistant-stubs/components/websocket_api/decorators.pyi +2 -1
  545. homeassistant-stubs/components/wemo/entity.pyi +2 -2
  546. homeassistant-stubs/components/wemo/fan.pyi +2 -1
  547. homeassistant-stubs/components/withings/coordinator.pyi +3 -3
  548. homeassistant-stubs/components/withings/sensor.pyi +6 -2
  549. homeassistant-stubs/components/worldclock/sensor.pyi +2 -1
  550. homeassistant-stubs/components/xiaomi_ble/sensor.pyi +1 -1
  551. homeassistant-stubs/components/zone/__init__.pyi +3 -3
  552. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  553. homeassistant-stubs/components/zwave_js/api.pyi +1 -5
  554. homeassistant-stubs/components/zwave_js/config_flow.pyi +8 -1
  555. homeassistant-stubs/components/zwave_js/const.pyi +5 -0
  556. homeassistant-stubs/components/zwave_js/discovery.pyi +4 -4
  557. homeassistant-stubs/components/zwave_js/helpers.pyi +2 -2
  558. homeassistant-stubs/components/zwave_js/sensor.pyi +2 -0
  559. homeassistant-stubs/components/zwave_js/services.pyi +3 -2
  560. homeassistant-stubs/config.pyi +4 -5
  561. homeassistant-stubs/config_entries.pyi +6 -3
  562. homeassistant-stubs/const.pyi +9 -3
  563. homeassistant-stubs/core.pyi +15 -10
  564. homeassistant-stubs/data_entry_flow.pyi +12 -2
  565. homeassistant-stubs/exceptions.pyi +6 -5
  566. homeassistant-stubs/helpers/__init__.pyi +0 -5
  567. homeassistant-stubs/helpers/collection.pyi +14 -11
  568. homeassistant-stubs/helpers/condition.pyi +3 -2
  569. homeassistant-stubs/helpers/config_validation.pyi +5 -4
  570. homeassistant-stubs/helpers/deprecation.pyi +10 -0
  571. homeassistant-stubs/helpers/device.pyi +8 -0
  572. homeassistant-stubs/helpers/device_registry.pyi +14 -2
  573. homeassistant-stubs/helpers/entity.pyi +3 -2
  574. homeassistant-stubs/helpers/entity_component.pyi +3 -4
  575. homeassistant-stubs/helpers/entity_platform.pyi +2 -3
  576. homeassistant-stubs/helpers/event.pyi +10 -4
  577. homeassistant-stubs/helpers/frame.pyi +1 -0
  578. homeassistant-stubs/helpers/http.pyi +1 -1
  579. homeassistant-stubs/helpers/intent.pyi +6 -4
  580. homeassistant-stubs/helpers/llm.pyi +17 -3
  581. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +2 -2
  582. homeassistant-stubs/helpers/script.pyi +3 -2
  583. homeassistant-stubs/helpers/selector.pyi +10 -8
  584. homeassistant-stubs/helpers/service.pyi +6 -3
  585. homeassistant-stubs/helpers/template.pyi +8 -6
  586. homeassistant-stubs/helpers/trace.pyi +3 -2
  587. homeassistant-stubs/helpers/typing.pyi +6 -1
  588. homeassistant-stubs/helpers/update_coordinator.pyi +3 -3
  589. homeassistant-stubs/loader.pyi +1 -2
  590. homeassistant-stubs/requirements.pyi +0 -3
  591. homeassistant-stubs/setup.pyi +4 -3
  592. homeassistant-stubs/util/loop.pyi +5 -1
  593. homeassistant-stubs/util/unit_conversion.pyi +7 -1
  594. {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0.dist-info}/METADATA +2 -2
  595. {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0.dist-info}/RECORD +597 -560
  596. homeassistant-stubs/auth/providers/legacy_api_password.pyi +0 -30
  597. homeassistant-stubs/components/air_quality/group.pyi +0 -5
  598. homeassistant-stubs/components/aladdin_connect/api.pyi +0 -12
  599. homeassistant-stubs/components/aladdin_connect/application_credentials.pyi +0 -5
  600. homeassistant-stubs/components/aladdin_connect/const.pyi +0 -3
  601. homeassistant-stubs/components/aladdin_connect/coordinator.pyi +0 -15
  602. homeassistant-stubs/components/aladdin_connect/cover.pyi +0 -25
  603. homeassistant-stubs/components/aladdin_connect/entity.pyi +0 -12
  604. homeassistant-stubs/components/aladdin_connect/sensor.pyi +0 -27
  605. homeassistant-stubs/components/alarm_control_panel/group.pyi +0 -6
  606. homeassistant-stubs/components/climate/group.pyi +0 -6
  607. homeassistant-stubs/components/cover/group.pyi +0 -6
  608. homeassistant-stubs/components/device_tracker/group.pyi +0 -6
  609. homeassistant-stubs/components/fastdotcom/services.pyi +0 -7
  610. homeassistant-stubs/components/lock/group.pyi +0 -6
  611. homeassistant-stubs/components/media_player/group.pyi +0 -6
  612. homeassistant-stubs/components/sensor/group.pyi +0 -5
  613. homeassistant-stubs/components/vacuum/group.pyi +0 -6
  614. homeassistant-stubs/components/water_heater/group.pyi +0 -6
  615. homeassistant-stubs/components/weather/group.pyi +0 -5
  616. homeassistant-stubs/components/wled/binary_sensor.pyi +0 -20
  617. {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0.dist-info}/LICENSE +0 -0
  618. {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
1
1
  import httpx
2
2
  from _typeshed import Incomplete
3
- from homeassistant.components.notify import ATTR_MESSAGE as ATTR_MESSAGE, ATTR_TARGET as ATTR_TARGET, ATTR_TITLE as ATTR_TITLE, ATTR_TITLE_DEFAULT as ATTR_TITLE_DEFAULT, BaseNotificationService as BaseNotificationService, PLATFORM_SCHEMA as PLATFORM_SCHEMA
3
+ from homeassistant.components.notify import ATTR_MESSAGE as ATTR_MESSAGE, ATTR_TARGET as ATTR_TARGET, ATTR_TITLE as ATTR_TITLE, ATTR_TITLE_DEFAULT as ATTR_TITLE_DEFAULT, BaseNotificationService as BaseNotificationService
4
4
  from homeassistant.const import CONF_AUTHENTICATION as CONF_AUTHENTICATION, CONF_HEADERS as CONF_HEADERS, CONF_METHOD as CONF_METHOD, CONF_NAME as CONF_NAME, CONF_PARAMS as CONF_PARAMS, CONF_PASSWORD as CONF_PASSWORD, CONF_RESOURCE as CONF_RESOURCE, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL, HTTP_BASIC_AUTHENTICATION as HTTP_BASIC_AUTHENTICATION, HTTP_DIGEST_AUTHENTICATION as HTTP_DIGEST_AUTHENTICATION
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.helpers.httpx_client import get_async_client as get_async_client
@@ -16,6 +16,7 @@ CONF_TITLE_PARAMETER_NAME: str
16
16
  DEFAULT_MESSAGE_PARAM_NAME: str
17
17
  DEFAULT_METHOD: str
18
18
  DEFAULT_VERIFY_SSL: bool
19
+ PLATFORM_SCHEMA: Incomplete
19
20
  _LOGGER: Incomplete
20
21
 
21
22
  async def async_get_service(hass: HomeAssistant, config: ConfigType, discovery_info: DiscoveryInfoType | None = None) -> RestNotificationService: ...
@@ -5,7 +5,7 @@ from .entity import RestEntity as RestEntity
5
5
  from .schema import RESOURCE_SCHEMA as RESOURCE_SCHEMA, SENSOR_SCHEMA as SENSOR_SCHEMA
6
6
  from .util import parse_json_attributes as parse_json_attributes
7
7
  from _typeshed import Incomplete
8
- from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, PLATFORM_SCHEMA as PLATFORM_SCHEMA, SensorDeviceClass as SensorDeviceClass
8
+ from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, SensorDeviceClass as SensorDeviceClass
9
9
  from homeassistant.components.sensor.helpers import async_parse_date_datetime as async_parse_date_datetime
10
10
  from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_FORCE_UPDATE as CONF_FORCE_UPDATE, CONF_ICON as CONF_ICON, CONF_NAME as CONF_NAME, CONF_RESOURCE as CONF_RESOURCE, CONF_RESOURCE_TEMPLATE as CONF_RESOURCE_TEMPLATE, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -18,6 +18,7 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as Da
18
18
  from typing import Any
19
19
 
20
20
  _LOGGER: Incomplete
21
+ PLATFORM_SCHEMA: Incomplete
21
22
  TRIGGER_ENTITY_OPTIONS: Incomplete
22
23
 
23
24
  async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
@@ -1,6 +1,6 @@
1
1
  import httpx
2
2
  from _typeshed import Incomplete
3
- from homeassistant.components.switch import DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA, PLATFORM_SCHEMA as PLATFORM_SCHEMA, SwitchEntity as SwitchEntity
3
+ from homeassistant.components.switch import DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA, SwitchEntity as SwitchEntity
4
4
  from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_HEADERS as CONF_HEADERS, CONF_ICON as CONF_ICON, CONF_METHOD as CONF_METHOD, CONF_NAME as CONF_NAME, CONF_PARAMS as CONF_PARAMS, CONF_PASSWORD as CONF_PASSWORD, CONF_RESOURCE as CONF_RESOURCE, CONF_TIMEOUT as CONF_TIMEOUT, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.exceptions import PlatformNotReady as PlatformNotReady
@@ -24,6 +24,7 @@ DEFAULT_NAME: str
24
24
  DEFAULT_TIMEOUT: int
25
25
  DEFAULT_VERIFY_SSL: bool
26
26
  SUPPORT_REST_METHODS: Incomplete
27
+ PLATFORM_SCHEMA: Incomplete
27
28
 
28
29
  async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
29
30
 
@@ -8,6 +8,7 @@ from homeassistant.core import Event as Event, EventStateChangedData as EventSta
8
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
9
  from homeassistant.helpers import device_registry as dr
10
10
  from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
11
+ from homeassistant.helpers.typing import VolDictType as VolDictType
11
12
  from typing import Any, TypedDict
12
13
 
13
14
  CONF_EVENT_CODE: str
@@ -0,0 +1,30 @@
1
+ from .const import CONF_BASE_URL as CONF_BASE_URL, CONF_USER_DATA as CONF_USER_DATA, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
+ from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator, RoborockDataUpdateCoordinatorA01 as RoborockDataUpdateCoordinatorA01
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Coroutine
5
+ from dataclasses import dataclass
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
+ from homeassistant.const import CONF_USERNAME as CONF_USERNAME
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
10
+ from roborock import HomeDataRoom as HomeDataRoom
11
+ from roborock.containers import HomeDataDevice as HomeDataDevice, HomeDataProduct as HomeDataProduct, UserData
12
+ from typing import Any
13
+
14
+ SCAN_INTERVAL: Incomplete
15
+ _LOGGER: Incomplete
16
+
17
+ @dataclass
18
+ class RoborockCoordinators:
19
+ v1: list[RoborockDataUpdateCoordinator]
20
+ a01: list[RoborockDataUpdateCoordinatorA01]
21
+ def values(self) -> list[RoborockDataUpdateCoordinator | RoborockDataUpdateCoordinatorA01]: ...
22
+ def __init__(self, v1, a01) -> None: ...
23
+
24
+ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
25
+ def build_setup_functions(hass: HomeAssistant, device_map: dict[str, HomeDataDevice], user_data: UserData, product_info: dict[str, HomeDataProduct], home_data_rooms: list[HomeDataRoom]) -> list[Coroutine[Any, Any, RoborockDataUpdateCoordinator | RoborockDataUpdateCoordinatorA01 | None]]: ...
26
+ async def setup_device(hass: HomeAssistant, user_data: UserData, device: HomeDataDevice, product_info: HomeDataProduct, home_data_rooms: list[HomeDataRoom]) -> RoborockDataUpdateCoordinator | RoborockDataUpdateCoordinatorA01 | None: ...
27
+ async def setup_device_v1(hass: HomeAssistant, user_data: UserData, device: HomeDataDevice, product_info: HomeDataProduct, home_data_rooms: list[HomeDataRoom]) -> RoborockDataUpdateCoordinator | None: ...
28
+ async def setup_device_a01(hass: HomeAssistant, user_data: UserData, device: HomeDataDevice, product_info: HomeDataProduct) -> RoborockDataUpdateCoordinatorA01 | None: ...
29
+ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
30
+ async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
@@ -0,0 +1,29 @@
1
+ from . import RoborockCoordinators as RoborockCoordinators
2
+ from .const import DOMAIN as DOMAIN
3
+ from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
4
+ from .device import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
5
+ from _typeshed import Incomplete
6
+ from collections.abc import Callable as Callable
7
+ from dataclasses import dataclass
8
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
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
12
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
+ from homeassistant.util import slugify as slugify
14
+ from roborock.roborock_typing import DeviceProp as DeviceProp
15
+
16
+ @dataclass(frozen=True, kw_only=True)
17
+ class RoborockBinarySensorDescription(BinarySensorEntityDescription):
18
+ value_fn: Callable[[DeviceProp], bool | int | None]
19
+ 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, translation_placeholders, unit_of_measurement, value_fn) -> None: ...
20
+
21
+ BINARY_SENSOR_DESCRIPTIONS: Incomplete
22
+
23
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
24
+
25
+ class RoborockBinarySensorEntity(RoborockCoordinatedEntityV1, BinarySensorEntity):
26
+ entity_description: RoborockBinarySensorDescription
27
+ def __init__(self, coordinator: RoborockDataUpdateCoordinator, description: RoborockBinarySensorDescription) -> None: ...
28
+ @property
29
+ def is_on(self) -> bool: ...
@@ -0,0 +1,28 @@
1
+ from . import RoborockCoordinators as RoborockCoordinators
2
+ from .const import DOMAIN as DOMAIN
3
+ from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
4
+ from .device import RoborockEntityV1 as RoborockEntityV1
5
+ from _typeshed import Incomplete
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
+ from homeassistant.const import EntityCategory as EntityCategory
10
+ from homeassistant.core import HomeAssistant as HomeAssistant
11
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+ from homeassistant.util import slugify as slugify
13
+ from roborock.roborock_typing import RoborockCommand
14
+
15
+ @dataclass(frozen=True, kw_only=True)
16
+ class RoborockButtonDescription(ButtonEntityDescription):
17
+ command: RoborockCommand
18
+ param: list | dict | None
19
+ 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, translation_placeholders, unit_of_measurement, command, param) -> None: ...
20
+
21
+ CONSUMABLE_BUTTON_DESCRIPTIONS: Incomplete
22
+
23
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
24
+
25
+ class RoborockButtonEntity(RoborockEntityV1, ButtonEntity):
26
+ entity_description: RoborockButtonDescription
27
+ def __init__(self, coordinator: RoborockDataUpdateCoordinator, entity_description: RoborockButtonDescription) -> None: ...
28
+ async def async_press(self) -> None: ...
@@ -0,0 +1,30 @@
1
+ from .const import CONF_BASE_URL as CONF_BASE_URL, CONF_ENTRY_CODE as CONF_ENTRY_CODE, CONF_USER_DATA as CONF_USER_DATA, DEFAULT_DRAWABLES as DEFAULT_DRAWABLES, DOMAIN as DOMAIN, DRAWABLES as DRAWABLES
2
+ from _typeshed import Incomplete
3
+ from collections.abc import Mapping
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
5
+ from homeassistant.const import CONF_USERNAME as CONF_USERNAME
6
+ from homeassistant.core import callback as callback
7
+ from roborock.containers import UserData as UserData
8
+ from roborock.web_api import RoborockApiClient
9
+ from typing import Any
10
+
11
+ _LOGGER: Incomplete
12
+
13
+ class RoborockFlowHandler(ConfigFlow, domain=DOMAIN):
14
+ VERSION: int
15
+ reauth_entry: ConfigEntry | None
16
+ _username: Incomplete
17
+ _client: Incomplete
18
+ def __init__(self) -> None: ...
19
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
20
+ async def _request_code(self) -> dict: ...
21
+ async def async_step_code(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
23
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
+ def _create_entry(self, client: RoborockApiClient, username: str, user_data: UserData) -> ConfigFlowResult: ...
25
+ @staticmethod
26
+ def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
27
+
28
+ class RoborockOptionsFlowHandler(OptionsFlowWithConfigEntry):
29
+ async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
30
+ async def async_step_drawables(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,13 @@
1
+ from _typeshed import Incomplete
2
+ from homeassistant.const import Platform as Platform
3
+
4
+ DOMAIN: str
5
+ CONF_ENTRY_CODE: str
6
+ CONF_BASE_URL: str
7
+ CONF_USER_DATA: str
8
+ DRAWABLES: str
9
+ DEFAULT_DRAWABLES: Incomplete
10
+ PLATFORMS: Incomplete
11
+ IMAGE_CACHE_INTERVAL: int
12
+ MAP_SLEEP: int
13
+ GET_MAPS_SERVICE_NAME: str
@@ -0,0 +1,47 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .models import RoborockA01HassDeviceInfo as RoborockA01HassDeviceInfo, RoborockHassDeviceInfo as RoborockHassDeviceInfo, RoborockMapInfo as RoborockMapInfo
3
+ from _typeshed import Incomplete
4
+ from homeassistant.const import ATTR_CONNECTIONS as ATTR_CONNECTIONS
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
7
+ from homeassistant.helpers.typing import StateType as StateType
8
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
9
+ from roborock import HomeDataRoom as HomeDataRoom
10
+ from roborock.containers import HomeDataDevice as HomeDataDevice, HomeDataProduct as HomeDataProduct, NetworkInfo as NetworkInfo
11
+ from roborock.roborock_message import RoborockDyadDataProtocol, RoborockZeoProtocol
12
+ from roborock.roborock_typing import DeviceProp
13
+ from roborock.version_1_apis.roborock_mqtt_client_v1 import RoborockMqttClientV1 as RoborockMqttClientV1
14
+ from roborock.version_a01_apis import RoborockClientA01 as RoborockClientA01
15
+
16
+ SCAN_INTERVAL: Incomplete
17
+ _LOGGER: Incomplete
18
+
19
+ class RoborockDataUpdateCoordinator(DataUpdateCoordinator[DeviceProp]):
20
+ roborock_device_info: Incomplete
21
+ api: Incomplete
22
+ cloud_api: Incomplete
23
+ device_info: Incomplete
24
+ current_map: Incomplete
25
+ maps: Incomplete
26
+ _home_data_rooms: Incomplete
27
+ def __init__(self, hass: HomeAssistant, device: HomeDataDevice, device_networking: NetworkInfo, product_info: HomeDataProduct, cloud_api: RoborockMqttClientV1, home_data_rooms: list[HomeDataRoom]) -> None: ...
28
+ async def verify_api(self) -> None: ...
29
+ async def release(self) -> None: ...
30
+ async def _update_device_prop(self) -> None: ...
31
+ async def _async_update_data(self) -> DeviceProp: ...
32
+ def _set_current_map(self) -> None: ...
33
+ async def get_maps(self) -> None: ...
34
+ async def get_rooms(self) -> None: ...
35
+ @property
36
+ def duid(self) -> str: ...
37
+
38
+ class RoborockDataUpdateCoordinatorA01(DataUpdateCoordinator[dict[RoborockDyadDataProtocol | RoborockZeoProtocol, StateType]]):
39
+ api: Incomplete
40
+ device_info: Incomplete
41
+ request_protocols: Incomplete
42
+ roborock_device_info: Incomplete
43
+ def __init__(self, hass: HomeAssistant, device: HomeDataDevice, product_info: HomeDataProduct, api: RoborockClientA01) -> None: ...
44
+ async def _async_update_data(self) -> dict[RoborockDyadDataProtocol | RoborockZeoProtocol, StateType]: ...
45
+ async def release(self) -> None: ...
46
+ @property
47
+ def duid(self) -> str: ...
@@ -0,0 +1,53 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator, RoborockDataUpdateCoordinatorA01 as RoborockDataUpdateCoordinatorA01
3
+ from _typeshed import Incomplete
4
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
5
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
6
+ from homeassistant.helpers.entity import Entity as Entity
7
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
8
+ from roborock.api import RoborockClient as RoborockClient
9
+ from roborock.command_cache import CacheableAttribute as CacheableAttribute
10
+ from roborock.containers import Consumable as Consumable, Status
11
+ from roborock.roborock_message import RoborockDataProtocol
12
+ from roborock.roborock_typing import RoborockCommand
13
+ from roborock.version_1_apis.roborock_client_v1 import AttributeCache as AttributeCache, RoborockClientV1 as RoborockClientV1
14
+ from roborock.version_1_apis.roborock_mqtt_client_v1 import RoborockMqttClientV1 as RoborockMqttClientV1
15
+ from roborock.version_a01_apis import RoborockClientA01 as RoborockClientA01
16
+ from typing import Any
17
+
18
+ class RoborockEntity(Entity):
19
+ _attr_has_entity_name: bool
20
+ _attr_unique_id: Incomplete
21
+ _attr_device_info: Incomplete
22
+ _api: Incomplete
23
+ def __init__(self, unique_id: str, device_info: DeviceInfo, api: RoborockClient) -> None: ...
24
+
25
+ class RoborockEntityV1(RoborockEntity):
26
+ _api: RoborockClientV1
27
+ def __init__(self, unique_id: str, device_info: DeviceInfo, api: RoborockClientV1) -> None: ...
28
+ def get_cache(self, attribute: CacheableAttribute) -> AttributeCache: ...
29
+ async def send(self, command: RoborockCommand | str, params: dict[str, Any] | list[Any] | int | None = None) -> dict: ...
30
+ @property
31
+ def api(self) -> RoborockClientV1: ...
32
+
33
+ class RoborockEntityA01(RoborockEntity):
34
+ _api: RoborockClientA01
35
+ def __init__(self, unique_id: str, device_info: DeviceInfo, api: RoborockClientA01) -> None: ...
36
+
37
+ class RoborockCoordinatedEntityV1(RoborockEntityV1, CoordinatorEntity[RoborockDataUpdateCoordinator]):
38
+ _attr_has_entity_name: bool
39
+ _attr_unique_id: Incomplete
40
+ listener_requests: Incomplete
41
+ def __init__(self, unique_id: str, coordinator: RoborockDataUpdateCoordinator, listener_request: list[RoborockDataProtocol] | RoborockDataProtocol | None = None) -> None: ...
42
+ async def async_added_to_hass(self) -> None: ...
43
+ async def async_will_remove_from_hass(self) -> None: ...
44
+ @property
45
+ def _device_status(self) -> Status: ...
46
+ @property
47
+ def cloud_api(self) -> RoborockMqttClientV1: ...
48
+ async def send(self, command: RoborockCommand | str, params: dict[str, Any] | list[Any] | int | None = None) -> dict: ...
49
+ def _update_from_listener(self, value: Status | Consumable) -> None: ...
50
+
51
+ class RoborockCoordinatedEntityA01(RoborockEntityA01, CoordinatorEntity[RoborockDataUpdateCoordinatorA01]):
52
+ _attr_unique_id: Incomplete
53
+ def __init__(self, unique_id: str, coordinator: RoborockDataUpdateCoordinatorA01) -> None: ...
@@ -0,0 +1,13 @@
1
+ from . import RoborockCoordinators as RoborockCoordinators
2
+ from .const import DOMAIN as DOMAIN
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.diagnostics.util import async_redact_data as async_redact_data
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.const import CONF_UNIQUE_ID as CONF_UNIQUE_ID
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from typing import Any
9
+
10
+ TO_REDACT_CONFIG: Incomplete
11
+ TO_REDACT_COORD: Incomplete
12
+
13
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,37 @@
1
+ from . import RoborockCoordinators as RoborockCoordinators
2
+ from .const import DEFAULT_DRAWABLES as DEFAULT_DRAWABLES, DOMAIN as DOMAIN, DRAWABLES as DRAWABLES, IMAGE_CACHE_INTERVAL as IMAGE_CACHE_INTERVAL, MAP_SLEEP as MAP_SLEEP
3
+ from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
4
+ from .device import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
5
+ from _typeshed import Incomplete
6
+ from datetime import datetime
7
+ from homeassistant.components.image import ImageEntity as ImageEntity
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
+ from homeassistant.const import EntityCategory as EntityCategory
10
+ from homeassistant.core import HomeAssistant as HomeAssistant
11
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
12
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
+ from homeassistant.util import slugify as slugify
14
+ from vacuum_map_parser_base.config.drawable import Drawable as Drawable
15
+
16
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
+
18
+ class RoborockMap(RoborockCoordinatedEntityV1, ImageEntity):
19
+ _attr_has_entity_name: bool
20
+ image_last_updated: datetime
21
+ _attr_name: Incomplete
22
+ parser: Incomplete
23
+ _attr_image_last_updated: Incomplete
24
+ map_flag: Incomplete
25
+ cached_map: Incomplete
26
+ _attr_entity_category: Incomplete
27
+ def __init__(self, unique_id: str, coordinator: RoborockDataUpdateCoordinator, map_flag: int, starting_map: bytes, map_name: str, drawables: list[Drawable]) -> None: ...
28
+ @property
29
+ def available(self) -> bool: ...
30
+ @property
31
+ def is_selected(self) -> bool: ...
32
+ def is_map_valid(self) -> bool: ...
33
+ def _handle_coordinator_update(self) -> None: ...
34
+ async def async_image(self) -> bytes | None: ...
35
+ def _create_image(self, map_bytes: bytes) -> bytes: ...
36
+
37
+ async def create_coordinator_maps(coord: RoborockDataUpdateCoordinator, drawables: list[Drawable]) -> list[RoborockMap]: ...
@@ -0,0 +1,27 @@
1
+ from dataclasses import dataclass
2
+ from roborock.containers import HomeDataDevice as HomeDataDevice, HomeDataProduct as HomeDataProduct, NetworkInfo as NetworkInfo
3
+ from roborock.roborock_typing import DeviceProp as DeviceProp
4
+ from typing import Any
5
+
6
+ @dataclass
7
+ class RoborockHassDeviceInfo:
8
+ device: HomeDataDevice
9
+ network_info: NetworkInfo
10
+ product: HomeDataProduct
11
+ props: DeviceProp
12
+ def as_dict(self) -> dict[str, dict[str, Any]]: ...
13
+ def __init__(self, device, network_info, product, props) -> None: ...
14
+
15
+ @dataclass
16
+ class RoborockA01HassDeviceInfo:
17
+ device: HomeDataDevice
18
+ product: HomeDataProduct
19
+ def as_dict(self) -> dict[str, dict[str, Any]]: ...
20
+ def __init__(self, device, product) -> None: ...
21
+
22
+ @dataclass
23
+ class RoborockMapInfo:
24
+ flag: int
25
+ name: str
26
+ rooms: dict[int, str]
27
+ def __init__(self, flag, name, rooms) -> None: ...
@@ -0,0 +1,35 @@
1
+ from . import RoborockCoordinators as RoborockCoordinators
2
+ from .const import DOMAIN as DOMAIN
3
+ from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
4
+ from .device import RoborockEntityV1 as RoborockEntityV1
5
+ from _typeshed import Incomplete
6
+ from collections.abc import Callable as Callable, Coroutine
7
+ from dataclasses import dataclass
8
+ from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
9
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
+ from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE
11
+ from homeassistant.core import HomeAssistant as HomeAssistant
12
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
+ from homeassistant.util import slugify as slugify
14
+ from roborock.command_cache import CacheableAttribute
15
+ from roborock.version_1_apis.roborock_client_v1 import AttributeCache as AttributeCache
16
+ from typing import Any
17
+
18
+ _LOGGER: Incomplete
19
+
20
+ @dataclass(frozen=True, kw_only=True)
21
+ class RoborockNumberDescription(NumberEntityDescription):
22
+ cache_key: CacheableAttribute
23
+ update_value: Callable[[AttributeCache, float], Coroutine[Any, Any, None]]
24
+ 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, translation_placeholders, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, cache_key, update_value) -> None: ...
25
+
26
+ NUMBER_DESCRIPTIONS: list[RoborockNumberDescription]
27
+
28
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
29
+
30
+ class RoborockNumberEntity(RoborockEntityV1, NumberEntity):
31
+ entity_description: RoborockNumberDescription
32
+ def __init__(self, unique_id: str, coordinator: RoborockDataUpdateCoordinator, entity_description: RoborockNumberDescription) -> None: ...
33
+ @property
34
+ def native_value(self) -> float | None: ...
35
+ async def async_set_native_value(self, value: float) -> None: ...
@@ -0,0 +1,37 @@
1
+ from . import RoborockCoordinators as RoborockCoordinators
2
+ from .const import DOMAIN as DOMAIN
3
+ from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
4
+ from .device import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
5
+ from _typeshed import Incomplete
6
+ from collections.abc import Callable as Callable
7
+ from dataclasses import dataclass
8
+ from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
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
12
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
+ from homeassistant.util import slugify as slugify
14
+ from roborock.containers import Status as Status
15
+ from roborock.roborock_message import RoborockDataProtocol
16
+ from roborock.roborock_typing import RoborockCommand
17
+
18
+ @dataclass(frozen=True, kw_only=True)
19
+ class RoborockSelectDescription(SelectEntityDescription):
20
+ api_command: RoborockCommand
21
+ value_fn: Callable[[Status], str | None]
22
+ options_lambda: Callable[[Status], list[str] | None]
23
+ parameter_lambda: Callable[[str, Status], list[int]]
24
+ protocol_listener: RoborockDataProtocol | None = ...
25
+ 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, translation_placeholders, unit_of_measurement, options, api_command, value_fn, options_lambda, parameter_lambda, protocol_listener) -> None: ...
26
+
27
+ SELECT_DESCRIPTIONS: list[RoborockSelectDescription]
28
+
29
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
30
+
31
+ class RoborockSelectEntity(RoborockCoordinatedEntityV1, SelectEntity):
32
+ entity_description: RoborockSelectDescription
33
+ _attr_options: Incomplete
34
+ def __init__(self, coordinator: RoborockDataUpdateCoordinator, entity_description: RoborockSelectDescription, options: list[str]) -> None: ...
35
+ async def async_select_option(self, option: str) -> None: ...
36
+ @property
37
+ def current_option(self) -> str | None: ...
@@ -0,0 +1,47 @@
1
+ import datetime
2
+ from . import RoborockCoordinators as RoborockCoordinators
3
+ from .const import DOMAIN as DOMAIN
4
+ from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator, RoborockDataUpdateCoordinatorA01 as RoborockDataUpdateCoordinatorA01
5
+ from .device import RoborockCoordinatedEntityA01 as RoborockCoordinatedEntityA01, RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
6
+ from _typeshed import Incomplete
7
+ from collections.abc import Callable as Callable
8
+ from dataclasses import dataclass
9
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
10
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
+ from homeassistant.const import AREA_SQUARE_METERS as AREA_SQUARE_METERS, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfTime as UnitOfTime
12
+ from homeassistant.core import HomeAssistant as HomeAssistant
13
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
+ from homeassistant.helpers.typing import StateType as StateType
15
+ from homeassistant.util import slugify as slugify
16
+ from roborock.roborock_message import RoborockDataProtocol, RoborockDyadDataProtocol
17
+ from roborock.roborock_typing import DeviceProp as DeviceProp
18
+
19
+ @dataclass(frozen=True, kw_only=True)
20
+ class RoborockSensorDescription(SensorEntityDescription):
21
+ value_fn: Callable[[DeviceProp], StateType | datetime.datetime]
22
+ protocol_listener: RoborockDataProtocol | None = ...
23
+ 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, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn, protocol_listener) -> None: ...
24
+
25
+ @dataclass(frozen=True, kw_only=True)
26
+ class RoborockSensorDescriptionA01(SensorEntityDescription):
27
+ data_protocol: RoborockDyadDataProtocol
28
+ 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, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, data_protocol) -> None: ...
29
+
30
+ def _dock_error_value_fn(properties: DeviceProp) -> str | None: ...
31
+
32
+ SENSOR_DESCRIPTIONS: Incomplete
33
+ A01_SENSOR_DESCRIPTIONS: list[RoborockSensorDescriptionA01]
34
+
35
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
36
+
37
+ class RoborockSensorEntity(RoborockCoordinatedEntityV1, SensorEntity):
38
+ entity_description: RoborockSensorDescription
39
+ def __init__(self, coordinator: RoborockDataUpdateCoordinator, description: RoborockSensorDescription) -> None: ...
40
+ @property
41
+ def native_value(self) -> StateType | datetime.datetime: ...
42
+
43
+ class RoborockSensorEntityA01(RoborockCoordinatedEntityA01, SensorEntity):
44
+ entity_description: RoborockSensorDescriptionA01
45
+ def __init__(self, coordinator: RoborockDataUpdateCoordinatorA01, description: RoborockSensorDescriptionA01) -> None: ...
46
+ @property
47
+ def native_value(self) -> StateType: ...
@@ -0,0 +1,37 @@
1
+ from . import RoborockCoordinators as RoborockCoordinators
2
+ from .const import DOMAIN as DOMAIN
3
+ from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
4
+ from .device import RoborockEntityV1 as RoborockEntityV1
5
+ from _typeshed import Incomplete
6
+ from collections.abc import Callable as Callable, Coroutine
7
+ from dataclasses import dataclass
8
+ from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
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
12
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
+ from homeassistant.util import slugify as slugify
14
+ from roborock.command_cache import CacheableAttribute
15
+ from roborock.version_1_apis.roborock_client_v1 import AttributeCache as AttributeCache
16
+ from typing import Any
17
+
18
+ _LOGGER: Incomplete
19
+
20
+ @dataclass(frozen=True, kw_only=True)
21
+ class RoborockSwitchDescription(SwitchEntityDescription):
22
+ cache_key: CacheableAttribute
23
+ update_value: Callable[[AttributeCache, bool], Coroutine[Any, Any, None]]
24
+ attribute: str
25
+ 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, translation_placeholders, unit_of_measurement, cache_key, update_value, attribute) -> None: ...
26
+
27
+ SWITCH_DESCRIPTIONS: list[RoborockSwitchDescription]
28
+
29
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
30
+
31
+ class RoborockSwitch(RoborockEntityV1, SwitchEntity):
32
+ entity_description: RoborockSwitchDescription
33
+ def __init__(self, unique_id: str, coordinator: RoborockDataUpdateCoordinator, entity_description: RoborockSwitchDescription) -> None: ...
34
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
35
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
36
+ @property
37
+ def is_on(self) -> bool | None: ...
@@ -0,0 +1,38 @@
1
+ import datetime
2
+ from . import RoborockCoordinators as RoborockCoordinators
3
+ from .const import DOMAIN as DOMAIN
4
+ from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
5
+ from .device import RoborockEntityV1 as RoborockEntityV1
6
+ from _typeshed import Incomplete
7
+ from collections.abc import Callable as Callable, Coroutine
8
+ from dataclasses import dataclass
9
+ from datetime import time
10
+ from homeassistant.components.time import TimeEntity as TimeEntity, TimeEntityDescription as TimeEntityDescription
11
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
12
+ from homeassistant.const import EntityCategory as EntityCategory
13
+ from homeassistant.core import HomeAssistant as HomeAssistant
14
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
15
+ from homeassistant.util import slugify as slugify
16
+ from roborock.command_cache import CacheableAttribute
17
+ from roborock.version_1_apis.roborock_client_v1 import AttributeCache as AttributeCache
18
+ from typing import Any
19
+
20
+ _LOGGER: Incomplete
21
+
22
+ @dataclass(frozen=True, kw_only=True)
23
+ class RoborockTimeDescription(TimeEntityDescription):
24
+ cache_key: CacheableAttribute
25
+ update_value: Callable[[AttributeCache, datetime.time], Coroutine[Any, Any, None]]
26
+ get_value: Callable[[AttributeCache], datetime.time]
27
+ 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, translation_placeholders, unit_of_measurement, cache_key, update_value, get_value) -> None: ...
28
+
29
+ TIME_DESCRIPTIONS: list[RoborockTimeDescription]
30
+
31
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
32
+
33
+ class RoborockTimeEntity(RoborockEntityV1, TimeEntity):
34
+ entity_description: RoborockTimeDescription
35
+ def __init__(self, unique_id: str, coordinator: RoborockDataUpdateCoordinator, entity_description: RoborockTimeDescription) -> None: ...
36
+ @property
37
+ def native_value(self) -> time | None: ...
38
+ async def async_set_value(self, value: time) -> None: ...
@@ -0,0 +1,39 @@
1
+ from . import RoborockCoordinators as RoborockCoordinators
2
+ from .const import DOMAIN as DOMAIN, GET_MAPS_SERVICE_NAME as GET_MAPS_SERVICE_NAME
3
+ from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
4
+ from .device import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
5
+ from _typeshed import Incomplete
6
+ from homeassistant.components.vacuum import STATE_CLEANING as STATE_CLEANING, STATE_DOCKED as STATE_DOCKED, STATE_ERROR as STATE_ERROR, STATE_IDLE as STATE_IDLE, STATE_PAUSED as STATE_PAUSED, STATE_RETURNING as STATE_RETURNING, StateVacuumEntity as StateVacuumEntity, VacuumEntityFeature as VacuumEntityFeature
7
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
9
+ from homeassistant.helpers import entity_platform as entity_platform
10
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
+ from homeassistant.util import slugify as slugify
12
+ from typing import Any
13
+
14
+ STATE_CODE_TO_STATE: Incomplete
15
+
16
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
+
18
+ class RoborockVacuum(RoborockCoordinatedEntityV1, StateVacuumEntity):
19
+ _attr_icon: str
20
+ _attr_supported_features: Incomplete
21
+ _attr_translation_key = DOMAIN
22
+ _attr_name: Incomplete
23
+ _attr_fan_speed_list: Incomplete
24
+ def __init__(self, coordinator: RoborockDataUpdateCoordinator) -> None: ...
25
+ @property
26
+ def state(self) -> str | None: ...
27
+ @property
28
+ def battery_level(self) -> int | None: ...
29
+ @property
30
+ def fan_speed(self) -> str | None: ...
31
+ async def async_start(self) -> None: ...
32
+ async def async_pause(self) -> None: ...
33
+ async def async_stop(self, **kwargs: Any) -> None: ...
34
+ async def async_return_to_base(self, **kwargs: Any) -> None: ...
35
+ async def async_clean_spot(self, **kwargs: Any) -> None: ...
36
+ async def async_locate(self, **kwargs: Any) -> None: ...
37
+ async def async_set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None: ...
38
+ async def async_send_command(self, command: str, params: dict[str, Any] | list[Any] | None = None, **kwargs: Any) -> None: ...
39
+ async def get_maps(self) -> ServiceResponse: ...
@@ -13,6 +13,7 @@ from homeassistant.const import ATTR_NAME as ATTR_NAME
13
13
  from homeassistant.core import HomeAssistant as HomeAssistant
14
14
  from homeassistant.helpers import entity_platform as entity_platform
15
15
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
16
+ from homeassistant.helpers.typing import VolDictType as VolDictType
16
17
  from typing import Any
17
18
 
18
19
  _LOGGER: Incomplete
@@ -20,7 +21,7 @@ STREAM_FORMAT_TO_MEDIA_TYPE: Incomplete
20
21
  ATTRS_TO_LAUNCH_PARAMS: Incomplete
21
22
  ATTRS_TO_PLAY_ON_ROKU_PARAMS: Incomplete
22
23
  ATTRS_TO_PLAY_ON_ROKU_AUDIO_PARAMS: Incomplete
23
- SEARCH_SCHEMA: Incomplete
24
+ SEARCH_SCHEMA: VolDictType
24
25
 
25
26
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
26
27