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
@@ -8,7 +8,7 @@ from dataclasses import dataclass
8
8
  from datetime import datetime
9
9
  from fritzconnection.lib.fritzstatus import FritzStatus as FritzStatus
10
10
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
11
- from homeassistant.const import EntityCategory as EntityCategory, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, UnitOfDataRate as UnitOfDataRate, UnitOfInformation as UnitOfInformation
11
+ from homeassistant.const import EntityCategory as EntityCategory, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, UnitOfDataRate as UnitOfDataRate, UnitOfInformation as UnitOfInformation, UnitOfTemperature as UnitOfTemperature
12
12
  from homeassistant.core import HomeAssistant as HomeAssistant
13
13
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
14
14
  from homeassistant.helpers.typing import StateType as StateType
@@ -34,6 +34,7 @@ def _retrieve_link_noise_margin_sent_state(status: FritzStatus, last_value: str)
34
34
  def _retrieve_link_noise_margin_received_state(status: FritzStatus, last_value: str) -> float: ...
35
35
  def _retrieve_link_attenuation_sent_state(status: FritzStatus, last_value: str) -> float: ...
36
36
  def _retrieve_link_attenuation_received_state(status: FritzStatus, last_value: str) -> float: ...
37
+ def _retrieve_cpu_temperature_state(status: FritzStatus, last_value: float | None) -> float: ...
37
38
 
38
39
  @dataclass(frozen=True, kw_only=True)
39
40
  class FritzSensorEntityDescription(SensorEntityDescription, FritzEntityDescription):
@@ -23,6 +23,7 @@ from propcache.api import cached_property
23
23
  from typing import Any, TypedDict
24
24
  from yarl import URL
25
25
 
26
+ _LOGGER: Incomplete
26
27
  DOMAIN: str
27
28
  CONF_THEMES: str
28
29
  CONF_THEMES_MODES: str
@@ -49,9 +50,11 @@ DATA_DEFAULT_DARK_THEME: str
49
50
  DEFAULT_THEME: str
50
51
  VALUE_NO_THEME: str
51
52
  PRIMARY_COLOR: str
52
- _LOGGER: Incomplete
53
- EXTENDED_THEME_SCHEMA: Incomplete
53
+ LEGACY_THEME_SCHEMA: Incomplete
54
54
  THEME_SCHEMA: Incomplete
55
+
56
+ def _validate_themes(themes: dict) -> dict[str, Any]: ...
57
+
55
58
  CONFIG_SCHEMA: Incomplete
56
59
  SERVICE_SET_THEME: str
57
60
  SERVICE_RELOAD_THEMES: str
@@ -0,0 +1,14 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import GeocachingDataUpdateCoordinator as GeocachingDataUpdateCoordinator
3
+ from _typeshed import Incomplete
4
+ from geocachingapi.models import GeocachingCache as GeocachingCache
5
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
6
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
+
8
+ class GeocachingBaseEntity(CoordinatorEntity[GeocachingDataUpdateCoordinator]):
9
+ _attr_has_entity_name: bool
10
+
11
+ class GeocachingCacheEntity(GeocachingBaseEntity):
12
+ cache: Incomplete
13
+ _attr_device_info: Incomplete
14
+ def __init__(self, coordinator: GeocachingDataUpdateCoordinator, cache: GeocachingCache) -> None: ...
@@ -1,24 +1,44 @@
1
+ import datetime
1
2
  from .const import DOMAIN as DOMAIN
2
3
  from .coordinator import GeocachingConfigEntry as GeocachingConfigEntry, GeocachingDataUpdateCoordinator as GeocachingDataUpdateCoordinator
4
+ from .entity import GeocachingBaseEntity as GeocachingBaseEntity, GeocachingCacheEntity as GeocachingCacheEntity
3
5
  from _typeshed import Incomplete
4
6
  from collections.abc import Callable as Callable
5
7
  from dataclasses import dataclass
6
- from geocachingapi.models import GeocachingStatus as GeocachingStatus
7
- from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
8
+ from geocachingapi.models import GeocachingCache as GeocachingCache, GeocachingStatus as GeocachingStatus
9
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
8
10
  from homeassistant.core import HomeAssistant as HomeAssistant
9
11
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
12
+ from homeassistant.helpers.entity import Entity as Entity
10
13
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
- from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
14
+ from homeassistant.helpers.typing import StateType as StateType
12
15
 
13
16
  @dataclass(frozen=True, kw_only=True)
14
17
  class GeocachingSensorEntityDescription(SensorEntityDescription):
15
18
  value_fn: Callable[[GeocachingStatus], str | int | None]
16
19
 
17
- SENSORS: tuple[GeocachingSensorEntityDescription, ...]
20
+ PROFILE_SENSORS: tuple[GeocachingSensorEntityDescription, ...]
21
+
22
+ @dataclass(frozen=True, kw_only=True)
23
+ class GeocachingCacheSensorDescription(SensorEntityDescription):
24
+ value_fn: Callable[[GeocachingCache], StateType | datetime.date]
25
+
26
+ CACHE_SENSORS: tuple[GeocachingCacheSensorDescription, ...]
18
27
 
