homeassistant-stubs 2024.6.4__py3-none-any.whl → 2024.7.0b0__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 (605) 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 +8 -1
  4. homeassistant-stubs/block_async_io.pyi +23 -0
  5. homeassistant-stubs/components/accuweather/sensor.pyi +5 -9
  6. homeassistant-stubs/components/accuweather/weather.pyi +1 -1
  7. homeassistant-stubs/components/acer_projector/switch.pyi +2 -1
  8. homeassistant-stubs/components/air_quality/__init__.pyi +4 -3
  9. homeassistant-stubs/components/airgradient/__init__.pyi +8 -0
  10. homeassistant-stubs/components/airgradient/button.pyi +28 -0
  11. homeassistant-stubs/components/airgradient/const.pyi +2 -0
  12. homeassistant-stubs/components/airgradient/coordinator.pyi +2 -2
  13. homeassistant-stubs/components/airgradient/number.pyi +32 -0
  14. homeassistant-stubs/components/airgradient/select.pyi +14 -12
  15. homeassistant-stubs/components/airgradient/sensor.pyi +28 -10
  16. homeassistant-stubs/components/airgradient/switch.pyi +33 -0
  17. homeassistant-stubs/components/airnow/const.pyi +1 -0
  18. homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
  19. homeassistant-stubs/components/airnow/sensor.pyi +1 -2
  20. homeassistant-stubs/components/airzone/__init__.pyi +4 -4
  21. homeassistant-stubs/components/airzone/binary_sensor.pyi +2 -2
  22. homeassistant-stubs/components/airzone/climate.pyi +3 -2
  23. homeassistant-stubs/components/airzone/diagnostics.pyi +2 -4
  24. homeassistant-stubs/components/airzone/entity.pyi +2 -1
  25. homeassistant-stubs/components/airzone/select.pyi +2 -2
  26. homeassistant-stubs/components/airzone/sensor.pyi +3 -2
  27. homeassistant-stubs/components/airzone/water_heater.pyi +3 -2
  28. homeassistant-stubs/components/airzone_cloud/__init__.pyi +3 -3
  29. homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +2 -3
  30. homeassistant-stubs/components/airzone_cloud/climate.pyi +8 -10
  31. homeassistant-stubs/components/airzone_cloud/diagnostics.pyi +2 -4
  32. homeassistant-stubs/components/airzone_cloud/select.pyi +2 -3
  33. homeassistant-stubs/components/airzone_cloud/sensor.pyi +2 -3
  34. homeassistant-stubs/components/airzone_cloud/water_heater.pyi +2 -3
  35. homeassistant-stubs/components/aladdin_connect/api.pyi +0 -1
  36. homeassistant-stubs/components/aladdin_connect/coordinator.pyi +0 -2
  37. homeassistant-stubs/components/aladdin_connect/cover.pyi +0 -1
  38. homeassistant-stubs/components/aladdin_connect/entity.pyi +0 -1
  39. homeassistant-stubs/components/aladdin_connect/sensor.pyi +0 -2
  40. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +3 -3
  41. homeassistant-stubs/components/alexa/capabilities.pyi +2 -2
  42. homeassistant-stubs/components/alexa/entities.pyi +25 -24
  43. homeassistant-stubs/components/alpha_vantage/sensor.pyi +2 -1
  44. homeassistant-stubs/components/ambient_network/coordinator.pyi +2 -0
  45. homeassistant-stubs/components/ambient_network/sensor.pyi +1 -0
  46. homeassistant-stubs/components/androidtv/entity.pyi +1 -0
  47. homeassistant-stubs/components/androidtv/remote.pyi +21 -0
  48. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +11 -1
  49. homeassistant-stubs/components/androidtv_remote/const.pyi +3 -0
  50. homeassistant-stubs/components/androidtv_remote/entity.pyi +2 -1
  51. homeassistant-stubs/components/androidtv_remote/media_player.pyi +4 -1
  52. homeassistant-stubs/components/androidtv_remote/remote.pyi +3 -0
  53. homeassistant-stubs/components/anel_pwrctrl/switch.pyi +2 -1
  54. homeassistant-stubs/components/apprise/notify.pyi +2 -1
  55. homeassistant-stubs/components/apsystems/__init__.pyi +9 -2
  56. homeassistant-stubs/components/apsystems/entity.pyi +10 -0
  57. homeassistant-stubs/components/apsystems/number.pyi +25 -0
  58. homeassistant-stubs/components/apsystems/sensor.pyi +6 -7
  59. homeassistant-stubs/components/aqualogic/sensor.pyi +2 -1
  60. homeassistant-stubs/components/aqualogic/switch.pyi +2 -1
  61. homeassistant-stubs/components/aquostv/media_player.pyi +2 -1
  62. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +8 -7
  63. homeassistant-stubs/components/assist_pipeline/select.pyi +1 -1
  64. homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -0
  65. homeassistant-stubs/components/automation/__init__.pyi +10 -5
  66. homeassistant-stubs/components/automation/config.pyi +11 -1
  67. homeassistant-stubs/components/automation/trace.pyi +2 -2
  68. homeassistant-stubs/components/axis/config_flow.pyi +1 -0
  69. homeassistant-stubs/components/baf/binary_sensor.pyi +2 -4
  70. homeassistant-stubs/components/baf/entity.pyi +6 -1
  71. homeassistant-stubs/components/baf/number.pyi +2 -4
  72. homeassistant-stubs/components/baf/sensor.pyi +2 -4
  73. homeassistant-stubs/components/baf/switch.pyi +2 -4
  74. homeassistant-stubs/components/bang_olufsen/const.pyi +2 -0
  75. homeassistant-stubs/components/bang_olufsen/media_player.pyi +3 -2
  76. homeassistant-stubs/components/bayesian/binary_sensor.pyi +2 -1
  77. homeassistant-stubs/components/binary_sensor/__init__.pyi +3 -2
  78. homeassistant-stubs/components/bitcoin/sensor.pyi +2 -1
  79. homeassistant-stubs/components/blockchain/sensor.pyi +2 -1
  80. homeassistant-stubs/components/blueprint/errors.pyi +1 -1
  81. homeassistant-stubs/components/blueprint/websocket_api.pyi +6 -3
  82. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +3 -3
  83. homeassistant-stubs/components/bmw_connected_drive/const.pyi +0 -1
  84. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
  85. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +1 -1
  86. homeassistant-stubs/components/brother/config_flow.pyi +9 -1
  87. homeassistant-stubs/components/button/__init__.pyi +4 -3
  88. homeassistant-stubs/components/calendar/__init__.pyi +2 -4
  89. homeassistant-stubs/components/camera/__init__.pyi +8 -7
  90. homeassistant-stubs/components/cert_expiry/sensor.pyi +2 -1
  91. homeassistant-stubs/components/clickatell/notify.pyi +2 -1
  92. homeassistant-stubs/components/clicksend/notify.pyi +2 -1
  93. homeassistant-stubs/components/climate/__init__.pyi +5 -4
  94. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  95. homeassistant-stubs/components/cloud/account_link.pyi +1 -1
  96. homeassistant-stubs/components/cloud/binary_sensor.pyi +1 -1
  97. homeassistant-stubs/components/cloud/const.pyi +6 -1
  98. homeassistant-stubs/components/cloud/http_api.pyi +1 -1
  99. homeassistant-stubs/components/cloud/repairs.pyi +1 -3
  100. homeassistant-stubs/components/cloud/stt.pyi +1 -1
  101. homeassistant-stubs/components/cloud/system_health.pyi +1 -3
  102. homeassistant-stubs/components/cloud/tts.pyi +1 -1
  103. homeassistant-stubs/components/config/auth_provider_homeassistant.pyi +1 -0
  104. homeassistant-stubs/components/config/scene.pyi +3 -1
  105. homeassistant-stubs/components/counter/__init__.pyi +2 -2
  106. homeassistant-stubs/components/cover/__init__.pyi +3 -2
  107. homeassistant-stubs/components/demo/tts.pyi +2 -1
  108. homeassistant-stubs/components/derivative/__init__.pyi +2 -1
  109. homeassistant-stubs/components/derivative/config_flow.pyi +11 -4
  110. homeassistant-stubs/components/derivative/sensor.pyi +3 -1
  111. homeassistant-stubs/components/device_automation/__init__.pyi +2 -2
  112. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +1 -0
  113. homeassistant-stubs/components/dnsip/__init__.pyi +4 -2
  114. homeassistant-stubs/components/dnsip/config_flow.pyi +4 -3
  115. homeassistant-stubs/components/dnsip/const.pyi +2 -0
  116. homeassistant-stubs/components/dnsip/sensor.pyi +4 -3
  117. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +3 -3
  118. homeassistant-stubs/components/ecovacs/button.pyi +5 -5
  119. homeassistant-stubs/components/ecovacs/config_flow.pyi +1 -0
  120. homeassistant-stubs/components/ecovacs/controller.pyi +4 -4
  121. homeassistant-stubs/components/ecovacs/entity.pyi +8 -10
  122. homeassistant-stubs/components/ecovacs/event.pyi +3 -3
  123. homeassistant-stubs/components/ecovacs/image.pyi +2 -2
  124. homeassistant-stubs/components/ecovacs/lawn_mower.pyi +3 -3
  125. homeassistant-stubs/components/ecovacs/number.pyi +3 -3
  126. homeassistant-stubs/components/ecovacs/select.pyi +3 -3
  127. homeassistant-stubs/components/ecovacs/sensor.pyi +6 -6
  128. homeassistant-stubs/components/ecovacs/switch.pyi +4 -4
  129. homeassistant-stubs/components/ecovacs/vacuum.pyi +9 -5
  130. homeassistant-stubs/components/ecowitt/binary_sensor.pyi +1 -0
  131. homeassistant-stubs/components/efergy/__init__.pyi +3 -2
  132. homeassistant-stubs/components/efergy/sensor.pyi +3 -4
  133. homeassistant-stubs/components/electrasmart/__init__.pyi +12 -0
  134. homeassistant-stubs/components/electrasmart/climate.pyi +64 -0
  135. homeassistant-stubs/components/electrasmart/config_flow.pyi +24 -0
  136. homeassistant-stubs/components/electrasmart/const.pyi +10 -0
  137. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -1
  138. homeassistant-stubs/components/elkm1/const.pyi +2 -1
  139. homeassistant-stubs/components/elkm1/sensor.pyi +2 -1
  140. homeassistant-stubs/components/energy/websocket_api.pyi +5 -5
  141. homeassistant-stubs/components/enigma2/__init__.pyi +3 -2
  142. homeassistant-stubs/components/enigma2/config_flow.pyi +10 -1
  143. homeassistant-stubs/components/enigma2/media_player.pyi +3 -2
  144. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +8 -2
  145. homeassistant-stubs/components/enphase_envoy/const.pyi +2 -0
  146. homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +3 -1
  147. homeassistant-stubs/components/esphome/__init__.pyi +5 -5
  148. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +3 -5
  149. homeassistant-stubs/components/esphome/binary_sensor.pyi +2 -3
  150. homeassistant-stubs/components/esphome/button.pyi +3 -5
  151. homeassistant-stubs/components/esphome/camera.pyi +3 -5
  152. homeassistant-stubs/components/esphome/climate.pyi +3 -6
  153. homeassistant-stubs/components/esphome/cover.pyi +3 -5
  154. homeassistant-stubs/components/esphome/date.pyi +3 -5
  155. homeassistant-stubs/components/esphome/datetime.pyi +3 -5
  156. homeassistant-stubs/components/esphome/diagnostics.pyi +3 -3
  157. homeassistant-stubs/components/esphome/domain_data.pyi +4 -8
  158. homeassistant-stubs/components/esphome/entity.pyi +2 -4
  159. homeassistant-stubs/components/esphome/entry_data.pyi +4 -3
  160. homeassistant-stubs/components/esphome/event.pyi +3 -5
  161. homeassistant-stubs/components/esphome/fan.pyi +3 -6
  162. homeassistant-stubs/components/esphome/light.pyi +3 -6
  163. homeassistant-stubs/components/esphome/lock.pyi +3 -5
  164. homeassistant-stubs/components/esphome/manager.pyi +4 -5
  165. homeassistant-stubs/components/esphome/media_player.pyi +3 -5
  166. homeassistant-stubs/components/esphome/number.pyi +3 -5
  167. homeassistant-stubs/components/esphome/select.pyi +2 -4
  168. homeassistant-stubs/components/esphome/switch.pyi +3 -5
  169. homeassistant-stubs/components/esphome/text.pyi +3 -5
  170. homeassistant-stubs/components/esphome/time.pyi +3 -5
  171. homeassistant-stubs/components/esphome/update.pyi +22 -2
  172. homeassistant-stubs/components/esphome/valve.pyi +3 -5
  173. homeassistant-stubs/components/event/__init__.pyi +3 -1
  174. homeassistant-stubs/components/evohome/__init__.pyi +8 -49
  175. homeassistant-stubs/components/evohome/climate.pyi +2 -2
  176. homeassistant-stubs/components/evohome/const.pyi +39 -16
  177. homeassistant-stubs/components/evohome/coordinator.pyi +33 -0
  178. homeassistant-stubs/components/evohome/helpers.pyi +13 -0
  179. homeassistant-stubs/components/fan/__init__.pyi +3 -2
  180. homeassistant-stubs/components/fastdotcom/__init__.pyi +2 -7
  181. homeassistant-stubs/components/fastdotcom/config_flow.pyi +0 -2
  182. homeassistant-stubs/components/feedreader/__init__.pyi +10 -5
  183. homeassistant-stubs/components/feedreader/config_flow.pyi +30 -0
  184. homeassistant-stubs/components/feedreader/const.pyi +5 -0
  185. homeassistant-stubs/components/feedreader/coordinator.pyi +4 -4
  186. homeassistant-stubs/components/filter/sensor.pyi +2 -1
  187. homeassistant-stubs/components/flux_led/light.pyi +4 -3
  188. homeassistant-stubs/components/fritz/switch.pyi +1 -1
  189. homeassistant-stubs/components/fritzbox/climate.pyi +14 -9
  190. homeassistant-stubs/components/fronius/config_flow.pyi +3 -2
  191. homeassistant-stubs/components/frontend/__init__.pyi +9 -4
  192. homeassistant-stubs/components/fully_kiosk/camera.pyi +21 -0
  193. homeassistant-stubs/components/fully_kiosk/image.pyi +30 -0
  194. homeassistant-stubs/components/fully_kiosk/media_player.pyi +2 -0
  195. homeassistant-stubs/components/fully_kiosk/notify.pyi +25 -0
  196. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +4 -0
  197. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +19 -0
  198. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +7 -2
  199. homeassistant-stubs/components/generic_thermostat/__init__.pyi +6 -0
  200. homeassistant-stubs/components/generic_thermostat/climate.pyi +7 -1
  201. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +19 -0
  202. homeassistant-stubs/components/geo_location/__init__.pyi +4 -3
  203. homeassistant-stubs/components/glances/__init__.pyi +3 -2
  204. homeassistant-stubs/components/glances/sensor.pyi +2 -3
  205. homeassistant-stubs/components/goalzero/__init__.pyi +3 -5
  206. homeassistant-stubs/components/goalzero/binary_sensor.pyi +2 -3
  207. homeassistant-stubs/components/goalzero/coordinator.pyi +3 -1
  208. homeassistant-stubs/components/goalzero/sensor.pyi +2 -3
  209. homeassistant-stubs/components/goalzero/switch.pyi +2 -3
  210. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +2 -2
  211. homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +9 -0
  212. homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +1 -0
  213. homeassistant-stubs/components/google_sheets/__init__.pyi +4 -3
  214. homeassistant-stubs/components/google_sheets/config_flow.pyi +3 -2
  215. homeassistant-stubs/components/gpsd/sensor.pyi +2 -1
  216. homeassistant-stubs/components/group/binary_sensor.pyi +2 -1
  217. homeassistant-stubs/components/group/cover.pyi +2 -1
  218. homeassistant-stubs/components/group/entity.pyi +2 -2
  219. homeassistant-stubs/components/group/event.pyi +2 -1
  220. homeassistant-stubs/components/group/fan.pyi +2 -1
  221. homeassistant-stubs/components/group/light.pyi +2 -1
  222. homeassistant-stubs/components/group/lock.pyi +2 -1
  223. homeassistant-stubs/components/group/media_player.pyi +2 -1
  224. homeassistant-stubs/components/group/notify.pyi +2 -1
  225. homeassistant-stubs/components/group/registry.pyi +8 -2
  226. homeassistant-stubs/components/group/switch.pyi +2 -1
  227. homeassistant-stubs/components/history_stats/sensor.pyi +4 -1
  228. homeassistant-stubs/components/homeassistant/const.pyi +3 -1
  229. homeassistant-stubs/components/homekit/aidmanager.pyi +2 -2
  230. homeassistant-stubs/components/homekit_controller/config_flow.pyi +1 -0
  231. homeassistant-stubs/components/homeworks/__init__.pyi +2 -5
  232. homeassistant-stubs/components/homeworks/config_flow.pyi +1 -6
  233. homeassistant-stubs/components/http/__init__.pyi +20 -3
  234. homeassistant-stubs/components/http/cors.pyi +1 -1
  235. homeassistant-stubs/components/http/data_validator.pyi +2 -1
  236. homeassistant-stubs/components/humidifier/__init__.pyi +3 -2
  237. homeassistant-stubs/components/humidifier/device_action.pyi +1 -1
  238. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +3 -3
  239. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +2 -3
  240. homeassistant-stubs/components/husqvarna_automower/button.pyi +22 -0
  241. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +2 -3
  242. homeassistant-stubs/components/husqvarna_automower/diagnostics.pyi +2 -2
  243. homeassistant-stubs/components/husqvarna_automower/entity.pyi +7 -1
  244. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +14 -5
  245. homeassistant-stubs/components/husqvarna_automower/number.pyi +4 -5
  246. homeassistant-stubs/components/husqvarna_automower/select.pyi +2 -3
  247. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +10 -5
  248. homeassistant-stubs/components/husqvarna_automower/switch.pyi +4 -8
  249. homeassistant-stubs/components/hydrawise/coordinator.pyi +3 -3
  250. homeassistant-stubs/components/hydrawise/sensor.pyi +3 -0
  251. homeassistant-stubs/components/ibeacon/config_flow.pyi +1 -0
  252. homeassistant-stubs/components/idasen_desk/coordinator.pyi +2 -5
  253. homeassistant-stubs/components/idasen_desk/sensor.pyi +3 -0
  254. homeassistant-stubs/components/image/__init__.pyi +3 -2
  255. homeassistant-stubs/components/image_upload/__init__.pyi +7 -3
  256. homeassistant-stubs/components/imap/__init__.pyi +5 -4
  257. homeassistant-stubs/components/imap/diagnostics.pyi +3 -5
  258. homeassistant-stubs/components/imap/sensor.pyi +5 -5
  259. homeassistant-stubs/components/input_button/__init__.pyi +3 -4
  260. homeassistant-stubs/components/input_select/__init__.pyi +2 -2
  261. homeassistant-stubs/components/input_text/__init__.pyi +3 -4
  262. homeassistant-stubs/components/integration/__init__.pyi +2 -0
  263. homeassistant-stubs/components/integration/config_flow.pyi +1 -1
  264. homeassistant-stubs/components/integration/const.pyi +1 -0
  265. homeassistant-stubs/components/integration/sensor.pyi +33 -12
  266. homeassistant-stubs/components/intent/timers.pyi +7 -3
  267. homeassistant-stubs/components/islamic_prayer_times/__init__.pyi +4 -3
  268. homeassistant-stubs/components/islamic_prayer_times/sensor.pyi +3 -3
  269. homeassistant-stubs/components/isy994/services.pyi +3 -2
  270. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +6 -12
  271. homeassistant-stubs/components/jewish_calendar/entity.pyi +19 -0
  272. homeassistant-stubs/components/jewish_calendar/sensor.pyi +8 -13
  273. homeassistant-stubs/components/knocki/__init__.pyi +12 -0
  274. homeassistant-stubs/components/knocki/config_flow.pyi +12 -0
  275. homeassistant-stubs/components/knocki/const.pyi +4 -0
  276. homeassistant-stubs/components/knocki/coordinator.pyi +13 -0
  277. homeassistant-stubs/components/knocki/event.pyi +25 -0
  278. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  279. homeassistant-stubs/components/knx/device_trigger.pyi +1 -1
  280. homeassistant-stubs/components/knx/trigger.pyi +2 -3
  281. homeassistant-stubs/components/knx/websocket.pyi +1 -0
  282. homeassistant-stubs/components/lacrosse/sensor.pyi +2 -1
  283. homeassistant-stubs/components/lamarzocco/__init__.pyi +8 -3
  284. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +4 -5
  285. homeassistant-stubs/components/lamarzocco/button.pyi +4 -5
  286. homeassistant-stubs/components/lamarzocco/calendar.pyi +9 -3
  287. homeassistant-stubs/components/lamarzocco/config_flow.pyi +7 -3
  288. homeassistant-stubs/components/lamarzocco/const.pyi +1 -2
  289. homeassistant-stubs/components/lamarzocco/coordinator.pyi +13 -11
  290. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +10 -5
  291. homeassistant-stubs/components/lamarzocco/entity.pyi +3 -3
  292. homeassistant-stubs/components/lamarzocco/number.pyi +9 -13
  293. homeassistant-stubs/components/lamarzocco/select.pyi +13 -7
  294. homeassistant-stubs/components/lamarzocco/sensor.pyi +4 -5
  295. homeassistant-stubs/components/lamarzocco/switch.pyi +20 -7
  296. homeassistant-stubs/components/lamarzocco/update.pyi +5 -10
  297. homeassistant-stubs/components/lawn_mower/__init__.pyi +3 -2
  298. homeassistant-stubs/components/lidarr/__init__.pyi +12 -2
  299. homeassistant-stubs/components/lidarr/config_flow.pyi +2 -1
  300. homeassistant-stubs/components/lidarr/coordinator.pyi +0 -1
  301. homeassistant-stubs/components/lidarr/sensor.pyi +3 -4
  302. homeassistant-stubs/components/lifx/light.pyi +3 -2
  303. homeassistant-stubs/components/light/__init__.pyi +8 -6
  304. homeassistant-stubs/components/light/device_action.pyi +1 -1
  305. homeassistant-stubs/components/litterrobot/__init__.pyi +4 -3
  306. homeassistant-stubs/components/litterrobot/binary_sensor.pyi +2 -4
  307. homeassistant-stubs/components/litterrobot/button.pyi +2 -4
  308. homeassistant-stubs/components/litterrobot/select.pyi +2 -3
  309. homeassistant-stubs/components/litterrobot/sensor.pyi +2 -4
  310. homeassistant-stubs/components/litterrobot/switch.pyi +2 -4
  311. homeassistant-stubs/components/litterrobot/time.pyi +2 -4
  312. homeassistant-stubs/components/litterrobot/update.pyi +3 -4
  313. homeassistant-stubs/components/litterrobot/vacuum.pyi +2 -4
  314. homeassistant-stubs/components/lock/__init__.pyi +4 -3
  315. homeassistant-stubs/components/logbook/processor.pyi +4 -3
  316. homeassistant-stubs/components/london_underground/sensor.pyi +2 -1
  317. homeassistant-stubs/components/mastodon/notify.pyi +2 -1
  318. homeassistant-stubs/components/matrix/notify.pyi +2 -1
  319. homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
  320. homeassistant-stubs/components/matter/discovery.pyi +3 -3
  321. homeassistant-stubs/components/matter/entity.pyi +8 -1
  322. homeassistant-stubs/components/matter/event.pyi +0 -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/ping/binary_sensor.pyi +2 -8
  384. homeassistant-stubs/components/ping/config_flow.pyi +2 -4
  385. homeassistant-stubs/components/ping/device_tracker.pyi +4 -14
  386. homeassistant-stubs/components/plugwise/button.pyi +20 -0
  387. homeassistant-stubs/components/plugwise/const.pyi +3 -0
  388. homeassistant-stubs/components/plugwise/coordinator.pyi +5 -3
  389. homeassistant-stubs/components/plugwise/number.pyi +2 -4
  390. homeassistant-stubs/components/plugwise/select.pyi +3 -5
  391. homeassistant-stubs/components/proximity/config_flow.pyi +2 -1
  392. homeassistant-stubs/components/radarr/__init__.pyi +14 -2
  393. homeassistant-stubs/components/radarr/binary_sensor.pyi +3 -4
  394. homeassistant-stubs/components/radarr/calendar.pyi +2 -4
  395. homeassistant-stubs/components/radarr/config_flow.pyi +3 -4
  396. homeassistant-stubs/components/radarr/coordinator.pyi +2 -2
  397. homeassistant-stubs/components/radarr/sensor.pyi +2 -4
  398. homeassistant-stubs/components/rainmachine/switch.pyi +1 -0
  399. homeassistant-stubs/components/recorder/const.pyi +3 -1
  400. homeassistant-stubs/components/recorder/core.pyi +2 -2
  401. homeassistant-stubs/components/recorder/db_schema.pyi +2 -1
  402. homeassistant-stubs/components/recorder/purge.pyi +1 -1
  403. homeassistant-stubs/components/recorder/statistics.pyi +7 -4
  404. homeassistant-stubs/components/recorder/table_managers/event_data.pyi +3 -3
  405. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +1 -1
  406. homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +3 -3
  407. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +1 -1
  408. homeassistant-stubs/components/recorder/util.pyi +4 -3
  409. homeassistant-stubs/components/remote/__init__.pyi +5 -4
  410. homeassistant-stubs/components/rest/binary_sensor.pyi +2 -1
  411. homeassistant-stubs/components/rest/notify.pyi +2 -1
  412. homeassistant-stubs/components/rest/sensor.pyi +2 -1
  413. homeassistant-stubs/components/rest/switch.pyi +2 -1
  414. homeassistant-stubs/components/rfxtrx/config_flow.pyi +1 -0
  415. homeassistant-stubs/components/roborock/__init__.pyi +30 -0
  416. homeassistant-stubs/components/roborock/binary_sensor.pyi +29 -0
  417. homeassistant-stubs/components/roborock/button.pyi +28 -0
  418. homeassistant-stubs/components/roborock/config_flow.pyi +30 -0
  419. homeassistant-stubs/components/roborock/const.pyi +13 -0
  420. homeassistant-stubs/components/roborock/coordinator.pyi +47 -0
  421. homeassistant-stubs/components/roborock/device.pyi +53 -0
  422. homeassistant-stubs/components/roborock/diagnostics.pyi +13 -0
  423. homeassistant-stubs/components/roborock/image.pyi +37 -0
  424. homeassistant-stubs/components/roborock/models.pyi +27 -0
  425. homeassistant-stubs/components/roborock/number.pyi +35 -0
  426. homeassistant-stubs/components/roborock/select.pyi +37 -0
  427. homeassistant-stubs/components/roborock/sensor.pyi +47 -0
  428. homeassistant-stubs/components/roborock/switch.pyi +37 -0
  429. homeassistant-stubs/components/roborock/time.pyi +38 -0
  430. homeassistant-stubs/components/roborock/vacuum.pyi +39 -0
  431. homeassistant-stubs/components/roku/media_player.pyi +2 -1
  432. homeassistant-stubs/components/schedule/__init__.pyi +5 -5
  433. homeassistant-stubs/components/select/__init__.pyi +3 -1
  434. homeassistant-stubs/components/sensor/__init__.pyi +3 -1
  435. homeassistant-stubs/components/sensor/const.pyi +3 -2
  436. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  437. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  438. homeassistant-stubs/components/shelly/__init__.pyi +1 -2
  439. homeassistant-stubs/components/shelly/climate.pyi +3 -0
  440. homeassistant-stubs/components/shelly/coordinator.pyi +2 -1
  441. homeassistant-stubs/components/shelly/switch.pyi +2 -18
  442. homeassistant-stubs/components/shelly/valve.pyi +1 -1
  443. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +4 -5
  444. homeassistant-stubs/components/siren/__init__.pyi +4 -3
  445. homeassistant-stubs/components/sql/sensor.pyi +2 -1
  446. homeassistant-stubs/components/starlink/const.pyi +1 -0
  447. homeassistant-stubs/components/starlink/device_tracker.pyi +6 -2
  448. homeassistant-stubs/components/statistics/__init__.pyi +6 -0
  449. homeassistant-stubs/components/statistics/config_flow.pyi +23 -0
  450. homeassistant-stubs/components/statistics/sensor.pyi +4 -1
  451. homeassistant-stubs/components/stream/fmp4utils.pyi +2 -2
  452. homeassistant-stubs/components/stream/worker.pyi +3 -2
  453. homeassistant-stubs/components/streamlabswater/__init__.pyi +1 -6
  454. homeassistant-stubs/components/streamlabswater/config_flow.pyi +0 -1
  455. homeassistant-stubs/components/suez_water/config_flow.pyi +0 -1
  456. homeassistant-stubs/components/suez_water/sensor.pyi +3 -8
  457. homeassistant-stubs/components/switch/__init__.pyi +4 -3
  458. homeassistant-stubs/components/switch/light.pyi +2 -1
  459. homeassistant-stubs/components/switcher_kis/__init__.pyi +3 -0
  460. homeassistant-stubs/components/switcher_kis/switch.pyi +3 -2
  461. homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
  462. homeassistant-stubs/components/systemmonitor/config_flow.pyi +0 -2
  463. homeassistant-stubs/components/systemmonitor/sensor.pyi +4 -7
  464. homeassistant-stubs/components/tag/__init__.pyi +4 -5
  465. homeassistant-stubs/components/tami4/__init__.pyi +1 -1
  466. homeassistant-stubs/components/tami4/coordinator.pyi +3 -5
  467. homeassistant-stubs/components/tami4/sensor.pyi +3 -3
  468. homeassistant-stubs/components/tautulli/__init__.pyi +3 -2
  469. homeassistant-stubs/components/tautulli/coordinator.pyi +2 -2
  470. homeassistant-stubs/components/tautulli/sensor.pyi +3 -3
  471. homeassistant-stubs/components/threshold/__init__.pyi +2 -1
  472. homeassistant-stubs/components/threshold/binary_sensor.pyi +11 -3
  473. homeassistant-stubs/components/threshold/config_flow.pyi +8 -0
  474. homeassistant-stubs/components/tibber/__init__.pyi +1 -0
  475. homeassistant-stubs/components/tibber/sensor.pyi +12 -6
  476. homeassistant-stubs/components/tibber/services.pyi +15 -0
  477. homeassistant-stubs/components/time_date/sensor.pyi +3 -3
  478. homeassistant-stubs/components/timer/__init__.pyi +2 -2
  479. homeassistant-stubs/components/todo/__init__.pyi +3 -2
  480. homeassistant-stubs/components/tplink/__init__.pyi +9 -6
  481. homeassistant-stubs/components/tplink/binary_sensor.pyi +22 -0
  482. homeassistant-stubs/components/tplink/button.pyi +22 -0
  483. homeassistant-stubs/components/tplink/climate.pyi +42 -0
  484. homeassistant-stubs/components/tplink/config_flow.pyi +4 -4
  485. homeassistant-stubs/components/tplink/const.pyi +3 -1
  486. homeassistant-stubs/components/tplink/coordinator.pyi +2 -2
  487. homeassistant-stubs/components/tplink/diagnostics.pyi +2 -4
  488. homeassistant-stubs/components/tplink/entity.pyi +49 -7
  489. homeassistant-stubs/components/tplink/fan.pyi +31 -0
  490. homeassistant-stubs/components/tplink/light.pyi +19 -19
  491. homeassistant-stubs/components/tplink/number.pyi +27 -0
  492. homeassistant-stubs/components/tplink/select.pyi +26 -0
  493. homeassistant-stubs/components/tplink/sensor.pyi +14 -22
  494. homeassistant-stubs/components/tplink/switch.pyi +14 -34
  495. homeassistant-stubs/components/tplink_omada/controller.pyi +4 -15
  496. homeassistant-stubs/components/tplink_omada/coordinator.pyi +20 -1
  497. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +36 -0
  498. homeassistant-stubs/components/transmission/__init__.pyi +9 -3
  499. homeassistant-stubs/components/transmission/sensor.pyi +2 -2
  500. homeassistant-stubs/components/transmission/switch.pyi +2 -4
  501. homeassistant-stubs/components/trend/__init__.pyi +2 -1
  502. homeassistant-stubs/components/trend/binary_sensor.pyi +6 -2
  503. homeassistant-stubs/components/tts/notify.pyi +2 -1
  504. homeassistant-stubs/components/unifi/config_flow.pyi +1 -1
  505. homeassistant-stubs/components/unifi/sensor.pyi +1 -0
  506. homeassistant-stubs/components/unifi/services.pyi +1 -0
  507. homeassistant-stubs/components/unifiprotect/__init__.pyi +8 -9
  508. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +29 -21
  509. homeassistant-stubs/components/unifiprotect/button.pyi +8 -9
  510. homeassistant-stubs/components/unifiprotect/camera.pyi +10 -10
  511. homeassistant-stubs/components/unifiprotect/const.pyi +0 -1
  512. homeassistant-stubs/components/unifiprotect/data.pyi +27 -14
  513. homeassistant-stubs/components/unifiprotect/diagnostics.pyi +2 -4
  514. homeassistant-stubs/components/unifiprotect/entity.pyi +27 -17
  515. homeassistant-stubs/components/unifiprotect/light.pyi +3 -6
  516. homeassistant-stubs/components/unifiprotect/lock.pyi +3 -8
  517. homeassistant-stubs/components/unifiprotect/media_player.pyi +4 -8
  518. homeassistant-stubs/components/unifiprotect/media_source.pyi +2 -3
  519. homeassistant-stubs/components/unifiprotect/migrate.pyi +5 -5
  520. homeassistant-stubs/components/unifiprotect/models.pyi +16 -17
  521. homeassistant-stubs/components/unifiprotect/number.pyi +8 -12
  522. homeassistant-stubs/components/unifiprotect/repairs.pyi +5 -3
  523. homeassistant-stubs/components/unifiprotect/select.pyi +9 -11
  524. homeassistant-stubs/components/unifiprotect/sensor.pyi +25 -23
  525. homeassistant-stubs/components/unifiprotect/services.pyi +0 -4
  526. homeassistant-stubs/components/unifiprotect/switch.pyi +15 -24
  527. homeassistant-stubs/components/unifiprotect/text.pyi +8 -11
  528. homeassistant-stubs/components/unifiprotect/utils.pyi +6 -11
  529. homeassistant-stubs/components/unifiprotect/views.pyi +2 -4
  530. homeassistant-stubs/components/update/__init__.pyi +3 -1
  531. homeassistant-stubs/components/vacuum/__init__.pyi +2 -1
  532. homeassistant-stubs/components/vallox/sensor.pyi +5 -1
  533. homeassistant-stubs/components/valve/__init__.pyi +3 -2
  534. homeassistant-stubs/components/water_heater/__init__.pyi +4 -3
  535. homeassistant-stubs/components/weather/__init__.pyi +4 -5
  536. homeassistant-stubs/components/webhook/__init__.pyi +1 -1
  537. homeassistant-stubs/components/webostv/__init__.pyi +7 -0
  538. homeassistant-stubs/components/websocket_api/__init__.pyi +3 -4
  539. homeassistant-stubs/components/websocket_api/decorators.pyi +2 -1
  540. homeassistant-stubs/components/wemo/entity.pyi +2 -2
  541. homeassistant-stubs/components/wemo/fan.pyi +2 -1
  542. homeassistant-stubs/components/withings/coordinator.pyi +3 -3
  543. homeassistant-stubs/components/withings/sensor.pyi +6 -2
  544. homeassistant-stubs/components/worldclock/sensor.pyi +2 -1
  545. homeassistant-stubs/components/xiaomi_ble/sensor.pyi +1 -1
  546. homeassistant-stubs/components/zone/__init__.pyi +3 -3
  547. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  548. homeassistant-stubs/components/zwave_js/api.pyi +1 -5
  549. homeassistant-stubs/components/zwave_js/config_flow.pyi +8 -1
  550. homeassistant-stubs/components/zwave_js/const.pyi +5 -0
  551. homeassistant-stubs/components/zwave_js/discovery.pyi +4 -4
  552. homeassistant-stubs/components/zwave_js/helpers.pyi +2 -2
  553. homeassistant-stubs/components/zwave_js/sensor.pyi +2 -0
  554. homeassistant-stubs/components/zwave_js/services.pyi +3 -2
  555. homeassistant-stubs/config.pyi +4 -5
  556. homeassistant-stubs/config_entries.pyi +6 -3
  557. homeassistant-stubs/const.pyi +9 -3
  558. homeassistant-stubs/core.pyi +13 -8
  559. homeassistant-stubs/data_entry_flow.pyi +12 -2
  560. homeassistant-stubs/exceptions.pyi +6 -5
  561. homeassistant-stubs/helpers/__init__.pyi +0 -5
  562. homeassistant-stubs/helpers/collection.pyi +14 -11
  563. homeassistant-stubs/helpers/condition.pyi +3 -2
  564. homeassistant-stubs/helpers/config_validation.pyi +5 -4
  565. homeassistant-stubs/helpers/deprecation.pyi +10 -0
  566. homeassistant-stubs/helpers/device.pyi +8 -0
  567. homeassistant-stubs/helpers/device_registry.pyi +14 -2
  568. homeassistant-stubs/helpers/entity.pyi +3 -2
  569. homeassistant-stubs/helpers/entity_component.pyi +3 -4
  570. homeassistant-stubs/helpers/entity_platform.pyi +2 -3
  571. homeassistant-stubs/helpers/frame.pyi +1 -0
  572. homeassistant-stubs/helpers/http.pyi +1 -1
  573. homeassistant-stubs/helpers/intent.pyi +6 -4
  574. homeassistant-stubs/helpers/llm.pyi +17 -3
  575. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +2 -2
  576. homeassistant-stubs/helpers/script.pyi +3 -2
  577. homeassistant-stubs/helpers/selector.pyi +10 -8
  578. homeassistant-stubs/helpers/service.pyi +6 -3
  579. homeassistant-stubs/helpers/template.pyi +8 -6
  580. homeassistant-stubs/helpers/trace.pyi +3 -2
  581. homeassistant-stubs/helpers/typing.pyi +6 -1
  582. homeassistant-stubs/helpers/update_coordinator.pyi +3 -3
  583. homeassistant-stubs/loader.pyi +1 -2
  584. homeassistant-stubs/requirements.pyi +0 -3
  585. homeassistant-stubs/setup.pyi +4 -3
  586. homeassistant-stubs/util/loop.pyi +2 -1
  587. homeassistant-stubs/util/unit_conversion.pyi +7 -1
  588. {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0b0.dist-info}/METADATA +2 -2
  589. {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0b0.dist-info}/RECORD +591 -548
  590. homeassistant-stubs/auth/providers/legacy_api_password.pyi +0 -30
  591. homeassistant-stubs/components/air_quality/group.pyi +0 -5
  592. homeassistant-stubs/components/alarm_control_panel/group.pyi +0 -6
  593. homeassistant-stubs/components/climate/group.pyi +0 -6
  594. homeassistant-stubs/components/cover/group.pyi +0 -6
  595. homeassistant-stubs/components/device_tracker/group.pyi +0 -6
  596. homeassistant-stubs/components/fastdotcom/services.pyi +0 -7
  597. homeassistant-stubs/components/lock/group.pyi +0 -6
  598. homeassistant-stubs/components/media_player/group.pyi +0 -6
  599. homeassistant-stubs/components/sensor/group.pyi +0 -5
  600. homeassistant-stubs/components/vacuum/group.pyi +0 -6
  601. homeassistant-stubs/components/water_heater/group.pyi +0 -6
  602. homeassistant-stubs/components/weather/group.pyi +0 -5
  603. homeassistant-stubs/components/wled/binary_sensor.pyi +0 -20
  604. {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0b0.dist-info}/LICENSE +0 -0
  605. {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0b0.dist-info}/WHEEL +0 -0
