homeassistant-stubs 2025.7.4__py3-none-any.whl → 2025.8.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of homeassistant-stubs might be problematic. Click here for more details.

Files changed (490) hide show
  1. homeassistant-stubs/bootstrap.pyi +1 -1
  2. homeassistant-stubs/components/airnow/__init__.pyi +0 -1
  3. homeassistant-stubs/components/airnow/config_flow.pyi +2 -2
  4. homeassistant-stubs/components/airos/__init__.pyi +9 -0
  5. homeassistant-stubs/components/airos/config_flow.pyi +14 -0
  6. homeassistant-stubs/components/airos/const.pyi +5 -0
  7. homeassistant-stubs/components/airos/coordinator.pyi +16 -0
  8. homeassistant-stubs/components/airos/diagnostics.pyi +13 -0
  9. homeassistant-stubs/components/airos/entity.pyi +11 -0
  10. homeassistant-stubs/components/airos/sensor.pyi +29 -0
  11. homeassistant-stubs/components/airq/const.pyi +0 -1
  12. homeassistant-stubs/components/airq/sensor.pyi +2 -2
  13. homeassistant-stubs/components/airthings/__init__.pyi +1 -3
  14. homeassistant-stubs/components/airthings/coordinator.pyi +3 -1
  15. homeassistant-stubs/components/airthings/sensor.pyi +1 -1
  16. homeassistant-stubs/components/alexa_devices/__init__.pyi +6 -0
  17. homeassistant-stubs/components/alexa_devices/config_flow.pyi +10 -0
  18. homeassistant-stubs/components/alexa_devices/coordinator.pyi +4 -3
  19. homeassistant-stubs/components/alexa_devices/services.pyi +24 -0
  20. homeassistant-stubs/components/amberelectric/__init__.pyi +7 -1
  21. homeassistant-stubs/components/amberelectric/const.pyi +8 -1
  22. homeassistant-stubs/components/amberelectric/coordinator.pyi +1 -2
  23. homeassistant-stubs/components/amberelectric/helpers.pyi +6 -0
  24. homeassistant-stubs/components/amberelectric/sensor.pyi +2 -2
  25. homeassistant-stubs/components/amberelectric/services.pyi +15 -0
  26. homeassistant-stubs/components/analytics/__init__.pyi +1 -0
  27. homeassistant-stubs/components/analytics/analytics.pyi +3 -0
  28. homeassistant-stubs/components/analytics/http.pyi +10 -0
  29. homeassistant-stubs/components/analytics_insights/__init__.pyi +0 -1
  30. homeassistant-stubs/components/analytics_insights/config_flow.pyi +2 -2
  31. homeassistant-stubs/components/androidtv_remote/__init__.pyi +2 -6
  32. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +6 -6
  33. homeassistant-stubs/components/androidtv_remote/diagnostics.pyi +1 -1
  34. homeassistant-stubs/components/androidtv_remote/entity.pyi +2 -2
  35. homeassistant-stubs/components/androidtv_remote/helpers.pyi +3 -1
  36. homeassistant-stubs/components/androidtv_remote/media_player.pyi +4 -4
  37. homeassistant-stubs/components/androidtv_remote/remote.pyi +1 -1
  38. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  39. homeassistant-stubs/components/assist_pipeline/const.pyi +0 -1
  40. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +2 -5
  41. homeassistant-stubs/components/asuswrt/router.pyi +3 -1
  42. homeassistant-stubs/components/awair/const.pyi +1 -0
  43. homeassistant-stubs/components/awair/sensor.pyi +1 -1
  44. homeassistant-stubs/components/backup/__init__.pyi +6 -2
  45. homeassistant-stubs/components/backup/coordinator.pyi +0 -1
  46. homeassistant-stubs/components/backup/manager.pyi +6 -3
  47. homeassistant-stubs/components/backup/onboarding.pyi +1 -1
  48. homeassistant-stubs/components/backup/services.pyi +7 -0
  49. homeassistant-stubs/components/backup/websocket.pyi +4 -1
  50. homeassistant-stubs/components/blue_current/__init__.pyi +5 -5
  51. homeassistant-stubs/components/blue_current/const.pyi +11 -0
  52. homeassistant-stubs/components/blue_current/switch.pyi +40 -0
  53. homeassistant-stubs/components/bosch_alarm/__init__.pyi +1 -1
  54. homeassistant-stubs/components/bosch_alarm/services.pyi +3 -2
  55. homeassistant-stubs/components/bring/__init__.pyi +5 -0
  56. homeassistant-stubs/components/bring/const.pyi +4 -0
  57. homeassistant-stubs/components/bring/services.pyi +14 -0
  58. homeassistant-stubs/components/cloud/backup.pyi +3 -3
  59. homeassistant-stubs/components/cloud/repairs.pyi +3 -3
  60. homeassistant-stubs/components/cloud/subscription.pyi +2 -1
  61. homeassistant-stubs/components/cloud/tts.pyi +2 -1
  62. homeassistant-stubs/components/command_line/sensor.pyi +0 -2
  63. homeassistant-stubs/components/demo/vacuum.pyi +0 -3
  64. homeassistant-stubs/components/derivative/__init__.pyi +5 -1
  65. homeassistant-stubs/components/derivative/config_flow.pyi +2 -0
  66. homeassistant-stubs/components/derivative/sensor.pyi +7 -4
  67. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +3 -7
  68. homeassistant-stubs/components/devolo_home_control/entity.pyi +0 -1
  69. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +2 -2
  70. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -2
  71. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -1
  72. homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -1
  73. homeassistant-stubs/components/discovergy/__init__.pyi +1 -0
  74. homeassistant-stubs/components/discovergy/coordinator.pyi +1 -0
  75. homeassistant-stubs/components/dnsip/__init__.pyi +0 -1
  76. homeassistant-stubs/components/dnsip/config_flow.pyi +2 -2
  77. homeassistant-stubs/components/downloader/services.pyi +1 -0
  78. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +13 -3
  79. homeassistant-stubs/components/ecovacs/sensor.pyi +13 -0
  80. homeassistant-stubs/components/ecovacs/vacuum.pyi +1 -7
  81. homeassistant-stubs/components/eheimdigital/config_flow.pyi +2 -1
  82. homeassistant-stubs/components/elevenlabs/config_flow.pyi +1 -1
  83. homeassistant-stubs/components/elevenlabs/const.pyi +0 -2
  84. homeassistant-stubs/components/elevenlabs/tts.pyi +2 -3
  85. homeassistant-stubs/components/enphase_envoy/__init__.pyi +0 -2
  86. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -2
  87. homeassistant-stubs/components/esphome/config_flow.pyi +2 -0
  88. homeassistant-stubs/components/esphome/encryption_key_storage.pyi +29 -0
  89. homeassistant-stubs/components/esphome/entity.pyi +3 -1
  90. homeassistant-stubs/components/esphome/entry_data.pyi +14 -6
  91. homeassistant-stubs/components/esphome/manager.pyi +3 -1
  92. homeassistant-stubs/components/feedreader/__init__.pyi +0 -1
  93. homeassistant-stubs/components/feedreader/config_flow.pyi +3 -3
  94. homeassistant-stubs/components/forecast_solar/__init__.pyi +0 -1
  95. homeassistant-stubs/components/forecast_solar/config_flow.pyi +2 -2
  96. homeassistant-stubs/components/fritz/__init__.pyi +0 -1
  97. homeassistant-stubs/components/fritz/config_flow.pyi +2 -2
  98. homeassistant-stubs/components/fritzbox_callmonitor/__init__.pyi +0 -1
  99. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +2 -2
  100. homeassistant-stubs/components/frontend/__init__.pyi +1 -0
  101. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +3 -1
  102. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  103. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +3 -3
  104. homeassistant-stubs/components/generic_thermostat/__init__.pyi +5 -1
  105. homeassistant-stubs/components/generic_thermostat/climate.pyi +3 -3
  106. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  107. homeassistant-stubs/components/geo_location/trigger.pyi +0 -1
  108. homeassistant-stubs/components/gios/const.pyi +2 -0
  109. homeassistant-stubs/components/gios/sensor.pyi +1 -1
  110. homeassistant-stubs/components/google_assistant_sdk/application_credentials.pyi +1 -0
  111. homeassistant-stubs/components/google_cloud/const.pyi +1 -0
  112. homeassistant-stubs/components/google_cloud/stt.pyi +3 -2
  113. homeassistant-stubs/components/guardian/__init__.pyi +1 -1
  114. homeassistant-stubs/components/guardian/services.pyi +2 -1
  115. homeassistant-stubs/components/habitica/button.pyi +3 -4
  116. homeassistant-stubs/components/habitica/coordinator.pyi +2 -3
  117. homeassistant-stubs/components/habitica/entity.pyi +1 -1
  118. homeassistant-stubs/components/habitica/sensor.pyi +3 -18
  119. homeassistant-stubs/components/habitica/switch.pyi +4 -3
  120. homeassistant-stubs/components/habitica/util.pyi +2 -1
  121. homeassistant-stubs/components/heos/__init__.pyi +1 -1
  122. homeassistant-stubs/components/heos/config_flow.pyi +3 -0
  123. homeassistant-stubs/components/heos/services.pyi +3 -2
  124. homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
  125. homeassistant-stubs/components/here_travel_time/config_flow.pyi +3 -2
  126. homeassistant-stubs/components/here_travel_time/const.pyi +1 -0
  127. homeassistant-stubs/components/here_travel_time/coordinator.pyi +1 -1
  128. homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
  129. homeassistant-stubs/components/history_stats/__init__.pyi +5 -1
  130. homeassistant-stubs/components/history_stats/config_flow.pyi +14 -0
  131. homeassistant-stubs/components/history_stats/coordinator.pyi +3 -1
  132. homeassistant-stubs/components/history_stats/data.pyi +2 -1
  133. homeassistant-stubs/components/history_stats/helpers.pyi +1 -1
  134. homeassistant-stubs/components/history_stats/sensor.pyi +7 -4
  135. homeassistant-stubs/components/holiday/__init__.pyi +0 -1
  136. homeassistant-stubs/components/holiday/config_flow.pyi +2 -2
  137. homeassistant-stubs/components/home_connect/__init__.pyi +1 -1
  138. homeassistant-stubs/components/home_connect/services.pyi +3 -2
  139. homeassistant-stubs/components/homeassistant/__init__.pyi +2 -1
  140. homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -1
  141. homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +2 -1
  142. homeassistant-stubs/components/homee/__init__.pyi +1 -1
  143. homeassistant-stubs/components/homee/config_flow.pyi +5 -0
  144. homeassistant-stubs/components/homekit/__init__.pyi +2 -1
  145. homeassistant-stubs/components/http/__init__.pyi +1 -2
  146. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -2
  147. homeassistant-stubs/components/huawei_lte/config_flow.pyi +5 -4
  148. homeassistant-stubs/components/huawei_lte/const.pyi +1 -1
  149. homeassistant-stubs/components/huawei_lte/diagnostics.pyi +18 -0
  150. homeassistant-stubs/components/husqvarna_automower/button.pyi +2 -2
  151. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +3 -0
  152. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +15 -13
  153. homeassistant-stubs/components/husqvarna_automower/entity.pyi +2 -6
  154. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +2 -2
  155. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +5 -0
  156. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -1
  157. homeassistant-stubs/components/hydrawise/const.pyi +1 -0
  158. homeassistant-stubs/components/hydrawise/coordinator.pyi +9 -2
  159. homeassistant-stubs/components/hydrawise/entity.pyi +1 -1
  160. homeassistant-stubs/components/hydrawise/sensor.pyi +1 -1
  161. homeassistant-stubs/components/hydrawise/switch.pyi +1 -1
  162. homeassistant-stubs/components/hydrawise/valve.pyi +1 -1
  163. homeassistant-stubs/components/hyperion/__init__.pyi +0 -1
  164. homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
  165. homeassistant-stubs/components/imgw_pib/sensor.pyi +7 -1
  166. homeassistant-stubs/components/immich/__init__.pyi +6 -0
  167. homeassistant-stubs/components/immich/media_source.pyi +1 -0
  168. homeassistant-stubs/components/immich/services.pyi +18 -0
  169. homeassistant-stubs/components/input_text/__init__.pyi +1 -1
  170. homeassistant-stubs/components/integration/__init__.pyi +5 -1
  171. homeassistant-stubs/components/integration/config_flow.pyi +1 -0
  172. homeassistant-stubs/components/integration/sensor.pyi +5 -6
  173. homeassistant-stubs/components/iron_os/__init__.pyi +0 -3
  174. homeassistant-stubs/components/iron_os/const.pyi +4 -0
  175. homeassistant-stubs/components/iron_os/coordinator.pyi +1 -1
  176. homeassistant-stubs/components/iron_os/number.pyi +20 -4
  177. homeassistant-stubs/components/iron_os/switch.pyi +2 -0
  178. homeassistant-stubs/components/isy994/__init__.pyi +0 -1
  179. homeassistant-stubs/components/isy994/config_flow.pyi +3 -3
  180. homeassistant-stubs/components/jellyfin/browse_media.pyi +2 -1
  181. homeassistant-stubs/components/jellyfin/media_player.pyi +5 -2
  182. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +5 -15
  183. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +2 -2
  184. homeassistant-stubs/components/jewish_calendar/entity.pyi +19 -5
  185. homeassistant-stubs/components/jewish_calendar/sensor.pyi +11 -7
  186. homeassistant-stubs/components/knx/__init__.pyi +6 -40
  187. homeassistant-stubs/components/knx/binary_sensor.pyi +3 -2
  188. homeassistant-stubs/components/knx/button.pyi +1 -1
  189. homeassistant-stubs/components/knx/climate.pyi +1 -1
  190. homeassistant-stubs/components/knx/config_flow.pyi +14 -21
  191. homeassistant-stubs/components/knx/const.pyi +1 -1
  192. homeassistant-stubs/components/knx/cover.pyi +3 -2
  193. homeassistant-stubs/components/knx/date.pyi +1 -1
  194. homeassistant-stubs/components/knx/datetime.pyi +1 -1
  195. homeassistant-stubs/components/knx/entity.pyi +1 -1
  196. homeassistant-stubs/components/knx/fan.pyi +1 -1
  197. homeassistant-stubs/components/knx/knx_module.pyi +43 -0
  198. homeassistant-stubs/components/knx/light.pyi +3 -2
  199. homeassistant-stubs/components/knx/notify.pyi +1 -1
  200. homeassistant-stubs/components/knx/number.pyi +1 -1
  201. homeassistant-stubs/components/knx/scene.pyi +1 -1
  202. homeassistant-stubs/components/knx/select.pyi +1 -1
  203. homeassistant-stubs/components/knx/sensor.pyi +1 -1
  204. homeassistant-stubs/components/knx/services.pyi +2 -2
  205. homeassistant-stubs/components/knx/storage/config_store.pyi +4 -0
  206. homeassistant-stubs/components/knx/storage/const.pyi +8 -7
  207. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +3 -10
  208. homeassistant-stubs/components/knx/storage/knx_selector.pyi +4 -0
  209. homeassistant-stubs/components/knx/storage/migration.pyi +5 -0
  210. homeassistant-stubs/components/knx/storage/util.pyi +16 -0
  211. homeassistant-stubs/components/knx/switch.pyi +3 -2
  212. homeassistant-stubs/components/knx/text.pyi +1 -1
  213. homeassistant-stubs/components/knx/time.pyi +1 -1
  214. homeassistant-stubs/components/knx/weather.pyi +1 -1
  215. homeassistant-stubs/components/knx/websocket.pyi +1 -1
  216. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
  217. homeassistant-stubs/components/lcn/binary_sensor.pyi +1 -20
  218. homeassistant-stubs/components/lcn/helpers.pyi +1 -0
  219. homeassistant-stubs/components/lcn/light.pyi +2 -1
  220. homeassistant-stubs/components/letpot/coordinator.pyi +3 -4
  221. homeassistant-stubs/components/letpot/switch.pyi +1 -1
  222. homeassistant-stubs/components/letpot/time.pyi +1 -1
  223. homeassistant-stubs/components/lifx/const.pyi +1 -0
  224. homeassistant-stubs/components/lifx/coordinator.pyi +5 -1
  225. homeassistant-stubs/components/lifx/manager.pyi +1 -1
  226. homeassistant-stubs/components/linkplay/select.pyi +35 -0
  227. homeassistant-stubs/components/litterrobot/sensor.pyi +3 -0
  228. homeassistant-stubs/components/matrix/__init__.pyi +1 -1
  229. homeassistant-stubs/components/matrix/services.pyi +3 -2
  230. homeassistant-stubs/components/matter/entity.pyi +2 -2
  231. homeassistant-stubs/components/matter/number.pyi +29 -1
  232. homeassistant-stubs/components/matter/select.pyi +2 -2
  233. homeassistant-stubs/components/matter/vacuum.pyi +2 -1
  234. homeassistant-stubs/components/mcp_server/server.pyi +1 -1
  235. homeassistant-stubs/components/mealie/const.pyi +2 -0
  236. homeassistant-stubs/components/mealie/services.pyi +4 -1
  237. homeassistant-stubs/components/media_player/const.pyi +2 -2
  238. homeassistant-stubs/components/media_source/const.pyi +3 -0
  239. homeassistant-stubs/components/media_source/local_source.pyi +1 -1
  240. homeassistant-stubs/components/media_source/models.pyi +6 -2
  241. homeassistant-stubs/components/met_eireann/__init__.pyi +2 -17
  242. homeassistant-stubs/components/met_eireann/coordinator.pyi +28 -0
  243. homeassistant-stubs/components/met_eireann/weather.pyi +1 -3
  244. homeassistant-stubs/components/miele/__init__.pyi +5 -0
  245. homeassistant-stubs/components/miele/coordinator.pyi +1 -1
  246. homeassistant-stubs/components/miele/entity.pyi +2 -0
  247. homeassistant-stubs/components/miele/sensor.pyi +7 -6
  248. homeassistant-stubs/components/miele/services.pyi +24 -0
  249. homeassistant-stubs/components/miele/vacuum.pyi +0 -2
  250. homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
  251. homeassistant-stubs/components/mold_indicator/__init__.pyi +8 -1
  252. homeassistant-stubs/components/mold_indicator/config_flow.pyi +2 -0
  253. homeassistant-stubs/components/mold_indicator/sensor.pyi +2 -2
  254. homeassistant-stubs/components/mqtt/climate.pyi +1 -37
  255. homeassistant-stubs/components/mqtt/config_flow.pyi +38 -6
  256. homeassistant-stubs/components/mqtt/const.pyi +33 -2
  257. homeassistant-stubs/components/mqtt/repairs.pyi +15 -0
  258. homeassistant-stubs/components/mqtt/vacuum.pyi +4 -3
  259. homeassistant-stubs/components/nasweb/const.pyi +1 -0
  260. homeassistant-stubs/components/nasweb/coordinator.pyi +3 -1
  261. homeassistant-stubs/components/nasweb/sensor.pyi +54 -0
  262. homeassistant-stubs/components/netatmo/climate.pyi +1 -1
  263. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  264. homeassistant-stubs/components/nextdns/__init__.pyi +2 -3
  265. homeassistant-stubs/components/nextdns/coordinator.pyi +10 -2
  266. homeassistant-stubs/components/nordpool/const.pyi +1 -0
  267. homeassistant-stubs/components/nordpool/services.pyi +5 -1
  268. homeassistant-stubs/components/number/const.pyi +2 -1
  269. homeassistant-stubs/components/nut/__init__.pyi +0 -1
  270. homeassistant-stubs/components/onewire/__init__.pyi +0 -1
  271. homeassistant-stubs/components/onewire/config_flow.pyi +2 -2
  272. homeassistant-stubs/components/onkyo/__init__.pyi +2 -3
  273. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -6
  274. homeassistant-stubs/components/onkyo/const.pyi +7 -65
  275. homeassistant-stubs/components/onkyo/media_player.pyi +16 -44
  276. homeassistant-stubs/components/onkyo/receiver.pyi +24 -25
  277. homeassistant-stubs/components/onkyo/services.pyi +3 -3
  278. homeassistant-stubs/components/onkyo/util.pyi +3 -0
  279. homeassistant-stubs/components/open_router/__init__.pyi +15 -0
  280. homeassistant-stubs/components/open_router/ai_task.pyi +17 -0
  281. homeassistant-stubs/components/open_router/config_flow.pyi +30 -0
  282. homeassistant-stubs/components/open_router/const.pyi +8 -0
  283. homeassistant-stubs/components/open_router/conversation.pyi +20 -0
  284. homeassistant-stubs/components/open_router/entity.pyi +33 -0
  285. homeassistant-stubs/components/openai_conversation/__init__.pyi +4 -2
  286. homeassistant-stubs/components/openai_conversation/ai_task.pyi +16 -0
  287. homeassistant-stubs/components/openai_conversation/config_flow.pyi +2 -3
  288. homeassistant-stubs/components/openai_conversation/const.pyi +9 -1
  289. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -22
  290. homeassistant-stubs/components/openai_conversation/entity.pyi +36 -0
  291. homeassistant-stubs/components/opower/__init__.pyi +8 -0
  292. homeassistant-stubs/components/opower/config_flow.pyi +30 -0
  293. homeassistant-stubs/components/opower/const.pyi +4 -0
  294. homeassistant-stubs/components/opower/coordinator.pyi +24 -0
  295. homeassistant-stubs/components/opower/sensor.pyi +35 -0
  296. homeassistant-stubs/components/pegel_online/__init__.pyi +1 -1
  297. homeassistant-stubs/components/pegel_online/sensor.pyi +2 -0
  298. homeassistant-stubs/components/pi_hole/__init__.pyi +6 -2
  299. homeassistant-stubs/components/pi_hole/config_flow.pyi +1 -2
  300. homeassistant-stubs/components/pi_hole/const.pyi +1 -0
  301. homeassistant-stubs/components/pi_hole/sensor.pyi +5 -0
  302. homeassistant-stubs/components/pi_hole/update.pyi +3 -3
  303. homeassistant-stubs/components/ping/__init__.pyi +0 -1
  304. homeassistant-stubs/components/ping/config_flow.pyi +3 -3
  305. homeassistant-stubs/components/plugwise/select.pyi +1 -1
  306. homeassistant-stubs/components/proximity/__init__.pyi +0 -1
  307. homeassistant-stubs/components/proximity/config_flow.pyi +3 -3
  308. homeassistant-stubs/components/purpleair/__init__.pyi +0 -1
  309. homeassistant-stubs/components/purpleair/config_flow.pyi +2 -2
  310. homeassistant-stubs/components/pyload/config_flow.pyi +4 -0
  311. homeassistant-stubs/components/recorder/pool.pyi +2 -1
  312. homeassistant-stubs/components/renault/__init__.pyi +1 -1
  313. homeassistant-stubs/components/renault/services.pyi +3 -2
  314. homeassistant-stubs/components/reolink/__init__.pyi +0 -1
  315. homeassistant-stubs/components/reolink/config_flow.pyi +2 -2
  316. homeassistant-stubs/components/reolink/number.pyi +1 -1
  317. homeassistant-stubs/components/reolink/sensor.pyi +1 -1
  318. homeassistant-stubs/components/rest/sensor.pyi +1 -3
  319. homeassistant-stubs/components/roborock/__init__.pyi +0 -1
  320. homeassistant-stubs/components/roborock/config_flow.pyi +2 -2
  321. homeassistant-stubs/components/roborock/vacuum.pyi +0 -2
  322. homeassistant-stubs/components/roku/__init__.pyi +0 -1
  323. homeassistant-stubs/components/roku/config_flow.pyi +2 -2
  324. homeassistant-stubs/components/russound_rio/const.pyi +2 -0
  325. homeassistant-stubs/components/russound_rio/media_player.pyi +6 -0
  326. homeassistant-stubs/components/scrape/sensor.pyi +1 -2
  327. homeassistant-stubs/components/sensor/const.pyi +2 -1
  328. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  329. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  330. homeassistant-stubs/components/shelly/button.pyi +2 -2
  331. homeassistant-stubs/components/shelly/climate.pyi +2 -2
  332. homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
  333. homeassistant-stubs/components/shelly/entity.pyi +3 -0
  334. homeassistant-stubs/components/shelly/event.pyi +2 -2
  335. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  336. homeassistant-stubs/components/shelly/utils.pyi +2 -2
  337. homeassistant-stubs/components/sleepiq/const.pyi +2 -0
  338. homeassistant-stubs/components/sleepiq/number.pyi +7 -3
  339. homeassistant-stubs/components/sleepiq/select.pyi +15 -2
  340. homeassistant-stubs/components/smhi/coordinator.pyi +3 -0
  341. homeassistant-stubs/components/smhi/entity.pyi +3 -1
  342. homeassistant-stubs/components/smhi/sensor.pyi +30 -0
  343. homeassistant-stubs/components/smhi/weather.pyi +4 -2
  344. homeassistant-stubs/components/sonarr/__init__.pyi +0 -1
  345. homeassistant-stubs/components/sonarr/config_flow.pyi +2 -2
  346. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +0 -1
  347. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +2 -2
  348. homeassistant-stubs/components/sql/__init__.pyi +0 -1
  349. homeassistant-stubs/components/sql/config_flow.pyi +2 -2
  350. homeassistant-stubs/components/squeezebox/__init__.pyi +3 -2
  351. homeassistant-stubs/components/squeezebox/browse_media.pyi +3 -1
  352. homeassistant-stubs/components/squeezebox/const.pyi +2 -3
  353. homeassistant-stubs/components/squeezebox/coordinator.pyi +2 -2
  354. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -2
  355. homeassistant-stubs/components/statistics/__init__.pyi +3 -1
  356. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  357. homeassistant-stubs/components/statistics/sensor.pyi +5 -5
  358. homeassistant-stubs/components/stookwijzer/__init__.pyi +4 -0
  359. homeassistant-stubs/components/stookwijzer/const.pyi +2 -0
  360. homeassistant-stubs/components/stookwijzer/services.pyi +17 -0
  361. homeassistant-stubs/components/switch_as_x/__init__.pyi +2 -2
  362. homeassistant-stubs/components/switch_as_x/entity.pyi +1 -3
  363. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -0
  364. homeassistant-stubs/components/switchbot_cloud/const.pyi +1 -0
  365. homeassistant-stubs/components/switchbot_cloud/fan.pyi +26 -0
  366. homeassistant-stubs/components/switchbot_cloud/light.pyi +40 -0
  367. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +17 -1
  368. homeassistant-stubs/components/synology_dsm/__init__.pyi +0 -1
  369. homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
  370. homeassistant-stubs/components/tankerkoenig/__init__.pyi +10 -0
  371. homeassistant-stubs/components/tankerkoenig/binary_sensor.pyi +23 -0
  372. homeassistant-stubs/components/tankerkoenig/config_flow.pyi +33 -0
  373. homeassistant-stubs/components/tankerkoenig/const.pyi +13 -0
  374. homeassistant-stubs/components/tankerkoenig/coordinator.pyi +22 -0
  375. homeassistant-stubs/components/tankerkoenig/diagnostics.pyi +10 -0
  376. homeassistant-stubs/components/tankerkoenig/entity.pyi +11 -0
  377. homeassistant-stubs/components/tankerkoenig/sensor.pyi +28 -0
  378. homeassistant-stubs/components/threshold/__init__.pyi +5 -1
  379. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -4
  380. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  381. homeassistant-stubs/components/time_date/config_flow.pyi +1 -2
  382. homeassistant-stubs/components/trafikverket_train/__init__.pyi +0 -1
  383. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +2 -2
  384. homeassistant-stubs/components/trend/__init__.pyi +3 -1
  385. homeassistant-stubs/components/trend/binary_sensor.pyi +3 -4
  386. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  387. homeassistant-stubs/components/tts/entity.pyi +0 -2
  388. homeassistant-stubs/components/unifi/hub/entity_loader.pyi +3 -2
  389. homeassistant-stubs/components/unifiprotect/__init__.pyi +5 -5
  390. homeassistant-stubs/components/unifiprotect/config_flow.pyi +5 -5
  391. homeassistant-stubs/components/unifiprotect/repairs.pyi +0 -6
  392. homeassistant-stubs/components/unifiprotect/services.pyi +1 -1
  393. homeassistant-stubs/components/uptime_kuma/__init__.pyi +14 -0
  394. homeassistant-stubs/components/uptime_kuma/config_flow.pyi +26 -0
  395. homeassistant-stubs/components/uptime_kuma/const.pyi +7 -0
  396. homeassistant-stubs/components/uptime_kuma/coordinator.pyi +30 -0
  397. homeassistant-stubs/components/uptime_kuma/diagnostics.pyi +9 -0
  398. homeassistant-stubs/components/uptime_kuma/sensor.pyi +46 -0
  399. homeassistant-stubs/components/uptime_kuma/update.pyi +39 -0
  400. homeassistant-stubs/components/vacuum/__init__.pyi +8 -0
  401. homeassistant-stubs/components/velbus/__init__.pyi +1 -1
  402. homeassistant-stubs/components/velbus/const.pyi +0 -1
  403. homeassistant-stubs/components/velbus/services.pyi +4 -4
  404. homeassistant-stubs/components/vodafone_station/__init__.pyi +0 -1
  405. homeassistant-stubs/components/vodafone_station/config_flow.pyi +2 -2
  406. homeassistant-stubs/components/volvo/__init__.pyi +15 -0
  407. homeassistant-stubs/components/volvo/api.pyi +14 -0
  408. homeassistant-stubs/components/volvo/application_credentials.pyi +9 -0
  409. homeassistant-stubs/components/volvo/config_flow.pyi +36 -0
  410. homeassistant-stubs/components/volvo/const.pyi +8 -0
  411. homeassistant-stubs/components/volvo/coordinator.pyi +46 -0
  412. homeassistant-stubs/components/volvo/entity.pyi +33 -0
  413. homeassistant-stubs/components/volvo/sensor.pyi +35 -0
  414. homeassistant-stubs/components/wallbox/__init__.pyi +4 -5
  415. homeassistant-stubs/components/wallbox/coordinator.pyi +8 -2
  416. homeassistant-stubs/components/wallbox/lock.pyi +5 -4
  417. homeassistant-stubs/components/wallbox/number.pyi +6 -5
  418. homeassistant-stubs/components/wallbox/select.pyi +4 -3
  419. homeassistant-stubs/components/wallbox/sensor.pyi +5 -4
  420. homeassistant-stubs/components/wallbox/switch.pyi +5 -4
  421. homeassistant-stubs/components/waqi/__init__.pyi +3 -5
  422. homeassistant-stubs/components/waqi/coordinator.pyi +3 -2
  423. homeassistant-stubs/components/waqi/sensor.pyi +2 -13
  424. homeassistant-stubs/components/webostv/__init__.pyi +0 -1
  425. homeassistant-stubs/components/webostv/config_flow.pyi +3 -3
  426. homeassistant-stubs/components/websocket_api/commands.pyi +4 -0
  427. homeassistant-stubs/components/wiz/fan.pyi +34 -0
  428. homeassistant-stubs/components/wled/__init__.pyi +0 -1
  429. homeassistant-stubs/components/wled/config_flow.pyi +2 -2
  430. homeassistant-stubs/components/workday/__init__.pyi +0 -1
  431. homeassistant-stubs/components/workday/config_flow.pyi +2 -2
  432. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +0 -1
  433. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +2 -2
  434. homeassistant-stubs/components/yalexs_ble/lock.pyi +14 -2
  435. homeassistant-stubs/components/zone/condition.pyi +22 -0
  436. homeassistant-stubs/components/zone/trigger.pyi +2 -1
  437. homeassistant-stubs/components/zwave_js/__init__.pyi +12 -10
  438. homeassistant-stubs/components/zwave_js/api.pyi +36 -35
  439. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +7 -7
  440. homeassistant-stubs/components/zwave_js/button.pyi +5 -5
  441. homeassistant-stubs/components/zwave_js/climate.pyi +5 -5
  442. homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -4
  443. homeassistant-stubs/components/zwave_js/const.pyi +0 -3
  444. homeassistant-stubs/components/zwave_js/cover.pyi +7 -7
  445. homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi +1 -1
  446. homeassistant-stubs/components/zwave_js/diagnostics.pyi +5 -5
  447. homeassistant-stubs/components/zwave_js/event.pyi +4 -4
  448. homeassistant-stubs/components/zwave_js/fan.pyi +6 -6
  449. homeassistant-stubs/components/zwave_js/helpers.pyi +10 -6
  450. homeassistant-stubs/components/zwave_js/humidifier.pyi +4 -4
  451. homeassistant-stubs/components/zwave_js/light.pyi +15 -5
  452. homeassistant-stubs/components/zwave_js/lock.pyi +3 -3
  453. homeassistant-stubs/components/zwave_js/models.pyi +12 -0
  454. homeassistant-stubs/components/zwave_js/number.pyi +6 -6
  455. homeassistant-stubs/components/zwave_js/select.pyi +8 -8
  456. homeassistant-stubs/components/zwave_js/sensor.pyi +10 -10
  457. homeassistant-stubs/components/zwave_js/siren.pyi +4 -4
  458. homeassistant-stubs/components/zwave_js/switch.pyi +7 -7
  459. homeassistant-stubs/components/zwave_js/triggers/event.pyi +1 -2
  460. homeassistant-stubs/components/zwave_js/triggers/trigger_helpers.pyi +1 -1
  461. homeassistant-stubs/components/zwave_js/update.pyi +28 -18
  462. homeassistant-stubs/config.pyi +0 -2
  463. homeassistant-stubs/config_entries.pyi +3 -0
  464. homeassistant-stubs/const.pyi +2 -0
  465. homeassistant-stubs/core.pyi +12 -8
  466. homeassistant-stubs/helpers/condition.pyi +25 -6
  467. homeassistant-stubs/helpers/config_validation.pyi +0 -2
  468. homeassistant-stubs/helpers/device.pyi +2 -0
  469. homeassistant-stubs/helpers/device_registry.pyi +16 -8
  470. homeassistant-stubs/helpers/entity.pyi +3 -1
  471. homeassistant-stubs/helpers/entity_platform.pyi +30 -9
  472. homeassistant-stubs/helpers/frame.pyi +1 -1
  473. homeassistant-stubs/helpers/helper_integration.pyi +2 -1
  474. homeassistant-stubs/helpers/llm.pyi +5 -1
  475. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +1 -0
  476. homeassistant-stubs/helpers/selector.pyi +42 -37
  477. homeassistant-stubs/helpers/service.pyi +9 -26
  478. homeassistant-stubs/helpers/target.pyi +59 -0
  479. homeassistant-stubs/helpers/trigger.pyi +3 -1
  480. homeassistant-stubs/helpers/trigger_template_entity.pyi +5 -1
  481. homeassistant-stubs/loader.pyi +2 -9
  482. homeassistant-stubs/runner.pyi +1 -0
  483. homeassistant-stubs/util/resource.pyi +7 -0
  484. homeassistant-stubs/util/unit_conversion.pyi +1 -1
  485. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0.dist-info}/METADATA +2 -2
  486. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0.dist-info}/RECORD +488 -419
  487. homeassistant-stubs/components/backup/basic_websocket.pyi +0 -12
  488. homeassistant-stubs/helpers/backup.pyi +0 -24
  489. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0.dist-info}/WHEEL +0 -0
  490. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,26 +1,11 @@
