homeassistant-stubs 2025.9.4__py3-none-any.whl → 2025.10.0b0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (305) hide show
  1. homeassistant-stubs/components/acaia/coordinator.pyi +1 -0
  2. homeassistant-stubs/components/accuweather/__init__.pyi +3 -3
  3. homeassistant-stubs/components/accuweather/config_flow.pyi +5 -0
  4. homeassistant-stubs/components/accuweather/const.pyi +1 -0
  5. homeassistant-stubs/components/accuweather/coordinator.pyi +17 -4
  6. homeassistant-stubs/components/accuweather/weather.pyi +5 -2
  7. homeassistant-stubs/components/airos/binary_sensor.pyi +2 -2
  8. homeassistant-stubs/components/airos/config_flow.pyi +1 -1
  9. homeassistant-stubs/components/airos/coordinator.pyi +4 -4
  10. homeassistant-stubs/components/airos/sensor.pyi +2 -2
  11. homeassistant-stubs/components/airzone/select.pyi +1 -0
  12. homeassistant-stubs/components/alexa_devices/coordinator.pyi +2 -0
  13. homeassistant-stubs/components/analytics/__init__.pyi +4 -21
  14. homeassistant-stubs/components/analytics/analytics.pyi +42 -5
  15. homeassistant-stubs/components/androidtv/__init__.pyi +5 -1
  16. homeassistant-stubs/components/androidtv/media_player.pyi +1 -10
  17. homeassistant-stubs/components/androidtv/services.pyi +16 -0
  18. homeassistant-stubs/components/androidtv_remote/entity.pyi +1 -3
  19. homeassistant-stubs/components/assist_pipeline/__init__.pyi +1 -1
  20. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
  21. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +7 -4
  22. homeassistant-stubs/components/assist_pipeline/select.pyi +1 -1
  23. homeassistant-stubs/components/asuswrt/bridge.pyi +8 -0
  24. homeassistant-stubs/components/blue_current/__init__.pyi +11 -5
  25. homeassistant-stubs/components/blue_current/const.pyi +6 -0
  26. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -2
  27. homeassistant-stubs/components/bluetooth/api.pyi +5 -2
  28. homeassistant-stubs/components/bluetooth/manager.pyi +7 -1
  29. homeassistant-stubs/components/bluetooth/websocket_api.pyi +6 -1
  30. homeassistant-stubs/components/brother/__init__.pyi +4 -2
  31. homeassistant-stubs/components/brother/config_flow.pyi +5 -2
  32. homeassistant-stubs/components/brother/const.pyi +4 -0
  33. homeassistant-stubs/components/bthome/sensor.pyi +1 -1
  34. homeassistant-stubs/components/camera/__init__.pyi +1 -1
  35. homeassistant-stubs/components/camera/prefs.pyi +3 -1
  36. homeassistant-stubs/components/cloud/http_api.pyi +2 -0
  37. homeassistant-stubs/components/comelit/coordinator.pyi +2 -1
  38. homeassistant-stubs/components/comelit/sensor.pyi +1 -1
  39. homeassistant-stubs/components/compit/__init__.pyi +11 -0
  40. homeassistant-stubs/components/compit/climate.pyi +63 -0
  41. homeassistant-stubs/components/compit/config_flow.pyi +17 -0
  42. homeassistant-stubs/components/compit/const.pyi +2 -0
  43. homeassistant-stubs/components/compit/coordinator.pyi +16 -0
  44. homeassistant-stubs/components/derivative/diagnostics.pyi +5 -0
  45. homeassistant-stubs/components/droplet/__init__.pyi +10 -0
  46. homeassistant-stubs/components/droplet/config_flow.pyi +13 -0
  47. homeassistant-stubs/components/droplet/const.pyi +7 -0
  48. homeassistant-stubs/components/droplet/coordinator.pyi +23 -0
  49. homeassistant-stubs/components/droplet/sensor.pyi +37 -0
  50. homeassistant-stubs/components/ecovacs/number.pyi +4 -1
  51. homeassistant-stubs/components/elkm1/config_flow.pyi +2 -0
  52. homeassistant-stubs/components/elkm1/sensor.pyi +8 -1
  53. homeassistant-stubs/components/energy/sensor.pyi +1 -1
  54. homeassistant-stubs/components/esphome/assist_satellite.pyi +5 -1
  55. homeassistant-stubs/components/esphome/climate.pyi +2 -0
  56. homeassistant-stubs/components/esphome/config_flow.pyi +2 -0
  57. homeassistant-stubs/components/esphome/const.pyi +1 -0
  58. homeassistant-stubs/components/esphome/entry_data.pyi +8 -4
  59. homeassistant-stubs/components/esphome/lock.pyi +1 -1
  60. homeassistant-stubs/components/esphome/select.pyi +4 -3
  61. homeassistant-stubs/components/fritz/sensor.pyi +2 -1
  62. homeassistant-stubs/components/frontend/__init__.pyi +5 -2
  63. homeassistant-stubs/components/geocaching/entity.pyi +14 -0
  64. homeassistant-stubs/components/geocaching/sensor.pyi +25 -5
  65. homeassistant-stubs/components/go2rtc/__init__.pyi +3 -0
  66. homeassistant-stubs/components/google/__init__.pyi +0 -1
  67. homeassistant-stubs/components/google/config_flow.pyi +3 -3
  68. homeassistant-stubs/components/google_cloud/__init__.pyi +0 -1
  69. homeassistant-stubs/components/google_cloud/config_flow.pyi +2 -2
  70. homeassistant-stubs/components/google_photos/media_source.pyi +2 -2
  71. homeassistant-stubs/components/habitica/binary_sensor.pyi +1 -1
  72. homeassistant-stubs/components/habitica/const.pyi +1 -0
  73. homeassistant-stubs/components/habitica/sensor.pyi +3 -1
  74. homeassistant-stubs/components/habitica/services.pyi +2 -1
  75. homeassistant-stubs/components/habitica/util.pyi +1 -0
  76. homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
  77. homeassistant-stubs/components/history_stats/config_flow.pyi +7 -2
  78. homeassistant-stubs/components/history_stats/diagnostics.pyi +5 -0
  79. homeassistant-stubs/components/home_connect/application_credentials.pyi +0 -1
  80. homeassistant-stubs/components/home_connect/coordinator.pyi +0 -1
  81. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +38 -11
  82. homeassistant-stubs/components/homee/alarm_control_panel.pyi +3 -2
  83. homeassistant-stubs/components/homee/binary_sensor.pyi +4 -2
  84. homeassistant-stubs/components/homee/button.pyi +3 -1
  85. homeassistant-stubs/components/homee/climate.pyi +3 -1
  86. homeassistant-stubs/components/homee/cover.pyi +3 -1
  87. homeassistant-stubs/components/homee/event.pyi +3 -1
  88. homeassistant-stubs/components/homee/fan.pyi +3 -1
  89. homeassistant-stubs/components/homee/helpers.pyi +6 -0
  90. homeassistant-stubs/components/homee/light.pyi +2 -0
  91. homeassistant-stubs/components/homee/lock.pyi +4 -2
  92. homeassistant-stubs/components/homee/number.pyi +3 -1
  93. homeassistant-stubs/components/homee/select.pyi +3 -1
  94. homeassistant-stubs/components/homee/sensor.pyi +2 -2
  95. homeassistant-stubs/components/homee/siren.pyi +4 -1
  96. homeassistant-stubs/components/homee/switch.pyi +4 -2
  97. homeassistant-stubs/components/homee/valve.pyi +3 -1
  98. homeassistant-stubs/components/homekit/type_switches.pyi +7 -1
  99. homeassistant-stubs/components/homewizard/sensor.pyi +3 -1
  100. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -1
  101. homeassistant-stubs/components/image/__init__.pyi +1 -0
  102. homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
  103. homeassistant-stubs/components/image_upload/const.pyi +1 -0
  104. homeassistant-stubs/components/image_upload/media_source.pyi +5 -1
  105. homeassistant-stubs/components/immich/media_source.pyi +2 -2
  106. homeassistant-stubs/components/integration/__init__.pyi +0 -1
  107. homeassistant-stubs/components/integration/config_flow.pyi +1 -0
  108. homeassistant-stubs/components/lawn_mower/intent.pyi +8 -0
  109. homeassistant-stubs/components/letpot/number.pyi +34 -0
  110. homeassistant-stubs/components/libre_hardware_monitor/__init__.pyi +9 -0
  111. homeassistant-stubs/components/libre_hardware_monitor/config_flow.pyi +12 -0
  112. homeassistant-stubs/components/libre_hardware_monitor/const.pyi +4 -0
  113. homeassistant-stubs/components/libre_hardware_monitor/coordinator.pyi +21 -0
  114. homeassistant-stubs/components/libre_hardware_monitor/sensor.pyi +34 -0
  115. homeassistant-stubs/components/litterrobot/select.pyi +1 -1
  116. homeassistant-stubs/components/litterrobot/switch.pyi +5 -1
  117. homeassistant-stubs/components/logbook/helpers.pyi +4 -3
  118. homeassistant-stubs/components/mastodon/const.pyi +1 -0
  119. homeassistant-stubs/components/mastodon/services.pyi +1 -1
  120. homeassistant-stubs/components/matter/models.pyi +1 -0
  121. homeassistant-stubs/components/matter/sensor.pyi +1 -0
  122. homeassistant-stubs/components/mcp_server/session.pyi +2 -2
  123. homeassistant-stubs/components/media_source/__init__.pyi +2 -10
  124. homeassistant-stubs/components/media_source/helper.pyi +16 -0
  125. homeassistant-stubs/components/media_source/http.pyi +13 -0
  126. homeassistant-stubs/components/media_source/local_source.pyi +19 -11
  127. homeassistant-stubs/components/metoffice/sensor.pyi +1 -1
  128. homeassistant-stubs/components/miele/const.pyi +193 -17
  129. homeassistant-stubs/components/miele/sensor.pyi +12 -3
  130. homeassistant-stubs/components/miele/vacuum.pyi +1 -2
  131. homeassistant-stubs/components/min_max/sensor.pyi +1 -1
  132. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  133. homeassistant-stubs/components/modbus/binary_sensor.pyi +2 -2
  134. homeassistant-stubs/components/modbus/climate.pyi +2 -2
  135. homeassistant-stubs/components/modbus/const.pyi +1 -0
  136. homeassistant-stubs/components/modbus/cover.pyi +2 -2
  137. homeassistant-stubs/components/modbus/entity.pyi +4 -4
  138. homeassistant-stubs/components/modbus/fan.pyi +2 -2
  139. homeassistant-stubs/components/modbus/light.pyi +2 -2
  140. homeassistant-stubs/components/modbus/modbus.pyi +1 -2
  141. homeassistant-stubs/components/modbus/sensor.pyi +2 -2
  142. homeassistant-stubs/components/modbus/switch.pyi +2 -2
  143. homeassistant-stubs/components/modbus/validators.pyi +1 -1
  144. homeassistant-stubs/components/motionmount/select.pyi +1 -0
  145. homeassistant-stubs/components/mqtt/config_flow.pyi +61 -60
  146. homeassistant-stubs/components/mqtt/const.pyi +6 -0
  147. homeassistant-stubs/components/mqtt/device_automation.pyi +1 -1
  148. homeassistant-stubs/components/mqtt/entity.pyi +2 -2
  149. homeassistant-stubs/components/mqtt/image.pyi +1 -5
  150. homeassistant-stubs/components/mqtt/light/schema_json.pyi +0 -1
  151. homeassistant-stubs/components/mqtt/schemas.pyi +1 -1
  152. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  153. homeassistant-stubs/components/music_assistant/__init__.pyi +2 -1
  154. homeassistant-stubs/components/music_assistant/config_flow.pyi +1 -1
  155. homeassistant-stubs/components/music_assistant/const.pyi +1 -0
  156. homeassistant-stubs/components/nordpool/coordinator.pyi +4 -2
  157. homeassistant-stubs/components/ntfy/config_flow.pyi +4 -2
  158. homeassistant-stubs/components/ntfy/const.pyi +6 -0
  159. homeassistant-stubs/components/ntfy/entity.pyi +18 -0
  160. homeassistant-stubs/components/ntfy/event.pyi +29 -0
  161. homeassistant-stubs/components/ntfy/notify.pyi +19 -13
  162. homeassistant-stubs/components/{home_connect → ntfy}/repairs.pyi +7 -3
  163. homeassistant-stubs/components/number/const.pyi +1 -1
  164. homeassistant-stubs/components/openai_conversation/ai_task.pyi +5 -1
  165. homeassistant-stubs/components/openai_conversation/const.pyi +1 -0
  166. homeassistant-stubs/components/openai_conversation/entity.pyi +2 -2
  167. homeassistant-stubs/components/openuv/__init__.pyi +1 -1
  168. homeassistant-stubs/components/openuv/binary_sensor.pyi +2 -2
  169. homeassistant-stubs/components/openuv/coordinator.pyi +14 -1
  170. homeassistant-stubs/components/opnsense/__init__.pyi +11 -0
  171. homeassistant-stubs/components/opnsense/const.pyi +5 -0
  172. homeassistant-stubs/components/opnsense/device_tracker.pyi +23 -0
  173. homeassistant-stubs/components/portainer/__init__.pyi +11 -0
  174. homeassistant-stubs/components/portainer/binary_sensor.pyi +39 -0
  175. homeassistant-stubs/components/portainer/config_flow.pyi +20 -0
  176. homeassistant-stubs/components/portainer/const.pyi +2 -0
  177. homeassistant-stubs/components/portainer/coordinator.pyi +29 -0
  178. homeassistant-stubs/components/portainer/entity.pyi +22 -0
  179. homeassistant-stubs/components/prusalink/coordinator.pyi +2 -0
  180. homeassistant-stubs/components/radio_browser/media_source.pyi +3 -0
  181. homeassistant-stubs/components/recorder/models/statistics.pyi +1 -0
  182. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  183. homeassistant-stubs/components/recorder/util.pyi +1 -0
  184. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  185. homeassistant-stubs/components/reolink/entity.pyi +10 -0
  186. homeassistant-stubs/components/reolink/light.pyi +7 -1
  187. homeassistant-stubs/components/reolink/number.pyi +10 -1
  188. homeassistant-stubs/components/reolink/select.pyi +11 -3
  189. homeassistant-stubs/components/reolink/siren.pyi +11 -1
  190. homeassistant-stubs/components/reolink/switch.pyi +11 -1
  191. homeassistant-stubs/components/roborock/config_flow.pyi +1 -1
  192. homeassistant-stubs/components/roborock/const.pyi +1 -0
  193. homeassistant-stubs/components/roborock/coordinator.pyi +1 -1
  194. homeassistant-stubs/components/route_b_smart_meter/__init__.pyi +10 -0
  195. homeassistant-stubs/components/route_b_smart_meter/config_flow.pyi +22 -0
  196. homeassistant-stubs/components/route_b_smart_meter/const.pyi +9 -0
  197. homeassistant-stubs/components/route_b_smart_meter/coordinator.pyi +26 -0
  198. homeassistant-stubs/components/route_b_smart_meter/sensor.pyi +30 -0
  199. homeassistant-stubs/components/scrape/__init__.pyi +0 -1
  200. homeassistant-stubs/components/scrape/config_flow.pyi +1 -0
  201. homeassistant-stubs/components/scrape/coordinator.pyi +5 -1
  202. homeassistant-stubs/components/sensor/const.pyi +2 -1
  203. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  204. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  205. homeassistant-stubs/components/sftp_storage/__init__.pyi +21 -0
  206. homeassistant-stubs/components/sftp_storage/backup.pyi +24 -0
  207. homeassistant-stubs/components/sftp_storage/client.pyi +48 -0
  208. homeassistant-stubs/components/sftp_storage/config_flow.pyi +25 -0
  209. homeassistant-stubs/components/sftp_storage/const.pyi +16 -0
  210. homeassistant-stubs/components/shelly/__init__.pyi +2 -2
  211. homeassistant-stubs/components/shelly/binary_sensor.pyi +5 -1
  212. homeassistant-stubs/components/shelly/button.pyi +10 -2
  213. homeassistant-stubs/components/shelly/const.pyi +5 -2
  214. homeassistant-stubs/components/shelly/cover.pyi +6 -0
  215. homeassistant-stubs/components/shelly/entity.pyi +1 -3
  216. homeassistant-stubs/components/shelly/light.pyi +18 -10
  217. homeassistant-stubs/components/shelly/number.pyi +1 -1
  218. homeassistant-stubs/components/shelly/repairs.pyi +4 -2
  219. homeassistant-stubs/components/shelly/select.pyi +1 -1
  220. homeassistant-stubs/components/shelly/sensor.pyi +12 -8
  221. homeassistant-stubs/components/shelly/switch.pyi +1 -1
  222. homeassistant-stubs/components/shelly/text.pyi +1 -1
  223. homeassistant-stubs/components/shelly/utils.pyi +7 -2
  224. homeassistant-stubs/components/sql/__init__.pyi +2 -2
  225. homeassistant-stubs/components/sql/config_flow.pyi +6 -2
  226. homeassistant-stubs/components/sql/const.pyi +1 -0
  227. homeassistant-stubs/components/sql/sensor.pyi +1 -1
  228. homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
  229. homeassistant-stubs/components/ssdp/server.pyi +2 -3
  230. homeassistant-stubs/components/starlink/sensor.pyi +8 -1
  231. homeassistant-stubs/components/statistics/__init__.pyi +0 -1
  232. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  233. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +1 -0
  234. homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +7 -0
  235. homeassistant-stubs/components/switchbot_cloud/climate.pyi +7 -3
  236. homeassistant-stubs/components/switchbot_cloud/const.pyi +13 -0
  237. homeassistant-stubs/components/switchbot_cloud/humidifier.pyi +48 -0
  238. homeassistant-stubs/components/switchbot_cloud/light.pyi +1 -0
  239. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +13 -1
  240. homeassistant-stubs/components/synology_dsm/media_source.pyi +2 -2
  241. homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -0
  242. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +1 -1
  243. homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
  244. homeassistant-stubs/components/systemmonitor/coordinator.pyi +2 -0
  245. homeassistant-stubs/components/systemmonitor/sensor.pyi +2 -0
  246. homeassistant-stubs/components/telegram_bot/__init__.pyi +2 -1
  247. homeassistant-stubs/components/telegram_bot/bot.pyi +1 -0
  248. homeassistant-stubs/components/telegram_bot/const.pyi +13 -0
  249. homeassistant-stubs/components/threshold/__init__.pyi +0 -1
  250. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  251. homeassistant-stubs/components/tolo/config_flow.pyi +5 -3
  252. homeassistant-stubs/components/tts/__init__.pyi +5 -0
  253. homeassistant-stubs/components/uptimerobot/config_flow.pyi +1 -0
  254. homeassistant-stubs/components/vacuum/intent.pyi +1 -1
  255. homeassistant-stubs/components/volvo/__init__.pyi +1 -1
  256. homeassistant-stubs/components/volvo/api.pyi +4 -0
  257. homeassistant-stubs/components/volvo/coordinator.pyi +28 -15
  258. homeassistant-stubs/components/wake_on_lan/__init__.pyi +0 -1
  259. homeassistant-stubs/components/wake_on_lan/config_flow.pyi +1 -0
  260. homeassistant-stubs/components/webhook/trigger.pyi +2 -1
  261. homeassistant-stubs/components/workday/calendar.pyi +25 -0
  262. homeassistant-stubs/components/yalexs_ble/__init__.pyi +0 -1
  263. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +2 -2
  264. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  265. homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -3
  266. homeassistant-stubs/components/zwave_js/const.pyi +3 -0
  267. homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -1
  268. homeassistant-stubs/components/zwave_js/triggers/event.pyi +24 -9
  269. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +11 -7
  270. homeassistant-stubs/config_entries.pyi +6 -1
  271. homeassistant-stubs/const.pyi +7 -46
  272. homeassistant-stubs/data_entry_flow.pyi +16 -3
  273. homeassistant-stubs/generated/entity_platforms.pyi +46 -0
  274. homeassistant-stubs/helpers/condition.pyi +3 -1
  275. homeassistant-stubs/helpers/config_validation.pyi +1 -1
  276. homeassistant-stubs/helpers/deprecation.pyi +1 -0
  277. homeassistant-stubs/helpers/device_registry.pyi +4 -3
  278. homeassistant-stubs/helpers/entity_component.pyi +1 -3
  279. homeassistant-stubs/helpers/event.pyi +2 -1
  280. homeassistant-stubs/helpers/intent.pyi +5 -8
  281. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +5 -1
  282. homeassistant-stubs/helpers/selector.pyi +16 -16
  283. homeassistant-stubs/helpers/service.pyi +12 -14
  284. homeassistant-stubs/helpers/service_info/esphome.pyi +12 -0
  285. homeassistant-stubs/helpers/{template.pyi → template/__init__.pyi} +14 -97
  286. homeassistant-stubs/helpers/template/context.pyi +16 -0
  287. homeassistant-stubs/helpers/template/extensions/__init__.pyi +8 -0
  288. homeassistant-stubs/helpers/template/extensions/base.pyi +21 -0
  289. homeassistant-stubs/helpers/template/extensions/base64.pyi +9 -0
  290. homeassistant-stubs/helpers/template/extensions/collection.pyi +18 -0
  291. homeassistant-stubs/helpers/template/extensions/crypto.pyi +13 -0
  292. homeassistant-stubs/helpers/template/extensions/math.pyi +43 -0
  293. homeassistant-stubs/helpers/template/extensions/regex.pyi +14 -0
  294. homeassistant-stubs/helpers/template/extensions/string.pyi +9 -0
  295. homeassistant-stubs/helpers/template/helpers.pyi +4 -0
  296. homeassistant-stubs/helpers/template/render_info.pyi +39 -0
  297. homeassistant-stubs/helpers/trigger.pyi +16 -5
  298. homeassistant-stubs/helpers/trigger_template_entity.pyi +2 -1
  299. homeassistant-stubs/runner.pyi +16 -0
  300. homeassistant-stubs/util/unit_conversion.pyi +6 -0
  301. {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/METADATA +2 -2
  302. {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/RECORD +304 -246
  303. homeassistant-stubs/components/home_connect/time.pyi +0 -29
  304. {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/WHEEL +0 -0
  305. {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -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 ALARM_CONTROL_PANEL_SUPPORTED_FEATURES as ALARM_CONTROL_PANEL_SUPPORTED_FEATURES, 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_CODE_ARM_REQUIRED as CONF_CODE_ARM_REQUIRED, CONF_CODE_DISARM_REQUIRED as CONF_CODE_DISARM_REQUIRED, CONF_CODE_FORMAT as CONF_CODE_FORMAT, CONF_CODE_TRIGGER_REQUIRED as CONF_CODE_TRIGGER_REQUIRED, 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_ARM_AWAY as CONF_PAYLOAD_ARM_AWAY, CONF_PAYLOAD_ARM_CUSTOM_BYPASS as CONF_PAYLOAD_ARM_CUSTOM_BYPASS, CONF_PAYLOAD_ARM_HOME as CONF_PAYLOAD_ARM_HOME, CONF_PAYLOAD_ARM_NIGHT as CONF_PAYLOAD_ARM_NIGHT, CONF_PAYLOAD_ARM_VACATION as CONF_PAYLOAD_ARM_VACATION, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_CLOSE as CONF_PAYLOAD_CLOSE, CONF_PAYLOAD_LOCK as CONF_PAYLOAD_LOCK, 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 as CONF_PAYLOAD_RESET, 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_PAYLOAD_TRIGGER as CONF_PAYLOAD_TRIGGER, CONF_PAYLOAD_UNLOCK as CONF_PAYLOAD_UNLOCK, 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_JAMMED as CONF_STATE_JAMMED, CONF_STATE_LOCKED as CONF_STATE_LOCKED, CONF_STATE_LOCKING as CONF_STATE_LOCKING, 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_UNLOCKED as CONF_STATE_UNLOCKED, CONF_STATE_UNLOCKING as CONF_STATE_UNLOCKING, 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_SUPPORTED_FEATURES as CONF_SUPPORTED_FEATURES, 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_ALARM_CONTROL_PANEL_COMMAND_TEMPLATE as DEFAULT_ALARM_CONTROL_PANEL_COMMAND_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_ARM_AWAY as DEFAULT_PAYLOAD_ARM_AWAY, DEFAULT_PAYLOAD_ARM_CUSTOM_BYPASS as DEFAULT_PAYLOAD_ARM_CUSTOM_BYPASS, DEFAULT_PAYLOAD_ARM_HOME as DEFAULT_PAYLOAD_ARM_HOME, DEFAULT_PAYLOAD_ARM_NIGHT as DEFAULT_PAYLOAD_ARM_NIGHT, DEFAULT_PAYLOAD_ARM_VACATION as DEFAULT_PAYLOAD_ARM_VACATION, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_CLOSE as DEFAULT_PAYLOAD_CLOSE, DEFAULT_PAYLOAD_LOCK as DEFAULT_PAYLOAD_LOCK, 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_PAYLOAD_TRIGGER as DEFAULT_PAYLOAD_TRIGGER, DEFAULT_PAYLOAD_UNLOCK as DEFAULT_PAYLOAD_UNLOCK, 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_JAMMED as DEFAULT_STATE_JAMMED, DEFAULT_STATE_LOCKED as DEFAULT_STATE_LOCKED, DEFAULT_STATE_LOCKING as DEFAULT_STATE_LOCKING, DEFAULT_STATE_STOPPED as DEFAULT_STATE_STOPPED, DEFAULT_STATE_UNLOCKED as DEFAULT_STATE_UNLOCKED, DEFAULT_STATE_UNLOCKING as DEFAULT_STATE_UNLOCKING, 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, REMOTE_CODE as REMOTE_CODE, REMOTE_CODE_TEXT as REMOTE_CODE_TEXT, 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 ALARM_CONTROL_PANEL_SUPPORTED_FEATURES as ALARM_CONTROL_PANEL_SUPPORTED_FEATURES, 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_CODE_ARM_REQUIRED as CONF_CODE_ARM_REQUIRED, CONF_CODE_DISARM_REQUIRED as CONF_CODE_DISARM_REQUIRED, CONF_CODE_FORMAT as CONF_CODE_FORMAT, CONF_CODE_TRIGGER_REQUIRED as CONF_CODE_TRIGGER_REQUIRED, 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_CONTENT_TYPE as CONF_CONTENT_TYPE, 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_IMAGE_ENCODING as CONF_IMAGE_ENCODING, CONF_IMAGE_TOPIC as CONF_IMAGE_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_ARM_AWAY as CONF_PAYLOAD_ARM_AWAY, CONF_PAYLOAD_ARM_CUSTOM_BYPASS as CONF_PAYLOAD_ARM_CUSTOM_BYPASS, CONF_PAYLOAD_ARM_HOME as CONF_PAYLOAD_ARM_HOME, CONF_PAYLOAD_ARM_NIGHT as CONF_PAYLOAD_ARM_NIGHT, CONF_PAYLOAD_ARM_VACATION as CONF_PAYLOAD_ARM_VACATION, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_CLOSE as CONF_PAYLOAD_CLOSE, CONF_PAYLOAD_LOCK as CONF_PAYLOAD_LOCK, 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 as CONF_PAYLOAD_RESET, 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_PAYLOAD_TRIGGER as CONF_PAYLOAD_TRIGGER, CONF_PAYLOAD_UNLOCK as CONF_PAYLOAD_UNLOCK, 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_JAMMED as CONF_STATE_JAMMED, CONF_STATE_LOCKED as CONF_STATE_LOCKED, CONF_STATE_LOCKING as CONF_STATE_LOCKING, 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_UNLOCKED as CONF_STATE_UNLOCKED, CONF_STATE_UNLOCKING as CONF_STATE_UNLOCKING, 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_SUPPORTED_FEATURES as CONF_SUPPORTED_FEATURES, 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_URL_TEMPLATE as CONF_URL_TEMPLATE, CONF_URL_TOPIC as CONF_URL_TOPIC, 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_ALARM_CONTROL_PANEL_COMMAND_TEMPLATE as DEFAULT_ALARM_CONTROL_PANEL_COMMAND_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_ARM_AWAY as DEFAULT_PAYLOAD_ARM_AWAY, DEFAULT_PAYLOAD_ARM_CUSTOM_BYPASS as DEFAULT_PAYLOAD_ARM_CUSTOM_BYPASS, DEFAULT_PAYLOAD_ARM_HOME as DEFAULT_PAYLOAD_ARM_HOME, DEFAULT_PAYLOAD_ARM_NIGHT as DEFAULT_PAYLOAD_ARM_NIGHT, DEFAULT_PAYLOAD_ARM_VACATION as DEFAULT_PAYLOAD_ARM_VACATION, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_CLOSE as DEFAULT_PAYLOAD_CLOSE, DEFAULT_PAYLOAD_LOCK as DEFAULT_PAYLOAD_LOCK, 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_PAYLOAD_TRIGGER as DEFAULT_PAYLOAD_TRIGGER, DEFAULT_PAYLOAD_UNLOCK as DEFAULT_PAYLOAD_UNLOCK, 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_JAMMED as DEFAULT_STATE_JAMMED, DEFAULT_STATE_LOCKED as DEFAULT_STATE_LOCKED, DEFAULT_STATE_LOCKING as DEFAULT_STATE_LOCKING, DEFAULT_STATE_STOPPED as DEFAULT_STATE_STOPPED, DEFAULT_STATE_UNLOCKED as DEFAULT_STATE_UNLOCKED, DEFAULT_STATE_UNLOCKING as DEFAULT_STATE_UNLOCKING, 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, REMOTE_CODE as REMOTE_CODE, REMOTE_CODE_TEXT as REMOTE_CODE_TEXT, 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
@@ -16,6 +16,7 @@ from homeassistant.components.climate import DEFAULT_MAX_HUMIDITY as DEFAULT_MAX
16
16
  from homeassistant.components.cover import CoverDeviceClass as CoverDeviceClass
17
17
  from homeassistant.components.file_upload import process_uploaded_file as process_uploaded_file
18
18
  from homeassistant.components.hassio import AddonError as AddonError, AddonManager as AddonManager, AddonState as AddonState
19
+ from homeassistant.components.image import DEFAULT_CONTENT_TYPE as DEFAULT_CONTENT_TYPE
19
20
  from homeassistant.components.light import DEFAULT_MAX_KELVIN as DEFAULT_MAX_KELVIN, DEFAULT_MIN_KELVIN as DEFAULT_MIN_KELVIN, VALID_COLOR_MODES as VALID_COLOR_MODES, valid_supported_color_modes as valid_supported_color_modes
20
21
  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
21
22
  from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass
@@ -40,76 +41,84 @@ MQTT_TIMEOUT: int
40
41
  ADVANCED_OPTIONS: str
41
42
  SET_CA_CERT: str
42
43
  SET_CLIENT_CERT: str
44
+ CA_VERIFICATION_MODES: Incomplete
45
+ SUBENTRY_PLATFORMS: Incomplete
46
+ _CODE_VALIDATION_MODE: Incomplete
47
+ EXCLUDE_FROM_CONFIG_IF_NONE: Incomplete
48
+ PWD_NOT_CHANGED: str
43
49
  BOOLEAN_SELECTOR: Incomplete
50
+ TEMPLATE_SELECTOR: Incomplete
51
+ TEMPLATE_SELECTOR_READ_ONLY: Incomplete
44
52
  TEXT_SELECTOR: Incomplete
45
53
  TEXT_SELECTOR_READ_ONLY: Incomplete
46
- URL_SELECTOR: Incomplete
47
- PUBLISH_TOPIC_SELECTOR: Incomplete
48
- PORT_SELECTOR: Incomplete
54
+ OPTIONS_SELECTOR: Incomplete
49
55
  PASSWORD_SELECTOR: Incomplete
50
56
  QOS_SELECTOR: Incomplete
57
+ URL_SELECTOR: Incomplete
58
+ BROKER_VERIFICATION_SELECTOR: Incomplete
59
+ CA_CERT_UPLOAD_SELECTOR: Incomplete
60
+ CERT_KEY_UPLOAD_SELECTOR: Incomplete
61
+ CERT_UPLOAD_SELECTOR: Incomplete
51
62
  KEEPALIVE_SELECTOR: Incomplete
63
+ PORT_SELECTOR: Incomplete
52
64
  PROTOCOL_SELECTOR: Incomplete
65
+ PUBLISH_TOPIC_SELECTOR: Incomplete
53
66
  SUPPORTED_TRANSPORTS: Incomplete
54
67
  TRANSPORT_SELECTOR: Incomplete
55
68
  WS_HEADERS_SELECTOR: Incomplete
56
- CA_VERIFICATION_MODES: Incomplete
57
- BROKER_VERIFICATION_SELECTOR: Incomplete
58
- CA_CERT_UPLOAD_SELECTOR: Incomplete
59
- CERT_UPLOAD_SELECTOR: Incomplete
60
- KEY_UPLOAD_SELECTOR: Incomplete
61
- SUBENTRY_PLATFORMS: Incomplete
62
- SUBENTRY_PLATFORM_SELECTOR: Incomplete
63
- TEMPLATE_SELECTOR: Incomplete
64
- TEMPLATE_SELECTOR_READ_ONLY: Incomplete
65
- SUBENTRY_AVAILABILITY_SCHEMA: Incomplete
66
69
  ENTITY_CATEGORY_SELECTOR: Incomplete
67
- SENSOR_DEVICE_CLASS_SELECTOR: Incomplete
68
- BINARY_SENSOR_DEVICE_CLASS_SELECTOR: Incomplete
69
- SENSOR_ENTITY_CATEGORY_SELECTOR: Incomplete
70
- BUTTON_DEVICE_CLASS_SELECTOR: Incomplete
71
- COVER_DEVICE_CLASS_SELECTOR: Incomplete
72
- SENSOR_STATE_CLASS_SELECTOR: Incomplete
73
- OPTIONS_SELECTOR: Incomplete
70
+ SUBENTRY_AVAILABILITY_SCHEMA: Incomplete
71
+ SUBENTRY_PLATFORM_SELECTOR: Incomplete
74
72
  SUGGESTED_DISPLAY_PRECISION_SELECTOR: Incomplete
75
73
  TIMEOUT_SELECTOR: Incomplete
76
74
  ALARM_CONTROL_PANEL_FEATURES_SELECTOR: Incomplete
77
75
  ALARM_CONTROL_PANEL_CODE_MODE: Incomplete
76
+ BINARY_SENSOR_DEVICE_CLASS_SELECTOR: Incomplete
77
+ BUTTON_DEVICE_CLASS_SELECTOR: Incomplete
78
78
  CLIMATE_MODE_SELECTOR: Incomplete
79
-
80
- @callback
81
- def temperature_selector(config: dict[str, Any]) -> Selector: ...
82
- @callback
83
- def temperature_step_selector(config: dict[str, Any]) -> Selector: ...
84
-
85
- TEMPERATURE_UNIT_SELECTOR: Incomplete
86
- PRECISION_SELECTOR: Incomplete
87
- POSITION_SELECTOR: Incomplete
79
+ COVER_DEVICE_CLASS_SELECTOR: Incomplete
88
80
  FAN_SPEED_RANGE_MIN_SELECTOR: Incomplete
89
81
  FAN_SPEED_RANGE_MAX_SELECTOR: Incomplete
90
- PRESET_MODES_SELECTOR = OPTIONS_SELECTOR
91
- SWITCH_DEVICE_CLASS_SELECTOR: Incomplete
92
- LIGHT_SCHEMA_SELECTOR: Incomplete
93
- KELVIN_SELECTOR: Incomplete
94
- SCALE_SELECTOR: Incomplete
95
82
  FLASH_TIME_SELECTOR: Incomplete
83
+ HUMIDITY_SELECTOR: Incomplete
84
+ IMAGE_CONTENT_TYPE_SELECTOR: Incomplete
85
+ IMAGE_ENCODING_SELECTOR: Incomplete
86
+ IMAGE_PROCESSING_MODE_SELECTOR: Incomplete
87
+ KELVIN_SELECTOR: Incomplete
88
+ LIGHT_SCHEMA_SELECTOR: Incomplete
96
89
  ON_COMMAND_TYPE_SELECTOR: Incomplete
90
+ POSITION_SELECTOR: Incomplete
91
+ PRECISION_SELECTOR: Incomplete
92
+ PRESET_MODES_SELECTOR = OPTIONS_SELECTOR
93
+ SCALE_SELECTOR: Incomplete
94
+ SENSOR_DEVICE_CLASS_SELECTOR: Incomplete
95
+ SENSOR_ENTITY_CATEGORY_SELECTOR: Incomplete
96
+ SENSOR_STATE_CLASS_SELECTOR: Incomplete
97
97
  SUPPORTED_COLOR_MODES_SELECTOR: Incomplete
98
- EXCLUDE_FROM_CONFIG_IF_NONE: Incomplete
98
+ SWITCH_DEVICE_CLASS_SELECTOR: Incomplete
99
+ TARGET_TEMPERATURE_FEATURE_SELECTOR: Incomplete
100
+ TEMPERATURE_UNIT_SELECTOR: Incomplete
99
101
 
100
102
  @callback
101
103
  def configured_target_temperature_feature(config: dict[str, Any]) -> str: ...
102
-
103
- TARGET_TEMPERATURE_FEATURE_SELECTOR: Incomplete
104
- HUMIDITY_SELECTOR: Incomplete
105
- _CODE_VALIDATION_MODE: Incomplete
106
-
107
104
  @callback
108
105
  def default_alarm_control_panel_code(config: dict[str, Any]) -> str: ...
109
106
  @callback
107
+ def default_precision(config: dict[str, Any]) -> str: ...
108
+ @callback
109
+ def no_empty_list(value: list[Any]) -> list[Any]: ...
110
+ @callback
110
111
  def temperature_default_from_celsius_to_system_default(value: float) -> Callable[[dict[str, Any]], int]: ...
111
112
  @callback
112
- def default_precision(config: dict[str, Any]) -> str: ...
113
+ def temperature_selector(config: dict[str, Any]) -> Selector: ...
114
+ @callback
115
+ def temperature_step_selector(config: dict[str, Any]) -> Selector: ...
116
+ @callback
117
+ def unit_of_measurement_selector(user_data: dict[str, Any | None]) -> Selector: ...
118
+ @callback
119
+ def validate(validator: Callable[[Any], Any]) -> Callable[[Any], Any]: ...
120
+ @callback
121
+ def validate_field(field: str, validator: Callable[..., Any], user_input: dict[str, Any] | None, errors: dict[str, str], error: str) -> None: ...
113
122
  @callback
114
123
  def validate_climate_platform_config(config: dict[str, Any]) -> dict[str, str]: ...
115
124
  @callback
@@ -117,11 +126,11 @@ def validate_cover_platform_config(config: dict[str, Any]) -> dict[str, str]: ..
117
126
  @callback
118
127
  def validate_fan_platform_config(config: dict[str, Any]) -> dict[str, str]: ...
119
128
  @callback
120
- def validate_sensor_platform_config(config: dict[str, Any]) -> dict[str, str]: ...
121
- @callback
122
- def no_empty_list(value: list[Any]) -> list[Any]: ...
129
+ def validate_light_platform_config(user_data: dict[str, Any]) -> dict[str, str]: ...
123
130
  @callback
124
- def validate(validator: Callable[[Any], Any]) -> Callable[[Any], Any]: ...
131
+ def validate_sensor_platform_config(config: dict[str, Any]) -> dict[str, str]: ...
132
+
133
+ ENTITY_CONFIG_VALIDATOR: dict[str, Callable[[dict[str, Any]], dict[str, str]] | None]
125
134
 
126
135
  @dataclass(frozen=True, kw_only=True)
127
136
  class PlatformField:
@@ -138,34 +147,26 @@ class PlatformField:
138
147
  custom_filtering: bool = ...
139
148
  section: str | None = ...
140
149
 
141
- @callback
142
- def unit_of_measurement_selector(user_data: dict[str, Any | None]) -> Selector: ...
143
- @callback
144
- def validate_light_platform_config(user_data: dict[str, Any]) -> dict[str, str]: ...
145
-
146
150
  COMMON_ENTITY_FIELDS: dict[str, PlatformField]
147
151
  SHARED_PLATFORM_ENTITY_FIELDS: dict[str, PlatformField]
148
152
  PLATFORM_ENTITY_FIELDS: dict[str, dict[str, PlatformField]]
149
153
  PLATFORM_MQTT_FIELDS: dict[str, dict[str, PlatformField]]
150
- ENTITY_CONFIG_VALIDATOR: dict[str, Callable[[dict[str, Any]], dict[str, str]] | None]
151
154
  MQTT_DEVICE_PLATFORM_FIELDS: Incomplete
152
- REAUTH_SCHEMA: Incomplete
153
- PWD_NOT_CHANGED: str
154
155
 
155
- @callback
156
- def update_password_from_user_input(entry_password: str | None, user_input: dict[str, Any]) -> dict[str, Any]: ...
157
- @callback
158
- def validate_field(field: str, validator: Callable[..., Any], user_input: dict[str, Any] | None, errors: dict[str, str], error: str) -> None: ...
159
156
  @callback
160
157
  def _check_conditions(platform_field: PlatformField, component_data: dict[str, Any] | None = None) -> bool: ...
161
158
  @callback
162
159
  def calculate_merged_config(merged_user_input: dict[str, Any], data_schema_fields: dict[str, PlatformField], component_data: dict[str, Any]) -> dict[str, Any]: ...
163
160
  @callback
164
- def validate_user_input(user_input: dict[str, Any], data_schema_fields: dict[str, PlatformField], *, component_data: dict[str, Any] | None = None, config_validator: Callable[[dict[str, Any]], dict[str, str]] | None = None) -> tuple[dict[str, Any], dict[str, str]]: ...
165
- @callback
166
161
  def data_schema_from_fields(data_schema_fields: dict[str, PlatformField], reconfig: bool, component_data: dict[str, Any] | None = None, user_input: dict[str, Any] | None = None, device_data: MqttDeviceData | None = None) -> vol.Schema: ...
167
162
  @callback
163
+ def validate_user_input(user_input: dict[str, Any], data_schema_fields: dict[str, PlatformField], *, component_data: dict[str, Any] | None = None, config_validator: Callable[[dict[str, Any]], dict[str, str]] | None = None) -> tuple[dict[str, Any], dict[str, str]]: ...
164
+ @callback
168
165
  def subentry_schema_default_data_from_fields(data_schema_fields: dict[str, PlatformField], component_data: dict[str, Any]) -> dict[str, Any]: ...
166
+ @callback
167
+ def update_password_from_user_input(entry_password: str | None, user_input: dict[str, Any]) -> dict[str, Any]: ...
168
+
169
+ REAUTH_SCHEMA: Incomplete
169
170
 
170
171
  class FlowHandler(ConfigFlow, domain=DOMAIN):
171
172
  VERSION = CONFIG_ENTRY_VERSION
@@ -29,8 +29,12 @@ CONF_CODE_FORMAT: str
29
29
  CONF_CODE_TRIGGER_REQUIRED: str
30
30
  CONF_COMMAND_TEMPLATE: str
31
31
  CONF_COMMAND_TOPIC: str
32
+ CONF_CONTENT_TYPE: str
33
+ CONF_DEFAULT_ENTITY_ID: str
32
34
  CONF_DISCOVERY_PREFIX: str
33
35
  CONF_ENCODING: str
36
+ CONF_IMAGE_ENCODING: str
37
+ CONF_IMAGE_TOPIC: str
34
38
  CONF_JSON_ATTRS_TOPIC: str
35
39
  CONF_JSON_ATTRS_TEMPLATE: str
36
40
  CONF_KEEPALIVE: str
@@ -221,6 +225,8 @@ CONF_TILT_MIN: str
221
225
  CONF_TILT_OPEN_POSITION: str
222
226
  CONF_TILT_STATE_OPTIMISTIC: str
223
227
  CONF_TRANSITION: str
228
+ CONF_URL_TEMPLATE: str
229
+ CONF_URL_TOPIC: str
224
230
  CONF_XY_COMMAND_TEMPLATE: str
225
231
  CONF_XY_COMMAND_TOPIC: str
226
232
  CONF_XY_STATE_TOPIC: str
@@ -12,6 +12,6 @@ AUTOMATION_TYPES_SCHEMA: Incomplete
12
12
  CONF_AUTOMATION_TYPE: str
13
13
  DISCOVERY_SCHEMA: Incomplete
14
14
 
15
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
15
+ async def async_setup_mqtt_device_automation_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
16
16
  async def _async_setup_automation(hass: HomeAssistant, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType) -> None: ...
17
17
  async def async_removed_from_device(hass: HomeAssistant, device_id: str) -> None: ...
@@ -2,7 +2,7 @@ import abc
2
2
  import voluptuous as vol
3
3
  from . import debug_info as debug_info, subscription as subscription
4
4
  from .client import async_publish as async_publish
5
- from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, ATTR_DISCOVERY_PAYLOAD as ATTR_DISCOVERY_PAYLOAD, ATTR_DISCOVERY_TOPIC as ATTR_DISCOVERY_TOPIC, AVAILABILITY_ALL as AVAILABILITY_ALL, AVAILABILITY_ANY as AVAILABILITY_ANY, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_AVAILABILITY_MODE as CONF_AVAILABILITY_MODE, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_ENABLED_BY_DEFAULT as CONF_ENABLED_BY_DEFAULT, CONF_ENCODING as CONF_ENCODING, CONF_ENTITY_PICTURE as CONF_ENTITY_PICTURE, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_JSON_ATTRS_TEMPLATE as CONF_JSON_ATTRS_TEMPLATE, CONF_JSON_ATTRS_TOPIC as CONF_JSON_ATTRS_TOPIC, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_SCHEMA as CONF_SCHEMA, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_ENCODING as DEFAULT_ENCODING, DOMAIN as DOMAIN, MQTT_CONNECTION_STATE as MQTT_CONNECTION_STATE
5
+ from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, ATTR_DISCOVERY_PAYLOAD as ATTR_DISCOVERY_PAYLOAD, ATTR_DISCOVERY_TOPIC as ATTR_DISCOVERY_TOPIC, AVAILABILITY_ALL as AVAILABILITY_ALL, AVAILABILITY_ANY as AVAILABILITY_ANY, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_AVAILABILITY_MODE as CONF_AVAILABILITY_MODE, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_DEFAULT_ENTITY_ID as CONF_DEFAULT_ENTITY_ID, CONF_ENABLED_BY_DEFAULT as CONF_ENABLED_BY_DEFAULT, CONF_ENCODING as CONF_ENCODING, CONF_ENTITY_PICTURE as CONF_ENTITY_PICTURE, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_JSON_ATTRS_TEMPLATE as CONF_JSON_ATTRS_TEMPLATE, CONF_JSON_ATTRS_TOPIC as CONF_JSON_ATTRS_TOPIC, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_ORIGIN as CONF_ORIGIN, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_SCHEMA as CONF_SCHEMA, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_ENCODING as DEFAULT_ENCODING, DOMAIN as DOMAIN, MQTT_CONNECTION_STATE as MQTT_CONNECTION_STATE
6
6
  from .debug_info import log_message as log_message
7
7
  from .discovery import MQTTDiscoveryPayload as MQTTDiscoveryPayload, MQTT_DISCOVERY_DONE as MQTT_DISCOVERY_DONE, MQTT_DISCOVERY_NEW as MQTT_DISCOVERY_NEW, MQTT_DISCOVERY_UPDATED as MQTT_DISCOVERY_UPDATED, clear_discovery_hash as clear_discovery_hash, get_origin_log_string as get_origin_log_string, get_origin_support_url as get_origin_support_url, set_discovery_hash as set_discovery_hash
8
8
  from .models import DATA_MQTT as DATA_MQTT, MessageCallbackType as MessageCallbackType, MqttSubentryData as MqttSubentryData, MqttValueTemplate as MqttValueTemplate, MqttValueTemplateException as MqttValueTemplateException, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
@@ -12,7 +12,7 @@ from _typeshed import Incomplete
12
12
  from abc import ABC, abstractmethod
13
13
  from collections.abc import Callable as Callable, Coroutine
14
14
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
15
- from homeassistant.const import ATTR_CONFIGURATION_URL as ATTR_CONFIGURATION_URL, ATTR_HW_VERSION as ATTR_HW_VERSION, ATTR_MANUFACTURER as ATTR_MANUFACTURER, ATTR_MODEL as ATTR_MODEL, ATTR_MODEL_ID as ATTR_MODEL_ID, ATTR_NAME as ATTR_NAME, ATTR_SERIAL_NUMBER as ATTR_SERIAL_NUMBER, ATTR_SUGGESTED_AREA as ATTR_SUGGESTED_AREA, ATTR_SW_VERSION as ATTR_SW_VERSION, ATTR_VIA_DEVICE as ATTR_VIA_DEVICE, CONF_DEVICE as CONF_DEVICE, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ICON as CONF_ICON, CONF_MODEL as CONF_MODEL, CONF_MODEL_ID as CONF_MODEL_ID, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
15
+ from homeassistant.const import ATTR_CONFIGURATION_URL as ATTR_CONFIGURATION_URL, ATTR_HW_VERSION as ATTR_HW_VERSION, ATTR_MANUFACTURER as ATTR_MANUFACTURER, ATTR_MODEL as ATTR_MODEL, ATTR_MODEL_ID as ATTR_MODEL_ID, ATTR_NAME as ATTR_NAME, ATTR_SERIAL_NUMBER as ATTR_SERIAL_NUMBER, ATTR_SUGGESTED_AREA as ATTR_SUGGESTED_AREA, ATTR_SW_VERSION as ATTR_SW_VERSION, ATTR_VIA_DEVICE as ATTR_VIA_DEVICE, CONF_DEVICE as CONF_DEVICE, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ICON as CONF_ICON, CONF_MODEL as CONF_MODEL, CONF_MODEL_ID as CONF_MODEL_ID, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_URL as CONF_URL, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
16
16
  from homeassistant.core import Event as Event, HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback
17
17
  from homeassistant.helpers import entity_registry as er
18
18
  from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry, DeviceInfo as DeviceInfo, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
@@ -1,6 +1,7 @@
1
1
  import httpx
2
2
  from . import subscription as subscription
3
3
  from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
4
+ from .const import CONF_CONTENT_TYPE as CONF_CONTENT_TYPE, CONF_IMAGE_ENCODING as CONF_IMAGE_ENCODING, CONF_IMAGE_TOPIC as CONF_IMAGE_TOPIC, CONF_URL_TEMPLATE as CONF_URL_TEMPLATE, CONF_URL_TOPIC as CONF_URL_TOPIC
4
5
  from .entity import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
5
6
  from .models import DATA_MQTT as DATA_MQTT, MqttValueTemplate as MqttValueTemplate, MqttValueTemplateException as MqttValueTemplateException, ReceiveMessage as ReceiveMessage
6
7
  from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
@@ -20,11 +21,6 @@ from typing import Any
20
21
 
21
22
  _LOGGER: Incomplete
22
23
  PARALLEL_UPDATES: int
23
- CONF_CONTENT_TYPE: str
24
- CONF_IMAGE_ENCODING: str
25
- CONF_IMAGE_TOPIC: str
26
- CONF_URL_TEMPLATE: str
27
- CONF_URL_TOPIC: str
28
24
  DEFAULT_NAME: str
29
25
  GET_IMAGE_TIMEOUT: int
30
26
 
@@ -18,7 +18,6 @@ from homeassistant.util.json import json_loads_object as json_loads_object
18
18
  from typing import Any
19
19
 
20
20
  _LOGGER: Incomplete
21
- DOMAIN: str
22
21
  DEFAULT_NAME: str
23
22
  DEFAULT_FLASH: bool
24
23
  DEFAULT_TRANSITION: bool
@@ -1,4 +1,4 @@
1
- from .const import AVAILABILITY_LATEST as AVAILABILITY_LATEST, AVAILABILITY_MODES as AVAILABILITY_MODES, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_AVAILABILITY_MODE as CONF_AVAILABILITY_MODE, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_COMPONENTS as CONF_COMPONENTS, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_DEPRECATED_VIA_HUB as CONF_DEPRECATED_VIA_HUB, CONF_ENABLED_BY_DEFAULT as CONF_ENABLED_BY_DEFAULT, CONF_ENCODING as CONF_ENCODING, CONF_ENTITY_PICTURE as CONF_ENTITY_PICTURE, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_JSON_ATTRS_TEMPLATE as CONF_JSON_ATTRS_TEMPLATE, CONF_JSON_ATTRS_TOPIC as CONF_JSON_ATTRS_TOPIC, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_ORIGIN as CONF_ORIGIN, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_QOS as CONF_QOS, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SUPPORT_URL as CONF_SUPPORT_URL, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_NOT_AVAILABLE as DEFAULT_PAYLOAD_NOT_AVAILABLE, ENTITY_PLATFORMS as ENTITY_PLATFORMS, SUPPORTED_COMPONENTS as SUPPORTED_COMPONENTS
1
+ from .const import AVAILABILITY_LATEST as AVAILABILITY_LATEST, AVAILABILITY_MODES as AVAILABILITY_MODES, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_AVAILABILITY_MODE as CONF_AVAILABILITY_MODE, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_COMPONENTS as CONF_COMPONENTS, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_DEFAULT_ENTITY_ID as CONF_DEFAULT_ENTITY_ID, CONF_DEPRECATED_VIA_HUB as CONF_DEPRECATED_VIA_HUB, CONF_ENABLED_BY_DEFAULT as CONF_ENABLED_BY_DEFAULT, CONF_ENCODING as CONF_ENCODING, CONF_ENTITY_PICTURE as CONF_ENTITY_PICTURE, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_JSON_ATTRS_TEMPLATE as CONF_JSON_ATTRS_TEMPLATE, CONF_JSON_ATTRS_TOPIC as CONF_JSON_ATTRS_TOPIC, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_ORIGIN as CONF_ORIGIN, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_QOS as CONF_QOS, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SUPPORT_URL as CONF_SUPPORT_URL, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_NOT_AVAILABLE as DEFAULT_PAYLOAD_NOT_AVAILABLE, ENTITY_PLATFORMS as ENTITY_PLATFORMS, SUPPORTED_COMPONENTS as SUPPORTED_COMPONENTS
2
2
  from .util import valid_publish_topic as valid_publish_topic, valid_qos_schema as valid_qos_schema, valid_subscribe_topic as valid_subscribe_topic
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.const import CONF_DEVICE as CONF_DEVICE, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ICON as CONF_ICON, CONF_MODEL as CONF_MODEL, CONF_MODEL_ID as CONF_MODEL_ID, CONF_NAME as CONF_NAME, CONF_PLATFORM as CONF_PLATFORM, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
@@ -21,7 +21,7 @@ LOG_NAME: str
21
21
  TAG: str
22
22
  DISCOVERY_SCHEMA: Incomplete
23
23
 
24
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
24
+ async def async_setup_mqtt_tag_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
25
25
  async def _async_setup_tag(hass: HomeAssistant, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType) -> None: ...
26
26
  def async_has_tags(hass: HomeAssistant, device_id: str) -> bool: ...
27
27
 
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
  from .actions import get_music_assistant_client as get_music_assistant_client, register_actions as register_actions
3
- from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
3
+ from .const import ATTR_CONF_EXPOSE_PLAYER_TO_HA as ATTR_CONF_EXPOSE_PLAYER_TO_HA, DOMAIN as DOMAIN, LOGGER as LOGGER
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable
6
6
  from dataclasses import dataclass, field
@@ -14,6 +14,7 @@ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity,
14
14
  from homeassistant.helpers.typing import ConfigType as ConfigType
15
15
  from music_assistant_client import MusicAssistantClient
16
16
  from music_assistant_models.event import MassEvent as MassEvent
17
+ from music_assistant_models.player import Player as Player
17
18
 
18
19
  PLATFORMS: Incomplete
19
20
  CONNECT_TIMEOUT: int
@@ -1,6 +1,6 @@
1
1
  import voluptuous as vol
2
2
  from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
3
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
3
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_IGNORE as SOURCE_IGNORE
4
4
  from homeassistant.const import CONF_URL as CONF_URL
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.helpers import aiohttp_client as aiohttp_client
@@ -58,4 +58,5 @@ ATTR_SAMPLE_RATE: str
58
58
  ATTR_BIT_DEPTH: str
59
59
  ATTR_PROVIDER: str
60
60
  ATTR_ITEM_ID: str
61
+ ATTR_CONF_EXPOSE_PLAYER_TO_HA: str
61
62
  LOGGER: Incomplete
@@ -7,7 +7,7 @@ from homeassistant.const import CONF_CURRENCY as CONF_CURRENCY
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
9
  from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time
10
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
10
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
11
11
  from pynordpool import DeliveryPeriodData as DeliveryPeriodData, DeliveryPeriodEntry as DeliveryPeriodEntry, DeliveryPeriodsData
12
12
 
13
13
  class NordPoolDataUpdateCoordinator(DataUpdateCoordinator[DeliveryPeriodsData]):
@@ -17,7 +17,9 @@ class NordPoolDataUpdateCoordinator(DataUpdateCoordinator[DeliveryPeriodsData]):
17
17
  def __init__(self, hass: HomeAssistant, config_entry: NordPoolConfigEntry) -> None: ...
18
18
  def get_next_interval(self, now: datetime) -> datetime: ...
19
19
  async def async_shutdown(self) -> None: ...
20
- async def fetch_data(self, now: datetime) -> None: ...
20
+ async def fetch_data(self, now: datetime, initial: bool = False) -> None: ...
21
+ async def handle_data(self, initial: bool = False) -> DeliveryPeriodsData: ...
22
+ async def _async_update_data(self) -> DeliveryPeriodsData: ...
21
23
  async def api_call(self, retry: int = 3) -> DeliveryPeriodsData | None: ...
22
24
  def merge_price_entries(self) -> list[DeliveryPeriodEntry]: ...
23
25
  def get_data_current_day(self) -> DeliveryPeriodData: ...
@@ -1,4 +1,4 @@
1
- from .const import CONF_TOPIC as CONF_TOPIC, DEFAULT_URL as DEFAULT_URL, DOMAIN as DOMAIN, SECTION_AUTH as SECTION_AUTH
1
+ from .const import CONF_MESSAGE as CONF_MESSAGE, CONF_PRIORITY as CONF_PRIORITY, CONF_TAGS as CONF_TAGS, CONF_TITLE as CONF_TITLE, CONF_TOPIC as CONF_TOPIC, DEFAULT_URL as DEFAULT_URL, DOMAIN as DOMAIN, SECTION_AUTH as SECTION_AUTH, SECTION_FILTER as SECTION_FILTER
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Mapping
4
4
  from homeassistant import data_entry_flow as data_entry_flow
@@ -6,13 +6,14 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow
6
6
  from homeassistant.const import ATTR_CREDENTIALS as ATTR_CREDENTIALS, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_URL as CONF_URL, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
7
7
  from homeassistant.core import callback as callback
8
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
- from homeassistant.helpers.selector import TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
9
+ from homeassistant.helpers.selector import SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
10
10
  from typing import Any
11
11
 
12
12
  _LOGGER: Incomplete
13
13
  STEP_USER_DATA_SCHEMA: Incomplete
14
14
  STEP_REAUTH_DATA_SCHEMA: Incomplete
15
15
  STEP_RECONFIGURE_DATA_SCHEMA: Incomplete
16
+ TOPIC_FILTER_SCHEMA: Incomplete
16
17
  STEP_USER_TOPIC_SCHEMA: Incomplete
17
18
  RE_TOPIC: Incomplete
18
19
 
@@ -30,3 +31,4 @@ class TopicSubentryFlowHandler(ConfigSubentryFlow):
30
31
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
31
32
  async def async_step_generate_topic(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
32
33
  async def async_step_add_topic(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
34
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
@@ -3,4 +3,10 @@ from typing import Final
3
3
  DOMAIN: str
4
4
  DEFAULT_URL: Final[str]
5
5
  CONF_TOPIC: str
6
+ CONF_PRIORITY: str
7
+ CONF_TITLE: str
8
+ CONF_MESSAGE: str
9
+ CONF_TAGS: str
6
10
  SECTION_AUTH: str
11
+ SECTION_FILTER: str
12
+ NTFY_EVENT: str
@@ -0,0 +1,18 @@
1
+ from .const import CONF_TOPIC as CONF_TOPIC, DOMAIN as DOMAIN
2
+ from .coordinator import NtfyConfigEntry as NtfyConfigEntry
3
+ from _typeshed import Incomplete
4
+ from homeassistant.config_entries import ConfigSubentry as ConfigSubentry
5
+ from homeassistant.const import CONF_URL as CONF_URL
6
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
7
+ from homeassistant.helpers.entity import Entity as Entity
8
+
9
+ class NtfyBaseEntity(Entity):
10
+ _attr_has_entity_name: bool
11
+ _attr_should_poll: bool
12
+ topic: Incomplete
13
+ _attr_unique_id: Incomplete
14
+ _attr_device_info: Incomplete
15
+ ntfy: Incomplete
16
+ config_entry: Incomplete
17
+ subentry: Incomplete
18
+ def __init__(self, config_entry: NtfyConfigEntry, subentry: ConfigSubentry) -> None: ...
@@ -0,0 +1,29 @@
1
+ import asyncio
2
+ from .const import CONF_MESSAGE as CONF_MESSAGE, CONF_PRIORITY as CONF_PRIORITY, CONF_TAGS as CONF_TAGS, CONF_TITLE as CONF_TITLE, CONF_TOPIC as CONF_TOPIC, DOMAIN as DOMAIN
3
+ from .coordinator import NtfyConfigEntry as NtfyConfigEntry
4
+ from .entity import NtfyBaseEntity as NtfyBaseEntity
5
+ from _typeshed import Incomplete
6
+ from aiontfy import Notification as Notification
7
+ from homeassistant.components.event import EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
8
+ from homeassistant.config_entries import ConfigSubentry as ConfigSubentry
9
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+
12
+ _LOGGER: Incomplete
13
+ PARALLEL_UPDATES: int
14
+ RECONNECT_INTERVAL: int
15
+
16
+ async def async_setup_entry(hass: HomeAssistant, config_entry: NtfyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
+
18
+ class NtfyEventEntity(NtfyBaseEntity, EventEntity):
19
+ entity_description: Incomplete
20
+ _ws: asyncio.Task | None
21
+ def __init__(self, config_entry: NtfyConfigEntry, subentry: ConfigSubentry) -> None: ...
22
+ _attr_event_types: Incomplete
23
+ @callback
24
+ def _async_handle_event(self, notification: Notification) -> None: ...
25
+ async def async_added_to_hass(self) -> None: ...
26
+ _attr_available: bool
27
+ async def ws_connect(self) -> None: ...
28
+ @property
29
+ def entity_picture(self) -> str | None: ...
@@ -1,25 +1,31 @@
1
- from .const import CONF_TOPIC as CONF_TOPIC, DOMAIN as DOMAIN
1
+ from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import NtfyConfigEntry as NtfyConfigEntry
3
+ from .entity import NtfyBaseEntity as NtfyBaseEntity
3
4
  from _typeshed import Incomplete
4
- from homeassistant.components.notify import NotifyEntity as NotifyEntity, NotifyEntityDescription as NotifyEntityDescription, NotifyEntityFeature as NotifyEntityFeature
5
- from homeassistant.config_entries import ConfigSubentry as ConfigSubentry
6
- from homeassistant.const import CONF_NAME as CONF_NAME, CONF_URL as CONF_URL
5
+ from homeassistant.components.notify import ATTR_MESSAGE as ATTR_MESSAGE, ATTR_TITLE as ATTR_TITLE, NotifyEntity as NotifyEntity, NotifyEntityDescription as NotifyEntityDescription, NotifyEntityFeature as NotifyEntityFeature
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant
8
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
- from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
7
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
8
+ from homeassistant.helpers import entity_platform as entity_platform
10
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+ from typing import Any
11
11
 
12
12
  PARALLEL_UPDATES: int
13
+ SERVICE_PUBLISH: str
14
+ ATTR_ATTACH: str
15
+ ATTR_CALL: str
16
+ ATTR_CLICK: str
17
+ ATTR_DELAY: str
18
+ ATTR_EMAIL: str
19
+ ATTR_ICON: str
20
+ ATTR_MARKDOWN: str
21
+ ATTR_PRIORITY: str
22
+ ATTR_TAGS: str
23
+ SERVICE_PUBLISH_SCHEMA: Incomplete
13
24
 
14
25
  async def async_setup_entry(hass: HomeAssistant, config_entry: NtfyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
26
 
16
- class NtfyNotifyEntity(NotifyEntity):
27
+ class NtfyNotifyEntity(NtfyBaseEntity, NotifyEntity):
17
28
  entity_description: Incomplete
18
29
  _attr_supported_features: Incomplete
19
- _attr_unique_id: Incomplete
20
- topic: Incomplete
21
- _attr_device_info: Incomplete
22
- config_entry: Incomplete
23
- ntfy: Incomplete
24
- def __init__(self, config_entry: NtfyConfigEntry, subentry: ConfigSubentry) -> None: ...
25
30
  async def async_send_message(self, message: str, title: str | None = None) -> None: ...
31
+ async def publish(self, **kwargs: Any) -> None: ...
@@ -1,10 +1,14 @@
1
- from .coordinator import HomeConnectConfigEntry as HomeConnectConfigEntry
1
+ from .const import CONF_TOPIC as CONF_TOPIC
2
+ from _typeshed import Incomplete
2
3
  from homeassistant import data_entry_flow as data_entry_flow
3
4
  from homeassistant.components.repairs import ConfirmRepairFlow as ConfirmRepairFlow, RepairsFlow as RepairsFlow
4
5
  from homeassistant.core import HomeAssistant as HomeAssistant
5
6
 
6
- class EnableApplianceUpdatesFlow(RepairsFlow):
7
+ class TopicProtectedRepairFlow(RepairsFlow):
8
+ entity_id: Incomplete
9
+ topic: Incomplete
10
+ def __init__(self, data: dict[str, str]) -> None: ...
7
11
  async def async_step_init(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
8
12
  async def async_step_confirm(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
9
13
 
10
- async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str | int | float | None] | None) -> RepairsFlow: ...
14
+ async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str]) -> RepairsFlow: ...
@@ -8,7 +8,6 @@ ATTR_VALUE: str
8
8
  ATTR_MIN: str
9
9
  ATTR_MAX: str
10
10
  ATTR_STEP: str
11
- ATTR_STEP_VALIDATION: str
12
11
  DEFAULT_MIN_VALUE: float
13
12
  DEFAULT_MAX_VALUE: float
14
13
  DEFAULT_STEP: float
@@ -54,6 +53,7 @@ class NumberDeviceClass(StrEnum):
54
53
  PM1 = 'pm1'
55
54
  PM10 = 'pm10'
56
55
  PM25 = 'pm25'
56
+ PM4 = 'pm4'
57
57
  POWER_FACTOR = 'power_factor'
58
58
  POWER = 'power'
59
59
  PRECIPITATION = 'precipitation'
@@ -1,7 +1,9 @@
1
+ from . import OpenAIConfigEntry as OpenAIConfigEntry
2
+ from .const import CONF_CHAT_MODEL as CONF_CHAT_MODEL, RECOMMENDED_CHAT_MODEL as RECOMMENDED_CHAT_MODEL, UNSUPPORTED_IMAGE_MODELS as UNSUPPORTED_IMAGE_MODELS
1
3
  from .entity import OpenAIBaseLLMEntity as OpenAIBaseLLMEntity
2
4
  from _typeshed import Incomplete
3
5
  from homeassistant.components import ai_task as ai_task, conversation as conversation
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigSubentry as ConfigSubentry
5
7
  from homeassistant.core import HomeAssistant as HomeAssistant
6
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
7
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -13,4 +15,6 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
13
15
 
14
16
  class OpenAITaskEntity(ai_task.AITaskEntity, OpenAIBaseLLMEntity):
15
17
  _attr_supported_features: Incomplete
18
+ def __init__(self, entry: OpenAIConfigEntry, subentry: ConfigSubentry) -> None: ...
16
19
  async def _async_generate_data(self, task: ai_task.GenDataTask, chat_log: conversation.ChatLog) -> ai_task.GenDataTaskResult: ...
20
+ async def _async_generate_image(self, task: ai_task.GenImageTask, chat_log: conversation.ChatLog) -> ai_task.GenImageTaskResult: ...
@@ -37,5 +37,6 @@ RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE: str
37
37
  RECOMMENDED_WEB_SEARCH_USER_LOCATION: bool
38
38
  UNSUPPORTED_MODELS: list[str]
39
39
  UNSUPPORTED_WEB_SEARCH_MODELS: list[str]
40
+ UNSUPPORTED_IMAGE_MODELS: list[str]
40
41
  RECOMMENDED_CONVERSATION_OPTIONS: Incomplete
41
42
  RECOMMENDED_AI_TASK_OPTIONS: Incomplete
@@ -31,6 +31,6 @@ class OpenAIBaseLLMEntity(Entity):
31
31
  _attr_unique_id: Incomplete
32
32
  _attr_device_info: Incomplete
33
33
  def __init__(self, entry: OpenAIConfigEntry, subentry: ConfigSubentry) -> None: ...
34
- async def _async_handle_chat_log(self, chat_log: conversation.ChatLog, structure_name: str | None = None, structure: vol.Schema | None = None) -> None: ...
34
+ async def _async_handle_chat_log(self, chat_log: conversation.ChatLog, structure_name: str | None = None, structure: vol.Schema | None = None, force_image: bool = False) -> None: ...
35
35
 
36
- async def async_prepare_files_for_prompt(hass: HomeAssistant, files: list[Path]) -> ResponseInputMessageContentListParam: ...
36
+ async def async_prepare_files_for_prompt(hass: HomeAssistant, files: list[tuple[Path, str | None]]) -> ResponseInputMessageContentListParam: ...