@@ -1,4 +1,3 @@
1
- import voluptuous as vol
2
1
  from . import subscription as subscription
3
2
  from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
4
3
  from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_PAYLOAD_CLOSE as CONF_PAYLOAD_CLOSE, CONF_PAYLOAD_OPEN as CONF_PAYLOAD_OPEN, CONF_PAYLOAD_STOP as CONF_PAYLOAD_STOP, CONF_POSITION_CLOSED as CONF_POSITION_CLOSED, CONF_POSITION_OPEN as CONF_POSITION_OPEN, CONF_RETAIN as CONF_RETAIN, CONF_STATE_CLOSED as CONF_STATE_CLOSED, CONF_STATE_CLOSING as CONF_STATE_CLOSING, CONF_STATE_OPEN as CONF_STATE_OPEN, CONF_STATE_OPENING as CONF_STATE_OPENING, CONF_STATE_TOPIC as CONF_STATE_TOPIC, DEFAULT_OPTIMISTIC as DEFAULT_OPTIMISTIC, DEFAULT_PAYLOAD_CLOSE as DEFAULT_PAYLOAD_CLOSE, DEFAULT_PAYLOAD_OPEN as DEFAULT_PAYLOAD_OPEN, DEFAULT_POSITION_CLOSED as DEFAULT_POSITION_CLOSED, DEFAULT_POSITION_OPEN as DEFAULT_POSITION_OPEN, DEFAULT_RETAIN as DEFAULT_RETAIN, PAYLOAD_NONE as PAYLOAD_NONE