1
- import meteireann
2
1
  from .const import DOMAIN as DOMAIN
2
+ from .coordinator import MetEireannUpdateCoordinator as MetEireannUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
- from collections.abc import Mapping
5
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
- from homeassistant.const import CONF_ELEVATION as CONF_ELEVATION, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, Platform as Platform
5
+ from homeassistant.const import Platform as Platform
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant
8
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
10
- from typing import Any, Self
11
7
 
12
- _LOGGER: Incomplete
13
- UPDATE_INTERVAL: Incomplete
14
8
  PLATFORMS: Incomplete
15
9
 
16
10
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
17
11
  async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
18
-
19
- class MetEireannWeatherData:
20
- _config: Incomplete
21
- _weather_data: Incomplete
22
- current_weather_data: dict[str, Any]
23
- daily_forecast: list[dict[str, Any]]
24
- hourly_forecast: list[dict[str, Any]]
25
- def __init__(self, config: Mapping[str, Any], weather_data: meteireann.WeatherData) -> None: ...
26
- async def fetch_data(self) -> Self: ...
@@ -0,0 +1,28 @@
1
+ import meteireann
2
+ from .const import DOMAIN as DOMAIN
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Mapping
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.const import CONF_ELEVATION as CONF_ELEVATION, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
10
+ from typing import Any, Self
11
+
12
+ _LOGGER: Incomplete
13
+ UPDATE_INTERVAL: Incomplete
14
+
15
+ class MetEireannWeatherData:
16
+ _config: Incomplete
17
+ _weather_data: Incomplete
18
+ current_weather_data: dict[str, Any]
19
+ daily_forecast: list[dict[str, Any]]
20
+ hourly_forecast: list[dict[str, Any]]
21
+ def __init__(self, config: Mapping[str, Any], weather_data: meteireann.WeatherData) -> None: ...
22
+ async def fetch_data(self) -> Self: ...
23
+
24
+ class MetEireannUpdateCoordinator(DataUpdateCoordinator[MetEireannWeatherData]):
25
+ config_entry: ConfigEntry
26
+ _weather_data: Incomplete
27
+ def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
28
+ async def _async_update_data(self) -> MetEireannWeatherData: ...
@@ -1,5 +1,5 @@
1
- from . import MetEireannWeatherData as MetEireannWeatherData
2
1
  from .const import CONDITION_MAP as CONDITION_MAP, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN, FORECAST_MAP as FORECAST_MAP