19
28
  async def async_setup_entry(hass: HomeAssistant, entry: GeocachingConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
20
29
 
21
- class GeocachingSensor(CoordinatorEntity[GeocachingDataUpdateCoordinator], SensorEntity):
30
+ class GeoEntityBaseCache(GeocachingCacheEntity, SensorEntity):
31
+ _attr_unique_id: Incomplete
32
+ _attr_translation_key: Incomplete
33
+ def __init__(self, coordinator: GeocachingDataUpdateCoordinator, cache: GeocachingCache, key: str) -> None: ...
34
+
35
+ class GeoEntityCacheSensorEntity(GeoEntityBaseCache, SensorEntity):
36
+ entity_description: GeocachingCacheSensorDescription
37
+ def __init__(self, coordinator: GeocachingDataUpdateCoordinator, cache: GeocachingCache, description: GeocachingCacheSensorDescription) -> None: ...
38
+ @property
39
+ def native_value(self) -> StateType | datetime.date: ...
40
+
41
+ class GeocachingProfileSensor(GeocachingBaseEntity, SensorEntity):
22
42
  entity_description: GeocachingSensorEntityDescription
23
43
  _attr_has_entity_name: bool
24
44
  _attr_unique_id: Incomplete
@@ -5,6 +5,8 @@ from aiohttp import ClientSession as ClientSession
5
5
  from go2rtc_client import Go2RtcRestClient
6
6
  from go2rtc_client.ws import Go2RtcWsClient, ReceiveMessages as ReceiveMessages
7
7
  from homeassistant.components.camera import Camera as Camera, CameraWebRTCProvider as CameraWebRTCProvider, WebRTCError as WebRTCError, WebRTCMessage as WebRTCMessage, WebRTCSendMessage as WebRTCSendMessage, async_register_webrtc_provider as async_register_webrtc_provider
8
+ from homeassistant.components.camera.prefs import get_dynamic_camera_stream_settings as get_dynamic_camera_stream_settings
9
+ from homeassistant.components.stream import Orientation as Orientation
8
10
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_SYSTEM as SOURCE_SYSTEM
9
11
  from homeassistant.const import CONF_URL as CONF_URL, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
10
12
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
@@ -17,6 +19,7 @@ from homeassistant.util.package import is_docker_env as is_docker_env
17
19
  from webrtc_models import RTCIceCandidateInit
18
20
 
19
21
  _LOGGER: Incomplete
22
+ _FFMPEG: str
20
23
  _SUPPORTED_STREAMS: Incomplete
21
24
  CONFIG_SCHEMA: Incomplete
22
25
  _DATA_GO2RTC: HassKey[str]
@@ -29,7 +29,6 @@ DEVICE_SCHEMA: Incomplete
29
29
  async def async_setup_entry(hass: HomeAssistant, entry: GoogleConfigEntry) -> bool: ...
30
30
  def async_entry_has_scopes(entry: GoogleConfigEntry) -> bool: ...
31
31
  async def async_unload_entry(hass: HomeAssistant, entry: GoogleConfigEntry) -> bool: ...
32
- async def async_reload_entry(hass: HomeAssistant, entry: GoogleConfigEntry) -> None: ...
33
32
  async def async_remove_entry(hass: HomeAssistant, entry: GoogleConfigEntry) -> None: ...
34
33
  def get_calendar_info(hass: HomeAssistant, calendar: Mapping[str, Any]) -> dict[str, Any]: ...
35
34
  def load_config(path: str) -> dict[str, Any]: ...
@@ -5,7 +5,7 @@ from .const import CONF_CALENDAR_ACCESS as CONF_CALENDAR_ACCESS, CONF_CREDENTIAL
5
5
  from .store import GoogleConfigEntry as GoogleConfigEntry
6
6
  from _typeshed import Incomplete
7
7
  from collections.abc import Mapping
8
- from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
8
+ from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload, SOURCE_REAUTH as SOURCE_REAUTH
9
9
  from homeassistant.core import callback as callback
10
10
  from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
11
11
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
@@ -31,7 +31,7 @@ class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, doma
31
31
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
32
32
  @staticmethod
33
33
  @callback
34
- def async_get_options_flow(config_entry: GoogleConfigEntry) -> OptionsFlow: ...
34
+ def async_get_options_flow(config_entry: GoogleConfigEntry) -> OptionsFlowHandler: ...
35
35
 
36
- class OptionsFlowHandler(OptionsFlow):
36
+ class OptionsFlowHandler(OptionsFlowWithReload):
37
37
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -6,5 +6,4 @@ from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  PLATFORMS: Incomplete
7
7
 
8
8
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
9
- async def async_update_options(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
10
9
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -3,7 +3,7 @@ from .helpers import async_tts_voices as async_tts_voices, tts_options_schema as
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.file_upload import process_uploaded_file as process_uploaded_file
5
5
  from homeassistant.components.tts import CONF_LANG as CONF_LANG
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
7
7
  from homeassistant.core import callback as callback
8
8
  from homeassistant.helpers.selector import FileSelector as FileSelector, FileSelectorConfig as FileSelectorConfig, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode
9
9
  from typing import Any
@@ -24,5 +24,5 @@ class GoogleCloudConfigFlow(ConfigFlow, domain=DOMAIN):
24
24
  @callback
25
25
  def async_get_options_flow(config_entry: ConfigEntry) -> GoogleCloudOptionsFlowHandler: ...
26
26
 
27
- class GoogleCloudOptionsFlowHandler(OptionsFlow):
27
+ class GoogleCloudOptionsFlowHandler(OptionsFlowWithReload):
28
28
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -4,8 +4,8 @@ from _typeshed import Incomplete
4
4
  from dataclasses import dataclass
5
5
  from enum import StrEnum
6
6
  from google_photos_library_api.model import Album as Album, MediaItem as MediaItem
7
- from homeassistant.components.media_player import MediaClass as MediaClass, MediaType as MediaType
8
- from homeassistant.components.media_source import BrowseError as BrowseError, BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia
7
+ from homeassistant.components.media_player import BrowseError as BrowseError, MediaClass as MediaClass, MediaType as MediaType
8
+ from homeassistant.components.media_source import BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from typing import Self
11
11
 
@@ -7,7 +7,7 @@ from collections.abc import Callable as Callable
7
7
  from dataclasses import dataclass
8
8
  from enum import StrEnum
9
9
  from habiticalib import ContentData as ContentData, UserData as UserData
10
- from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
10
+ from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant
12
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
13
 
@@ -33,6 +33,7 @@ ATTR_ADD_CHECKLIST_ITEM: str
33
33
  ATTR_REMOVE_CHECKLIST_ITEM: str
34
34
  ATTR_SCORE_CHECKLIST_ITEM: str
35
35
  ATTR_UNSCORE_CHECKLIST_ITEM: str
36
+ ATTR_COLLAPSE_CHECKLIST: str
36
37
  ATTR_REMINDER: str
37
38
  ATTR_REMOVE_REMINDER: str
38
39
  ATTR_CLEAR_REMINDER: str
@@ -2,7 +2,7 @@ from . import HABITICA_KEY as HABITICA_KEY
2
2
  from .const import ASSETS_URL as ASSETS_URL
3
3
  from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry
4
4
  from .entity import HabiticaBase as HabiticaBase, HabiticaPartyBase as HabiticaPartyBase
5
- from .util import collected_quest_items as collected_quest_items, get_attribute_points as get_attribute_points, get_attributes_total as get_attributes_total, inventory_list as inventory_list, pending_damage as pending_damage, pending_quest_items as pending_quest_items, quest_attributes as quest_attributes, quest_boss as quest_boss
5
+ from .util import collected_quest_items as collected_quest_items, get_attribute_points as get_attribute_points, get_attributes_total as get_attributes_total, inventory_list as inventory_list, pending_damage as pending_damage, pending_quest_items as pending_quest_items, quest_attributes as quest_attributes, quest_boss as quest_boss, rage_attributes as rage_attributes
6
6
  from _typeshed import Incomplete
7
7
  from collections.abc import Callable as Callable
8
8
  from dataclasses import dataclass
@@ -66,6 +66,8 @@ class HabiticaSensorEntity(StrEnum):
66
66
  BOSS_HP = 'boss_hp'
67
67
  BOSS_HP_REMAINING = 'boss_hp_remaining'
68
68
  COLLECTED_ITEMS = 'collected_items'
69
+ BOSS_RAGE = 'boss_rage'
70
+ BOSS_RAGE_LIMIT = 'boss_rage_limit'
69
71
 
70
72
  SENSOR_DESCRIPTIONS: tuple[HabiticaSensorEntityDescription, ...]
71
73
  SENSOR_DESCRIPTIONS_PARTY: tuple[HabiticaPartySensorEntityDescription, ...]
@@ -1,4 +1,4 @@
1
- from .const import ATTR_ADD_CHECKLIST_ITEM as ATTR_ADD_CHECKLIST_ITEM, ATTR_ALIAS as ATTR_ALIAS, ATTR_CLEAR_DATE as ATTR_CLEAR_DATE, ATTR_CLEAR_REMINDER as ATTR_CLEAR_REMINDER, ATTR_CONFIG_ENTRY as ATTR_CONFIG_ENTRY, ATTR_COST as ATTR_COST, ATTR_COUNTER_DOWN as ATTR_COUNTER_DOWN, ATTR_COUNTER_UP as ATTR_COUNTER_UP, ATTR_DIRECTION as ATTR_DIRECTION, ATTR_FREQUENCY as ATTR_FREQUENCY, ATTR_INTERVAL as ATTR_INTERVAL, ATTR_ITEM as ATTR_ITEM, ATTR_KEYWORD as ATTR_KEYWORD, ATTR_NOTES as ATTR_NOTES, ATTR_PRIORITY as ATTR_PRIORITY, ATTR_REMINDER as ATTR_REMINDER, ATTR_REMOVE_CHECKLIST_ITEM as ATTR_REMOVE_CHECKLIST_ITEM, ATTR_REMOVE_REMINDER as ATTR_REMOVE_REMINDER, ATTR_REMOVE_TAG as ATTR_REMOVE_TAG, ATTR_REPEAT as ATTR_REPEAT, ATTR_REPEAT_MONTHLY as ATTR_REPEAT_MONTHLY, ATTR_SCORE_CHECKLIST_ITEM as ATTR_SCORE_CHECKLIST_ITEM, ATTR_SKILL as ATTR_SKILL, ATTR_START_DATE as ATTR_START_DATE, ATTR_STREAK as ATTR_STREAK, ATTR_TAG as ATTR_TAG, ATTR_TARGET as ATTR_TARGET, ATTR_TASK as ATTR_TASK, ATTR_TYPE as ATTR_TYPE, ATTR_UNSCORE_CHECKLIST_ITEM as ATTR_UNSCORE_CHECKLIST_ITEM, ATTR_UP_DOWN as ATTR_UP_DOWN, DOMAIN as DOMAIN, SERVICE_ABORT_QUEST as SERVICE_ABORT_QUEST, SERVICE_ACCEPT_QUEST as SERVICE_ACCEPT_QUEST, SERVICE_CANCEL_QUEST as SERVICE_CANCEL_QUEST, SERVICE_CAST_SKILL as SERVICE_CAST_SKILL, SERVICE_CREATE_DAILY as SERVICE_CREATE_DAILY, SERVICE_CREATE_HABIT as SERVICE_CREATE_HABIT, SERVICE_CREATE_REWARD as SERVICE_CREATE_REWARD, SERVICE_CREATE_TODO as SERVICE_CREATE_TODO, SERVICE_GET_TASKS as SERVICE_GET_TASKS, SERVICE_LEAVE_QUEST as SERVICE_LEAVE_QUEST, SERVICE_REJECT_QUEST as SERVICE_REJECT_QUEST, SERVICE_SCORE_HABIT as SERVICE_SCORE_HABIT, SERVICE_SCORE_REWARD as SERVICE_SCORE_REWARD, SERVICE_START_QUEST as SERVICE_START_QUEST, SERVICE_TRANSFORMATION as SERVICE_TRANSFORMATION, SERVICE_UPDATE_DAILY as SERVICE_UPDATE_DAILY, SERVICE_UPDATE_HABIT as SERVICE_UPDATE_HABIT, SERVICE_UPDATE_REWARD as SERVICE_UPDATE_REWARD, SERVICE_UPDATE_TODO as SERVICE_UPDATE_TODO, WEEK_DAYS as WEEK_DAYS
1
+ from .const import ATTR_ADD_CHECKLIST_ITEM as ATTR_ADD_CHECKLIST_ITEM, ATTR_ALIAS as ATTR_ALIAS, ATTR_CLEAR_DATE as ATTR_CLEAR_DATE, ATTR_CLEAR_REMINDER as ATTR_CLEAR_REMINDER, ATTR_COLLAPSE_CHECKLIST as ATTR_COLLAPSE_CHECKLIST, ATTR_CONFIG_ENTRY as ATTR_CONFIG_ENTRY, ATTR_COST as ATTR_COST, ATTR_COUNTER_DOWN as ATTR_COUNTER_DOWN, ATTR_COUNTER_UP as ATTR_COUNTER_UP, ATTR_DIRECTION as ATTR_DIRECTION, ATTR_FREQUENCY as ATTR_FREQUENCY, ATTR_INTERVAL as ATTR_INTERVAL, ATTR_ITEM as ATTR_ITEM, ATTR_KEYWORD as ATTR_KEYWORD, ATTR_NOTES as ATTR_NOTES, ATTR_PRIORITY as ATTR_PRIORITY, ATTR_REMINDER as ATTR_REMINDER, ATTR_REMOVE_CHECKLIST_ITEM as ATTR_REMOVE_CHECKLIST_ITEM, ATTR_REMOVE_REMINDER as ATTR_REMOVE_REMINDER, ATTR_REMOVE_TAG as ATTR_REMOVE_TAG, ATTR_REPEAT as ATTR_REPEAT, ATTR_REPEAT_MONTHLY as ATTR_REPEAT_MONTHLY, ATTR_SCORE_CHECKLIST_ITEM as ATTR_SCORE_CHECKLIST_ITEM, ATTR_SKILL as ATTR_SKILL, ATTR_START_DATE as ATTR_START_DATE, ATTR_STREAK as ATTR_STREAK, ATTR_TAG as ATTR_TAG, ATTR_TARGET as ATTR_TARGET, ATTR_TASK as ATTR_TASK, ATTR_TYPE as ATTR_TYPE, ATTR_UNSCORE_CHECKLIST_ITEM as ATTR_UNSCORE_CHECKLIST_ITEM, ATTR_UP_DOWN as ATTR_UP_DOWN, DOMAIN as DOMAIN, SERVICE_ABORT_QUEST as SERVICE_ABORT_QUEST, SERVICE_ACCEPT_QUEST as SERVICE_ACCEPT_QUEST, SERVICE_CANCEL_QUEST as SERVICE_CANCEL_QUEST, SERVICE_CAST_SKILL as SERVICE_CAST_SKILL, SERVICE_CREATE_DAILY as SERVICE_CREATE_DAILY, SERVICE_CREATE_HABIT as SERVICE_CREATE_HABIT, SERVICE_CREATE_REWARD as SERVICE_CREATE_REWARD, SERVICE_CREATE_TODO as SERVICE_CREATE_TODO, SERVICE_GET_TASKS as SERVICE_GET_TASKS, SERVICE_LEAVE_QUEST as SERVICE_LEAVE_QUEST, SERVICE_REJECT_QUEST as SERVICE_REJECT_QUEST, SERVICE_SCORE_HABIT as SERVICE_SCORE_HABIT, SERVICE_SCORE_REWARD as SERVICE_SCORE_REWARD, SERVICE_START_QUEST as SERVICE_START_QUEST, SERVICE_TRANSFORMATION as SERVICE_TRANSFORMATION, SERVICE_UPDATE_DAILY as SERVICE_UPDATE_DAILY, SERVICE_UPDATE_HABIT as SERVICE_UPDATE_HABIT, SERVICE_UPDATE_REWARD as SERVICE_UPDATE_REWARD, SERVICE_UPDATE_TODO as SERVICE_UPDATE_TODO, WEEK_DAYS as WEEK_DAYS
2
2
  from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry
3
3
  from _typeshed import Incomplete
4
4
  from habiticalib import TaskData as TaskData
@@ -14,6 +14,7 @@ SERVICE_CAST_SKILL_SCHEMA: Incomplete
14
14
  SERVICE_MANAGE_QUEST_SCHEMA: Incomplete
15
15
  SERVICE_SCORE_TASK_SCHEMA: Incomplete
16
16
  SERVICE_TRANSFORMATION_SCHEMA: Incomplete
17
+ COLLAPSE_CHECKLIST_MAP: Incomplete
17
18
  BASE_TASK_SCHEMA: Incomplete
18
19
  SERVICE_UPDATE_TASK_SCHEMA: Incomplete
19
20
  SERVICE_CREATE_TASK_SCHEMA: Incomplete
@@ -17,5 +17,6 @@ def inventory_list(user: UserData, content: ContentData, item_type: str) -> dict
17
17
  def pending_quest_items(user: UserData, content: ContentData) -> int | None: ...
18
18
  def pending_damage(user: UserData, content: ContentData) -> float | None: ...
19
19
  def quest_attributes(party: GroupData, content: ContentData) -> dict[str, Any]: ...
20
+ def rage_attributes(party: GroupData, content: ContentData) -> dict[str, Any]: ...
20
21
  def quest_boss(party: GroupData, content: ContentData) -> QuestBoss | None: ...
21
22
  def collected_quest_items(party: GroupData, content: ContentData) -> dict[str, Any]: ...
@@ -1,13 +1,15 @@
1
- from .const import CONF_TRAFFIC_MODE as CONF_TRAFFIC_MODE, TRAVEL_MODE_PUBLIC as TRAVEL_MODE_PUBLIC
1
+ from .const import CONF_TRAFFIC_MODE as CONF_TRAFFIC_MODE, DOMAIN as DOMAIN, TRAVEL_MODE_PUBLIC as TRAVEL_MODE_PUBLIC
2
2
  from .coordinator import HERERoutingDataUpdateCoordinator as HERERoutingDataUpdateCoordinator, HERETransitDataUpdateCoordinator as HERETransitDataUpdateCoordinator, HereConfigEntry as HereConfigEntry
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_MODE as CONF_MODE, Platform as Platform
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
6
7
  from homeassistant.helpers.start import async_at_started as async_at_started
7
8
 
8
9
  PLATFORMS: Incomplete
9
10
  _LOGGER: Incomplete
10
11
 
11
12
  async def async_setup_entry(hass: HomeAssistant, config_entry: HereConfigEntry) -> bool: ...
13
+ def alert_for_multiple_entries(hass: HomeAssistant) -> None: ...
12
14
  async def async_unload_entry(hass: HomeAssistant, config_entry: HereConfigEntry) -> bool: ...
13
15
  async def async_migrate_entry(hass: HomeAssistant, config_entry: HereConfigEntry) -> bool: ...
@@ -1,3 +1,4 @@
1
+ import voluptuous as vol
1
2
  from .const import CONF_DURATION as CONF_DURATION, CONF_END as CONF_END, CONF_PERIOD_KEYS as CONF_PERIOD_KEYS, CONF_START as CONF_START, CONF_TYPE_KEYS as CONF_TYPE_KEYS, CONF_TYPE_TIME as CONF_TYPE_TIME, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
2
3
  from .coordinator import HistoryStatsUpdateCoordinator as HistoryStatsUpdateCoordinator
3
4
  from .data import HistoryStats as HistoryStats
@@ -9,7 +10,7 @@ from homeassistant.const import CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as C
9
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
11
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
12
  from homeassistant.helpers.schema_config_entry_flow import SchemaCommonFlowHandler as SchemaCommonFlowHandler, SchemaConfigFlowHandler as SchemaConfigFlowHandler, SchemaFlowError as SchemaFlowError, SchemaFlowFormStep as SchemaFlowFormStep
12
- from homeassistant.helpers.selector import DurationSelector as DurationSelector, DurationSelectorConfig as DurationSelectorConfig, EntitySelector as EntitySelector, EntitySelectorConfig as EntitySelectorConfig, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, TemplateSelector as TemplateSelector, TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig
13
+ from homeassistant.helpers.selector import DurationSelector as DurationSelector, DurationSelectorConfig as DurationSelectorConfig, EntitySelector as EntitySelector, EntitySelectorConfig as EntitySelectorConfig, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, StateSelector as StateSelector, StateSelectorConfig as StateSelectorConfig, TemplateSelector as TemplateSelector, TextSelector as TextSelector
13
14
  from homeassistant.helpers.template import Template as Template
14
15
  from typing import Any
15
16
 
@@ -17,7 +18,11 @@ def _validate_two_period_keys(user_input: dict[str, Any]) -> None: ...
17
18
  async def validate_options(handler: SchemaCommonFlowHandler, user_input: dict[str, Any]) -> dict[str, Any]: ...
18
19
 
19
20
  DATA_SCHEMA_SETUP: Incomplete
20
- DATA_SCHEMA_OPTIONS: Incomplete
21
+
22
+ async def get_state_schema(handler: SchemaCommonFlowHandler) -> vol.Schema: ...
23
+ async def get_options_schema(handler: SchemaCommonFlowHandler) -> vol.Schema: ...
24
+ def _get_options_schema_with_entity_id(entity_id: str) -> vol.Schema: ...
25
+
21
26
  CONFIG_FLOW: Incomplete
22
27
  OPTIONS_FLOW: Incomplete
23
28
 
@@ -0,0 +1,5 @@
1
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
2
+ from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from typing import Any
4
+
5
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ConfigEntry) -> dict[str, Any]: ...
@@ -2,4 +2,3 @@ from homeassistant.components.application_credentials import AuthorizationServer
2
2
  from homeassistant.core import HomeAssistant as HomeAssistant
3
3
 
4
4
  async def async_get_authorization_server(hass: HomeAssistant) -> AuthorizationServer: ...
5
- async def async_get_description_placeholders(hass: HomeAssistant) -> dict[str, str]: ...
@@ -59,4 +59,3 @@ class HomeConnectCoordinator(DataUpdateCoordinator[dict[str, HomeConnectApplianc
59
59
  async def get_options_definitions(self, ha_id: str, program_key: ProgramKey) -> dict[OptionKey, ProgramDefinitionOption]: ...
60
60
  async def update_options(self, ha_id: str, event_key: EventKey, program_key: ProgramKey) -> None: ...
61
61
  def refreshed_too_often_recently(self, appliance_ha_id: str) -> bool: ...
62
- async def reset_execution_tracker(self, appliance_ha_id: str) -> None: ...
@@ -4,10 +4,11 @@ from .const import OTBR_DOMAIN as OTBR_DOMAIN, ZHA_DOMAIN as ZHA_DOMAIN
4
4
  from .util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, OwningAddon as OwningAddon, OwningIntegration as OwningIntegration, async_flash_silabs_firmware as async_flash_silabs_firmware, get_otbr_addon_manager as get_otbr_addon_manager, guess_firmware_info as guess_firmware_info, guess_hardware_owners as guess_hardware_owners, probe_silabs_firmware_info as probe_silabs_firmware_info
5
5
  from _typeshed import Incomplete
6
6
  from abc import ABC, abstractmethod
7
+ from enum import StrEnum
7
8
  from homeassistant.components.hassio import AddonError as AddonError, AddonInfo as AddonInfo, AddonManager as AddonManager, AddonState as AddonState
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryBaseFlow as ConfigEntryBaseFlow, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
9
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryBaseFlow as ConfigEntryBaseFlow, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, FlowType as FlowType, OptionsFlow as OptionsFlow
9
10
  from homeassistant.core import callback as callback
10
- from homeassistant.data_entry_flow import AbortFlow as AbortFlow
11
+ from homeassistant.data_entry_flow import AbortFlow as AbortFlow, progress_step as progress_step
11
12
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
12
13
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
13
14
  from homeassistant.helpers.hassio import is_hassio as is_hassio
@@ -16,17 +17,26 @@ from typing import Any
16
17
  _LOGGER: Incomplete
17
18
  STEP_PICK_FIRMWARE_THREAD: str
18
19
  STEP_PICK_FIRMWARE_ZIGBEE: str
20
+ STEP_PICK_FIRMWARE_THREAD_MIGRATE: str
21
+ STEP_PICK_FIRMWARE_ZIGBEE_MIGRATE: str
22
+
23
+ class PickedFirmwareType(StrEnum):
24
+ THREAD = 'thread'
25
+ ZIGBEE = 'zigbee'
26
+
27
+ class ZigbeeIntegration(StrEnum):
28
+ OTHER = 'other'
29
+ ZHA = 'zha'
19
30
 
20
31
  class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC, metaclass=abc.ABCMeta):
21
- _failed_addon_name: str
22
- _failed_addon_reason: str
32
+ ZIGBEE_BAUDRATE: int
33
+ _picked_firmware_type: PickedFirmwareType
23
34
  _probed_firmware_info: FirmwareInfo | None
24
35
  _device: str | None
25
36
  _hardware_name: str
26
- addon_install_task: asyncio.Task | None
27
- addon_start_task: asyncio.Task | None
37
+ _zigbee_integration: Incomplete
28
38
  addon_uninstall_task: asyncio.Task | None
29
- firmware_install_task: asyncio.Task | None
39
+ firmware_install_task: asyncio.Task[None] | None
30
40
  installing_firmware_name: str | None
31
41
  def __init__(self, *args: Any, **kwargs: Any) -> None: ...
32
42
  def _get_translation_placeholders(self) -> dict[str, str]: ...
@@ -34,20 +44,33 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC, metaclass=abc.ABCMeta):
34
44
  async def async_step_pick_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
35
45
  async def _probe_firmware_info(self, probe_methods: tuple[ApplicationType, ...] = ...) -> bool: ...
36
46
  async def _install_firmware_step(self, fw_update_url: str, fw_type: str, firmware_name: str, expected_installed_firmware_type: ApplicationType, step_id: str, next_step_id: str) -> ConfigFlowResult: ...
47
+ async def _install_firmware(self, fw_update_url: str, fw_type: str, firmware_name: str, expected_installed_firmware_type: ApplicationType) -> None: ...
48
+ async def _configure_and_start_otbr_addon(self) -> None: ...
37
49
  async def async_step_firmware_download_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
38
50
  async def async_step_firmware_install_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
51
+ async def async_step_unsupported_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
52
+ async def async_step_zigbee_installation_type(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
53
+ async def async_step_zigbee_intent_recommended(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
54
+ async def async_step_zigbee_intent_custom(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
55
+ async def async_step_zigbee_integration(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
56
+ async def async_step_zigbee_integration_zha(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
57
+ async def async_step_zigbee_integration_other(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
58
+ async def _async_continue_picked_firmware(self) -> ConfigFlowResult: ...
59
+ async def async_step_prepare_thread_installation(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
60
+ async def async_step_finish_thread_installation(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
39
61
  async def async_step_pick_firmware_zigbee(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
62
+ async def async_step_pick_firmware_zigbee_migrate(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
40
63
  async def async_step_install_zigbee_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
41
- async def async_step_addon_operation_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
42
64
  async def async_step_pre_confirm_zigbee(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
43
- async def async_step_confirm_zigbee(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
44
- async def _ensure_thread_addon_setup(self) -> ConfigFlowResult | None: ...
65
+ async def async_step_continue_zigbee(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
66
+ @callback
67
+ def _continue_zha_flow(self, zha_result: ConfigFlowResult) -> ConfigFlowResult: ...
45
68
  async def async_step_pick_firmware_thread(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
69
+ async def async_step_pick_firmware_thread_migrate(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
46
70
  async def async_step_install_thread_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
47
71
  async def async_step_install_otbr_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
48
72
  async def async_step_start_otbr_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
49
73
  async def async_step_pre_confirm_otbr(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
50
- async def async_step_confirm_otbr(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
51
74
  @abstractmethod
52
75
  def _async_flow_finished(self) -> ConfigFlowResult: ...
53
76
 
@@ -58,6 +81,8 @@ class BaseFirmwareConfigFlow(BaseFirmwareInstallFlow, ConfigFlow, metaclass=abc.
58
81
  def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
59
82
  _probed_firmware_info: Incomplete
60
83
  async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
84
+ @callback
85
+ def _continue_zha_flow(self, zha_result: ConfigFlowResult) -> ConfigFlowResult: ...
61
86
 
62
87
  class BaseFirmwareOptionsFlow(BaseFirmwareInstallFlow, OptionsFlow, metaclass=abc.ABCMeta):
63
88
  _probed_firmware_info: FirmwareInfo
@@ -67,3 +92,5 @@ class BaseFirmwareOptionsFlow(BaseFirmwareInstallFlow, OptionsFlow, metaclass=ab
67
92
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
68
93
  async def async_step_pick_firmware_zigbee(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
69
94
  async def async_step_pick_firmware_thread(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
95
+ @callback
96
+ def _continue_zha_flow(self, zha_result: ConfigFlowResult) -> ConfigFlowResult: ...
@@ -1,13 +1,13 @@
1
1
  from . import DOMAIN as DOMAIN, HomeeConfigEntry as HomeeConfigEntry
2
2
  from .entity import HomeeEntity as HomeeEntity
3
- from .helpers import get_name_for_enum as get_name_for_enum
3
+ from .helpers import get_name_for_enum as get_name_for_enum, setup_homee_platform as setup_homee_platform
4
4
  from _typeshed import Incomplete
5
5
  from dataclasses import dataclass
6
6
  from homeassistant.components.alarm_control_panel import AlarmControlPanelEntity as AlarmControlPanelEntity, AlarmControlPanelEntityDescription as AlarmControlPanelEntityDescription, AlarmControlPanelEntityFeature as AlarmControlPanelEntityFeature, AlarmControlPanelState as AlarmControlPanelState
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
- from pyHomee.model import HomeeAttribute as HomeeAttribute
10
+ from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
11
11
 
12
12
  PARALLEL_UPDATES: int
13
13
 
@@ -19,6 +19,7 @@ class HomeeAlarmControlPanelEntityDescription(AlarmControlPanelEntityDescription
19
19
  ALARM_DESCRIPTIONS: Incomplete
20
20
 
21
21
  def get_supported_features(state_list: list[AlarmControlPanelState]) -> AlarmControlPanelEntityFeature: ...
22
+ async def add_alarm_control_panel_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
22
23
  async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
24
 
24
25
  class HomeeAlarmPanel(HomeeEntity, AlarmControlPanelEntity):
@@ -1,17 +1,19 @@
1
1
  from . import HomeeConfigEntry as HomeeConfigEntry
2
2
  from .entity import HomeeEntity as HomeeEntity
3
+ from .helpers import setup_homee_platform as setup_homee_platform
3
4
  from _typeshed import Incomplete
4
5
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
5
6
  from homeassistant.const import EntityCategory as EntityCategory
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant
7
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
8
9
  from pyHomee.const import AttributeType
9
- from pyHomee.model import HomeeAttribute as HomeeAttribute
10
+ from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
10
11
 
11
12
  PARALLEL_UPDATES: int
12
13
  BINARY_SENSOR_DESCRIPTIONS: dict[AttributeType, BinarySensorEntityDescription]
13
14
 
14
- async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_devices: AddConfigEntryEntitiesCallback) -> None: ...
15
+ async def add_binary_sensor_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
16
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
17
 
16
18
  class HomeeBinarySensor(HomeeEntity, BinarySensorEntity):
17
19
  entity_description: Incomplete
@@ -1,16 +1,18 @@
1
1
  from . import HomeeConfigEntry as HomeeConfigEntry
2
2
  from .entity import HomeeEntity as HomeeEntity
3
+ from .helpers import setup_homee_platform as setup_homee_platform
3
4
  from _typeshed import Incomplete
4
5
  from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
5
6
  from homeassistant.const import EntityCategory as EntityCategory
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant
7
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
8
9
  from pyHomee.const import AttributeType
9
- from pyHomee.model import HomeeAttribute as HomeeAttribute
10
+ from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
10
11
 
11
12
  PARALLEL_UPDATES: int
12
13
  BUTTON_DESCRIPTIONS: dict[AttributeType, ButtonEntityDescription]
13
14
 
15
+ async def add_button_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
14
16
  async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
17
 
16
18
  class HomeeButton(HomeeEntity, ButtonEntity):
@@ -1,6 +1,7 @@
1
1
  from . import HomeeConfigEntry as HomeeConfigEntry
2
2
  from .const import CLIMATE_PROFILES as CLIMATE_PROFILES, DOMAIN as DOMAIN, HOMEE_UNIT_TO_HA_UNIT as HOMEE_UNIT_TO_HA_UNIT, PRESET_MANUAL as PRESET_MANUAL
3
3
  from .entity import HomeeNodeEntity as HomeeNodeEntity
4
+ from .helpers import setup_homee_platform as setup_homee_platform
4
5
  from _typeshed import Incomplete
5
6
  from homeassistant.components.climate import ATTR_TEMPERATURE as ATTR_TEMPERATURE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, PRESET_BOOST as PRESET_BOOST, PRESET_ECO as PRESET_ECO, PRESET_NONE as PRESET_NONE
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -11,7 +12,8 @@ from typing import Any
11
12
  PARALLEL_UPDATES: int
12
13
  ROOM_THERMOSTATS: Incomplete
13
14
 
14
- async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_devices: AddConfigEntryEntitiesCallback) -> None: ...
15
+ async def add_climate_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
16
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
17
 
16
18
  class HomeeClimate(HomeeNodeEntity, ClimateEntity):
17
19
  _attr_name: Incomplete
@@ -1,5 +1,6 @@
1
1
  from . import HomeeConfigEntry as HomeeConfigEntry
2
2
  from .entity import HomeeNodeEntity as HomeeNodeEntity
3
+ from .helpers import setup_homee_platform as setup_homee_platform
3
4
  from _typeshed import Incomplete
4
5
  from homeassistant.components.cover import ATTR_POSITION as ATTR_POSITION, ATTR_TILT_POSITION as ATTR_TILT_POSITION, CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -15,7 +16,8 @@ POSITION_ATTRIBUTES: Incomplete
15
16
  def get_open_close_attribute(node: HomeeNode) -> HomeeAttribute | None: ...
16
17
  def get_cover_features(node: HomeeNode, open_close_attribute: HomeeAttribute | None) -> CoverEntityFeature: ...
17
18
  def get_device_class(node: HomeeNode) -> CoverDeviceClass | None: ...
18
- async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_devices: AddConfigEntryEntitiesCallback) -> None: ...
19
+ async def add_cover_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
20
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
21
  def is_cover_node(node: HomeeNode) -> bool: ...
20
22
 
21
23
  class HomeeCover(HomeeNodeEntity, CoverEntity):
@@ -1,16 +1,18 @@
1
1
  from . import HomeeConfigEntry as HomeeConfigEntry
2
2
  from .entity import HomeeEntity as HomeeEntity
3
+ from .helpers import setup_homee_platform as setup_homee_platform
3
4
  from _typeshed import Incomplete
4
5
  from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
7
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
8
  from pyHomee.const import AttributeType
8
- from pyHomee.model import HomeeAttribute as HomeeAttribute
9
+ from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
9
10
 
10
11
  PARALLEL_UPDATES: int
11
12
  REMOTE_PROFILES: Incomplete
12
13
  EVENT_DESCRIPTIONS: dict[AttributeType, EventEntityDescription]
13
14
 
15
+ async def add_event_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
14
16
  async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
17
 
16
18
  class HomeeEvent(HomeeEntity, EventEntity):
@@ -1,6 +1,7 @@
1
1
  from . import HomeeConfigEntry as HomeeConfigEntry
2
2
  from .const import DOMAIN as DOMAIN, PRESET_AUTO as PRESET_AUTO, PRESET_MANUAL as PRESET_MANUAL, PRESET_SUMMER as PRESET_SUMMER
3
3
  from .entity import HomeeNodeEntity as HomeeNodeEntity
4
+ from .helpers import setup_homee_platform as setup_homee_platform
4
5
  from _typeshed import Incomplete
5
6
  from homeassistant.components.fan import FanEntity as FanEntity, FanEntityFeature as FanEntityFeature
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -13,7 +14,8 @@ from typing import Any
13
14
 
14
15
  PARALLEL_UPDATES: int
15
16
 
16
- async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_devices: AddConfigEntryEntitiesCallback) -> None: ...
17
+ async def add_fan_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
18
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
19
 
18
20
  class HomeeFan(HomeeNodeEntity, FanEntity):
19
21
  _attr_translation_key = DOMAIN
@@ -1,6 +1,12 @@
1
+ from . import HomeeConfigEntry as HomeeConfigEntry
1
2
  from _typeshed import Incomplete
3
+ from collections.abc import Callable as Callable, Coroutine
2
4
  from enum import IntEnum
5
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
6
+ from pyHomee.model import HomeeNode as HomeeNode
7
+ from typing import Any
3
8
 
4
9
  _LOGGER: Incomplete
5
10
 
11
+ async def setup_homee_platform(add_platform_entities: Callable[[HomeeConfigEntry, AddConfigEntryEntitiesCallback, list[HomeeNode]], Coroutine[Any, Any, None]], async_add_entities: AddConfigEntryEntitiesCallback, config_entry: HomeeConfigEntry) -> None: ...
6
12
  def get_name_for_enum(att_class: type[IntEnum], att_id: int) -> str | None: ...
@@ -1,6 +1,7 @@
1
1
  from . import HomeeConfigEntry as HomeeConfigEntry
2
2
  from .const import LIGHT_PROFILES as LIGHT_PROFILES
3
3
  from .entity import HomeeNodeEntity as HomeeNodeEntity
4
+ from .helpers import setup_homee_platform as setup_homee_platform
4
5
  from _typeshed import Incomplete
5
6
  from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_HS_COLOR as ATTR_HS_COLOR, ColorMode as ColorMode, LightEntity as LightEntity
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -18,6 +19,7 @@ def get_color_mode(supported_modes: set[ColorMode]) -> ColorMode: ...
18
19
  def get_light_attribute_sets(node: HomeeNode) -> list[dict[AttributeType, HomeeAttribute]]: ...
19
20
  def rgb_list_to_decimal(color: tuple[int, int, int]) -> int: ...
20
21
  def decimal_to_rgb_list(color: float) -> list[int]: ...
22
+ async def add_light_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
21
23
  async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
22
24
 
23
25
  class HomeeLight(HomeeNodeEntity, LightEntity):