@@ -13,7 +12,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
13
12
  from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_NAME as CONF_NAME, CONF_OPTIMISTIC as CONF_OPTIMISTIC, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_OPEN as STATE_OPEN, STATE_OPENING as STATE_OPENING
14
13
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
15
14
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
16
- from homeassistant.helpers.typing import ConfigType as ConfigType
15
+ from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
17
16
  from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads as json_loads
18
17
  from homeassistant.util.percentage import percentage_to_ranged_value as percentage_to_ranged_value, ranged_value_to_percentage as ranged_value_to_percentage
19
18
 
@@ -42,7 +41,7 @@ class MqttValve(MqttEntity, ValveEntity):
42
41
  _range: tuple[int, int]
43
42
  _tilt_optimistic: bool
44
43
  @staticmethod
45
- def config_schema() -> vol.Schema: ...
44
+ def config_schema() -> VolSchemaType: ...
46
45
  _attr_reports_position: Incomplete
47
46
  _attr_assumed_state: Incomplete
48
47
  _value_template: Incomplete
@@ -1,4 +1,3 @@
1
- import voluptuous as vol
2
1
  from .climate import MqttTemperatureControlEntity as MqttTemperatureControlEntity
3
2
  from .config import DEFAULT_RETAIN as DEFAULT_RETAIN, MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