2
+ from .coordinator import MetEireannWeatherData as MetEireannWeatherData
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Mapping
5
5
  from homeassistant.components.weather import ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_TIME as ATTR_FORECAST_TIME, Forecast as Forecast, SingleCoordinatorWeatherEntity as SingleCoordinatorWeatherEntity, WeatherEntityFeature as WeatherEntityFeature
@@ -11,8 +11,6 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
11
11
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
12
12
  from typing import Any
13
13
 
14
- _LOGGER: Incomplete
15
-
16
14
  def format_condition(condition: str | None) -> str | None: ...
17
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
16
  def _calculate_unique_id(config: Mapping[str, Any], hourly: bool) -> str: ...
@@ -1,15 +1,20 @@
1
1
  from .api import AsyncConfigEntryAuth as AsyncConfigEntryAuth
2
2
  from .const import DOMAIN as DOMAIN
3
3
  from .coordinator import MieleConfigEntry as MieleConfigEntry, MieleDataUpdateCoordinator as MieleDataUpdateCoordinator
4
+ from .services import async_setup_services as async_setup_services
5
+ from _typeshed import Incomplete
4
6
  from homeassistant.const import Platform as Platform
5
7
  from homeassistant.core import HomeAssistant as HomeAssistant
6
8
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
7
9
  from homeassistant.helpers import device_registry as dr
8
10
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
11
  from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session, async_get_config_entry_implementation as async_get_config_entry_implementation
12
+ from homeassistant.helpers.typing import ConfigType as ConfigType
10
13
 
11
14
  PLATFORMS: list[Platform]
15
+ CONFIG_SCHEMA: Incomplete
12
16
 
17
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
13
18
  async def async_setup_entry(hass: HomeAssistant, entry: MieleConfigEntry) -> bool: ...
14
19
  async def async_unload_entry(hass: HomeAssistant, entry: MieleConfigEntry) -> bool: ...
15
20
  async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: MieleConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
@@ -22,7 +22,7 @@ class MieleDataUpdateCoordinator(DataUpdateCoordinator[MieleCoordinatorData]):
22
22
  known_devices: set[str]
23
23
  devices: dict[str, MieleDevice]
24
24
  api: Incomplete
25
- def __init__(self, hass: HomeAssistant, api: AsyncConfigEntryAuth) -> None: ...
25
+ def __init__(self, hass: HomeAssistant, config_entry: MieleConfigEntry, api: AsyncConfigEntryAuth) -> None: ...
26
26
  async def _async_update_data(self) -> MieleCoordinatorData: ...
27
27
  def async_add_devices(self, added_devices: set[str]) -> tuple[set[str], set[str]]: ...
28
28
  async def callback_update_data(self, devices_json: dict[str, dict]) -> None: ...
@@ -9,6 +9,8 @@ from pymiele import MieleAction as MieleAction, MieleDevice as MieleDevice
9
9
 
10
10
  class MieleEntity(CoordinatorEntity[MieleDataUpdateCoordinator]):
11
11
  _attr_has_entity_name: bool
12
+ @staticmethod
13
+ def get_unique_id(device_id: str, description: EntityDescription) -> str: ...
12
14
  _device_id: Incomplete
13
15
  entity_description: Incomplete
14
16
  _attr_unique_id: Incomplete
@@ -1,4 +1,4 @@
1
- from .const import MieleAppliance as MieleAppliance, PlatePowerStep as PlatePowerStep, STATE_PROGRAM_ID as STATE_PROGRAM_ID, STATE_PROGRAM_PHASE as STATE_PROGRAM_PHASE, STATE_STATUS_TAGS as STATE_STATUS_TAGS, StateDryingStep as StateDryingStep, StateProgramType as StateProgramType, StateStatus as StateStatus
1
+ from .const import DISABLED_TEMP_ENTITIES as DISABLED_TEMP_ENTITIES, DOMAIN as DOMAIN, MieleAppliance as MieleAppliance, PlatePowerStep as PlatePowerStep, STATE_PROGRAM_ID as STATE_PROGRAM_ID, STATE_PROGRAM_PHASE as STATE_PROGRAM_PHASE, STATE_STATUS_TAGS as STATE_STATUS_TAGS, StateDryingStep as StateDryingStep, StateProgramType as StateProgramType, StateStatus as StateStatus
2
2
  from .coordinator import MieleConfigEntry as MieleConfigEntry, MieleDataUpdateCoordinator as MieleDataUpdateCoordinator
3
3
  from .entity import MieleEntity as MieleEntity
4
4
  from _typeshed import Incomplete
@@ -9,22 +9,23 @@ from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
11
  from homeassistant.helpers.typing import StateType as StateType
12
- from pymiele import MieleDevice as MieleDevice
12
+ from pymiele import MieleDevice as MieleDevice, MieleTemperature as MieleTemperature
13
13
  from typing import Final
14
14
 
15
15
  PARALLEL_UPDATES: int
16
16
  _LOGGER: Incomplete
17
- DISABLED_TEMPERATURE: int
18
17
  DEFAULT_PLATE_COUNT: int
19
18
  PLATE_COUNT: Incomplete
20
19
 
21
20
  def _get_plate_count(tech_type: str) -> int: ...
22
21
  def _convert_duration(value_list: list[int]) -> int | None: ...
22
+ def _convert_temperature(value_list: list[MieleTemperature], index: int) -> float | None: ...
23
23
 
24
24
  @dataclass(frozen=True, kw_only=True)
25
25
  class MieleSensorDescription(SensorEntityDescription):
26
26
  value_fn: Callable[[MieleDevice], StateType]
27
- zone: int = ...
27
+ zone: int | None = ...
28
+ unique_id_fn: Callable[[str, MieleSensorDescription], str] | None = ...
28
29
 
29
30
  @dataclass
30
31
  class MieleSensorDefinition:
@@ -39,13 +40,13 @@ APPLIANCE_ICONS: Incomplete
39
40
 
40
41
  class MieleSensor(MieleEntity, SensorEntity):
41
42
  entity_description: MieleSensorDescription
43
+ _attr_unique_id: Incomplete
44
+ def __init__(self, coordinator: MieleDataUpdateCoordinator, device_id: str, description: MieleSensorDescription) -> None: ...
42
45
  @property
43
46
  def native_value(self) -> StateType: ...
44
47
 
45
48
  class MielePlateSensor(MieleSensor):
46
49
  entity_description: MieleSensorDescription
47
- _attr_unique_id: Incomplete
48
- def __init__(self, coordinator: MieleDataUpdateCoordinator, device_id: str, description: MieleSensorDescription) -> None: ...
49
50
  @property
50
51
  def native_value(self) -> StateType: ...
51
52
 
@@ -0,0 +1,24 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import MieleConfigEntry as MieleConfigEntry
3
+ from _typeshed import Incomplete
4
+ from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_TEMPERATURE as ATTR_TEMPERATURE
5
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
6
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
7
+ from homeassistant.helpers.service import async_extract_config_entry_ids as async_extract_config_entry_ids
8
+
9
+ ATTR_PROGRAM_ID: str
10
+ ATTR_DURATION: str
11
+ SERVICE_SET_PROGRAM: str
12
+ SERVICE_SET_PROGRAM_SCHEMA: Incomplete
13
+ SERVICE_SET_PROGRAM_OVEN: str
14
+ SERVICE_SET_PROGRAM_OVEN_SCHEMA: Incomplete
15
+ SERVICE_GET_PROGRAMS: str
16
+ SERVICE_GET_PROGRAMS_SCHEMA: Incomplete
17
+ _LOGGER: Incomplete
18
+
19
+ async def _extract_config_entry(service_call: ServiceCall) -> MieleConfigEntry: ...
20
+ async def _get_serial_number(call: ServiceCall) -> str: ...
21
+ async def set_program(call: ServiceCall) -> None: ...
22
+ async def set_program_oven(call: ServiceCall) -> None: ...
23
+ async def get_programs(call: ServiceCall) -> ServiceResponse: ...
24
+ async def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -71,8 +71,6 @@ class MieleVacuum(MieleEntity, StateVacuumEntity):
71
71
  @property
72
72
  def activity(self) -> VacuumActivity | None: ...
73
73
  @property
74
- def battery_level(self) -> int | None: ...
75
- @property
76
74
  def fan_speed(self) -> str | None: ...
77
75
  @property
78
76
  def available(self) -> bool: ...
@@ -1,6 +1,6 @@
1
1
  from .const import CID as CID, DATA_KEY_API as DATA_KEY_API, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from homeassistant.components.sensor import SensorEntity as SensorEntity
3
+ from homeassistant.components.sensor import RestoreSensor as RestoreSensor
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, STATE_IDLE as STATE_IDLE
6
6
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
@@ -10,7 +10,7 @@ from phone_modem import PhoneModem as PhoneModem
10
10
 
11
11
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
12
12
 
13
- class ModemCalleridSensor(SensorEntity):
13
+ class ModemCalleridSensor(RestoreSensor):
14
14
  _attr_should_poll: bool
15
15
  _attr_has_entity_name: bool
16
16
  _attr_name: Incomplete
@@ -1,10 +1,17 @@
1
+ from .const import CONF_INDOOR_HUMIDITY as CONF_INDOOR_HUMIDITY, CONF_INDOOR_TEMP as CONF_INDOOR_TEMP, CONF_OUTDOOR_TEMP as CONF_OUTDOOR_TEMP
1
2
  from _typeshed import Incomplete
3
+ from collections.abc import Callable as Callable
2
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
5
  from homeassistant.const import Platform as Platform
4
- from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
7
+ from homeassistant.helpers.device import async_entity_id_to_device_id as async_entity_id_to_device_id, async_remove_stale_devices_links_keep_entity_device as async_remove_stale_devices_links_keep_entity_device
8
+ from homeassistant.helpers.event import async_track_entity_registry_updated_event as async_track_entity_registry_updated_event
9
+ from homeassistant.helpers.helper_integration import async_handle_source_entity_changes as async_handle_source_entity_changes, async_remove_helper_config_entry_from_source_device as async_remove_helper_config_entry_from_source_device
5
10
 
6
11
  PLATFORMS: Incomplete
12
+ _LOGGER: Incomplete
7
13
 
8
14
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
9
15
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
10
16
  async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
17
+ async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
@@ -22,6 +22,8 @@ OPTIONS_FLOW: Incomplete
22
22
  class MoldIndicatorConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
23
23
  config_flow = CONFIG_FLOW
24
24
  options_flow = OPTIONS_FLOW
25
+ VERSION: int
26
+ MINOR_VERSION: int
25
27
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
26
28
  @staticmethod
27
29
  async def async_setup_preview(hass: HomeAssistant) -> None: ...
@@ -6,7 +6,7 @@ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceCla
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, PERCENTAGE as PERCENTAGE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTemperature as UnitOfTemperature
8
8
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State, callback as callback
9
- from homeassistant.helpers.device import async_device_info_to_link_from_entity as async_device_info_to_link_from_entity
9
+ from homeassistant.helpers.device import async_entity_id_to_device as async_entity_id_to_device
10
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, AddEntitiesCallback as AddEntitiesCallback
11
11
  from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
12
12
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
@@ -43,7 +43,7 @@ class MoldIndicator(SensorEntity):
43
43
  _outdoor_temp: float | None
44
44
  _indoor_hum: float | None
45
45
  _crit_temp: float | None
46
- _attr_device_info: Incomplete
46
+ device_entry: Incomplete
47
47
  _preview_callback: Callable[[str, Mapping[str, Any]], None] | None
48
48
  def __init__(self, hass: HomeAssistant, name: str, is_metric: bool, indoor_temp_sensor: str, outdoor_temp_sensor: str, indoor_humidity_sensor: str, calib_factor: float, unique_id: str | None) -> None: ...
49
49
  @callback
@@ -1,7 +1,7 @@
1
1
  import abc
2
2
  from . import subscription as subscription
3
3
  from .config import DEFAULT_RETAIN as DEFAULT_RETAIN, MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
4
- from .const import CONF_ACTION_TEMPLATE as CONF_ACTION_TEMPLATE, CONF_ACTION_TOPIC as CONF_ACTION_TOPIC, CONF_CURRENT_HUMIDITY_TEMPLATE as CONF_CURRENT_HUMIDITY_TEMPLATE, CONF_CURRENT_HUMIDITY_TOPIC as CONF_CURRENT_HUMIDITY_TOPIC, 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
4
+ from .const import CONF_ACTION_TEMPLATE as CONF_ACTION_TEMPLATE, CONF_ACTION_TOPIC as CONF_ACTION_TOPIC, CONF_CURRENT_HUMIDITY_TEMPLATE as CONF_CURRENT_HUMIDITY_TEMPLATE, CONF_CURRENT_HUMIDITY_TOPIC as CONF_CURRENT_HUMIDITY_TOPIC, CONF_CURRENT_TEMP_TEMPLATE as CONF_CURRENT_TEMP_TEMPLATE, CONF_CURRENT_TEMP_TOPIC as CONF_CURRENT_TEMP_TOPIC, CONF_FAN_MODE_COMMAND_TEMPLATE as CONF_FAN_MODE_COMMAND_TEMPLATE, CONF_FAN_MODE_COMMAND_TOPIC as CONF_FAN_MODE_COMMAND_TOPIC, CONF_FAN_MODE_LIST as CONF_FAN_MODE_LIST, CONF_FAN_MODE_STATE_TEMPLATE as CONF_FAN_MODE_STATE_TEMPLATE, CONF_FAN_MODE_STATE_TOPIC as CONF_FAN_MODE_STATE_TOPIC, CONF_HUMIDITY_COMMAND_TEMPLATE as CONF_HUMIDITY_COMMAND_TEMPLATE, CONF_HUMIDITY_COMMAND_TOPIC as CONF_HUMIDITY_COMMAND_TOPIC, CONF_HUMIDITY_MAX as CONF_HUMIDITY_MAX, CONF_HUMIDITY_MIN as CONF_HUMIDITY_MIN, CONF_HUMIDITY_STATE_TEMPLATE as CONF_HUMIDITY_STATE_TEMPLATE, CONF_HUMIDITY_STATE_TOPIC as CONF_HUMIDITY_STATE_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_PRESET_MODES_LIST as CONF_PRESET_MODES_LIST, CONF_PRESET_MODE_COMMAND_TEMPLATE as CONF_PRESET_MODE_COMMAND_TEMPLATE, CONF_PRESET_MODE_COMMAND_TOPIC as CONF_PRESET_MODE_COMMAND_TOPIC, CONF_PRESET_MODE_STATE_TOPIC as CONF_PRESET_MODE_STATE_TOPIC, CONF_PRESET_MODE_VALUE_TEMPLATE as CONF_PRESET_MODE_VALUE_TEMPLATE, CONF_RETAIN as CONF_RETAIN, CONF_SWING_HORIZONTAL_MODE_COMMAND_TEMPLATE as CONF_SWING_HORIZONTAL_MODE_COMMAND_TEMPLATE, CONF_SWING_HORIZONTAL_MODE_COMMAND_TOPIC as CONF_SWING_HORIZONTAL_MODE_COMMAND_TOPIC, CONF_SWING_HORIZONTAL_MODE_LIST as CONF_SWING_HORIZONTAL_MODE_LIST, CONF_SWING_HORIZONTAL_MODE_STATE_TEMPLATE as CONF_SWING_HORIZONTAL_MODE_STATE_TEMPLATE, CONF_SWING_HORIZONTAL_MODE_STATE_TOPIC as CONF_SWING_HORIZONTAL_MODE_STATE_TOPIC, CONF_SWING_MODE_COMMAND_TEMPLATE as CONF_SWING_MODE_COMMAND_TEMPLATE, CONF_SWING_MODE_COMMAND_TOPIC as CONF_SWING_MODE_COMMAND_TOPIC, CONF_SWING_MODE_LIST as CONF_SWING_MODE_LIST, CONF_SWING_MODE_STATE_TEMPLATE as CONF_SWING_MODE_STATE_TEMPLATE, CONF_SWING_MODE_STATE_TOPIC as CONF_SWING_MODE_STATE_TOPIC, CONF_TEMP_COMMAND_TEMPLATE as CONF_TEMP_COMMAND_TEMPLATE, CONF_TEMP_COMMAND_TOPIC as CONF_TEMP_COMMAND_TOPIC, CONF_TEMP_HIGH_COMMAND_TEMPLATE as CONF_TEMP_HIGH_COMMAND_TEMPLATE, CONF_TEMP_HIGH_COMMAND_TOPIC as CONF_TEMP_HIGH_COMMAND_TOPIC, CONF_TEMP_HIGH_STATE_TEMPLATE as CONF_TEMP_HIGH_STATE_TEMPLATE, CONF_TEMP_HIGH_STATE_TOPIC as CONF_TEMP_HIGH_STATE_TOPIC, CONF_TEMP_INITIAL as CONF_TEMP_INITIAL, CONF_TEMP_LOW_COMMAND_TEMPLATE as CONF_TEMP_LOW_COMMAND_TEMPLATE, CONF_TEMP_LOW_COMMAND_TOPIC as CONF_TEMP_LOW_COMMAND_TOPIC, CONF_TEMP_LOW_STATE_TEMPLATE as CONF_TEMP_LOW_STATE_TEMPLATE, CONF_TEMP_LOW_STATE_TOPIC as CONF_TEMP_LOW_STATE_TOPIC, 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, CONF_TEMP_STEP as CONF_TEMP_STEP, DEFAULT_CLIMATE_INITIAL_TEMPERATURE as DEFAULT_CLIMATE_INITIAL_TEMPERATURE, DEFAULT_OPTIMISTIC as DEFAULT_OPTIMISTIC, PAYLOAD_NONE as PAYLOAD_NONE
5
5
  from .entity import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