4
3
  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, PAYLOAD_NONE as PAYLOAD_NONE
@@ -14,7 +13,7 @@ from homeassistant.const import CONF_NAME as CONF_NAME, CONF_OPTIMISTIC as CONF_
14
13
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
15
14
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
16
15
  from homeassistant.helpers.template import Template as Template
17
- from homeassistant.helpers.typing import ConfigType as ConfigType
16
+ from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
18
17
  from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
19
18
  from typing import Any
20
19
 
@@ -38,7 +37,7 @@ class MqttWaterHeater(MqttTemperatureControlEntity, WaterHeaterEntity):
38
37
  _attr_target_temperature_low: float | None
39
38
  _attr_target_temperature_high: float | None
40
39
  @staticmethod
41
- def config_schema() -> vol.Schema: ...
40
+ def config_schema() -> VolSchemaType: ...
42
41
  _attr_operation_list: Incomplete
43
42
  _attr_temperature_unit: Incomplete
44
43
  _attr_min_temp: Incomplete
@@ -6,6 +6,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow
6
6
  from homeassistant.const import CONF_DEVICE as CONF_DEVICE
7
7
  from homeassistant.core import callback as callback
8
8
  from homeassistant.helpers import selector as selector
9
+ from homeassistant.helpers.typing import VolDictType as VolDictType
9
10
  from typing import Any