6
6
  from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
7
7
  from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
@@ -24,42 +24,6 @@ from typing import Any
24
24
  _LOGGER: Incomplete
25
25
  PARALLEL_UPDATES: int
26
26
  DEFAULT_NAME: str
27
- CONF_FAN_MODE_COMMAND_TEMPLATE: str
28
- CONF_FAN_MODE_COMMAND_TOPIC: str
29
- CONF_FAN_MODE_LIST: str
30
- CONF_FAN_MODE_STATE_TEMPLATE: str
31
- CONF_FAN_MODE_STATE_TOPIC: str
32
- CONF_HUMIDITY_COMMAND_TEMPLATE: str
33
- CONF_HUMIDITY_COMMAND_TOPIC: str
34
- CONF_HUMIDITY_STATE_TEMPLATE: str
35
- CONF_HUMIDITY_STATE_TOPIC: str
36
- CONF_HUMIDITY_MAX: str
37
- CONF_HUMIDITY_MIN: str
38
- CONF_PRESET_MODE_STATE_TOPIC: str
39
- CONF_PRESET_MODE_COMMAND_TOPIC: str
40
- CONF_PRESET_MODE_VALUE_TEMPLATE: str
41
- CONF_PRESET_MODE_COMMAND_TEMPLATE: str
42
- CONF_PRESET_MODES_LIST: str
43
- CONF_SWING_HORIZONTAL_MODE_COMMAND_TEMPLATE: str
44
- CONF_SWING_HORIZONTAL_MODE_COMMAND_TOPIC: str
45
- CONF_SWING_HORIZONTAL_MODE_LIST: str
46
- CONF_SWING_HORIZONTAL_MODE_STATE_TEMPLATE: str
47
- CONF_SWING_HORIZONTAL_MODE_STATE_TOPIC: str
48
- CONF_SWING_MODE_COMMAND_TEMPLATE: str
49
- CONF_SWING_MODE_COMMAND_TOPIC: str
50
- CONF_SWING_MODE_LIST: str
51
- CONF_SWING_MODE_STATE_TEMPLATE: str
52
- CONF_SWING_MODE_STATE_TOPIC: str
53
- CONF_TEMP_HIGH_COMMAND_TEMPLATE: str
54
- CONF_TEMP_HIGH_COMMAND_TOPIC: str
55
- CONF_TEMP_HIGH_STATE_TEMPLATE: str
56
- CONF_TEMP_HIGH_STATE_TOPIC: str
57
- CONF_TEMP_LOW_COMMAND_TEMPLATE: str
58
- CONF_TEMP_LOW_COMMAND_TOPIC: str
59
- CONF_TEMP_LOW_STATE_TEMPLATE: str
60
- CONF_TEMP_LOW_STATE_TOPIC: str
61
- CONF_TEMP_STEP: str
62
- DEFAULT_INITIAL_TEMPERATURE: float
63
27
  MQTT_CLIMATE_ATTRIBUTES_BLOCKED: Incomplete
64
28
  VALUE_TEMPLATE_KEYS: Incomplete
65
29
  COMMAND_TEMPLATE_KEYS: Incomplete
@@ -2,7 +2,7 @@ import asyncio
2
2
  import voluptuous as vol
3
3
  from .addon import get_addon_manager as get_addon_manager
4
4
  from .client import MqttClientSetup as MqttClientSetup
5
- from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONFIG_ENTRY_MINOR_VERSION as CONFIG_ENTRY_MINOR_VERSION, CONFIG_ENTRY_VERSION as CONFIG_ENTRY_VERSION, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BLUE_TEMPLATE as CONF_BLUE_TEMPLATE, CONF_BRIGHTNESS_COMMAND_TEMPLATE as CONF_BRIGHTNESS_COMMAND_TEMPLATE, CONF_BRIGHTNESS_COMMAND_TOPIC as CONF_BRIGHTNESS_COMMAND_TOPIC, CONF_BRIGHTNESS_SCALE as CONF_BRIGHTNESS_SCALE, CONF_BRIGHTNESS_STATE_TOPIC as CONF_BRIGHTNESS_STATE_TOPIC, CONF_BRIGHTNESS_TEMPLATE as CONF_BRIGHTNESS_TEMPLATE, CONF_BRIGHTNESS_VALUE_TEMPLATE as CONF_BRIGHTNESS_VALUE_TEMPLATE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_COLOR_MODE_STATE_TOPIC as CONF_COLOR_MODE_STATE_TOPIC, CONF_COLOR_MODE_VALUE_TEMPLATE as CONF_COLOR_MODE_VALUE_TEMPLATE, CONF_COLOR_TEMP_COMMAND_TEMPLATE as CONF_COLOR_TEMP_COMMAND_TEMPLATE, CONF_COLOR_TEMP_COMMAND_TOPIC as CONF_COLOR_TEMP_COMMAND_TOPIC, CONF_COLOR_TEMP_KELVIN as CONF_COLOR_TEMP_KELVIN, CONF_COLOR_TEMP_STATE_TOPIC as CONF_COLOR_TEMP_STATE_TOPIC, CONF_COLOR_TEMP_TEMPLATE as CONF_COLOR_TEMP_TEMPLATE, CONF_COLOR_TEMP_VALUE_TEMPLATE as CONF_COLOR_TEMP_VALUE_TEMPLATE, CONF_COMMAND_OFF_TEMPLATE as CONF_COMMAND_OFF_TEMPLATE, CONF_COMMAND_ON_TEMPLATE as CONF_COMMAND_ON_TEMPLATE, CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_DIRECTION_COMMAND_TEMPLATE as CONF_DIRECTION_COMMAND_TEMPLATE, CONF_DIRECTION_COMMAND_TOPIC as CONF_DIRECTION_COMMAND_TOPIC, CONF_DIRECTION_STATE_TOPIC as CONF_DIRECTION_STATE_TOPIC, CONF_DIRECTION_VALUE_TEMPLATE as CONF_DIRECTION_VALUE_TEMPLATE, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_EFFECT_COMMAND_TEMPLATE as CONF_EFFECT_COMMAND_TEMPLATE, CONF_EFFECT_COMMAND_TOPIC as CONF_EFFECT_COMMAND_TOPIC, CONF_EFFECT_LIST as CONF_EFFECT_LIST, CONF_EFFECT_STATE_TOPIC as CONF_EFFECT_STATE_TOPIC, CONF_EFFECT_TEMPLATE as CONF_EFFECT_TEMPLATE, CONF_EFFECT_VALUE_TEMPLATE as CONF_EFFECT_VALUE_TEMPLATE, CONF_ENTITY_PICTURE as CONF_ENTITY_PICTURE, CONF_EXPIRE_AFTER as CONF_EXPIRE_AFTER, CONF_FLASH as CONF_FLASH, CONF_FLASH_TIME_LONG as CONF_FLASH_TIME_LONG, CONF_FLASH_TIME_SHORT as CONF_FLASH_TIME_SHORT, CONF_GET_POSITION_TEMPLATE as CONF_GET_POSITION_TEMPLATE, CONF_GET_POSITION_TOPIC as CONF_GET_POSITION_TOPIC, CONF_GREEN_TEMPLATE as CONF_GREEN_TEMPLATE, CONF_HS_COMMAND_TEMPLATE as CONF_HS_COMMAND_TEMPLATE, CONF_HS_COMMAND_TOPIC as CONF_HS_COMMAND_TOPIC, CONF_HS_STATE_TOPIC as CONF_HS_STATE_TOPIC, CONF_HS_VALUE_TEMPLATE as CONF_HS_VALUE_TEMPLATE, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_LAST_RESET_VALUE_TEMPLATE as CONF_LAST_RESET_VALUE_TEMPLATE, CONF_MAX_KELVIN as CONF_MAX_KELVIN, CONF_MIN_KELVIN as CONF_MIN_KELVIN, CONF_OFF_DELAY as CONF_OFF_DELAY, CONF_ON_COMMAND_TYPE as CONF_ON_COMMAND_TYPE, CONF_OPTIONS as CONF_OPTIONS, CONF_OSCILLATION_COMMAND_TEMPLATE as CONF_OSCILLATION_COMMAND_TEMPLATE, CONF_OSCILLATION_COMMAND_TOPIC as CONF_OSCILLATION_COMMAND_TOPIC, CONF_OSCILLATION_STATE_TOPIC as CONF_OSCILLATION_STATE_TOPIC, CONF_OSCILLATION_VALUE_TEMPLATE as CONF_OSCILLATION_VALUE_TEMPLATE, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_CLOSE as CONF_PAYLOAD_CLOSE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_PAYLOAD_OPEN as CONF_PAYLOAD_OPEN, CONF_PAYLOAD_OSCILLATION_OFF as CONF_PAYLOAD_OSCILLATION_OFF, CONF_PAYLOAD_OSCILLATION_ON as CONF_PAYLOAD_OSCILLATION_ON, CONF_PAYLOAD_PRESS as CONF_PAYLOAD_PRESS, CONF_PAYLOAD_RESET_PERCENTAGE as CONF_PAYLOAD_RESET_PERCENTAGE, CONF_PAYLOAD_RESET_PRESET_MODE as CONF_PAYLOAD_RESET_PRESET_MODE, CONF_PAYLOAD_STOP as CONF_PAYLOAD_STOP, CONF_PAYLOAD_STOP_TILT as CONF_PAYLOAD_STOP_TILT, CONF_PERCENTAGE_COMMAND_TEMPLATE as CONF_PERCENTAGE_COMMAND_TEMPLATE, CONF_PERCENTAGE_COMMAND_TOPIC as CONF_PERCENTAGE_COMMAND_TOPIC, CONF_PERCENTAGE_STATE_TOPIC as CONF_PERCENTAGE_STATE_TOPIC, CONF_PERCENTAGE_VALUE_TEMPLATE as CONF_PERCENTAGE_VALUE_TEMPLATE, CONF_POSITION_CLOSED as CONF_POSITION_CLOSED, CONF_POSITION_OPEN as CONF_POSITION_OPEN, CONF_PRESET_MODES_LIST as CONF_PRESET_MODES_LIST, CONF_PRESET_MODE_COMMAND_TEMPLATE as CONF_PRESET_MODE_COMMAND_TEMPLATE, CONF_PRESET_MODE_COMMAND_TOPIC as CONF_PRESET_MODE_COMMAND_TOPIC, CONF_PRESET_MODE_STATE_TOPIC as CONF_PRESET_MODE_STATE_TOPIC, CONF_PRESET_MODE_VALUE_TEMPLATE as CONF_PRESET_MODE_VALUE_TEMPLATE, CONF_QOS as CONF_QOS, CONF_RED_TEMPLATE as CONF_RED_TEMPLATE, CONF_RETAIN as CONF_RETAIN, CONF_RGBWW_COMMAND_TEMPLATE as CONF_RGBWW_COMMAND_TEMPLATE, CONF_RGBWW_COMMAND_TOPIC as CONF_RGBWW_COMMAND_TOPIC, CONF_RGBWW_STATE_TOPIC as CONF_RGBWW_STATE_TOPIC, CONF_RGBWW_VALUE_TEMPLATE as CONF_RGBWW_VALUE_TEMPLATE, CONF_RGBW_COMMAND_TEMPLATE as CONF_RGBW_COMMAND_TEMPLATE, CONF_RGBW_COMMAND_TOPIC as CONF_RGBW_COMMAND_TOPIC, CONF_RGBW_STATE_TOPIC as CONF_RGBW_STATE_TOPIC, CONF_RGBW_VALUE_TEMPLATE as CONF_RGBW_VALUE_TEMPLATE, CONF_RGB_COMMAND_TEMPLATE as CONF_RGB_COMMAND_TEMPLATE, CONF_RGB_COMMAND_TOPIC as CONF_RGB_COMMAND_TOPIC, CONF_RGB_STATE_TOPIC as CONF_RGB_STATE_TOPIC, CONF_RGB_VALUE_TEMPLATE as CONF_RGB_VALUE_TEMPLATE, CONF_SCHEMA as CONF_SCHEMA, CONF_SET_POSITION_TEMPLATE as CONF_SET_POSITION_TEMPLATE, CONF_SET_POSITION_TOPIC as CONF_SET_POSITION_TOPIC, CONF_SPEED_RANGE_MAX as CONF_SPEED_RANGE_MAX, CONF_SPEED_RANGE_MIN as CONF_SPEED_RANGE_MIN, CONF_STATE_CLOSED as CONF_STATE_CLOSED, CONF_STATE_CLOSING as CONF_STATE_CLOSING, CONF_STATE_OFF as CONF_STATE_OFF, CONF_STATE_ON as CONF_STATE_ON, CONF_STATE_OPEN as CONF_STATE_OPEN, CONF_STATE_OPENING as CONF_STATE_OPENING, CONF_STATE_STOPPED as CONF_STATE_STOPPED, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_STATE_VALUE_TEMPLATE as CONF_STATE_VALUE_TEMPLATE, CONF_SUGGESTED_DISPLAY_PRECISION as CONF_SUGGESTED_DISPLAY_PRECISION, CONF_SUPPORTED_COLOR_MODES as CONF_SUPPORTED_COLOR_MODES, CONF_TILT_CLOSED_POSITION as CONF_TILT_CLOSED_POSITION, CONF_TILT_COMMAND_TEMPLATE as CONF_TILT_COMMAND_TEMPLATE, CONF_TILT_COMMAND_TOPIC as CONF_TILT_COMMAND_TOPIC, CONF_TILT_MAX as CONF_TILT_MAX, CONF_TILT_MIN as CONF_TILT_MIN, CONF_TILT_OPEN_POSITION as CONF_TILT_OPEN_POSITION, CONF_TILT_STATE_OPTIMISTIC as CONF_TILT_STATE_OPTIMISTIC, CONF_TILT_STATUS_TEMPLATE as CONF_TILT_STATUS_TEMPLATE, CONF_TILT_STATUS_TOPIC as CONF_TILT_STATUS_TOPIC, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TRANSITION as CONF_TRANSITION, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WHITE_COMMAND_TOPIC as CONF_WHITE_COMMAND_TOPIC, CONF_WHITE_SCALE as CONF_WHITE_SCALE, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, CONF_XY_COMMAND_TEMPLATE as CONF_XY_COMMAND_TEMPLATE, CONF_XY_COMMAND_TOPIC as CONF_XY_COMMAND_TOPIC, CONF_XY_STATE_TOPIC as CONF_XY_STATE_TOPIC, CONF_XY_VALUE_TEMPLATE as CONF_XY_VALUE_TEMPLATE, DEFAULT_BIRTH as DEFAULT_BIRTH, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_KEEPALIVE as DEFAULT_KEEPALIVE, DEFAULT_ON_COMMAND_TYPE as DEFAULT_ON_COMMAND_TYPE, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_CLOSE as DEFAULT_PAYLOAD_CLOSE, DEFAULT_PAYLOAD_NOT_AVAILABLE as DEFAULT_PAYLOAD_NOT_AVAILABLE, DEFAULT_PAYLOAD_OFF as DEFAULT_PAYLOAD_OFF, DEFAULT_PAYLOAD_ON as DEFAULT_PAYLOAD_ON, DEFAULT_PAYLOAD_OPEN as DEFAULT_PAYLOAD_OPEN, DEFAULT_PAYLOAD_OSCILLATE_OFF as DEFAULT_PAYLOAD_OSCILLATE_OFF, DEFAULT_PAYLOAD_OSCILLATE_ON as DEFAULT_PAYLOAD_OSCILLATE_ON, DEFAULT_PAYLOAD_PRESS as DEFAULT_PAYLOAD_PRESS, DEFAULT_PAYLOAD_RESET as DEFAULT_PAYLOAD_RESET, DEFAULT_PAYLOAD_STOP as DEFAULT_PAYLOAD_STOP, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_POSITION_CLOSED as DEFAULT_POSITION_CLOSED, DEFAULT_POSITION_OPEN as DEFAULT_POSITION_OPEN, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_PROTOCOL as DEFAULT_PROTOCOL, DEFAULT_QOS as DEFAULT_QOS, DEFAULT_SPEED_RANGE_MAX as DEFAULT_SPEED_RANGE_MAX, DEFAULT_SPEED_RANGE_MIN as DEFAULT_SPEED_RANGE_MIN, DEFAULT_STATE_STOPPED as DEFAULT_STATE_STOPPED, DEFAULT_TILT_CLOSED_POSITION as DEFAULT_TILT_CLOSED_POSITION, DEFAULT_TILT_MAX as DEFAULT_TILT_MAX, DEFAULT_TILT_MIN as DEFAULT_TILT_MIN, DEFAULT_TILT_OPEN_POSITION as DEFAULT_TILT_OPEN_POSITION, DEFAULT_TRANSPORT as DEFAULT_TRANSPORT, DEFAULT_WILL as DEFAULT_WILL, DEFAULT_WS_PATH as DEFAULT_WS_PATH, DOMAIN as DOMAIN, Platform as Platform, SUPPORTED_PROTOCOLS as SUPPORTED_PROTOCOLS, TRANSPORT_TCP as TRANSPORT_TCP, TRANSPORT_WEBSOCKETS as TRANSPORT_WEBSOCKETS, VALUES_ON_COMMAND_TYPE as VALUES_ON_COMMAND_TYPE
5
+ from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONFIG_ENTRY_MINOR_VERSION as CONFIG_ENTRY_MINOR_VERSION, CONFIG_ENTRY_VERSION as CONFIG_ENTRY_VERSION, CONF_ACTION_TEMPLATE as CONF_ACTION_TEMPLATE, CONF_ACTION_TOPIC as CONF_ACTION_TOPIC, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BLUE_TEMPLATE as CONF_BLUE_TEMPLATE, CONF_BRIGHTNESS_COMMAND_TEMPLATE as CONF_BRIGHTNESS_COMMAND_TEMPLATE, CONF_BRIGHTNESS_COMMAND_TOPIC as CONF_BRIGHTNESS_COMMAND_TOPIC, CONF_BRIGHTNESS_SCALE as CONF_BRIGHTNESS_SCALE, CONF_BRIGHTNESS_STATE_TOPIC as CONF_BRIGHTNESS_STATE_TOPIC, CONF_BRIGHTNESS_TEMPLATE as CONF_BRIGHTNESS_TEMPLATE, CONF_BRIGHTNESS_VALUE_TEMPLATE as CONF_BRIGHTNESS_VALUE_TEMPLATE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_COLOR_MODE_STATE_TOPIC as CONF_COLOR_MODE_STATE_TOPIC, CONF_COLOR_MODE_VALUE_TEMPLATE as CONF_COLOR_MODE_VALUE_TEMPLATE, CONF_COLOR_TEMP_COMMAND_TEMPLATE as CONF_COLOR_TEMP_COMMAND_TEMPLATE, CONF_COLOR_TEMP_COMMAND_TOPIC as CONF_COLOR_TEMP_COMMAND_TOPIC, CONF_COLOR_TEMP_KELVIN as CONF_COLOR_TEMP_KELVIN, CONF_COLOR_TEMP_STATE_TOPIC as CONF_COLOR_TEMP_STATE_TOPIC, CONF_COLOR_TEMP_TEMPLATE as CONF_COLOR_TEMP_TEMPLATE, CONF_COLOR_TEMP_VALUE_TEMPLATE as CONF_COLOR_TEMP_VALUE_TEMPLATE, CONF_COMMAND_OFF_TEMPLATE as CONF_COMMAND_OFF_TEMPLATE, CONF_COMMAND_ON_TEMPLATE as CONF_COMMAND_ON_TEMPLATE, CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_CURRENT_HUMIDITY_TEMPLATE as CONF_CURRENT_HUMIDITY_TEMPLATE, CONF_CURRENT_HUMIDITY_TOPIC as CONF_CURRENT_HUMIDITY_TOPIC, CONF_CURRENT_TEMP_TEMPLATE as CONF_CURRENT_TEMP_TEMPLATE, CONF_CURRENT_TEMP_TOPIC as CONF_CURRENT_TEMP_TOPIC, CONF_DIRECTION_COMMAND_TEMPLATE as CONF_DIRECTION_COMMAND_TEMPLATE, CONF_DIRECTION_COMMAND_TOPIC as CONF_DIRECTION_COMMAND_TOPIC, CONF_DIRECTION_STATE_TOPIC as CONF_DIRECTION_STATE_TOPIC, CONF_DIRECTION_VALUE_TEMPLATE as CONF_DIRECTION_VALUE_TEMPLATE, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_EFFECT_COMMAND_TEMPLATE as CONF_EFFECT_COMMAND_TEMPLATE, CONF_EFFECT_COMMAND_TOPIC as CONF_EFFECT_COMMAND_TOPIC, CONF_EFFECT_LIST as CONF_EFFECT_LIST, CONF_EFFECT_STATE_TOPIC as CONF_EFFECT_STATE_TOPIC, CONF_EFFECT_TEMPLATE as CONF_EFFECT_TEMPLATE, CONF_EFFECT_VALUE_TEMPLATE as CONF_EFFECT_VALUE_TEMPLATE, CONF_ENTITY_PICTURE as CONF_ENTITY_PICTURE, CONF_EXPIRE_AFTER as CONF_EXPIRE_AFTER, CONF_FAN_MODE_COMMAND_TEMPLATE as CONF_FAN_MODE_COMMAND_TEMPLATE, CONF_FAN_MODE_COMMAND_TOPIC as CONF_FAN_MODE_COMMAND_TOPIC, CONF_FAN_MODE_LIST as CONF_FAN_MODE_LIST, CONF_FAN_MODE_STATE_TEMPLATE as CONF_FAN_MODE_STATE_TEMPLATE, CONF_FAN_MODE_STATE_TOPIC as CONF_FAN_MODE_STATE_TOPIC, CONF_FLASH as CONF_FLASH, CONF_FLASH_TIME_LONG as CONF_FLASH_TIME_LONG, CONF_FLASH_TIME_SHORT as CONF_FLASH_TIME_SHORT, CONF_GET_POSITION_TEMPLATE as CONF_GET_POSITION_TEMPLATE, CONF_GET_POSITION_TOPIC as CONF_GET_POSITION_TOPIC, CONF_GREEN_TEMPLATE as CONF_GREEN_TEMPLATE, CONF_HS_COMMAND_TEMPLATE as CONF_HS_COMMAND_TEMPLATE, CONF_HS_COMMAND_TOPIC as CONF_HS_COMMAND_TOPIC, CONF_HS_STATE_TOPIC as CONF_HS_STATE_TOPIC, CONF_HS_VALUE_TEMPLATE as CONF_HS_VALUE_TEMPLATE, CONF_HUMIDITY_COMMAND_TEMPLATE as CONF_HUMIDITY_COMMAND_TEMPLATE, CONF_HUMIDITY_COMMAND_TOPIC as CONF_HUMIDITY_COMMAND_TOPIC, CONF_HUMIDITY_MAX as CONF_HUMIDITY_MAX, CONF_HUMIDITY_MIN as CONF_HUMIDITY_MIN, CONF_HUMIDITY_STATE_TEMPLATE as CONF_HUMIDITY_STATE_TEMPLATE, CONF_HUMIDITY_STATE_TOPIC as CONF_HUMIDITY_STATE_TOPIC, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_LAST_RESET_VALUE_TEMPLATE as CONF_LAST_RESET_VALUE_TEMPLATE, CONF_MAX_KELVIN as CONF_MAX_KELVIN, CONF_MIN_KELVIN as CONF_MIN_KELVIN, 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_OFF_DELAY as CONF_OFF_DELAY, CONF_ON_COMMAND_TYPE as CONF_ON_COMMAND_TYPE, CONF_OPTIONS as CONF_OPTIONS, CONF_OSCILLATION_COMMAND_TEMPLATE as CONF_OSCILLATION_COMMAND_TEMPLATE, CONF_OSCILLATION_COMMAND_TOPIC as CONF_OSCILLATION_COMMAND_TOPIC, CONF_OSCILLATION_STATE_TOPIC as CONF_OSCILLATION_STATE_TOPIC, CONF_OSCILLATION_VALUE_TEMPLATE as CONF_OSCILLATION_VALUE_TEMPLATE, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_CLOSE as CONF_PAYLOAD_CLOSE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_PAYLOAD_OPEN as CONF_PAYLOAD_OPEN, CONF_PAYLOAD_OSCILLATION_OFF as CONF_PAYLOAD_OSCILLATION_OFF, CONF_PAYLOAD_OSCILLATION_ON as CONF_PAYLOAD_OSCILLATION_ON, CONF_PAYLOAD_PRESS as CONF_PAYLOAD_PRESS, CONF_PAYLOAD_RESET_PERCENTAGE as CONF_PAYLOAD_RESET_PERCENTAGE, CONF_PAYLOAD_RESET_PRESET_MODE as CONF_PAYLOAD_RESET_PRESET_MODE, CONF_PAYLOAD_STOP as CONF_PAYLOAD_STOP, CONF_PAYLOAD_STOP_TILT as CONF_PAYLOAD_STOP_TILT, CONF_PERCENTAGE_COMMAND_TEMPLATE as CONF_PERCENTAGE_COMMAND_TEMPLATE, CONF_PERCENTAGE_COMMAND_TOPIC as CONF_PERCENTAGE_COMMAND_TOPIC, CONF_PERCENTAGE_STATE_TOPIC as CONF_PERCENTAGE_STATE_TOPIC, CONF_PERCENTAGE_VALUE_TEMPLATE as CONF_PERCENTAGE_VALUE_TEMPLATE, CONF_POSITION_CLOSED as CONF_POSITION_CLOSED, CONF_POSITION_OPEN as CONF_POSITION_OPEN, CONF_POWER_COMMAND_TEMPLATE as CONF_POWER_COMMAND_TEMPLATE, CONF_POWER_COMMAND_TOPIC as CONF_POWER_COMMAND_TOPIC, CONF_PRECISION as CONF_PRECISION, CONF_PRESET_MODES_LIST as CONF_PRESET_MODES_LIST, CONF_PRESET_MODE_COMMAND_TEMPLATE as CONF_PRESET_MODE_COMMAND_TEMPLATE, CONF_PRESET_MODE_COMMAND_TOPIC as CONF_PRESET_MODE_COMMAND_TOPIC, CONF_PRESET_MODE_STATE_TOPIC as CONF_PRESET_MODE_STATE_TOPIC, CONF_PRESET_MODE_VALUE_TEMPLATE as CONF_PRESET_MODE_VALUE_TEMPLATE, CONF_QOS as CONF_QOS, CONF_RED_TEMPLATE as CONF_RED_TEMPLATE, CONF_RETAIN as CONF_RETAIN, CONF_RGBWW_COMMAND_TEMPLATE as CONF_RGBWW_COMMAND_TEMPLATE, CONF_RGBWW_COMMAND_TOPIC as CONF_RGBWW_COMMAND_TOPIC, CONF_RGBWW_STATE_TOPIC as CONF_RGBWW_STATE_TOPIC, CONF_RGBWW_VALUE_TEMPLATE as CONF_RGBWW_VALUE_TEMPLATE, CONF_RGBW_COMMAND_TEMPLATE as CONF_RGBW_COMMAND_TEMPLATE, CONF_RGBW_COMMAND_TOPIC as CONF_RGBW_COMMAND_TOPIC, CONF_RGBW_STATE_TOPIC as CONF_RGBW_STATE_TOPIC, CONF_RGBW_VALUE_TEMPLATE as CONF_RGBW_VALUE_TEMPLATE, CONF_RGB_COMMAND_TEMPLATE as CONF_RGB_COMMAND_TEMPLATE, CONF_RGB_COMMAND_TOPIC as CONF_RGB_COMMAND_TOPIC, CONF_RGB_STATE_TOPIC as CONF_RGB_STATE_TOPIC, CONF_RGB_VALUE_TEMPLATE as CONF_RGB_VALUE_TEMPLATE, CONF_SCHEMA as CONF_SCHEMA, CONF_SET_POSITION_TEMPLATE as CONF_SET_POSITION_TEMPLATE, CONF_SET_POSITION_TOPIC as CONF_SET_POSITION_TOPIC, CONF_SPEED_RANGE_MAX as CONF_SPEED_RANGE_MAX, CONF_SPEED_RANGE_MIN as CONF_SPEED_RANGE_MIN, CONF_STATE_CLOSED as CONF_STATE_CLOSED, CONF_STATE_CLOSING as CONF_STATE_CLOSING, CONF_STATE_OFF as CONF_STATE_OFF, CONF_STATE_ON as CONF_STATE_ON, CONF_STATE_OPEN as CONF_STATE_OPEN, CONF_STATE_OPENING as CONF_STATE_OPENING, CONF_STATE_STOPPED as CONF_STATE_STOPPED, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_STATE_VALUE_TEMPLATE as CONF_STATE_VALUE_TEMPLATE, CONF_SUGGESTED_DISPLAY_PRECISION as CONF_SUGGESTED_DISPLAY_PRECISION, CONF_SUPPORTED_COLOR_MODES as CONF_SUPPORTED_COLOR_MODES, CONF_SWING_HORIZONTAL_MODE_COMMAND_TEMPLATE as CONF_SWING_HORIZONTAL_MODE_COMMAND_TEMPLATE, CONF_SWING_HORIZONTAL_MODE_COMMAND_TOPIC as CONF_SWING_HORIZONTAL_MODE_COMMAND_TOPIC, CONF_SWING_HORIZONTAL_MODE_LIST as CONF_SWING_HORIZONTAL_MODE_LIST, CONF_SWING_HORIZONTAL_MODE_STATE_TEMPLATE as CONF_SWING_HORIZONTAL_MODE_STATE_TEMPLATE, CONF_SWING_HORIZONTAL_MODE_STATE_TOPIC as CONF_SWING_HORIZONTAL_MODE_STATE_TOPIC, CONF_SWING_MODE_COMMAND_TEMPLATE as CONF_SWING_MODE_COMMAND_TEMPLATE, CONF_SWING_MODE_COMMAND_TOPIC as CONF_SWING_MODE_COMMAND_TOPIC, CONF_SWING_MODE_LIST as CONF_SWING_MODE_LIST, CONF_SWING_MODE_STATE_TEMPLATE as CONF_SWING_MODE_STATE_TEMPLATE, CONF_SWING_MODE_STATE_TOPIC as CONF_SWING_MODE_STATE_TOPIC, CONF_TEMP_COMMAND_TEMPLATE as CONF_TEMP_COMMAND_TEMPLATE, CONF_TEMP_COMMAND_TOPIC as CONF_TEMP_COMMAND_TOPIC, CONF_TEMP_HIGH_COMMAND_TEMPLATE as CONF_TEMP_HIGH_COMMAND_TEMPLATE, CONF_TEMP_HIGH_COMMAND_TOPIC as CONF_TEMP_HIGH_COMMAND_TOPIC, CONF_TEMP_HIGH_STATE_TEMPLATE as CONF_TEMP_HIGH_STATE_TEMPLATE, CONF_TEMP_HIGH_STATE_TOPIC as CONF_TEMP_HIGH_STATE_TOPIC, CONF_TEMP_INITIAL as CONF_TEMP_INITIAL, CONF_TEMP_LOW_COMMAND_TEMPLATE as CONF_TEMP_LOW_COMMAND_TEMPLATE, CONF_TEMP_LOW_COMMAND_TOPIC as CONF_TEMP_LOW_COMMAND_TOPIC, CONF_TEMP_LOW_STATE_TEMPLATE as CONF_TEMP_LOW_STATE_TEMPLATE, CONF_TEMP_LOW_STATE_TOPIC as CONF_TEMP_LOW_STATE_TOPIC, 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, CONF_TEMP_STEP as CONF_TEMP_STEP, CONF_TILT_CLOSED_POSITION as CONF_TILT_CLOSED_POSITION, CONF_TILT_COMMAND_TEMPLATE as CONF_TILT_COMMAND_TEMPLATE, CONF_TILT_COMMAND_TOPIC as CONF_TILT_COMMAND_TOPIC, CONF_TILT_MAX as CONF_TILT_MAX, CONF_TILT_MIN as CONF_TILT_MIN, CONF_TILT_OPEN_POSITION as CONF_TILT_OPEN_POSITION, CONF_TILT_STATE_OPTIMISTIC as CONF_TILT_STATE_OPTIMISTIC, CONF_TILT_STATUS_TEMPLATE as CONF_TILT_STATUS_TEMPLATE, CONF_TILT_STATUS_TOPIC as CONF_TILT_STATUS_TOPIC, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TRANSITION as CONF_TRANSITION, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WHITE_COMMAND_TOPIC as CONF_WHITE_COMMAND_TOPIC, CONF_WHITE_SCALE as CONF_WHITE_SCALE, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, CONF_XY_COMMAND_TEMPLATE as CONF_XY_COMMAND_TEMPLATE, CONF_XY_COMMAND_TOPIC as CONF_XY_COMMAND_TOPIC, CONF_XY_STATE_TOPIC as CONF_XY_STATE_TOPIC, CONF_XY_VALUE_TEMPLATE as CONF_XY_VALUE_TEMPLATE, DEFAULT_BIRTH as DEFAULT_BIRTH, DEFAULT_CLIMATE_INITIAL_TEMPERATURE as DEFAULT_CLIMATE_INITIAL_TEMPERATURE, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_KEEPALIVE as DEFAULT_KEEPALIVE, DEFAULT_ON_COMMAND_TYPE as DEFAULT_ON_COMMAND_TYPE, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_CLOSE as DEFAULT_PAYLOAD_CLOSE, DEFAULT_PAYLOAD_NOT_AVAILABLE as DEFAULT_PAYLOAD_NOT_AVAILABLE, DEFAULT_PAYLOAD_OFF as DEFAULT_PAYLOAD_OFF, DEFAULT_PAYLOAD_ON as DEFAULT_PAYLOAD_ON, DEFAULT_PAYLOAD_OPEN as DEFAULT_PAYLOAD_OPEN, DEFAULT_PAYLOAD_OSCILLATE_OFF as DEFAULT_PAYLOAD_OSCILLATE_OFF, DEFAULT_PAYLOAD_OSCILLATE_ON as DEFAULT_PAYLOAD_OSCILLATE_ON, DEFAULT_PAYLOAD_PRESS as DEFAULT_PAYLOAD_PRESS, DEFAULT_PAYLOAD_RESET as DEFAULT_PAYLOAD_RESET, DEFAULT_PAYLOAD_STOP as DEFAULT_PAYLOAD_STOP, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_POSITION_CLOSED as DEFAULT_POSITION_CLOSED, DEFAULT_POSITION_OPEN as DEFAULT_POSITION_OPEN, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_PROTOCOL as DEFAULT_PROTOCOL, DEFAULT_QOS as DEFAULT_QOS, DEFAULT_SPEED_RANGE_MAX as DEFAULT_SPEED_RANGE_MAX, DEFAULT_SPEED_RANGE_MIN as DEFAULT_SPEED_RANGE_MIN, DEFAULT_STATE_STOPPED as DEFAULT_STATE_STOPPED, DEFAULT_TILT_CLOSED_POSITION as DEFAULT_TILT_CLOSED_POSITION, DEFAULT_TILT_MAX as DEFAULT_TILT_MAX, DEFAULT_TILT_MIN as DEFAULT_TILT_MIN, DEFAULT_TILT_OPEN_POSITION as DEFAULT_TILT_OPEN_POSITION, DEFAULT_TRANSPORT as DEFAULT_TRANSPORT, DEFAULT_WILL as DEFAULT_WILL, DEFAULT_WS_PATH as DEFAULT_WS_PATH, DOMAIN as DOMAIN, Platform as Platform, SUPPORTED_PROTOCOLS as SUPPORTED_PROTOCOLS, TRANSPORT_TCP as TRANSPORT_TCP, TRANSPORT_WEBSOCKETS as TRANSPORT_WEBSOCKETS, VALUES_ON_COMMAND_TYPE as VALUES_ON_COMMAND_TYPE
6
6
  from .models import MqttAvailabilityData as MqttAvailabilityData, MqttDeviceData as MqttDeviceData, MqttSubentryData as MqttSubentryData