10
11
 
11
12
  DEFAULT_BAUD_RATE: int
@@ -4,7 +4,7 @@ from .helpers import on_unload as on_unload
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
- from homeassistant.const import CONDUCTIVITY as CONDUCTIVITY, DEGREE as DEGREE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, Platform as Platform, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfTemperature as UnitOfTemperature, UnitOfVolume as UnitOfVolume
7
+ from homeassistant.const import DEGREE as DEGREE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, Platform as Platform, UnitOfApparentPower as UnitOfApparentPower, UnitOfConductivity as UnitOfConductivity, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfTemperature as UnitOfTemperature, UnitOfVolume as UnitOfVolume
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -6,9 +6,12 @@ from homeassistant.const import Platform as Platform
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
8
8
  from homeassistant.helpers import aiohttp_client as aiohttp_client, config_entry_oauth2_flow as config_entry_oauth2_flow
9
+ from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
9
10
 
10
11
  PLATFORMS: list[Platform]
12
+ MyUplinkConfigEntry = ConfigEntry[MyUplinkDataCoordinator]
11
13
 
12
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
14
+ async def async_setup_entry(hass: HomeAssistant, config_entry: MyUplinkConfigEntry) -> bool: ...
13
15
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
14
16
  def create_devices(hass: HomeAssistant, config_entry: ConfigEntry, coordinator: MyUplinkDataCoordinator) -> None: ...
17
+ async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: MyUplinkConfigEntry, device_entry: DeviceEntry) -> bool: ...
@@ -1,10 +1,8 @@
1
- from . import MyUplinkDataCoordinator as MyUplinkDataCoordinator
2
- from .const import DOMAIN as DOMAIN
1
+ from . import MyUplinkConfigEntry as MyUplinkConfigEntry, MyUplinkDataCoordinator as MyUplinkDataCoordinator
3
2
  from .entity import MyUplinkEntity as MyUplinkEntity, MyUplinkSystemEntity as MyUplinkSystemEntity
4
3
  from .helpers import find_matching_platform as find_matching_platform
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
6
  from homeassistant.const import Platform as Platform
9
7
  from homeassistant.core import HomeAssistant as HomeAssistant
10
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -15,7 +13,7 @@ CONNECTED_BINARY_SENSOR_DESCRIPTION: Incomplete
15
13
  ALARM_BINARY_SENSOR_DESCRIPTION: Incomplete
16
14
 
17
15
  def get_description(device_point: DevicePoint) -> BinarySensorEntityDescription | None: ...
18
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
+ async def async_setup_entry(hass: HomeAssistant, config_entry: MyUplinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
19
17
 
20
18
  class MyUplinkDevicePointBinarySensor(MyUplinkEntity, BinarySensorEntity):
21
19
  point_id: Incomplete
@@ -1,11 +1,9 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from . import MyUplinkConfigEntry as MyUplinkConfigEntry
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
4
  from homeassistant.core import HomeAssistant as HomeAssistant
6
- from myuplink import MyUplinkAPI as MyUplinkAPI
7
5
  from typing import Any
8
6
 
9
7
  TO_REDACT: Incomplete
10
8
 
11
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ConfigEntry) -> dict[str, Any]: ...
9
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: MyUplinkConfigEntry) -> dict[str, Any]: ...
@@ -1,10 +1,8 @@
1
- from . import MyUplinkDataCoordinator as MyUplinkDataCoordinator
2
- from .const import DOMAIN as DOMAIN
1
+ from . import MyUplinkConfigEntry as MyUplinkConfigEntry, MyUplinkDataCoordinator as MyUplinkDataCoordinator
3
2
  from .entity import MyUplinkEntity as MyUplinkEntity
4
3
  from .helpers import find_matching_platform as find_matching_platform, skip_entity as skip_entity
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
6
  from homeassistant.const import Platform as Platform
9
7
  from homeassistant.core import HomeAssistant as HomeAssistant
10
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -15,7 +13,7 @@ DEVICE_POINT_UNIT_DESCRIPTIONS: dict[str, NumberEntityDescription]
15
13
  CATEGORY_BASED_DESCRIPTIONS: dict[str, dict[str, NumberEntityDescription]]
16
14
 
17
15
  def get_description(device_point: DevicePoint) -> NumberEntityDescription | None: ...