7
7
  from .util import async_create_certificate_temp_files as async_create_certificate_temp_files, get_file_path as get_file_path, learn_more_url as learn_more_url, valid_birth_will as valid_birth_will, valid_publish_topic as valid_publish_topic, valid_subscribe_topic as valid_subscribe_topic, valid_subscribe_topic_template as valid_subscribe_topic_template
8
8
  from _typeshed import Incomplete
@@ -12,6 +12,7 @@ from dataclasses import dataclass
12
12
  from enum import IntEnum
13
13
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass
14
14
  from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass
15
+ from homeassistant.components.climate import DEFAULT_MAX_HUMIDITY as DEFAULT_MAX_HUMIDITY, DEFAULT_MAX_TEMP as DEFAULT_MAX_TEMP, DEFAULT_MIN_HUMIDITY as DEFAULT_MIN_HUMIDITY, DEFAULT_MIN_TEMP as DEFAULT_MIN_TEMP, PRESET_NONE as PRESET_NONE
15
16
  from homeassistant.components.cover import CoverDeviceClass as CoverDeviceClass
16
17
  from homeassistant.components.file_upload import process_uploaded_file as process_uploaded_file
17
18
  from homeassistant.components.hassio import AddonError as AddonError, AddonManager as AddonManager, AddonState as AddonState
@@ -19,14 +20,15 @@ from homeassistant.components.light import DEFAULT_MAX_KELVIN as DEFAULT_MAX_KEL
19
20
  from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, DEVICE_CLASS_UNITS as DEVICE_CLASS_UNITS, STATE_CLASS_UNITS as STATE_CLASS_UNITS, SensorDeviceClass as SensorDeviceClass, SensorStateClass as SensorStateClass
20
21
  from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass
21
22
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, ConfigSubentryFlow as ConfigSubentryFlow, OptionsFlow as OptionsFlow, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE, SubentryFlowResult as SubentryFlowResult
22
- from homeassistant.const import ATTR_CONFIGURATION_URL as ATTR_CONFIGURATION_URL, ATTR_HW_VERSION as ATTR_HW_VERSION, ATTR_MODEL as ATTR_MODEL, ATTR_MODEL_ID as ATTR_MODEL_ID, ATTR_NAME as ATTR_NAME, ATTR_SW_VERSION as ATTR_SW_VERSION, CONF_BRIGHTNESS as CONF_BRIGHTNESS, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_DEVICE as CONF_DEVICE, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_DISCOVERY as CONF_DISCOVERY, CONF_EFFECT as CONF_EFFECT, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_OPTIMISTIC as CONF_OPTIMISTIC, CONF_PASSWORD as CONF_PASSWORD, CONF_PAYLOAD as CONF_PAYLOAD, CONF_PAYLOAD_OFF as CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON, CONF_PLATFORM as CONF_PLATFORM, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_STATE_TEMPLATE as CONF_STATE_TEMPLATE, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_USERNAME as CONF_USERNAME, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, EntityCategory as EntityCategory, STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_OPEN as STATE_OPEN, STATE_OPENING as STATE_OPENING
23
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
23
+ from homeassistant.const import ATTR_CONFIGURATION_URL as ATTR_CONFIGURATION_URL, ATTR_HW_VERSION as ATTR_HW_VERSION, ATTR_MODEL as ATTR_MODEL, ATTR_MODEL_ID as ATTR_MODEL_ID, ATTR_NAME as ATTR_NAME, ATTR_SW_VERSION as ATTR_SW_VERSION, CONF_BRIGHTNESS as CONF_BRIGHTNESS, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_DEVICE as CONF_DEVICE, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_DISCOVERY as CONF_DISCOVERY, CONF_EFFECT as CONF_EFFECT, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_OPTIMISTIC as CONF_OPTIMISTIC, CONF_PASSWORD as CONF_PASSWORD, CONF_PAYLOAD as CONF_PAYLOAD, CONF_PAYLOAD_OFF as CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON, CONF_PLATFORM as CONF_PLATFORM, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_STATE_TEMPLATE as CONF_STATE_TEMPLATE, CONF_TEMPERATURE_UNIT as CONF_TEMPERATURE_UNIT, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_USERNAME as CONF_USERNAME, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, EntityCategory as EntityCategory, STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_OPEN as STATE_OPEN, STATE_OPENING as STATE_OPENING, UnitOfTemperature as UnitOfTemperature
24
+ from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass, callback as callback
24
25
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow, SectionConfig as SectionConfig, section as section
25
26
  from homeassistant.helpers.hassio import is_hassio as is_hassio
26
27
  from homeassistant.helpers.json import json_dumps as json_dumps
27
28
  from homeassistant.helpers.selector import BooleanSelector as BooleanSelector, FileSelector as FileSelector, FileSelectorConfig as FileSelectorConfig, NumberSelector as NumberSelector, NumberSelectorConfig as NumberSelectorConfig, NumberSelectorMode as NumberSelectorMode, SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, Selector as Selector, TemplateSelector as TemplateSelector, TemplateSelectorConfig as TemplateSelectorConfig, TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
28
29
  from homeassistant.helpers.service_info.hassio import HassioServiceInfo as HassioServiceInfo
29
30
  from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads as json_loads
31
+ from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
30
32
  from types import MappingProxyType
31
33
  from typing import Any
32
34
 
@@ -40,6 +42,8 @@ SET_CA_CERT: str
40
42
  SET_CLIENT_CERT: str
41
43
  BOOLEAN_SELECTOR: Incomplete
42
44
  TEXT_SELECTOR: Incomplete
45
+ TEXT_SELECTOR_READ_ONLY: Incomplete
46
+ URL_SELECTOR: Incomplete
43
47
  PUBLISH_TOPIC_SELECTOR: Incomplete
44
48
  PORT_SELECTOR: Incomplete
45
49
  PASSWORD_SELECTOR: Incomplete
@@ -57,6 +61,7 @@ KEY_UPLOAD_SELECTOR: Incomplete
57
61
  SUBENTRY_PLATFORMS: Incomplete
58
62
  SUBENTRY_PLATFORM_SELECTOR: Incomplete
59
63
  TEMPLATE_SELECTOR: Incomplete
64
+ TEMPLATE_SELECTOR_READ_ONLY: Incomplete
60
65
  SUBENTRY_AVAILABILITY_SCHEMA: Incomplete
61
66
  ENTITY_CATEGORY_SELECTOR: Incomplete
62
67
  SENSOR_DEVICE_CLASS_SELECTOR: Incomplete
@@ -68,6 +73,15 @@ SENSOR_STATE_CLASS_SELECTOR: Incomplete
68
73
  OPTIONS_SELECTOR: Incomplete
69
74
  SUGGESTED_DISPLAY_PRECISION_SELECTOR: Incomplete
70
75
  TIMEOUT_SELECTOR: Incomplete
76
+ CLIMATE_MODE_SELECTOR: Incomplete
77
+
78
+ @callback
79
+ def temperature_selector(config: dict[str, Any]) -> Selector: ...
80
+ @callback
81
+ def temperature_step_selector(config: dict[str, Any]) -> Selector: ...
82
+
83
+ TEMPERATURE_UNIT_SELECTOR: Incomplete
84
+ PRECISION_SELECTOR: Incomplete
71
85
  POSITION_SELECTOR: Incomplete
72
86
  FAN_SPEED_RANGE_MIN_SELECTOR: Incomplete
73
87
  FAN_SPEED_RANGE_MAX_SELECTOR: Incomplete
@@ -79,7 +93,20 @@ SCALE_SELECTOR: Incomplete
79
93
  FLASH_TIME_SELECTOR: Incomplete
80
94
  ON_COMMAND_TYPE_SELECTOR: Incomplete
81
95
  SUPPORTED_COLOR_MODES_SELECTOR: Incomplete
96
+ EXCLUDE_FROM_CONFIG_IF_NONE: Incomplete
82
97
 
98
+ @callback
99
+ def configured_target_temperature_feature(config: dict[str, Any]) -> str: ...
100
+
101
+ TARGET_TEMPERATURE_FEATURE_SELECTOR: Incomplete
102
+ HUMIDITY_SELECTOR: Incomplete
103
+
104
+ @callback
105
+ def temperature_default_from_celsius_to_system_default(value: float) -> Callable[[dict[str, Any]], int]: ...
106
+ @callback
107
+ def default_precision(config: dict[str, Any]) -> str: ...
108
+ @callback
109
+ def validate_climate_platform_config(config: dict[str, Any]) -> dict[str, str]: ...
83
110
  @callback
84
111
  def validate_cover_platform_config(config: dict[str, Any]) -> dict[str, str]: ...
85
112
  @callback
@@ -87,15 +114,17 @@ def validate_fan_platform_config(config: dict[str, Any]) -> dict[str, str]: ...
87
114
  @callback
88
115
  def validate_sensor_platform_config(config: dict[str, Any]) -> dict[str, str]: ...
89
116
  @callback
117
+ def no_empty_list(value: list[Any]) -> list[Any]: ...
118
+ @callback
90
119
  def validate(validator: Callable[[Any], Any]) -> Callable[[Any], Any]: ...
91
120
 
92
121
  @dataclass(frozen=True, kw_only=True)
93
122
  class PlatformField:
94
- selector: Selector[Any] | Callable[..., Selector[Any]]
123
+ selector: Selector[Any] | Callable[[dict[str, Any]], Selector[Any]]
95
124
  required: bool
96
- validator: Callable[..., Any] | None = ...
125
+ validator: Callable[[Any], Any] | None = ...
97
126
  error: str | None = ...
98
- default: str | int | bool | None | Callable[[dict[str, Any]], Any] | vol.Undefined = ...
127
+ default: Any | None | Callable[[dict[str, Any]], Any] | vol.Undefined = ...
99
128
  is_schema_default: bool = ...
100
129
  exclude_from_reconfig: bool = ...
101
130
  exclude_from_config: bool = ...
@@ -194,6 +223,9 @@ class MQTTSubentryFlowHandler(ConfigSubentryFlow):
194
223
  async def async_step_availability(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
195
224
  async def async_step_summary_menu(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
196
225
  async def async_step_save_changes(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
226
+ async def async_step_export(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
227
+ async def async_step_export_yaml(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
228
+ async def async_step_export_discovery(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
197
229
 
198
230
  @callback
199
231
  def async_is_pem_data(data: bytes) -> bool: ...
@@ -80,6 +80,11 @@ CONF_EFFECT_TEMPLATE: str
80
80
  CONF_EFFECT_VALUE_TEMPLATE: str
81
81
  CONF_ENTITY_PICTURE: str
82
82
  CONF_EXPIRE_AFTER: str
83
+ CONF_FAN_MODE_COMMAND_TEMPLATE: str
84
+ CONF_FAN_MODE_COMMAND_TOPIC: str
85
+ CONF_FAN_MODE_LIST: str
86
+ CONF_FAN_MODE_STATE_TEMPLATE: str
87
+ CONF_FAN_MODE_STATE_TOPIC: str
83
88
  CONF_FLASH: str
84
89
  CONF_FLASH_TIME_LONG: str
85
90
  CONF_FLASH_TIME_SHORT: str
@@ -90,6 +95,12 @@ CONF_HS_COMMAND_TEMPLATE: str
90
95
  CONF_HS_COMMAND_TOPIC: str
91
96
  CONF_HS_STATE_TOPIC: str
92
97
  CONF_HS_VALUE_TEMPLATE: str
98
+ CONF_HUMIDITY_COMMAND_TEMPLATE: str
99
+ CONF_HUMIDITY_COMMAND_TOPIC: str
100
+ CONF_HUMIDITY_STATE_TEMPLATE: str
101
+ CONF_HUMIDITY_STATE_TOPIC: str
102
+ CONF_HUMIDITY_MAX: str
103
+ CONF_HUMIDITY_MIN: str
93
104
  CONF_LAST_RESET_VALUE_TEMPLATE: str
94
105
  CONF_MAX_KELVIN: str
95
106
  CONF_MAX_MIREDS: str
@@ -155,13 +166,32 @@ CONF_STATE_OPENING: str
155
166
  CONF_STATE_STOPPED: str
156
167
  CONF_SUGGESTED_DISPLAY_PRECISION: str
157
168
  CONF_SUPPORTED_COLOR_MODES: str
169
+ CONF_SWING_HORIZONTAL_MODE_COMMAND_TEMPLATE: str
170
+ CONF_SWING_HORIZONTAL_MODE_COMMAND_TOPIC: str
171
+ CONF_SWING_HORIZONTAL_MODE_LIST: str
172
+ CONF_SWING_HORIZONTAL_MODE_STATE_TEMPLATE: str
173
+ CONF_SWING_HORIZONTAL_MODE_STATE_TOPIC: str
174
+ CONF_SWING_MODE_COMMAND_TEMPLATE: str
175
+ CONF_SWING_MODE_COMMAND_TOPIC: str
176
+ CONF_SWING_MODE_LIST: str
177
+ CONF_SWING_MODE_STATE_TEMPLATE: str
178
+ CONF_SWING_MODE_STATE_TOPIC: str
158
179
  CONF_TEMP_COMMAND_TEMPLATE: str
159
180
  CONF_TEMP_COMMAND_TOPIC: str
160
- CONF_TEMP_STATE_TEMPLATE: str
161
- CONF_TEMP_STATE_TOPIC: str
181
+ CONF_TEMP_HIGH_COMMAND_TEMPLATE: str
182
+ CONF_TEMP_HIGH_COMMAND_TOPIC: str
183
+ CONF_TEMP_HIGH_STATE_TEMPLATE: str
184
+ CONF_TEMP_HIGH_STATE_TOPIC: str
162
185
  CONF_TEMP_INITIAL: str
186
+ CONF_TEMP_LOW_COMMAND_TEMPLATE: str
187
+ CONF_TEMP_LOW_COMMAND_TOPIC: str
188
+ CONF_TEMP_LOW_STATE_TEMPLATE: str
189
+ CONF_TEMP_LOW_STATE_TOPIC: str
163
190
  CONF_TEMP_MAX: str
164
191
  CONF_TEMP_MIN: str
192
+ CONF_TEMP_STATE_TEMPLATE: str
193
+ CONF_TEMP_STATE_TOPIC: str
194
+ CONF_TEMP_STEP: str
165
195
  CONF_TILT_COMMAND_TEMPLATE: str
166
196
  CONF_TILT_COMMAND_TOPIC: str
167
197
  CONF_TILT_STATUS_TOPIC: str
@@ -197,6 +227,7 @@ CONF_OBJECT_ID: str
197
227
  CONF_SUPPORT_URL: str
198
228
  DEFAULT_BRIGHTNESS: bool
199
229
  DEFAULT_BRIGHTNESS_SCALE: int
230
+ DEFAULT_CLIMATE_INITIAL_TEMPERATURE: float
200
231
  DEFAULT_PREFIX: str
201
232
  DEFAULT_BIRTH_WILL_TOPIC: Incomplete
202
233
  DEFAULT_DISCOVERY: bool
@@ -0,0 +1,15 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from homeassistant import data_entry_flow as data_entry_flow
4
+ from homeassistant.components.repairs import RepairsFlow as RepairsFlow
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+
7
+ class MQTTDeviceEntryMigration(RepairsFlow):
8
+ entry_id: Incomplete
9
+ subentry_id: Incomplete
10
+ name: Incomplete
11
+ def __init__(self, entry_id: str, subentry_id: str, name: str) -> None: ...
12
+ async def async_step_init(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
13
+ async def async_step_confirm(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
14
+
15
+ async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str | int | float | None] | None) -> RepairsFlow: ...
@@ -1,10 +1,10 @@
1
1
  from . import subscription as subscription
2
2
  from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
3
- from .const import CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_RETAIN as CONF_RETAIN, CONF_STATE_TOPIC as CONF_STATE_TOPIC
4
- from .entity import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
3
+ from .const import CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_RETAIN as CONF_RETAIN, CONF_STATE_TOPIC as CONF_STATE_TOPIC, DOMAIN as DOMAIN
4
+ from .entity import IssueSeverity as IssueSeverity, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
5
5
  from .models import ReceiveMessage as ReceiveMessage
6
6
  from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
7
- from .util import valid_publish_topic as valid_publish_topic
7
+ from .util import learn_more_url as learn_more_url, valid_publish_topic as valid_publish_topic
8
8
  from _typeshed import Incomplete
9
9
  from homeassistant.components import vacuum as vacuum
10
10
  from homeassistant.components.vacuum import ENTITY_ID_FORMAT as ENTITY_ID_FORMAT, StateVacuumEntity as StateVacuumEntity, VacuumActivity as VacuumActivity, VacuumEntityFeature as VacuumEntityFeature
@@ -80,6 +80,7 @@ class MqttStateVacuum(MqttEntity, StateVacuumEntity):
80
80
  _attr_supported_features: Incomplete
81
81
  _attr_fan_speed_list: Incomplete
82
82
  def _setup_from_config(self, config: ConfigType) -> None: ...
83
+ async def mqtt_async_added_to_hass(self) -> None: ...
83
84
  _attr_fan_speed: Incomplete
84
85
  _attr_battery_level: Incomplete
85
86
  def _update_state_attributes(self, payload: dict[str, Any]) -> None: ...
@@ -1,4 +1,5 @@
1
1
  DOMAIN: str
2
+ KEY_TEMP_SENSOR: str
2
3
  MANUFACTURER: str
3
4
  STATUS_UPDATE_MAX_TIME_INTERVAL: int
4
5
  SUPPORT_EMAIL: str
@@ -1,4 +1,4 @@
1
- from .const import STATUS_UPDATE_MAX_TIME_INTERVAL as STATUS_UPDATE_MAX_TIME_INTERVAL
1
+ from .const import KEY_TEMP_SENSOR as KEY_TEMP_SENSOR, STATUS_UPDATE_MAX_TIME_INTERVAL as STATUS_UPDATE_MAX_TIME_INTERVAL
2
2
  from _typeshed import Incomplete
3
3
  from aiohttp.web import Request as Request, Response
4
4
  from collections.abc import Callable as Callable
@@ -10,6 +10,8 @@ from typing import Any
10
10
  from webio_api import WebioAPI as WebioAPI
11
11
 
12
12
  _LOGGER: Incomplete
13
+ KEY_INPUTS: str
14
+ KEY_OUTPUTS: str
13
15
 
14
16
  class NotificationCoordinator:
15
17
  _coordinators: dict[str, NASwebCoordinator]