18
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
+ async def async_setup_entry(hass: HomeAssistant, config_entry: MyUplinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
19
17
 
20
18
  class MyUplinkNumber(MyUplinkEntity, NumberEntity):
21
19
  point_id: Incomplete
@@ -1,11 +1,9 @@
1
- from . import MyUplinkDataCoordinator as MyUplinkDataCoordinator
2
- from .const import DOMAIN as DOMAIN
1
+ from . import MyUplinkConfigEntry as MyUplinkConfigEntry, MyUplinkDataCoordinator as MyUplinkDataCoordinator
3
2
  from .entity import MyUplinkEntity as MyUplinkEntity
4
3
  from .helpers import find_matching_platform as find_matching_platform, skip_entity as skip_entity
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
- from homeassistant.const import Platform as Platform, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
6
+ from homeassistant.const import Platform as Platform, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
9
7
  from homeassistant.core import HomeAssistant as HomeAssistant
10
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
9
  from homeassistant.helpers.typing import StateType as StateType
@@ -16,7 +14,7 @@ MARKER_FOR_UNKNOWN_VALUE: int
16
14
  CATEGORY_BASED_DESCRIPTIONS: dict[str, dict[str, SensorEntityDescription]]
17
15
 
18
16
  def get_description(device_point: DevicePoint) -> SensorEntityDescription | None: ...
19
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
+ async def async_setup_entry(hass: HomeAssistant, config_entry: MyUplinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
20
18
 
21
19
  class MyUplinkDevicePointSensor(MyUplinkEntity, SensorEntity):
22
20
  point_id: Incomplete
@@ -1,10 +1,8 @@
1
- from . import MyUplinkDataCoordinator as MyUplinkDataCoordinator
2
- from .const import DOMAIN as DOMAIN
1
+ from . import MyUplinkConfigEntry as MyUplinkConfigEntry, MyUplinkDataCoordinator as MyUplinkDataCoordinator
3
2
  from .entity import MyUplinkEntity as MyUplinkEntity
4
3
  from .helpers import find_matching_platform as find_matching_platform, skip_entity as skip_entity
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
6
  from homeassistant.const import Platform as Platform
9
7
  from homeassistant.core import HomeAssistant as HomeAssistant
10
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -15,7 +13,7 @@ from typing import Any
15
13
  CATEGORY_BASED_DESCRIPTIONS: dict[str, dict[str, SwitchEntityDescription]]
16
14
 
17
15
  def get_description(device_point: DevicePoint) -> SwitchEntityDescription | None: ...
18
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
+ async def async_setup_entry(hass: HomeAssistant, config_entry: MyUplinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
19
17
 
20
18
  class MyUplinkDevicePointSwitch(MyUplinkEntity, SwitchEntity):
21
19
  point_id: Incomplete
@@ -1,15 +1,13 @@
1
- from . import MyUplinkDataCoordinator as MyUplinkDataCoordinator
2
- from .const import DOMAIN as DOMAIN
1
+ from . import MyUplinkConfigEntry as MyUplinkConfigEntry, MyUplinkDataCoordinator as MyUplinkDataCoordinator
3
2
  from .entity import MyUplinkEntity as MyUplinkEntity
4
3
  from _typeshed import Incomplete
5
4
  from homeassistant.components.update import UpdateDeviceClass as UpdateDeviceClass, UpdateEntity as UpdateEntity, UpdateEntityDescription as UpdateEntityDescription
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
5
  from homeassistant.core import HomeAssistant as HomeAssistant
8
6
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
7
 
10
8
  UPDATE_DESCRIPTION: Incomplete
11
9
 
12
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
10
+ async def async_setup_entry(hass: HomeAssistant, config_entry: MyUplinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
11
 
14
12
  class MyUplinkDeviceUpdate(MyUplinkEntity, UpdateEntity):
15
13
  entity_description: Incomplete
@@ -15,6 +15,7 @@ ATTR_BMP280_PRESSURE: Final[str]
15
15
  ATTR_BMP280_TEMPERATURE: Final[str]
16
16
  ATTR_DHT22_HUMIDITY: Final[str]
17
17
  ATTR_DHT22_TEMPERATURE: Final[str]
18
+ ATTR_DS18B20_TEMPERATURE: Final[str]
18
19
  ATTR_HECA_HUMIDITY: Final[str]
19
20
  ATTR_HECA_TEMPERATURE: Final[str]
20
21
  ATTR_MHZ14A_CARBON_DIOXIDE: Final[str]
@@ -1,5 +1,5 @@
1
1
  from . import NAMConfigEntry as NAMConfigEntry, NAMDataUpdateCoordinator as NAMDataUpdateCoordinator
2
- from .const import ATTR_BME280_HUMIDITY as ATTR_BME280_HUMIDITY, ATTR_BME280_PRESSURE as ATTR_BME280_PRESSURE, ATTR_BME280_TEMPERATURE as ATTR_BME280_TEMPERATURE, ATTR_BMP180_PRESSURE as ATTR_BMP180_PRESSURE, ATTR_BMP180_TEMPERATURE as ATTR_BMP180_TEMPERATURE, ATTR_BMP280_PRESSURE as ATTR_BMP280_PRESSURE, ATTR_BMP280_TEMPERATURE as ATTR_BMP280_TEMPERATURE, ATTR_DHT22_HUMIDITY as ATTR_DHT22_HUMIDITY, ATTR_DHT22_TEMPERATURE as ATTR_DHT22_TEMPERATURE, ATTR_HECA_HUMIDITY as ATTR_HECA_HUMIDITY, ATTR_HECA_TEMPERATURE as ATTR_HECA_TEMPERATURE, ATTR_MHZ14A_CARBON_DIOXIDE as ATTR_MHZ14A_CARBON_DIOXIDE, ATTR_PMSX003_CAQI as ATTR_PMSX003_CAQI, ATTR_PMSX003_CAQI_LEVEL as ATTR_PMSX003_CAQI_LEVEL, ATTR_PMSX003_P0 as ATTR_PMSX003_P0, ATTR_PMSX003_P1 as ATTR_PMSX003_P1, ATTR_PMSX003_P2 as ATTR_PMSX003_P2, ATTR_SDS011_CAQI as ATTR_SDS011_CAQI, ATTR_SDS011_CAQI_LEVEL as ATTR_SDS011_CAQI_LEVEL, ATTR_SDS011_P1 as ATTR_SDS011_P1, ATTR_SDS011_P2 as ATTR_SDS011_P2, ATTR_SHT3X_HUMIDITY as ATTR_SHT3X_HUMIDITY, ATTR_SHT3X_TEMPERATURE as ATTR_SHT3X_TEMPERATURE, ATTR_SIGNAL_STRENGTH as ATTR_SIGNAL_STRENGTH, ATTR_SPS30_CAQI as ATTR_SPS30_CAQI, ATTR_SPS30_CAQI_LEVEL as ATTR_SPS30_CAQI_LEVEL, ATTR_SPS30_P0 as ATTR_SPS30_P0, ATTR_SPS30_P1 as ATTR_SPS30_P1, ATTR_SPS30_P2 as ATTR_SPS30_P2, ATTR_SPS30_P4 as ATTR_SPS30_P4, ATTR_UPTIME as ATTR_UPTIME, DOMAIN as DOMAIN, MIGRATION_SENSORS as MIGRATION_SENSORS
2
+ from .const import ATTR_BME280_HUMIDITY as ATTR_BME280_HUMIDITY, ATTR_BME280_PRESSURE as ATTR_BME280_PRESSURE, ATTR_BME280_TEMPERATURE as ATTR_BME280_TEMPERATURE, ATTR_BMP180_PRESSURE as ATTR_BMP180_PRESSURE, ATTR_BMP180_TEMPERATURE as ATTR_BMP180_TEMPERATURE, ATTR_BMP280_PRESSURE as ATTR_BMP280_PRESSURE, ATTR_BMP280_TEMPERATURE as ATTR_BMP280_TEMPERATURE, ATTR_DHT22_HUMIDITY as ATTR_DHT22_HUMIDITY, ATTR_DHT22_TEMPERATURE as ATTR_DHT22_TEMPERATURE, ATTR_DS18B20_TEMPERATURE as ATTR_DS18B20_TEMPERATURE, ATTR_HECA_HUMIDITY as ATTR_HECA_HUMIDITY, ATTR_HECA_TEMPERATURE as ATTR_HECA_TEMPERATURE, ATTR_MHZ14A_CARBON_DIOXIDE as ATTR_MHZ14A_CARBON_DIOXIDE, ATTR_PMSX003_CAQI as ATTR_PMSX003_CAQI, ATTR_PMSX003_CAQI_LEVEL as ATTR_PMSX003_CAQI_LEVEL, ATTR_PMSX003_P0 as ATTR_PMSX003_P0, ATTR_PMSX003_P1 as ATTR_PMSX003_P1, ATTR_PMSX003_P2 as ATTR_PMSX003_P2, ATTR_SDS011_CAQI as ATTR_SDS011_CAQI, ATTR_SDS011_CAQI_LEVEL as ATTR_SDS011_CAQI_LEVEL, ATTR_SDS011_P1 as ATTR_SDS011_P1, ATTR_SDS011_P2 as ATTR_SDS011_P2, ATTR_SHT3X_HUMIDITY as ATTR_SHT3X_HUMIDITY, ATTR_SHT3X_TEMPERATURE as ATTR_SHT3X_TEMPERATURE, ATTR_SIGNAL_STRENGTH as ATTR_SIGNAL_STRENGTH, ATTR_SPS30_CAQI as ATTR_SPS30_CAQI, ATTR_SPS30_CAQI_LEVEL as ATTR_SPS30_CAQI_LEVEL, ATTR_SPS30_P0 as ATTR_SPS30_P0, ATTR_SPS30_P1 as ATTR_SPS30_P1, ATTR_SPS30_P2 as ATTR_SPS30_P2, ATTR_SPS30_P4 as ATTR_SPS30_P4, ATTR_UPTIME as ATTR_UPTIME, DOMAIN as DOMAIN, MIGRATION_SENSORS as MIGRATION_SENSORS
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
5
  from dataclasses import dataclass
@@ -1,24 +1,16 @@
1
- import asyncio
2
1
  from .const import DOMAIN as DOMAIN, NANOLEAF_EVENT as NANOLEAF_EVENT, TOUCH_GESTURE_TRIGGER_MAP as TOUCH_GESTURE_TRIGGER_MAP, TOUCH_MODELS as TOUCH_MODELS
2
+ from .coordinator import NanoleafCoordinator as NanoleafCoordinator
3
3
  from _typeshed import Incomplete
4
- from aionanoleaf import EffectsEvent as EffectsEvent, Nanoleaf, StateEvent as StateEvent, TouchEvent as TouchEvent
5
- from dataclasses import dataclass
4
+ from aionanoleaf import EffectsEvent as EffectsEvent, StateEvent as StateEvent, TouchEvent as TouchEvent
6
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_HOST as CONF_HOST, CONF_TOKEN as CONF_TOKEN, CONF_TYPE as CONF_TYPE, Platform as Platform
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
10
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
11
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
9
+ from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
12
10
 
13
11
  _LOGGER: Incomplete
14
12
  PLATFORMS: Incomplete
13
+ NanoleafConfigEntry = ConfigEntry[NanoleafCoordinator]
15
14
 
16
- @dataclass
17
- class NanoleafEntryData:
18
- device: Nanoleaf
19
- coordinator: DataUpdateCoordinator[None]
20
- event_listener: asyncio.Task
21
- def __init__(self, device, coordinator, event_listener) -> None: ...
22
-
23
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
24
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
15
+ async def async_setup_entry(hass: HomeAssistant, entry: NanoleafConfigEntry) -> bool: ...
16
+ async def async_unload_entry(hass: HomeAssistant, entry: NanoleafConfigEntry) -> bool: ...
@@ -1,20 +1,17 @@
1
- from . import NanoleafEntryData as NanoleafEntryData
2
- from .const import DOMAIN as DOMAIN
1
+ from . import NanoleafConfigEntry as NanoleafConfigEntry
2
+ from .coordinator import NanoleafCoordinator as NanoleafCoordinator
3
3
  from .entity import NanoleafEntity as NanoleafEntity
4
4
  from _typeshed import Incomplete
5
- from aionanoleaf import Nanoleaf as Nanoleaf
6
5
  from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
6
  from homeassistant.const import EntityCategory as EntityCategory
9
7
  from homeassistant.core import HomeAssistant as HomeAssistant
10
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
12
9
 
13
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
10
+ async def async_setup_entry(hass: HomeAssistant, entry: NanoleafConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
11
 
15
12
  class NanoleafIdentifyButton(NanoleafEntity, ButtonEntity):
16
13
  _attr_entity_category: Incomplete
17
14
  _attr_device_class: Incomplete
18
15
  _attr_unique_id: Incomplete
19
- def __init__(self, nanoleaf: Nanoleaf, coordinator: DataUpdateCoordinator[None]) -> None: ...
16
+ def __init__(self, coordinator: NanoleafCoordinator) -> None: ...
20
17
  async def async_press(self) -> None: ...
@@ -0,0 +1,12 @@
1
+ from _typeshed import Incomplete
2
+ from aionanoleaf import Nanoleaf as Nanoleaf
3
+ from homeassistant.core import HomeAssistant as HomeAssistant
4
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
5
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
6
+
7
+ _LOGGER: Incomplete
8
+
9
+ class NanoleafCoordinator(DataUpdateCoordinator[None]):
10
+ nanoleaf: Incomplete
11
+ def __init__(self, hass: HomeAssistant, nanoleaf: Nanoleaf) -> None: ...
12
+ async def _async_update_data(self) -> None: ...
@@ -4,6 +4,7 @@ from homeassistant.components.device_automation import DEVICE_TRIGGER_BASE_SCHEM
4
4
  from homeassistant.components.device_automation.exceptions import DeviceNotFound as DeviceNotFound
5
5
  from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_EVENT as CONF_EVENT, CONF_PLATFORM as CONF_PLATFORM, CONF_TYPE as CONF_TYPE
6
6
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
7
8
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
8
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
9
10
 
@@ -1,9 +1,7 @@
1
- from .const import DOMAIN as DOMAIN
2
- from aionanoleaf import Nanoleaf as Nanoleaf
1
+ from . import NanoleafConfigEntry as NanoleafConfigEntry
3
2
  from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
3
  from homeassistant.const import CONF_TOKEN as CONF_TOKEN
6
4
  from homeassistant.core import HomeAssistant as HomeAssistant
7
5
  from typing import Any
8
6
 
9
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ConfigEntry) -> dict[str, Any]: ...
7
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: NanoleafConfigEntry) -> dict[str, Any]: ...
@@ -1,11 +1,11 @@
1
+ from . import NanoleafCoordinator as NanoleafCoordinator
1
2
  from .const import DOMAIN as DOMAIN
2
3
  from _typeshed import Incomplete
3
- from aionanoleaf import Nanoleaf as Nanoleaf
4
4
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
5
- from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
5
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
6
6
 
7
- class NanoleafEntity(CoordinatorEntity[DataUpdateCoordinator[None]]):
7
+ class NanoleafEntity(CoordinatorEntity[NanoleafCoordinator]):
8
8
  _attr_has_entity_name: bool
9
9
  _nanoleaf: Incomplete
10
10
  _attr_device_info: Incomplete
11
- def __init__(self, nanoleaf: Nanoleaf, coordinator: DataUpdateCoordinator[None]) -> None: ...
11
+ def __init__(self, coordinator: NanoleafCoordinator) -> None: ...
@@ -0,0 +1,18 @@
1
+ from . import NanoleafConfigEntry as NanoleafConfigEntry, NanoleafCoordinator as NanoleafCoordinator
2
+ from .const import TOUCH_MODELS as TOUCH_MODELS
3
+ from .entity import NanoleafEntity as NanoleafEntity
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.event import EventEntity as EventEntity
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
+ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
8
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
+
10
+ async def async_setup_entry(hass: HomeAssistant, entry: NanoleafConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
11
+
12
+ class NanoleafGestureEvent(NanoleafEntity, EventEntity):
13
+ _attr_event_types: Incomplete
14
+ _attr_translation_key: str
15
+ _attr_unique_id: Incomplete
16
+ def __init__(self, coordinator: NanoleafCoordinator) -> None: ...
17
+ async def async_added_to_hass(self) -> None: ...
18
+ def _async_handle_event(self, gesture: str) -> None: ...
@@ -1,19 +1,16 @@
1
- from . import NanoleafEntryData as NanoleafEntryData
2
- from .const import DOMAIN as DOMAIN
1
+ from . import NanoleafConfigEntry as NanoleafConfigEntry
2
+ from .coordinator import NanoleafCoordinator as NanoleafCoordinator
3
3
  from .entity import NanoleafEntity as NanoleafEntity
4
4
  from _typeshed import Incomplete
5
- from aionanoleaf import Nanoleaf as Nanoleaf
6
5
  from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP as ATTR_COLOR_TEMP, ATTR_EFFECT as ATTR_EFFECT, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_TRANSITION as ATTR_TRANSITION, ColorMode as ColorMode, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
6
  from homeassistant.core import HomeAssistant as HomeAssistant
9
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
11
8
  from typing import Any
12
9
 
13
10
  RESERVED_EFFECTS: Incomplete
14
11
  DEFAULT_NAME: str
15
12
 
16
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
+ async def async_setup_entry(hass: HomeAssistant, entry: NanoleafConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
14
 
18
15
  class NanoleafLight(NanoleafEntity, LightEntity):
19
16
  _attr_supported_color_modes: Incomplete
@@ -23,7 +20,7 @@ class NanoleafLight(NanoleafEntity, LightEntity):
23
20
  _attr_unique_id: Incomplete
24
21
  _attr_min_mireds: Incomplete
25
22
  _attr_max_mireds: Incomplete
26
- def __init__(self, nanoleaf: Nanoleaf, coordinator: DataUpdateCoordinator[None]) -> None: ...
23
+ def __init__(self, coordinator: NanoleafCoordinator) -> None: ...
27
24
  @property
28
25
  def brightness(self) -> int: ...
29
26
  @property
@@ -3,13 +3,15 @@ from .const import ATTR_MAX as ATTR_MAX, ATTR_MIN as ATTR_MIN, ATTR_STEP as ATTR
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable
5
5
  from functools import cached_property
6
- from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE
7
6
  from homeassistant.helpers.entity import Entity, EntityDescription
8
7
  from homeassistant.helpers.restore_state import ExtraStoredData, RestoreEntity
9
8
  from typing import Any, Self
10
9
 
11
10
  __all__ = ['ATTR_MAX', 'ATTR_MIN', 'ATTR_STEP', 'ATTR_VALUE', 'DEFAULT_MAX_VALUE', 'DEFAULT_MIN_VALUE', 'DEFAULT_STEP', 'DOMAIN', 'PLATFORM_SCHEMA_BASE', 'PLATFORM_SCHEMA', 'NumberDeviceClass', 'NumberEntity', 'NumberEntityDescription', 'NumberExtraStoredData', 'NumberMode', 'RestoreNumber']
12
11
 
12
+ PLATFORM_SCHEMA: Incomplete
13
+ PLATFORM_SCHEMA_BASE: Incomplete
14
+
13
15
  class NumberEntityDescription(EntityDescription, frozen_or_thawed=True):
14
16
  device_class: NumberDeviceClass | None
15
17
  max_value: None
@@ -1,6 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from enum import StrEnum
3
- from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, POWER_VOLT_AMPERE_REACTIVE as POWER_VOLT_AMPERE_REACTIVE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
3
+ from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, POWER_VOLT_AMPERE_REACTIVE as POWER_VOLT_AMPERE_REACTIVE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
4
4
  from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
5
5
  from homeassistant.util.unit_conversion import BaseUnitConverter as BaseUnitConverter, TemperatureConverter as TemperatureConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
6
6
  from typing import Final
@@ -32,6 +32,7 @@ class NumberDeviceClass(StrEnum):
32
32
  BATTERY: str
33
33
  CO: str
34
34
  CO2: str
35
+ CONDUCTIVITY: str
35
36
  CURRENT: str
36
37
  DATA_RATE: str
37
38
  DATA_SIZE: str
@@ -1,25 +1,19 @@
1
1
  from . import PingConfigEntry as PingConfigEntry
2
- from .const import CONF_IMPORTED_BY as CONF_IMPORTED_BY, CONF_PING_COUNT as CONF_PING_COUNT, DEFAULT_PING_COUNT as DEFAULT_PING_COUNT, DOMAIN as DOMAIN
2
+ from .const import CONF_IMPORTED_BY as CONF_IMPORTED_BY
3
3
  from .coordinator import PingUpdateCoordinator as PingUpdateCoordinator
4
4
  from .entity import PingEntity as PingEntity
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
8
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME
7
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  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
12
- from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
13
10
  from typing import Any
14
11
 
15
- _LOGGER: Incomplete
16
12
  ATTR_ROUND_TRIP_TIME_AVG: str
17
13
  ATTR_ROUND_TRIP_TIME_MAX: str
18
14
  ATTR_ROUND_TRIP_TIME_MDEV: str
19
15
  ATTR_ROUND_TRIP_TIME_MIN: str
20
- PLATFORM_SCHEMA: Incomplete
21
16
 
22
- async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
23
17
  async def async_setup_entry(hass: HomeAssistant, entry: PingConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
24
18
 
25
19
  class PingBinarySensor(PingEntity, BinarySensorEntity):
@@ -1,9 +1,8 @@
1
- from .const import CONF_IMPORTED_BY as CONF_IMPORTED_BY, CONF_PING_COUNT as CONF_PING_COUNT, DEFAULT_PING_COUNT as DEFAULT_PING_COUNT, DOMAIN as DOMAIN
1
+ from .const import CONF_PING_COUNT as CONF_PING_COUNT, DEFAULT_PING_COUNT as DEFAULT_PING_COUNT, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from collections.abc import Mapping
4
3
  from homeassistant.components.device_tracker import CONF_CONSIDER_HOME as CONF_CONSIDER_HOME, DEFAULT_CONSIDER_HOME as DEFAULT_CONSIDER_HOME
5
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
6
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME
5
+ from homeassistant.const import CONF_HOST as CONF_HOST
7
6
  from homeassistant.core import callback as callback
8
7
  from homeassistant.helpers import selector as selector
9
8
  from homeassistant.util.network import is_ip_address as is_ip_address
@@ -14,7 +13,6 @@ _LOGGER: Incomplete
14
13
  class PingConfigFlow(ConfigFlow, domain=DOMAIN):
15
14
  VERSION: int
16
15
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
17
- async def async_step_import(self, import_info: Mapping[str, Any]) -> ConfigFlowResult: ...
18
16
  @staticmethod
19
17
  def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
20
18
 
@@ -1,24 +1,14 @@
1
1
  from . import PingConfigEntry as PingConfigEntry
2
- from .const import CONF_IMPORTED_BY as CONF_IMPORTED_BY, CONF_PING_COUNT as CONF_PING_COUNT, DOMAIN as DOMAIN
2
+ from .const import CONF_IMPORTED_BY as CONF_IMPORTED_BY
3
3
  from .coordinator import PingUpdateCoordinator as PingUpdateCoordinator
4
4
  from _typeshed import Incomplete
5
5
  from datetime import datetime
6
- from homeassistant.components.device_tracker import AsyncSeeCallback as AsyncSeeCallback, CONF_CONSIDER_HOME as CONF_CONSIDER_HOME, DEFAULT_CONSIDER_HOME as DEFAULT_CONSIDER_HOME, ScannerEntity as ScannerEntity, SourceType as SourceType
7
- from homeassistant.components.device_tracker.legacy import YAML_DEVICES as YAML_DEVICES, remove_device_from_config as remove_device_from_config
8
- from homeassistant.config import load_yaml_config_file as load_yaml_config_file
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
10
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_HOSTS as CONF_HOSTS, CONF_NAME as CONF_NAME, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED
11
- from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
12
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
6
+ from homeassistant.components.device_tracker import CONF_CONSIDER_HOME as CONF_CONSIDER_HOME, DEFAULT_CONSIDER_HOME as DEFAULT_CONSIDER_HOME, ScannerEntity as ScannerEntity, SourceType as SourceType
7
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
13
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
- from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
15
- from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
16
10
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
17
11
 
18
- _LOGGER: Incomplete
19
- PLATFORM_SCHEMA: Incomplete
20
-
21
- async def async_setup_scanner(hass: HomeAssistant, config: ConfigType, async_see: AsyncSeeCallback, discovery_info: DiscoveryInfoType | None = None) -> bool: ...
22
12
  async def async_setup_entry(hass: HomeAssistant, entry: PingConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
23
13
 
24
14
  class PingDeviceTracker(CoordinatorEntity[PingUpdateCoordinator], ScannerEntity):
@@ -0,0 +1,20 @@
1
+ from . import PlugwiseConfigEntry as PlugwiseConfigEntry
2
+ from .const import GATEWAY_ID as GATEWAY_ID, REBOOT as REBOOT
3
+ from .coordinator import PlugwiseDataUpdateCoordinator as PlugwiseDataUpdateCoordinator
4
+ from .entity import PlugwiseEntity as PlugwiseEntity
5
+ from .util import plugwise_command as plugwise_command
6
+ from _typeshed import Incomplete
7
+ from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity
8
+ from homeassistant.const import EntityCategory as EntityCategory
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
+
12
+ async def async_setup_entry(hass: HomeAssistant, entry: PlugwiseConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
+
14
+ class PlugwiseButtonEntity(PlugwiseEntity, ButtonEntity):
15
+ _attr_device_class: Incomplete
16
+ _attr_entity_category: Incomplete
17
+ _attr_translation_key: Incomplete
18
+ _attr_unique_id: Incomplete
19
+ def __init__(self, coordinator: PlugwiseDataUpdateCoordinator, device_id: str) -> None: ...
20
+ async def async_press(self) -> None: ...
@@ -10,7 +10,10 @@ FLOW_SMILE: Final[str]
10
10
  FLOW_STRETCH: Final[str]
11
11
  FLOW_TYPE: Final[str]
12
12
  GATEWAY: Final[str]
13
+ GATEWAY_ID: Final[str]
14
+ LOCATION: Final[str]
13
15
  PW_TYPE: Final[str]
16
+ REBOOT: Final[str]
14
17
  SMILE: Final[str]
15
18
  STRETCH: Final[str]
16
19
  STRETCH_USERNAME: Final[str]
@@ -1,4 +1,4 @@
1
- from .const import DEFAULT_PORT as DEFAULT_PORT, DEFAULT_USERNAME as DEFAULT_USERNAME, DOMAIN as DOMAIN, LOGGER as LOGGER
1
+ from .const import DEFAULT_PORT as DEFAULT_PORT, DEFAULT_USERNAME as DEFAULT_USERNAME, DOMAIN as DOMAIN, GATEWAY_ID as GATEWAY_ID, LOGGER as LOGGER
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
4
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
@@ -13,8 +13,10 @@ class PlugwiseDataUpdateCoordinator(DataUpdateCoordinator[PlugwiseData]):
13
13
  _connected: bool
14
14
  config_entry: ConfigEntry
15
15
  api: Incomplete
16
- device_list: Incomplete
17
- new_devices: bool
16
+ _current_devices: Incomplete
17
+ new_devices: Incomplete
18
18
  def __init__(self, hass: HomeAssistant) -> None: ...
19
19
  async def _connect(self) -> None: ...
20
20
  async def _async_update_data(self) -> PlugwiseData: ...
21
+ def _async_add_remove_devices(self, data: PlugwiseData, entry: ConfigEntry) -> None: ...
22
+ def _async_remove_devices(self, data: PlugwiseData, entry: ConfigEntry) -> None: ...
@@ -2,20 +2,18 @@ from . import PlugwiseConfigEntry as PlugwiseConfigEntry
2
2
  from .const import NumberType as NumberType
3
3
  from .coordinator import PlugwiseDataUpdateCoordinator as PlugwiseDataUpdateCoordinator
4
4
  from .entity import PlugwiseEntity as PlugwiseEntity
5
+ from .util import plugwise_command as plugwise_command
5
6
  from _typeshed import Incomplete
6
- from collections.abc import Awaitable, Callable as Callable
7
7
  from dataclasses import dataclass
8
8
  from homeassistant.components.number import NumberDeviceClass as NumberDeviceClass, NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription, NumberMode as NumberMode
9
9
  from homeassistant.const import EntityCategory as EntityCategory, UnitOfTemperature as UnitOfTemperature
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
- from plugwise import Smile as Smile
13
12
 
14
13
  @dataclass(frozen=True, kw_only=True)
15
14
  class PlugwiseNumberEntityDescription(NumberEntityDescription):
16
- command: Callable[[Smile, str, str, float], Awaitable[None]]
17
15
  key: NumberType
18
- 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, command) -> None: ...
16
+ 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) -> None: ...
19
17
 
20
18
  NUMBER_TYPES: Incomplete
21
19