homeassistant-stubs 2025.7.4__py3-none-any.whl → 2025.8.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 (479) hide show
  1. homeassistant-stubs/bootstrap.pyi +1 -1
  2. homeassistant-stubs/components/airnow/__init__.pyi +0 -1
  3. homeassistant-stubs/components/airnow/config_flow.pyi +2 -2
  4. homeassistant-stubs/components/airos/__init__.pyi +9 -0
  5. homeassistant-stubs/components/airos/config_flow.pyi +14 -0
  6. homeassistant-stubs/components/airos/const.pyi +5 -0
  7. homeassistant-stubs/components/airos/coordinator.pyi +16 -0
  8. homeassistant-stubs/components/airos/entity.pyi +11 -0
  9. homeassistant-stubs/components/airos/sensor.pyi +29 -0
  10. homeassistant-stubs/components/airq/const.pyi +0 -1
  11. homeassistant-stubs/components/airq/sensor.pyi +2 -2
  12. homeassistant-stubs/components/airthings/sensor.pyi +1 -1
  13. homeassistant-stubs/components/alexa_devices/__init__.pyi +6 -0
  14. homeassistant-stubs/components/alexa_devices/config_flow.pyi +10 -0
  15. homeassistant-stubs/components/alexa_devices/coordinator.pyi +4 -3
  16. homeassistant-stubs/components/alexa_devices/services.pyi +24 -0
  17. homeassistant-stubs/components/amberelectric/__init__.pyi +7 -1
  18. homeassistant-stubs/components/amberelectric/const.pyi +8 -1
  19. homeassistant-stubs/components/amberelectric/coordinator.pyi +1 -2
  20. homeassistant-stubs/components/amberelectric/helpers.pyi +6 -0
  21. homeassistant-stubs/components/amberelectric/sensor.pyi +2 -2
  22. homeassistant-stubs/components/amberelectric/services.pyi +15 -0
  23. homeassistant-stubs/components/analytics/__init__.pyi +1 -0
  24. homeassistant-stubs/components/analytics/analytics.pyi +3 -0
  25. homeassistant-stubs/components/analytics/http.pyi +10 -0
  26. homeassistant-stubs/components/analytics_insights/__init__.pyi +0 -1
  27. homeassistant-stubs/components/analytics_insights/config_flow.pyi +2 -2
  28. homeassistant-stubs/components/androidtv_remote/__init__.pyi +2 -6
  29. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +6 -6
  30. homeassistant-stubs/components/androidtv_remote/diagnostics.pyi +1 -1
  31. homeassistant-stubs/components/androidtv_remote/entity.pyi +2 -2
  32. homeassistant-stubs/components/androidtv_remote/helpers.pyi +3 -1
  33. homeassistant-stubs/components/androidtv_remote/media_player.pyi +4 -4
  34. homeassistant-stubs/components/androidtv_remote/remote.pyi +1 -1
  35. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  36. homeassistant-stubs/components/assist_pipeline/const.pyi +0 -1
  37. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +2 -5
  38. homeassistant-stubs/components/awair/const.pyi +1 -0
  39. homeassistant-stubs/components/awair/sensor.pyi +1 -1
  40. homeassistant-stubs/components/backup/__init__.pyi +6 -2
  41. homeassistant-stubs/components/backup/coordinator.pyi +0 -1
  42. homeassistant-stubs/components/backup/manager.pyi +6 -3
  43. homeassistant-stubs/components/backup/onboarding.pyi +1 -1
  44. homeassistant-stubs/components/backup/services.pyi +7 -0
  45. homeassistant-stubs/components/backup/websocket.pyi +4 -1
  46. homeassistant-stubs/components/blue_current/__init__.pyi +5 -5
  47. homeassistant-stubs/components/blue_current/const.pyi +11 -0
  48. homeassistant-stubs/components/blue_current/switch.pyi +40 -0
  49. homeassistant-stubs/components/bosch_alarm/__init__.pyi +1 -1
  50. homeassistant-stubs/components/bosch_alarm/services.pyi +3 -2
  51. homeassistant-stubs/components/bring/__init__.pyi +5 -0
  52. homeassistant-stubs/components/bring/const.pyi +4 -0
  53. homeassistant-stubs/components/bring/services.pyi +14 -0
  54. homeassistant-stubs/components/cloud/backup.pyi +3 -3
  55. homeassistant-stubs/components/cloud/repairs.pyi +3 -3
  56. homeassistant-stubs/components/cloud/subscription.pyi +2 -1
  57. homeassistant-stubs/components/cloud/tts.pyi +2 -1
  58. homeassistant-stubs/components/command_line/sensor.pyi +0 -2
  59. homeassistant-stubs/components/demo/vacuum.pyi +0 -3
  60. homeassistant-stubs/components/derivative/__init__.pyi +5 -1
  61. homeassistant-stubs/components/derivative/config_flow.pyi +2 -0
  62. homeassistant-stubs/components/derivative/sensor.pyi +7 -4
  63. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +3 -7
  64. homeassistant-stubs/components/devolo_home_control/entity.pyi +0 -1
  65. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +2 -2
  66. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -2
  67. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -1
  68. homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -1
  69. homeassistant-stubs/components/discovergy/__init__.pyi +1 -0
  70. homeassistant-stubs/components/discovergy/coordinator.pyi +1 -0
  71. homeassistant-stubs/components/dnsip/__init__.pyi +0 -1
  72. homeassistant-stubs/components/dnsip/config_flow.pyi +2 -2
  73. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +13 -3
  74. homeassistant-stubs/components/ecovacs/sensor.pyi +13 -0
  75. homeassistant-stubs/components/ecovacs/vacuum.pyi +1 -7
  76. homeassistant-stubs/components/eheimdigital/config_flow.pyi +2 -1
  77. homeassistant-stubs/components/elevenlabs/config_flow.pyi +1 -1
  78. homeassistant-stubs/components/elevenlabs/const.pyi +0 -2
  79. homeassistant-stubs/components/elevenlabs/tts.pyi +2 -3
  80. homeassistant-stubs/components/enphase_envoy/__init__.pyi +0 -2
  81. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -2
  82. homeassistant-stubs/components/esphome/config_flow.pyi +2 -0
  83. homeassistant-stubs/components/esphome/encryption_key_storage.pyi +29 -0
  84. homeassistant-stubs/components/esphome/entity.pyi +3 -1
  85. homeassistant-stubs/components/esphome/entry_data.pyi +14 -6
  86. homeassistant-stubs/components/esphome/manager.pyi +3 -1
  87. homeassistant-stubs/components/feedreader/__init__.pyi +0 -1
  88. homeassistant-stubs/components/feedreader/config_flow.pyi +3 -3
  89. homeassistant-stubs/components/forecast_solar/__init__.pyi +0 -1
  90. homeassistant-stubs/components/forecast_solar/config_flow.pyi +2 -2
  91. homeassistant-stubs/components/fritz/__init__.pyi +0 -1
  92. homeassistant-stubs/components/fritz/config_flow.pyi +2 -2
  93. homeassistant-stubs/components/fritzbox_callmonitor/__init__.pyi +0 -1
  94. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +2 -2
  95. homeassistant-stubs/components/frontend/__init__.pyi +1 -0
  96. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +3 -1
  97. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  98. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +3 -3
  99. homeassistant-stubs/components/generic_thermostat/__init__.pyi +5 -1
  100. homeassistant-stubs/components/generic_thermostat/climate.pyi +3 -3
  101. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  102. homeassistant-stubs/components/geo_location/trigger.pyi +0 -1
  103. homeassistant-stubs/components/gios/const.pyi +2 -0
  104. homeassistant-stubs/components/gios/sensor.pyi +1 -1
  105. homeassistant-stubs/components/google_assistant_sdk/application_credentials.pyi +1 -0
  106. homeassistant-stubs/components/google_cloud/const.pyi +1 -0
  107. homeassistant-stubs/components/google_cloud/stt.pyi +3 -2
  108. homeassistant-stubs/components/guardian/__init__.pyi +1 -1
  109. homeassistant-stubs/components/guardian/services.pyi +2 -1
  110. homeassistant-stubs/components/habitica/button.pyi +3 -4
  111. homeassistant-stubs/components/habitica/coordinator.pyi +2 -3
  112. homeassistant-stubs/components/habitica/entity.pyi +1 -1
  113. homeassistant-stubs/components/habitica/sensor.pyi +3 -18
  114. homeassistant-stubs/components/habitica/switch.pyi +4 -3
  115. homeassistant-stubs/components/habitica/util.pyi +2 -1
  116. homeassistant-stubs/components/heos/__init__.pyi +1 -1
  117. homeassistant-stubs/components/heos/config_flow.pyi +3 -0
  118. homeassistant-stubs/components/heos/services.pyi +3 -2
  119. homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
  120. homeassistant-stubs/components/here_travel_time/config_flow.pyi +3 -2
  121. homeassistant-stubs/components/here_travel_time/const.pyi +1 -0
  122. homeassistant-stubs/components/here_travel_time/coordinator.pyi +1 -1
  123. homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
  124. homeassistant-stubs/components/history_stats/__init__.pyi +5 -1
  125. homeassistant-stubs/components/history_stats/config_flow.pyi +14 -0
  126. homeassistant-stubs/components/history_stats/coordinator.pyi +3 -1
  127. homeassistant-stubs/components/history_stats/data.pyi +2 -1
  128. homeassistant-stubs/components/history_stats/helpers.pyi +1 -1
  129. homeassistant-stubs/components/history_stats/sensor.pyi +7 -4
  130. homeassistant-stubs/components/holiday/__init__.pyi +0 -1
  131. homeassistant-stubs/components/holiday/config_flow.pyi +2 -2
  132. homeassistant-stubs/components/home_connect/__init__.pyi +1 -1
  133. homeassistant-stubs/components/home_connect/services.pyi +3 -2
  134. homeassistant-stubs/components/homeassistant/__init__.pyi +2 -1
  135. homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -1
  136. homeassistant-stubs/components/homee/__init__.pyi +1 -1
  137. homeassistant-stubs/components/homee/config_flow.pyi +5 -0
  138. homeassistant-stubs/components/homekit/__init__.pyi +2 -1
  139. homeassistant-stubs/components/http/__init__.pyi +1 -2
  140. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -2
  141. homeassistant-stubs/components/huawei_lte/config_flow.pyi +5 -4
  142. homeassistant-stubs/components/huawei_lte/const.pyi +1 -1
  143. homeassistant-stubs/components/huawei_lte/diagnostics.pyi +18 -0
  144. homeassistant-stubs/components/husqvarna_automower/button.pyi +2 -2
  145. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +3 -0
  146. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +15 -13
  147. homeassistant-stubs/components/husqvarna_automower/entity.pyi +2 -6
  148. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +2 -2
  149. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +5 -0
  150. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -1
  151. homeassistant-stubs/components/hydrawise/const.pyi +1 -0
  152. homeassistant-stubs/components/hydrawise/coordinator.pyi +9 -2
  153. homeassistant-stubs/components/hydrawise/entity.pyi +1 -1
  154. homeassistant-stubs/components/hydrawise/sensor.pyi +1 -1
  155. homeassistant-stubs/components/hydrawise/switch.pyi +1 -1
  156. homeassistant-stubs/components/hydrawise/valve.pyi +1 -1
  157. homeassistant-stubs/components/hyperion/__init__.pyi +0 -1
  158. homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
  159. homeassistant-stubs/components/imgw_pib/sensor.pyi +7 -1
  160. homeassistant-stubs/components/immich/__init__.pyi +6 -0
  161. homeassistant-stubs/components/immich/media_source.pyi +1 -0
  162. homeassistant-stubs/components/immich/services.pyi +18 -0
  163. homeassistant-stubs/components/input_text/__init__.pyi +1 -1
  164. homeassistant-stubs/components/integration/__init__.pyi +5 -1
  165. homeassistant-stubs/components/integration/config_flow.pyi +1 -0
  166. homeassistant-stubs/components/integration/sensor.pyi +5 -6
  167. homeassistant-stubs/components/iron_os/__init__.pyi +0 -3
  168. homeassistant-stubs/components/iron_os/const.pyi +4 -0
  169. homeassistant-stubs/components/iron_os/coordinator.pyi +1 -1
  170. homeassistant-stubs/components/iron_os/number.pyi +20 -4
  171. homeassistant-stubs/components/iron_os/switch.pyi +2 -0
  172. homeassistant-stubs/components/isy994/__init__.pyi +0 -1
  173. homeassistant-stubs/components/isy994/config_flow.pyi +3 -3
  174. homeassistant-stubs/components/jellyfin/browse_media.pyi +2 -1
  175. homeassistant-stubs/components/jellyfin/media_player.pyi +5 -2
  176. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +5 -15
  177. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +2 -2
  178. homeassistant-stubs/components/jewish_calendar/entity.pyi +19 -5
  179. homeassistant-stubs/components/jewish_calendar/sensor.pyi +11 -7
  180. homeassistant-stubs/components/knx/__init__.pyi +6 -40
  181. homeassistant-stubs/components/knx/binary_sensor.pyi +3 -2
  182. homeassistant-stubs/components/knx/button.pyi +1 -1
  183. homeassistant-stubs/components/knx/climate.pyi +1 -1
  184. homeassistant-stubs/components/knx/config_flow.pyi +14 -21
  185. homeassistant-stubs/components/knx/const.pyi +1 -1
  186. homeassistant-stubs/components/knx/cover.pyi +3 -2
  187. homeassistant-stubs/components/knx/date.pyi +1 -1
  188. homeassistant-stubs/components/knx/datetime.pyi +1 -1
  189. homeassistant-stubs/components/knx/entity.pyi +1 -1
  190. homeassistant-stubs/components/knx/fan.pyi +1 -1
  191. homeassistant-stubs/components/knx/knx_module.pyi +43 -0
  192. homeassistant-stubs/components/knx/light.pyi +3 -2
  193. homeassistant-stubs/components/knx/notify.pyi +1 -1
  194. homeassistant-stubs/components/knx/number.pyi +1 -1
  195. homeassistant-stubs/components/knx/scene.pyi +1 -1
  196. homeassistant-stubs/components/knx/select.pyi +1 -1
  197. homeassistant-stubs/components/knx/sensor.pyi +1 -1
  198. homeassistant-stubs/components/knx/services.pyi +2 -2
  199. homeassistant-stubs/components/knx/storage/config_store.pyi +4 -0
  200. homeassistant-stubs/components/knx/storage/const.pyi +8 -7
  201. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +3 -10
  202. homeassistant-stubs/components/knx/storage/knx_selector.pyi +4 -0
  203. homeassistant-stubs/components/knx/storage/migration.pyi +5 -0
  204. homeassistant-stubs/components/knx/storage/util.pyi +16 -0
  205. homeassistant-stubs/components/knx/switch.pyi +3 -2
  206. homeassistant-stubs/components/knx/text.pyi +1 -1
  207. homeassistant-stubs/components/knx/time.pyi +1 -1
  208. homeassistant-stubs/components/knx/weather.pyi +1 -1
  209. homeassistant-stubs/components/knx/websocket.pyi +1 -1
  210. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
  211. homeassistant-stubs/components/lcn/binary_sensor.pyi +1 -20
  212. homeassistant-stubs/components/lcn/helpers.pyi +1 -0
  213. homeassistant-stubs/components/lcn/light.pyi +2 -1
  214. homeassistant-stubs/components/letpot/coordinator.pyi +3 -4
  215. homeassistant-stubs/components/letpot/switch.pyi +1 -1
  216. homeassistant-stubs/components/letpot/time.pyi +1 -1
  217. homeassistant-stubs/components/lifx/const.pyi +1 -0
  218. homeassistant-stubs/components/lifx/coordinator.pyi +5 -1
  219. homeassistant-stubs/components/lifx/manager.pyi +1 -1
  220. homeassistant-stubs/components/linkplay/select.pyi +35 -0
  221. homeassistant-stubs/components/litterrobot/sensor.pyi +3 -0
  222. homeassistant-stubs/components/matrix/__init__.pyi +1 -1
  223. homeassistant-stubs/components/matrix/services.pyi +3 -2
  224. homeassistant-stubs/components/matter/entity.pyi +2 -2
  225. homeassistant-stubs/components/matter/number.pyi +29 -1
  226. homeassistant-stubs/components/matter/select.pyi +2 -2
  227. homeassistant-stubs/components/matter/vacuum.pyi +2 -0
  228. homeassistant-stubs/components/mcp_server/server.pyi +1 -1
  229. homeassistant-stubs/components/mealie/const.pyi +2 -0
  230. homeassistant-stubs/components/mealie/services.pyi +4 -1
  231. homeassistant-stubs/components/media_player/const.pyi +2 -2
  232. homeassistant-stubs/components/media_source/const.pyi +3 -0
  233. homeassistant-stubs/components/media_source/local_source.pyi +1 -1
  234. homeassistant-stubs/components/media_source/models.pyi +6 -2
  235. homeassistant-stubs/components/met_eireann/__init__.pyi +2 -17
  236. homeassistant-stubs/components/met_eireann/coordinator.pyi +28 -0
  237. homeassistant-stubs/components/met_eireann/weather.pyi +1 -3
  238. homeassistant-stubs/components/miele/__init__.pyi +5 -0
  239. homeassistant-stubs/components/miele/entity.pyi +2 -0
  240. homeassistant-stubs/components/miele/sensor.pyi +7 -6
  241. homeassistant-stubs/components/miele/services.pyi +24 -0
  242. homeassistant-stubs/components/miele/vacuum.pyi +0 -2
  243. homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
  244. homeassistant-stubs/components/mold_indicator/__init__.pyi +8 -1
  245. homeassistant-stubs/components/mold_indicator/config_flow.pyi +2 -0
  246. homeassistant-stubs/components/mold_indicator/sensor.pyi +2 -2
  247. homeassistant-stubs/components/mqtt/climate.pyi +1 -37
  248. homeassistant-stubs/components/mqtt/config_flow.pyi +38 -6
  249. homeassistant-stubs/components/mqtt/const.pyi +33 -2
  250. homeassistant-stubs/components/mqtt/repairs.pyi +15 -0
  251. homeassistant-stubs/components/nasweb/const.pyi +1 -0
  252. homeassistant-stubs/components/nasweb/coordinator.pyi +3 -1
  253. homeassistant-stubs/components/nasweb/sensor.pyi +54 -0
  254. homeassistant-stubs/components/netatmo/climate.pyi +1 -1
  255. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  256. homeassistant-stubs/components/nextdns/__init__.pyi +2 -3
  257. homeassistant-stubs/components/nextdns/coordinator.pyi +10 -2
  258. homeassistant-stubs/components/nordpool/const.pyi +1 -0
  259. homeassistant-stubs/components/nordpool/services.pyi +5 -1
  260. homeassistant-stubs/components/number/const.pyi +2 -1
  261. homeassistant-stubs/components/nut/__init__.pyi +0 -1
  262. homeassistant-stubs/components/onewire/__init__.pyi +0 -1
  263. homeassistant-stubs/components/onewire/config_flow.pyi +2 -2
  264. homeassistant-stubs/components/onkyo/__init__.pyi +2 -3
  265. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -6
  266. homeassistant-stubs/components/onkyo/const.pyi +7 -65
  267. homeassistant-stubs/components/onkyo/media_player.pyi +16 -44
  268. homeassistant-stubs/components/onkyo/receiver.pyi +24 -25
  269. homeassistant-stubs/components/onkyo/services.pyi +3 -3
  270. homeassistant-stubs/components/onkyo/util.pyi +3 -0
  271. homeassistant-stubs/components/open_router/__init__.pyi +15 -0
  272. homeassistant-stubs/components/open_router/ai_task.pyi +17 -0
  273. homeassistant-stubs/components/open_router/config_flow.pyi +30 -0
  274. homeassistant-stubs/components/open_router/const.pyi +8 -0
  275. homeassistant-stubs/components/open_router/conversation.pyi +20 -0
  276. homeassistant-stubs/components/open_router/entity.pyi +33 -0
  277. homeassistant-stubs/components/openai_conversation/__init__.pyi +3 -2
  278. homeassistant-stubs/components/openai_conversation/ai_task.pyi +16 -0
  279. homeassistant-stubs/components/openai_conversation/config_flow.pyi +2 -3
  280. homeassistant-stubs/components/openai_conversation/const.pyi +9 -1
  281. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -22
  282. homeassistant-stubs/components/openai_conversation/entity.pyi +36 -0
  283. homeassistant-stubs/components/opower/__init__.pyi +8 -0
  284. homeassistant-stubs/components/opower/config_flow.pyi +25 -0
  285. homeassistant-stubs/components/opower/const.pyi +3 -0
  286. homeassistant-stubs/components/opower/coordinator.pyi +24 -0
  287. homeassistant-stubs/components/opower/sensor.pyi +35 -0
  288. homeassistant-stubs/components/pegel_online/__init__.pyi +1 -1
  289. homeassistant-stubs/components/pegel_online/sensor.pyi +2 -0
  290. homeassistant-stubs/components/pi_hole/__init__.pyi +6 -2
  291. homeassistant-stubs/components/pi_hole/config_flow.pyi +1 -2
  292. homeassistant-stubs/components/pi_hole/const.pyi +1 -0
  293. homeassistant-stubs/components/pi_hole/sensor.pyi +5 -0
  294. homeassistant-stubs/components/pi_hole/update.pyi +3 -3
  295. homeassistant-stubs/components/ping/__init__.pyi +0 -1
  296. homeassistant-stubs/components/ping/config_flow.pyi +3 -3
  297. homeassistant-stubs/components/plugwise/select.pyi +1 -1
  298. homeassistant-stubs/components/proximity/__init__.pyi +0 -1
  299. homeassistant-stubs/components/proximity/config_flow.pyi +3 -3
  300. homeassistant-stubs/components/purpleair/__init__.pyi +0 -1
  301. homeassistant-stubs/components/purpleair/config_flow.pyi +2 -2
  302. homeassistant-stubs/components/pyload/config_flow.pyi +4 -0
  303. homeassistant-stubs/components/recorder/pool.pyi +2 -1
  304. homeassistant-stubs/components/renault/__init__.pyi +1 -1
  305. homeassistant-stubs/components/renault/services.pyi +3 -2
  306. homeassistant-stubs/components/reolink/__init__.pyi +0 -1
  307. homeassistant-stubs/components/reolink/config_flow.pyi +2 -2
  308. homeassistant-stubs/components/reolink/number.pyi +1 -1
  309. homeassistant-stubs/components/reolink/sensor.pyi +1 -1
  310. homeassistant-stubs/components/rest/sensor.pyi +1 -3
  311. homeassistant-stubs/components/roborock/__init__.pyi +0 -1
  312. homeassistant-stubs/components/roborock/config_flow.pyi +2 -2
  313. homeassistant-stubs/components/roku/__init__.pyi +0 -1
  314. homeassistant-stubs/components/roku/config_flow.pyi +2 -2
  315. homeassistant-stubs/components/russound_rio/const.pyi +2 -0
  316. homeassistant-stubs/components/russound_rio/media_player.pyi +6 -0
  317. homeassistant-stubs/components/scrape/sensor.pyi +1 -2
  318. homeassistant-stubs/components/sensor/const.pyi +2 -1
  319. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  320. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  321. homeassistant-stubs/components/shelly/button.pyi +2 -2
  322. homeassistant-stubs/components/shelly/climate.pyi +2 -2
  323. homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
  324. homeassistant-stubs/components/shelly/entity.pyi +3 -0
  325. homeassistant-stubs/components/shelly/event.pyi +2 -2
  326. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  327. homeassistant-stubs/components/shelly/utils.pyi +2 -2
  328. homeassistant-stubs/components/sleepiq/const.pyi +2 -0
  329. homeassistant-stubs/components/sleepiq/number.pyi +7 -3
  330. homeassistant-stubs/components/sleepiq/select.pyi +15 -2
  331. homeassistant-stubs/components/smhi/coordinator.pyi +3 -0
  332. homeassistant-stubs/components/smhi/entity.pyi +3 -1
  333. homeassistant-stubs/components/smhi/sensor.pyi +30 -0
  334. homeassistant-stubs/components/smhi/weather.pyi +4 -2
  335. homeassistant-stubs/components/sonarr/__init__.pyi +0 -1
  336. homeassistant-stubs/components/sonarr/config_flow.pyi +2 -2
  337. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +0 -1
  338. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +2 -2
  339. homeassistant-stubs/components/sql/__init__.pyi +0 -1
  340. homeassistant-stubs/components/sql/config_flow.pyi +2 -2
  341. homeassistant-stubs/components/squeezebox/__init__.pyi +3 -2
  342. homeassistant-stubs/components/squeezebox/const.pyi +2 -3
  343. homeassistant-stubs/components/squeezebox/coordinator.pyi +2 -2
  344. homeassistant-stubs/components/squeezebox/media_player.pyi +2 -2
  345. homeassistant-stubs/components/statistics/__init__.pyi +3 -1
  346. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  347. homeassistant-stubs/components/statistics/sensor.pyi +5 -5
  348. homeassistant-stubs/components/stookwijzer/__init__.pyi +4 -0
  349. homeassistant-stubs/components/stookwijzer/const.pyi +2 -0
  350. homeassistant-stubs/components/stookwijzer/services.pyi +17 -0
  351. homeassistant-stubs/components/switch_as_x/__init__.pyi +2 -2
  352. homeassistant-stubs/components/switch_as_x/entity.pyi +1 -3
  353. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -0
  354. homeassistant-stubs/components/switchbot_cloud/const.pyi +1 -0
  355. homeassistant-stubs/components/switchbot_cloud/fan.pyi +26 -0
  356. homeassistant-stubs/components/switchbot_cloud/light.pyi +40 -0
  357. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +17 -1
  358. homeassistant-stubs/components/synology_dsm/__init__.pyi +0 -1
  359. homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
  360. homeassistant-stubs/components/tankerkoenig/__init__.pyi +10 -0
  361. homeassistant-stubs/components/tankerkoenig/binary_sensor.pyi +23 -0
  362. homeassistant-stubs/components/tankerkoenig/config_flow.pyi +33 -0
  363. homeassistant-stubs/components/tankerkoenig/const.pyi +13 -0
  364. homeassistant-stubs/components/tankerkoenig/coordinator.pyi +22 -0
  365. homeassistant-stubs/components/tankerkoenig/diagnostics.pyi +10 -0
  366. homeassistant-stubs/components/tankerkoenig/entity.pyi +11 -0
  367. homeassistant-stubs/components/tankerkoenig/sensor.pyi +28 -0
  368. homeassistant-stubs/components/threshold/__init__.pyi +5 -1
  369. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -4
  370. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  371. homeassistant-stubs/components/time_date/config_flow.pyi +1 -2
  372. homeassistant-stubs/components/trafikverket_train/__init__.pyi +0 -1
  373. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +2 -2
  374. homeassistant-stubs/components/trend/__init__.pyi +3 -1
  375. homeassistant-stubs/components/trend/binary_sensor.pyi +3 -4
  376. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  377. homeassistant-stubs/components/tts/entity.pyi +0 -2
  378. homeassistant-stubs/components/unifiprotect/__init__.pyi +5 -5
  379. homeassistant-stubs/components/unifiprotect/config_flow.pyi +5 -5
  380. homeassistant-stubs/components/unifiprotect/repairs.pyi +0 -6
  381. homeassistant-stubs/components/unifiprotect/services.pyi +1 -1
  382. homeassistant-stubs/components/uptime_kuma/__init__.pyi +14 -0
  383. homeassistant-stubs/components/uptime_kuma/config_flow.pyi +26 -0
  384. homeassistant-stubs/components/uptime_kuma/const.pyi +7 -0
  385. homeassistant-stubs/components/uptime_kuma/coordinator.pyi +30 -0
  386. homeassistant-stubs/components/uptime_kuma/diagnostics.pyi +9 -0
  387. homeassistant-stubs/components/uptime_kuma/sensor.pyi +46 -0
  388. homeassistant-stubs/components/uptime_kuma/update.pyi +39 -0
  389. homeassistant-stubs/components/vacuum/__init__.pyi +7 -0
  390. homeassistant-stubs/components/velbus/__init__.pyi +1 -1
  391. homeassistant-stubs/components/velbus/const.pyi +0 -1
  392. homeassistant-stubs/components/velbus/services.pyi +4 -4
  393. homeassistant-stubs/components/vodafone_station/__init__.pyi +0 -1
  394. homeassistant-stubs/components/vodafone_station/config_flow.pyi +2 -2
  395. homeassistant-stubs/components/volvo/__init__.pyi +15 -0
  396. homeassistant-stubs/components/volvo/api.pyi +14 -0
  397. homeassistant-stubs/components/volvo/application_credentials.pyi +9 -0
  398. homeassistant-stubs/components/volvo/config_flow.pyi +34 -0
  399. homeassistant-stubs/components/volvo/const.pyi +8 -0
  400. homeassistant-stubs/components/volvo/coordinator.pyi +46 -0
  401. homeassistant-stubs/components/volvo/entity.pyi +33 -0
  402. homeassistant-stubs/components/volvo/sensor.pyi +35 -0
  403. homeassistant-stubs/components/wallbox/__init__.pyi +4 -5
  404. homeassistant-stubs/components/wallbox/coordinator.pyi +8 -2
  405. homeassistant-stubs/components/wallbox/lock.pyi +5 -4
  406. homeassistant-stubs/components/wallbox/number.pyi +6 -5
  407. homeassistant-stubs/components/wallbox/select.pyi +4 -3
  408. homeassistant-stubs/components/wallbox/sensor.pyi +5 -4
  409. homeassistant-stubs/components/wallbox/switch.pyi +5 -4
  410. homeassistant-stubs/components/waqi/__init__.pyi +3 -5
  411. homeassistant-stubs/components/waqi/coordinator.pyi +3 -2
  412. homeassistant-stubs/components/waqi/sensor.pyi +2 -13
  413. homeassistant-stubs/components/webostv/__init__.pyi +0 -1
  414. homeassistant-stubs/components/webostv/config_flow.pyi +3 -3
  415. homeassistant-stubs/components/websocket_api/commands.pyi +4 -0
  416. homeassistant-stubs/components/wiz/fan.pyi +34 -0
  417. homeassistant-stubs/components/wled/__init__.pyi +0 -1
  418. homeassistant-stubs/components/wled/config_flow.pyi +2 -2
  419. homeassistant-stubs/components/workday/__init__.pyi +0 -1
  420. homeassistant-stubs/components/workday/config_flow.pyi +2 -2
  421. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +0 -1
  422. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +2 -2
  423. homeassistant-stubs/components/yalexs_ble/lock.pyi +14 -2
  424. homeassistant-stubs/components/zone/condition.pyi +22 -0
  425. homeassistant-stubs/components/zone/trigger.pyi +2 -1
  426. homeassistant-stubs/components/zwave_js/__init__.pyi +10 -9
  427. homeassistant-stubs/components/zwave_js/api.pyi +35 -34
  428. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +7 -7
  429. homeassistant-stubs/components/zwave_js/button.pyi +5 -5
  430. homeassistant-stubs/components/zwave_js/climate.pyi +5 -5
  431. homeassistant-stubs/components/zwave_js/config_flow.pyi +4 -3
  432. homeassistant-stubs/components/zwave_js/const.pyi +0 -2
  433. homeassistant-stubs/components/zwave_js/cover.pyi +7 -7
  434. homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi +1 -1
  435. homeassistant-stubs/components/zwave_js/diagnostics.pyi +5 -5
  436. homeassistant-stubs/components/zwave_js/event.pyi +4 -4
  437. homeassistant-stubs/components/zwave_js/fan.pyi +6 -6
  438. homeassistant-stubs/components/zwave_js/helpers.pyi +6 -5
  439. homeassistant-stubs/components/zwave_js/humidifier.pyi +4 -4
  440. homeassistant-stubs/components/zwave_js/light.pyi +15 -5
  441. homeassistant-stubs/components/zwave_js/lock.pyi +3 -3
  442. homeassistant-stubs/components/zwave_js/models.pyi +12 -0
  443. homeassistant-stubs/components/zwave_js/number.pyi +6 -6
  444. homeassistant-stubs/components/zwave_js/select.pyi +8 -8
  445. homeassistant-stubs/components/zwave_js/sensor.pyi +10 -10
  446. homeassistant-stubs/components/zwave_js/siren.pyi +4 -4
  447. homeassistant-stubs/components/zwave_js/switch.pyi +7 -7
  448. homeassistant-stubs/components/zwave_js/triggers/event.pyi +1 -2
  449. homeassistant-stubs/components/zwave_js/triggers/trigger_helpers.pyi +1 -1
  450. homeassistant-stubs/components/zwave_js/update.pyi +28 -18
  451. homeassistant-stubs/config.pyi +0 -2
  452. homeassistant-stubs/config_entries.pyi +3 -0
  453. homeassistant-stubs/const.pyi +2 -0
  454. homeassistant-stubs/core.pyi +12 -8
  455. homeassistant-stubs/helpers/condition.pyi +25 -6
  456. homeassistant-stubs/helpers/config_validation.pyi +0 -2
  457. homeassistant-stubs/helpers/device.pyi +2 -0
  458. homeassistant-stubs/helpers/device_registry.pyi +11 -6
  459. homeassistant-stubs/helpers/entity.pyi +3 -1
  460. homeassistant-stubs/helpers/entity_platform.pyi +30 -9
  461. homeassistant-stubs/helpers/frame.pyi +1 -1
  462. homeassistant-stubs/helpers/helper_integration.pyi +2 -1
  463. homeassistant-stubs/helpers/llm.pyi +5 -1
  464. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +1 -0
  465. homeassistant-stubs/helpers/selector.pyi +42 -37
  466. homeassistant-stubs/helpers/service.pyi +9 -26
  467. homeassistant-stubs/helpers/target.pyi +59 -0
  468. homeassistant-stubs/helpers/trigger.pyi +3 -1
  469. homeassistant-stubs/helpers/trigger_template_entity.pyi +5 -1
  470. homeassistant-stubs/loader.pyi +2 -9
  471. homeassistant-stubs/runner.pyi +1 -0
  472. homeassistant-stubs/util/resource.pyi +7 -0
  473. homeassistant-stubs/util/unit_conversion.pyi +1 -1
  474. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/METADATA +2 -2
  475. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/RECORD +477 -409
  476. homeassistant-stubs/components/backup/basic_websocket.pyi +0 -12
  477. homeassistant-stubs/helpers/backup.pyi +0 -24
  478. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/WHEEL +0 -0
  479. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,15 +1,17 @@
1
- from .browse_media import build_item_response as build_item_response, build_root_response as build_root_response
1
+ from .browse_media import build_item_response as build_item_response, build_root_response as build_root_response, search_items as search_items
2
2
  from .client_wrapper import get_artwork_url as get_artwork_url
3
3
  from .const import CONTENT_TYPE_MAP as CONTENT_TYPE_MAP, LOGGER as LOGGER, MAX_IMAGE_WIDTH as MAX_IMAGE_WIDTH
4
4
  from .coordinator import JellyfinConfigEntry as JellyfinConfigEntry, JellyfinDataUpdateCoordinator as JellyfinDataUpdateCoordinator
5
5
  from .entity import JellyfinClientEntity as JellyfinClientEntity
6
6
  from _typeshed import Incomplete
7
- from homeassistant.components.media_player import BrowseMedia as BrowseMedia, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType
7
+ from homeassistant.components.media_player import BrowseMedia as BrowseMedia, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, SearchMedia as SearchMedia, SearchMediaQuery as SearchMediaQuery
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
10
  from homeassistant.util.dt import parse_datetime as parse_datetime
11
11
  from typing import Any
12
12
 
13
+ _LOGGER: Incomplete
14
+
13
15
  async def async_setup_entry(hass: HomeAssistant, entry: JellyfinConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
16
 
15
17
  class JellyfinMediaPlayer(JellyfinClientEntity, MediaPlayerEntity):
@@ -51,3 +53,4 @@ class JellyfinMediaPlayer(JellyfinClientEntity, MediaPlayerEntity):
51
53
  def set_volume_level(self, volume: float) -> None: ...
52
54
  def mute_volume(self, mute: bool) -> None: ...
53
55
  async def async_browse_media(self, media_content_type: MediaType | str | None = None, media_content_id: str | None = None) -> BrowseMedia: ...
56
+ async def async_search_media(self, query: SearchMediaQuery) -> SearchMedia: ...
@@ -6,32 +6,22 @@ from dataclasses import dataclass
6
6
  from hdate.zmanim import Zmanim as Zmanim
7
7
  from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
8
8
  from homeassistant.const import EntityCategory as EntityCategory
9
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
10
- from homeassistant.helpers import event as event
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
11
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
11
 
13
12
  PARALLEL_UPDATES: int
14
13
 
15
- @dataclass(frozen=True)
16
- class JewishCalendarBinarySensorMixIns(BinarySensorEntityDescription):
17
- is_on: Callable[[Zmanim, dt.datetime], bool] = ...
18
-
19
- @dataclass(frozen=True)
20
- class JewishCalendarBinarySensorEntityDescription(JewishCalendarBinarySensorMixIns, BinarySensorEntityDescription): ...
14
+ @dataclass(frozen=True, kw_only=True)
15
+ class JewishCalendarBinarySensorEntityDescription(BinarySensorEntityDescription):
16
+ is_on: Callable[[Zmanim], Callable[[dt.datetime], bool]]
21
17
 
22
18
  BINARY_SENSORS: tuple[JewishCalendarBinarySensorEntityDescription, ...]
23
19
 
24
20
  async def async_setup_entry(hass: HomeAssistant, config_entry: JewishCalendarConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
25
21
 
26
22
  class JewishCalendarBinarySensor(JewishCalendarEntity, BinarySensorEntity):
27
- _attr_should_poll: bool
28
23
  _attr_entity_category: Incomplete
29
- _update_unsub: CALLBACK_TYPE | None
30
24
  entity_description: JewishCalendarBinarySensorEntityDescription
31
25
  @property
32
26
  def is_on(self) -> bool: ...
33
- async def async_added_to_hass(self) -> None: ...
34
- async def async_will_remove_from_hass(self) -> None: ...
35
- @callback
36
- def _update(self, now: dt.datetime | None = None) -> None: ...
37
- def _schedule_update(self) -> None: ...
27
+ def _update_times(self, zmanim: Zmanim) -> list[dt.datetime | None]: ...
@@ -2,7 +2,7 @@ import voluptuous as vol
2
2
  from .const import CONF_CANDLE_LIGHT_MINUTES as CONF_CANDLE_LIGHT_MINUTES, CONF_DIASPORA as CONF_DIASPORA, CONF_HAVDALAH_OFFSET_MINUTES as CONF_HAVDALAH_OFFSET_MINUTES, DEFAULT_CANDLE_LIGHT as DEFAULT_CANDLE_LIGHT, DEFAULT_DIASPORA as DEFAULT_DIASPORA, DEFAULT_HAVDALAH_OFFSET_MINUTES as DEFAULT_HAVDALAH_OFFSET_MINUTES, DEFAULT_LANGUAGE as DEFAULT_LANGUAGE, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
3
3
  from .entity import JewishCalendarConfigEntry as JewishCalendarConfigEntry
4
4
  from _typeshed import Incomplete
5
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
5
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
6
6
  from homeassistant.const import CONF_ELEVATION as CONF_ELEVATION, CONF_LANGUAGE as CONF_LANGUAGE, CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, CONF_TIME_ZONE as CONF_TIME_ZONE
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers.selector import BooleanSelector as BooleanSelector, LanguageSelector as LanguageSelector, LanguageSelectorConfig as LanguageSelectorConfig, LocationSelector as LocationSelector, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig
@@ -21,5 +21,5 @@ class JewishCalendarConfigFlow(ConfigFlow, domain=DOMAIN):
21
21
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
22
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
23
 
24
- class JewishCalendarOptionsFlowHandler(OptionsFlow):
24
+ class JewishCalendarOptionsFlowHandler(OptionsFlowWithReload):
25
25
  async def async_step_init(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
@@ -1,19 +1,23 @@
1
+ import abc
1
2
  import datetime as dt
2
3
  from .const import DOMAIN as DOMAIN
3
4
  from _typeshed import Incomplete
5
+ from abc import abstractmethod
4
6
  from dataclasses import dataclass
5
- from hdate import HDateInfo as HDateInfo, Location as Location, Zmanim
7
+ from hdate import HDateInfo, Location as Location, Zmanim
6
8
  from hdate.translator import Language as Language
7
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, callback as callback
11
+ from homeassistant.helpers import event as event
8
12
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
9
13
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
10
14
 
15
+ _LOGGER: Incomplete
11
16
  type JewishCalendarConfigEntry = ConfigEntry[JewishCalendarData]
17
+
12
18
  @dataclass
13
19
  class JewishCalendarDataResults:
14
- daytime_date: HDateInfo
15
- after_shkia_date: HDateInfo
16
- after_tzais_date: HDateInfo
20
+ dateinfo: HDateInfo
17
21
  zmanim: Zmanim
18
22
 
19
23
  @dataclass
@@ -25,11 +29,21 @@ class JewishCalendarData:
25
29
  havdalah_offset: int
26
30
  results: JewishCalendarDataResults | None = ...
27
31
 
28
- class JewishCalendarEntity(Entity):
32
+ class JewishCalendarEntity(Entity, metaclass=abc.ABCMeta):
29
33
  _attr_has_entity_name: bool
34
+ _attr_should_poll: bool
35
+ _update_unsub: CALLBACK_TYPE | None
30
36
  entity_description: Incomplete
31
37
  _attr_unique_id: Incomplete
32
38
  _attr_device_info: Incomplete
33
39
  data: Incomplete
34
40
  def __init__(self, config_entry: JewishCalendarConfigEntry, description: EntityDescription) -> None: ...
35
41
  def make_zmanim(self, date: dt.date) -> Zmanim: ...
42
+ async def async_added_to_hass(self) -> None: ...
43
+ async def async_will_remove_from_hass(self) -> None: ...
44
+ @abstractmethod
45
+ def _update_times(self, zmanim: Zmanim) -> list[dt.datetime | None]: ...
46
+ def _schedule_update(self) -> None: ...
47
+ @callback
48
+ def _update(self, now: dt.datetime | None = None) -> None: ...
49
+ def create_results(self, now: dt.datetime | None = None) -> None: ...
@@ -1,14 +1,13 @@
1
1
  import datetime as dt
2
- from .entity import JewishCalendarConfigEntry as JewishCalendarConfigEntry, JewishCalendarDataResults as JewishCalendarDataResults, JewishCalendarEntity as JewishCalendarEntity
2
+ from .entity import JewishCalendarConfigEntry as JewishCalendarConfigEntry, JewishCalendarEntity as JewishCalendarEntity
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
5
  from dataclasses import dataclass
6
- from hdate import HDateInfo, Zmanim as Zmanim
6
+ from hdate import HDateInfo as HDateInfo, Zmanim as Zmanim
7
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
8
- from homeassistant.const import EntityCategory as EntityCategory, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
8
+ from homeassistant.const import EntityCategory as EntityCategory
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
- from homeassistant.helpers.sun import get_astral_event_date as get_astral_event_date
12
11
 
13
12
  _LOGGER: Incomplete
14
13
  PARALLEL_UPDATES: int
@@ -16,16 +15,19 @@ PARALLEL_UPDATES: int
16
15
  @dataclass(frozen=True, kw_only=True)
17
16
  class JewishCalendarBaseSensorDescription(SensorEntityDescription):
18
17
  value_fn: Callable | None
18
+ next_update_fn: Callable[[Zmanim], dt.datetime | None] | None
19
19
 
20
20
  @dataclass(frozen=True, kw_only=True)
21
21
  class JewishCalendarSensorDescription(JewishCalendarBaseSensorDescription):
22
- value_fn: Callable[[JewishCalendarDataResults], str | int]
23
- attr_fn: Callable[[JewishCalendarDataResults], dict[str, str]] | None = ...
22
+ value_fn: Callable[[HDateInfo], str | int]
23
+ attr_fn: Callable[[HDateInfo], dict[str, str]] | None = ...
24
24
  options_fn: Callable[[bool], list[str]] | None = ...
25
+ next_update_fn: Callable[[Zmanim], dt.datetime | None] | None = ...
25
26
 
26
27
  @dataclass(frozen=True, kw_only=True)
27
28
  class JewishCalendarTimestampSensorDescription(JewishCalendarBaseSensorDescription):
28
29
  value_fn: Callable[[HDateInfo, Callable[[dt.date], Zmanim]], dt.datetime | None] | None = ...
30
+ next_update_fn: Callable[[Zmanim], dt.datetime | None] | None = ...
29
31
 
30
32
  INFO_SENSORS: tuple[JewishCalendarSensorDescription, ...]
31
33
  TIME_SENSORS: tuple[JewishCalendarTimestampSensorDescription, ...]
@@ -34,7 +36,9 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: JewishCalendarCon
34
36
 
35
37
  class JewishCalendarBaseSensor(JewishCalendarEntity, SensorEntity):
36
38
  _attr_entity_category: Incomplete
37
- async def async_update(self) -> None: ...
39
+ entity_description: JewishCalendarBaseSensorDescription
40
+ def _update_times(self, zmanim: Zmanim) -> list[dt.datetime | None]: ...
41
+ def get_dateinfo(self, now: dt.datetime | None = None) -> HDateInfo: ...
38
42
 
39
43
  class JewishCalendarSensor(JewishCalendarBaseSensor):
40
44
  entity_description: JewishCalendarSensorDescription
@@ -1,59 +1,25 @@
1
- from .const import CONF_KNX_CONNECTION_TYPE as CONF_KNX_CONNECTION_TYPE, CONF_KNX_EXPOSE as CONF_KNX_EXPOSE, CONF_KNX_INDIVIDUAL_ADDRESS as CONF_KNX_INDIVIDUAL_ADDRESS, CONF_KNX_KNXKEY_FILENAME as CONF_KNX_KNXKEY_FILENAME, CONF_KNX_KNXKEY_PASSWORD as CONF_KNX_KNXKEY_PASSWORD, CONF_KNX_LOCAL_IP as CONF_KNX_LOCAL_IP, CONF_KNX_MCAST_GRP as CONF_KNX_MCAST_GRP, CONF_KNX_MCAST_PORT as CONF_KNX_MCAST_PORT, CONF_KNX_RATE_LIMIT as CONF_KNX_RATE_LIMIT, CONF_KNX_ROUTE_BACK as CONF_KNX_ROUTE_BACK, CONF_KNX_ROUTING as CONF_KNX_ROUTING, CONF_KNX_ROUTING_BACKBONE_KEY as CONF_KNX_ROUTING_BACKBONE_KEY, CONF_KNX_ROUTING_SECURE as CONF_KNX_ROUTING_SECURE, CONF_KNX_ROUTING_SYNC_LATENCY_TOLERANCE as CONF_KNX_ROUTING_SYNC_LATENCY_TOLERANCE, CONF_KNX_SECURE_DEVICE_AUTHENTICATION as CONF_KNX_SECURE_DEVICE_AUTHENTICATION, CONF_KNX_SECURE_USER_ID as CONF_KNX_SECURE_USER_ID, CONF_KNX_SECURE_USER_PASSWORD as CONF_KNX_SECURE_USER_PASSWORD, CONF_KNX_STATE_UPDATER as CONF_KNX_STATE_UPDATER, CONF_KNX_TELEGRAM_LOG_SIZE as CONF_KNX_TELEGRAM_LOG_SIZE, CONF_KNX_TUNNELING as CONF_KNX_TUNNELING, CONF_KNX_TUNNELING_TCP as CONF_KNX_TUNNELING_TCP, CONF_KNX_TUNNELING_TCP_SECURE as CONF_KNX_TUNNELING_TCP_SECURE, CONF_KNX_TUNNEL_ENDPOINT_IA as CONF_KNX_TUNNEL_ENDPOINT_IA, DATA_HASS_CONFIG as DATA_HASS_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY, SUPPORTED_PLATFORMS_UI as SUPPORTED_PLATFORMS_UI, SUPPORTED_PLATFORMS_YAML as SUPPORTED_PLATFORMS_YAML, TELEGRAM_LOG_DEFAULT as TELEGRAM_LOG_DEFAULT
2
- from .device import KNXInterfaceDevice as KNXInterfaceDevice
3
- from .expose import KNXExposeSensor as KNXExposeSensor, KNXExposeTime as KNXExposeTime, create_knx_exposure as create_knx_exposure
4
- from .project import KNXProject as KNXProject
1
+ from .const import CONF_KNX_EXPOSE as CONF_KNX_EXPOSE, CONF_KNX_KNXKEY_FILENAME as CONF_KNX_KNXKEY_FILENAME, DATA_HASS_CONFIG as DATA_HASS_CONFIG, DOMAIN as DOMAIN, KNX_MODULE_KEY as KNX_MODULE_KEY, SUPPORTED_PLATFORMS_UI as SUPPORTED_PLATFORMS_UI, SUPPORTED_PLATFORMS_YAML as SUPPORTED_PLATFORMS_YAML
2
+ from .expose import create_knx_exposure as create_knx_exposure
3
+ from .knx_module import KNXModule as KNXModule
5
4
  from .schema import BinarySensorSchema as BinarySensorSchema, ButtonSchema as ButtonSchema, ClimateSchema as ClimateSchema, CoverSchema as CoverSchema, DateSchema as DateSchema, DateTimeSchema as DateTimeSchema, EventSchema as EventSchema, ExposeSchema as ExposeSchema, FanSchema as FanSchema, LightSchema as LightSchema, NotifySchema as NotifySchema, NumberSchema as NumberSchema, SceneSchema as SceneSchema, SelectSchema as SelectSchema, SensorSchema as SensorSchema, SwitchSchema as SwitchSchema, TextSchema as TextSchema, TimeSchema as TimeSchema, WeatherSchema as WeatherSchema
6
- from .services import register_knx_services as register_knx_services
7
- from .storage.config_store import KNXConfigStore as KNXConfigStore
8
- from .telegrams import Telegrams as Telegrams
5
+ from .services import async_setup_services as async_setup_services
9
6
  from .websocket import register_panel as register_panel
10
7
  from _typeshed import Incomplete
11
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
12
- from homeassistant.const import CONF_EVENT as CONF_EVENT, CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, CONF_TYPE as CONF_TYPE, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
13
- from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
9
+ from homeassistant.const import Platform as Platform
10
+ from homeassistant.core import HomeAssistant as HomeAssistant
14
11
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
15
12
  from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
16
13
  from homeassistant.helpers.reload import async_integration_yaml_config as async_integration_yaml_config
17
14
  from homeassistant.helpers.storage import STORAGE_DIR as STORAGE_DIR
18
15
  from homeassistant.helpers.typing import ConfigType as ConfigType
19
16
  from typing import Final
20
- from xknx.core import XknxConnectionState
21
- from xknx.core.telegram_queue import TelegramQueue as TelegramQueue
22
- from xknx.dpt import DPTBase
23
- from xknx.io import ConnectionConfig
24
- from xknx.telegram import AddressFilter, Telegram as Telegram
25
- from xknx.telegram.address import DeviceGroupAddress as DeviceGroupAddress
26
17
 
27
- _LOGGER: Incomplete
28
18
  _KNX_YAML_CONFIG: Final[str]
29
19
  CONFIG_SCHEMA: Incomplete
30
20
 
31
21
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
32
22
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
33
23
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
34
- async def async_update_entry(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
35
24
  async def async_remove_entry(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
36
25
  async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: ConfigEntry, device_entry: DeviceEntry) -> bool: ...
37
-
38
- class KNXModule:
39
- hass: Incomplete
40
- config_yaml: Incomplete
41
- connected: bool
42
- exposures: list[KNXExposeSensor | KNXExposeTime]
43
- service_exposures: dict[str, KNXExposeSensor | KNXExposeTime]
44
- entry: Incomplete
45
- project: Incomplete
46
- config_store: Incomplete
47
- xknx: Incomplete
48
- telegrams: Incomplete
49
- interface_device: Incomplete
50
- _address_filter_transcoder: dict[AddressFilter, type[DPTBase]]
51
- group_address_transcoder: dict[DeviceGroupAddress, type[DPTBase]]
52
- knx_event_callback: TelegramQueue.Callback
53
- def __init__(self, hass: HomeAssistant, config: ConfigType, entry: ConfigEntry) -> None: ...
54
- async def start(self) -> None: ...
55
- async def stop(self, event: Event | None = None) -> None: ...
56
- def connection_config(self) -> ConnectionConfig: ...
57
- def connection_state_changed_cb(self, state: XknxConnectionState) -> None: ...
58
- def telegram_received_cb(self, telegram: Telegram) -> None: ...
59
- def register_event_callback(self) -> TelegramQueue.Callback: ...
@@ -1,7 +1,8 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import ATTR_COUNTER as ATTR_COUNTER, ATTR_SOURCE as ATTR_SOURCE, CONF_CONTEXT_TIMEOUT as CONF_CONTEXT_TIMEOUT, CONF_IGNORE_INTERNAL_STATE as CONF_IGNORE_INTERNAL_STATE, CONF_INVERT as CONF_INVERT, CONF_RESET_AFTER as CONF_RESET_AFTER, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, DOMAIN as DOMAIN, KNX_MODULE_KEY as KNX_MODULE_KEY
3
2
  from .entity import KnxUiEntity as KnxUiEntity, KnxUiEntityPlatformController as KnxUiEntityPlatformController, KnxYamlEntity as KnxYamlEntity
4
- from .storage.const import CONF_ENTITY as CONF_ENTITY, CONF_GA_PASSIVE as CONF_GA_PASSIVE, CONF_GA_SENSOR as CONF_GA_SENSOR, CONF_GA_STATE as CONF_GA_STATE
3
+ from .knx_module import KNXModule as KNXModule
4
+ from .storage.const import CONF_ENTITY as CONF_ENTITY, CONF_GA_SENSOR as CONF_GA_SENSOR
5
+ from .storage.util import ConfigExtractor as ConfigExtractor
5
6
  from _typeshed import Incomplete
6
7
  from homeassistant import config_entries as config_entries
7
8
  from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity
@@ -1,6 +1,6 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import CONF_PAYLOAD_LENGTH as CONF_PAYLOAD_LENGTH, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
3
2
  from .entity import KnxYamlEntity as KnxYamlEntity
3
+ from .knx_module import KNXModule as KNXModule
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant import config_entries as config_entries
6
6
  from homeassistant.components.button import ButtonEntity as ButtonEntity
@@ -1,6 +1,6 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import CONTROLLER_MODES as CONTROLLER_MODES, CURRENT_HVAC_ACTIONS as CURRENT_HVAC_ACTIONS, KNX_MODULE_KEY as KNX_MODULE_KEY
3
2
  from .entity import KnxYamlEntity as KnxYamlEntity
3
+ from .knx_module import KNXModule as KNXModule
4
4
  from .schema import ClimateSchema as ClimateSchema
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant import config_entries as config_entries
@@ -1,11 +1,9 @@
1
- import abc
2
1
  from .const import CONF_KNX_AUTOMATIC as CONF_KNX_AUTOMATIC, CONF_KNX_CONNECTION_TYPE as CONF_KNX_CONNECTION_TYPE, CONF_KNX_DEFAULT_RATE_LIMIT as CONF_KNX_DEFAULT_RATE_LIMIT, CONF_KNX_DEFAULT_STATE_UPDATER as CONF_KNX_DEFAULT_STATE_UPDATER, CONF_KNX_INDIVIDUAL_ADDRESS as CONF_KNX_INDIVIDUAL_ADDRESS, CONF_KNX_KNXKEY_PASSWORD as CONF_KNX_KNXKEY_PASSWORD, CONF_KNX_LOCAL_IP as CONF_KNX_LOCAL_IP, CONF_KNX_MCAST_GRP as CONF_KNX_MCAST_GRP, CONF_KNX_MCAST_PORT as CONF_KNX_MCAST_PORT, CONF_KNX_RATE_LIMIT as CONF_KNX_RATE_LIMIT, CONF_KNX_ROUTE_BACK as CONF_KNX_ROUTE_BACK, CONF_KNX_ROUTING as CONF_KNX_ROUTING, CONF_KNX_ROUTING_BACKBONE_KEY as CONF_KNX_ROUTING_BACKBONE_KEY, CONF_KNX_ROUTING_SECURE as CONF_KNX_ROUTING_SECURE, CONF_KNX_ROUTING_SYNC_LATENCY_TOLERANCE as CONF_KNX_ROUTING_SYNC_LATENCY_TOLERANCE, CONF_KNX_SECURE_DEVICE_AUTHENTICATION as CONF_KNX_SECURE_DEVICE_AUTHENTICATION, CONF_KNX_SECURE_USER_ID as CONF_KNX_SECURE_USER_ID, CONF_KNX_SECURE_USER_PASSWORD as CONF_KNX_SECURE_USER_PASSWORD, CONF_KNX_STATE_UPDATER as CONF_KNX_STATE_UPDATER, CONF_KNX_TELEGRAM_LOG_SIZE as CONF_KNX_TELEGRAM_LOG_SIZE, CONF_KNX_TUNNELING as CONF_KNX_TUNNELING, CONF_KNX_TUNNELING_TCP as CONF_KNX_TUNNELING_TCP, CONF_KNX_TUNNELING_TCP_SECURE as CONF_KNX_TUNNELING_TCP_SECURE, CONF_KNX_TUNNEL_ENDPOINT_IA as CONF_KNX_TUNNEL_ENDPOINT_IA, DEFAULT_ROUTING_IA as DEFAULT_ROUTING_IA, DOMAIN as DOMAIN, KNXConfigEntryData as KNXConfigEntryData, KNX_MODULE_KEY as KNX_MODULE_KEY, TELEGRAM_LOG_DEFAULT as TELEGRAM_LOG_DEFAULT, TELEGRAM_LOG_MAX as TELEGRAM_LOG_MAX
3
2
  from .storage.keyring import DEFAULT_KNX_KEYRING_FILENAME as DEFAULT_KNX_KEYRING_FILENAME, save_uploaded_knxkeys_file as save_uploaded_knxkeys_file
4
3
  from .validation import ia_validator as ia_validator, ip_v4_validator as ip_v4_validator
5
4
  from _typeshed import Incomplete
6
- from abc import ABC, abstractmethod
7
5
  from collections.abc import AsyncGenerator
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryBaseFlow as ConfigEntryBaseFlow, 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, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
9
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT
10
8
  from homeassistant.core import callback as callback
11
9
  from homeassistant.helpers import selector as selector
@@ -26,7 +24,8 @@ _IA_SELECTOR: Incomplete
26
24
  _IP_SELECTOR: Incomplete
27
25
  _PORT_SELECTOR: Incomplete
28
26
 
29
- class KNXCommonFlow(ABC, ConfigEntryBaseFlow, metaclass=abc.ABCMeta):
27
+ class KNXConfigFlow(ConfigFlow, domain=DOMAIN):
28
+ VERSION: int
30
29
  initial_data: Incomplete
31
30
  new_entry_data: Incomplete
32
31
  new_title: str | None
@@ -37,15 +36,20 @@ class KNXCommonFlow(ABC, ConfigEntryBaseFlow, metaclass=abc.ABCMeta):
37
36
  _tunnel_endpoints: list[XMLInterface]
38
37
  _gatewayscanner: GatewayScanner | None
39
38
  _async_scan_gen: AsyncGenerator[GatewayDescriptor] | None
40
- def __init__(self, initial_data: KNXConfigEntryData) -> None: ...
39
+ def __init__(self) -> None: ...
40
+ @staticmethod
41
+ @callback
42
+ def async_get_options_flow(config_entry: ConfigEntry) -> KNXOptionsFlow: ...
41
43
  @property
42
44
  def _xknx(self) -> XKNX: ...
43
- @abstractmethod
44
- def finish_flow(self) -> ConfigFlowResult: ...
45
45
  @property
46
46
  def connection_type(self) -> str: ...
47
47
  @property
48
48
  def tunnel_endpoint_ia(self) -> str | None: ...
49
+ @callback
50
+ def finish_flow(self) -> ConfigFlowResult: ...
51
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
52
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
49
53
  async def async_step_connection_type(self, user_input: dict | None = None) -> ConfigFlowResult: ...
50
54
  async def async_step_tunnel(self, user_input: dict | None = None) -> ConfigFlowResult: ...
51
55
  async def async_step_tcp_tunnel_endpoint(self, user_input: dict | None = None) -> ConfigFlowResult: ...
@@ -58,21 +62,10 @@ class KNXCommonFlow(ABC, ConfigEntryBaseFlow, metaclass=abc.ABCMeta):
58
62
  async def async_step_secure_key_source_menu_tunnel(self, user_input: dict | None = None) -> ConfigFlowResult: ...
59
63
  async def async_step_secure_key_source_menu_routing(self, user_input: dict | None = None) -> ConfigFlowResult: ...
60
64
 
61
- class KNXConfigFlow(KNXCommonFlow, ConfigFlow, domain=DOMAIN):
62
- VERSION: int
63
- def __init__(self) -> None: ...
64
- @staticmethod
65
- @callback
66
- def async_get_options_flow(config_entry: ConfigEntry) -> KNXOptionsFlow: ...
67
- @callback
68
- def finish_flow(self) -> ConfigFlowResult: ...
69
- async def async_step_user(self, user_input: dict | None = None) -> ConfigFlowResult: ...
70
-
71
- class KNXOptionsFlow(KNXCommonFlow, OptionsFlow):
72
- general_settings: dict
65
+ class KNXOptionsFlow(OptionsFlowWithReload):
66
+ initial_data: Incomplete
73
67
  def __init__(self, config_entry: ConfigEntry) -> None: ...
74
68
  @callback
75
- def finish_flow(self) -> ConfigFlowResult: ...
69
+ def finish_flow(self, new_entry_data: KNXConfigEntryData) -> ConfigFlowResult: ...
76
70
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
77
- new_entry_data: Incomplete
78
71
  async def async_step_communication_settings(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,4 +1,4 @@
1
- from . import KNXModule as KNXModule
1
+ from .knx_module import KNXModule as KNXModule
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Awaitable, Callable
4
4
  from enum import Enum, StrEnum
@@ -1,8 +1,9 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import CONF_SYNC_STATE as CONF_SYNC_STATE, CoverConf as CoverConf, DOMAIN as DOMAIN, KNX_MODULE_KEY as KNX_MODULE_KEY
3
2
  from .entity import KnxUiEntity as KnxUiEntity, KnxUiEntityPlatformController as KnxUiEntityPlatformController, KnxYamlEntity as KnxYamlEntity
3
+ from .knx_module import KNXModule as KNXModule
4
4
  from .schema import CoverSchema as CoverSchema
5
- from .storage.const import CONF_ENTITY as CONF_ENTITY, CONF_GA_ANGLE as CONF_GA_ANGLE, CONF_GA_PASSIVE as CONF_GA_PASSIVE, CONF_GA_POSITION_SET as CONF_GA_POSITION_SET, CONF_GA_POSITION_STATE as CONF_GA_POSITION_STATE, CONF_GA_STATE as CONF_GA_STATE, CONF_GA_STEP as CONF_GA_STEP, CONF_GA_STOP as CONF_GA_STOP, CONF_GA_UP_DOWN as CONF_GA_UP_DOWN, CONF_GA_WRITE as CONF_GA_WRITE
5
+ from .storage.const import CONF_ENTITY as CONF_ENTITY, CONF_GA_ANGLE as CONF_GA_ANGLE, CONF_GA_POSITION_SET as CONF_GA_POSITION_SET, CONF_GA_POSITION_STATE as CONF_GA_POSITION_STATE, CONF_GA_STEP as CONF_GA_STEP, CONF_GA_STOP as CONF_GA_STOP, CONF_GA_UP_DOWN as CONF_GA_UP_DOWN
6
+ from .storage.util import ConfigExtractor as ConfigExtractor
6
7
  from _typeshed import Incomplete
7
8
  from homeassistant import config_entries as config_entries
8
9
  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
@@ -1,6 +1,6 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
3
2
  from .entity import KnxYamlEntity as KnxYamlEntity
3
+ from .knx_module import KNXModule as KNXModule
4
4
  from _typeshed import Incomplete
5
5
  from datetime import date as dt_date
6
6
  from homeassistant import config_entries as config_entries
@@ -1,6 +1,6 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
3
2
  from .entity import KnxYamlEntity as KnxYamlEntity
3
+ from .knx_module import KNXModule as KNXModule
4
4
  from _typeshed import Incomplete
5
5
  from datetime import datetime
6
6
  from homeassistant import config_entries as config_entries
@@ -1,5 +1,5 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import DOMAIN as DOMAIN
2
+ from .knx_module import KNXModule as KNXModule
3
3
  from .storage.config_store import PlatformControllerBase as PlatformControllerBase
4
4
  from .storage.const import CONF_DEVICE_INFO as CONF_DEVICE_INFO
5
5
  from _typeshed import Incomplete
@@ -1,6 +1,6 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
3
2
  from .entity import KnxYamlEntity as KnxYamlEntity
3
+ from .knx_module import KNXModule as KNXModule
4
4
  from .schema import FanSchema as FanSchema
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant import config_entries as config_entries
@@ -0,0 +1,43 @@
1
+ from .const import CONF_KNX_CONNECTION_TYPE as CONF_KNX_CONNECTION_TYPE, CONF_KNX_INDIVIDUAL_ADDRESS as CONF_KNX_INDIVIDUAL_ADDRESS, CONF_KNX_KNXKEY_FILENAME as CONF_KNX_KNXKEY_FILENAME, CONF_KNX_KNXKEY_PASSWORD as CONF_KNX_KNXKEY_PASSWORD, CONF_KNX_LOCAL_IP as CONF_KNX_LOCAL_IP, CONF_KNX_MCAST_GRP as CONF_KNX_MCAST_GRP, CONF_KNX_MCAST_PORT as CONF_KNX_MCAST_PORT, CONF_KNX_RATE_LIMIT as CONF_KNX_RATE_LIMIT, CONF_KNX_ROUTE_BACK as CONF_KNX_ROUTE_BACK, CONF_KNX_ROUTING as CONF_KNX_ROUTING, CONF_KNX_ROUTING_BACKBONE_KEY as CONF_KNX_ROUTING_BACKBONE_KEY, CONF_KNX_ROUTING_SECURE as CONF_KNX_ROUTING_SECURE, CONF_KNX_ROUTING_SYNC_LATENCY_TOLERANCE as CONF_KNX_ROUTING_SYNC_LATENCY_TOLERANCE, CONF_KNX_SECURE_DEVICE_AUTHENTICATION as CONF_KNX_SECURE_DEVICE_AUTHENTICATION, CONF_KNX_SECURE_USER_ID as CONF_KNX_SECURE_USER_ID, CONF_KNX_SECURE_USER_PASSWORD as CONF_KNX_SECURE_USER_PASSWORD, CONF_KNX_STATE_UPDATER as CONF_KNX_STATE_UPDATER, CONF_KNX_TELEGRAM_LOG_SIZE as CONF_KNX_TELEGRAM_LOG_SIZE, CONF_KNX_TUNNELING as CONF_KNX_TUNNELING, CONF_KNX_TUNNELING_TCP as CONF_KNX_TUNNELING_TCP, CONF_KNX_TUNNELING_TCP_SECURE as CONF_KNX_TUNNELING_TCP_SECURE, CONF_KNX_TUNNEL_ENDPOINT_IA as CONF_KNX_TUNNEL_ENDPOINT_IA, KNX_ADDRESS as KNX_ADDRESS, TELEGRAM_LOG_DEFAULT as TELEGRAM_LOG_DEFAULT
2
+ from .device import KNXInterfaceDevice as KNXInterfaceDevice
3
+ from .expose import KNXExposeSensor as KNXExposeSensor, KNXExposeTime as KNXExposeTime
4
+ from .project import KNXProject as KNXProject
5
+ from .storage.config_store import KNXConfigStore as KNXConfigStore
6
+ from .telegrams import Telegrams as Telegrams
7
+ from _typeshed import Incomplete
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
+ from homeassistant.const import CONF_EVENT as CONF_EVENT, CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, CONF_TYPE as CONF_TYPE, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
10
+ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
11
+ from homeassistant.helpers.storage import STORAGE_DIR as STORAGE_DIR
12
+ from homeassistant.helpers.typing import ConfigType as ConfigType
13
+ from xknx.core import XknxConnectionState
14
+ from xknx.core.telegram_queue import TelegramQueue as TelegramQueue
15
+ from xknx.dpt import DPTBase
16
+ from xknx.io import ConnectionConfig
17
+ from xknx.telegram import AddressFilter, Telegram as Telegram
18
+ from xknx.telegram.address import DeviceGroupAddress as DeviceGroupAddress
19
+
20
+ _LOGGER: Incomplete
21
+
22
+ class KNXModule:
23
+ hass: Incomplete
24
+ config_yaml: Incomplete
25
+ connected: bool
26
+ exposures: list[KNXExposeSensor | KNXExposeTime]
27
+ service_exposures: dict[str, KNXExposeSensor | KNXExposeTime]
28
+ entry: Incomplete
29
+ project: Incomplete
30
+ config_store: Incomplete
31
+ xknx: Incomplete
32
+ telegrams: Incomplete
33
+ interface_device: Incomplete
34
+ _address_filter_transcoder: dict[AddressFilter, type[DPTBase]]
35
+ group_address_transcoder: dict[DeviceGroupAddress, type[DPTBase]]
36
+ knx_event_callback: TelegramQueue.Callback
37
+ def __init__(self, hass: HomeAssistant, config: ConfigType, entry: ConfigEntry) -> None: ...
38
+ async def start(self) -> None: ...
39
+ async def stop(self, event: Event | None = None) -> None: ...
40
+ def connection_config(self) -> ConnectionConfig: ...
41
+ def connection_state_changed_cb(self, state: XknxConnectionState) -> None: ...
42
+ def telegram_received_cb(self, telegram: Telegram) -> None: ...
43
+ def register_event_callback(self) -> TelegramQueue.Callback: ...
@@ -1,9 +1,10 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import CONF_SYNC_STATE as CONF_SYNC_STATE, ColorTempModes as ColorTempModes, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
3
2
  from .entity import KnxUiEntity as KnxUiEntity, KnxUiEntityPlatformController as KnxUiEntityPlatformController, KnxYamlEntity as KnxYamlEntity
3
+ from .knx_module import KNXModule as KNXModule
4
4
  from .schema import LightSchema as LightSchema
5
- from .storage.const import CONF_COLOR_TEMP_MAX as CONF_COLOR_TEMP_MAX, CONF_COLOR_TEMP_MIN as CONF_COLOR_TEMP_MIN, CONF_DPT as CONF_DPT, CONF_ENTITY as CONF_ENTITY, CONF_GA_BLUE_BRIGHTNESS as CONF_GA_BLUE_BRIGHTNESS, CONF_GA_BLUE_SWITCH as CONF_GA_BLUE_SWITCH, CONF_GA_BRIGHTNESS as CONF_GA_BRIGHTNESS, CONF_GA_COLOR as CONF_GA_COLOR, CONF_GA_COLOR_TEMP as CONF_GA_COLOR_TEMP, CONF_GA_GREEN_BRIGHTNESS as CONF_GA_GREEN_BRIGHTNESS, CONF_GA_GREEN_SWITCH as CONF_GA_GREEN_SWITCH, CONF_GA_HUE as CONF_GA_HUE, CONF_GA_PASSIVE as CONF_GA_PASSIVE, CONF_GA_RED_BRIGHTNESS as CONF_GA_RED_BRIGHTNESS, CONF_GA_RED_SWITCH as CONF_GA_RED_SWITCH, CONF_GA_SATURATION as CONF_GA_SATURATION, CONF_GA_STATE as CONF_GA_STATE, CONF_GA_SWITCH as CONF_GA_SWITCH, CONF_GA_WHITE_BRIGHTNESS as CONF_GA_WHITE_BRIGHTNESS, CONF_GA_WHITE_SWITCH as CONF_GA_WHITE_SWITCH, CONF_GA_WRITE as CONF_GA_WRITE
5
+ from .storage.const import CONF_COLOR as CONF_COLOR, CONF_COLOR_TEMP_MAX as CONF_COLOR_TEMP_MAX, CONF_COLOR_TEMP_MIN as CONF_COLOR_TEMP_MIN, CONF_ENTITY as CONF_ENTITY, CONF_GA_BLUE_BRIGHTNESS as CONF_GA_BLUE_BRIGHTNESS, CONF_GA_BLUE_SWITCH as CONF_GA_BLUE_SWITCH, CONF_GA_BRIGHTNESS as CONF_GA_BRIGHTNESS, CONF_GA_COLOR as CONF_GA_COLOR, CONF_GA_COLOR_TEMP as CONF_GA_COLOR_TEMP, CONF_GA_GREEN_BRIGHTNESS as CONF_GA_GREEN_BRIGHTNESS, CONF_GA_GREEN_SWITCH as CONF_GA_GREEN_SWITCH, CONF_GA_HUE as CONF_GA_HUE, CONF_GA_RED_BRIGHTNESS as CONF_GA_RED_BRIGHTNESS, CONF_GA_RED_SWITCH as CONF_GA_RED_SWITCH, CONF_GA_SATURATION as CONF_GA_SATURATION, CONF_GA_SWITCH as CONF_GA_SWITCH, CONF_GA_WHITE_BRIGHTNESS as CONF_GA_WHITE_BRIGHTNESS, CONF_GA_WHITE_SWITCH as CONF_GA_WHITE_SWITCH
6
6
  from .storage.entity_store_schema import LightColorMode as LightColorMode
7
+ from .storage.util import ConfigExtractor as ConfigExtractor
7
8
  from _typeshed import Incomplete
8
9
  from homeassistant import config_entries as config_entries
9
10
  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, ATTR_RGBW_COLOR as ATTR_RGBW_COLOR, ATTR_RGB_COLOR as ATTR_RGB_COLOR, ATTR_XY_COLOR as ATTR_XY_COLOR, ColorMode as ColorMode, LightEntity as LightEntity
@@ -1,6 +1,6 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
3
2
  from .entity import KnxYamlEntity as KnxYamlEntity
3
+ from .knx_module import KNXModule as KNXModule
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant import config_entries as config_entries
6
6
  from homeassistant.components.notify import NotifyEntity as NotifyEntity
@@ -1,6 +1,6 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
3
2
  from .entity import KnxYamlEntity as KnxYamlEntity
3
+ from .knx_module import KNXModule as KNXModule
4
4
  from .schema import NumberSchema as NumberSchema
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant import config_entries as config_entries
@@ -1,6 +1,6 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
3
2
  from .entity import KnxYamlEntity as KnxYamlEntity
3
+ from .knx_module import KNXModule as KNXModule
4
4
  from .schema import SceneSchema as SceneSchema
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant import config_entries as config_entries
@@ -1,6 +1,6 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import CONF_PAYLOAD_LENGTH as CONF_PAYLOAD_LENGTH, CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
3
2
  from .entity import KnxYamlEntity as KnxYamlEntity
3
+ from .knx_module import KNXModule as KNXModule
4
4
  from .schema import SelectSchema as SelectSchema
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant import config_entries as config_entries
@@ -1,6 +1,6 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import ATTR_SOURCE as ATTR_SOURCE, KNX_MODULE_KEY as KNX_MODULE_KEY
3
2
  from .entity import KnxYamlEntity as KnxYamlEntity
3
+ from .knx_module import KNXModule as KNXModule
4
4
  from .schema import SensorSchema as SensorSchema
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable
@@ -1,6 +1,6 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY, SERVICE_KNX_ATTR_PAYLOAD as SERVICE_KNX_ATTR_PAYLOAD, SERVICE_KNX_ATTR_REMOVE as SERVICE_KNX_ATTR_REMOVE, SERVICE_KNX_ATTR_RESPONSE as SERVICE_KNX_ATTR_RESPONSE, SERVICE_KNX_ATTR_TYPE as SERVICE_KNX_ATTR_TYPE, SERVICE_KNX_EVENT_REGISTER as SERVICE_KNX_EVENT_REGISTER, SERVICE_KNX_EXPOSURE_REGISTER as SERVICE_KNX_EXPOSURE_REGISTER, SERVICE_KNX_READ as SERVICE_KNX_READ, SERVICE_KNX_SEND as SERVICE_KNX_SEND
3
2
  from .expose import create_knx_exposure as create_knx_exposure
3
+ from .knx_module import KNXModule as KNXModule
4
4
  from .schema import ExposeSchema as ExposeSchema, dpt_base_type_validator as dpt_base_type_validator, ga_validator as ga_validator
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant.const import CONF_TYPE as CONF_TYPE, SERVICE_RELOAD as SERVICE_RELOAD
@@ -11,7 +11,7 @@ from homeassistant.helpers.service import async_register_admin_service as async_
11
11
  _LOGGER: Incomplete
12
12
 
13
13
  @callback
14
- def register_knx_services(hass: HomeAssistant) -> None: ...
14
+ def async_setup_services(hass: HomeAssistant) -> None: ...
15
15
  @callback
16
16
  def get_knx_module(hass: HomeAssistant) -> KNXModule: ...
17
17
 
@@ -1,6 +1,7 @@
1
1
  import abc
2
2
  from ..const import DOMAIN as DOMAIN
3
3
  from .const import CONF_DATA as CONF_DATA
4
+ from .migration import migrate_1_to_2 as migrate_1_to_2
4
5
  from _typeshed import Incomplete
5
6
  from abc import ABC, abstractmethod
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -26,6 +27,9 @@ class PlatformControllerBase(ABC, metaclass=abc.ABCMeta):
26
27
  @abstractmethod
27
28
  async def update_entity(self, entity_entry: er.RegistryEntry, config: dict[str, Any]) -> None: ...
28
29
 
30
+ class _KNXConfigStoreStorage(Store[KNXConfigStoreModel]):
31
+ async def _async_migrate_func(self, old_major_version: int, old_minor_version: int, old_data: dict[str, Any]) -> dict[str, Any]: ...
32
+
29
33
  class KNXConfigStore:
30
34
  hass: Incomplete
31
35
  config_entry: Incomplete
@@ -9,10 +9,17 @@ CONF_GA_PASSIVE: Final[str]
9
9
  CONF_DPT: Final[str]
10
10
  CONF_GA_SENSOR: Final[str]
11
11
  CONF_GA_SWITCH: Final[str]
12
- CONF_GA_COLOR_TEMP: Final[str]
12
+ CONF_GA_UP_DOWN: Final[str]
13
+ CONF_GA_STOP: Final[str]
14
+ CONF_GA_STEP: Final[str]
15
+ CONF_GA_POSITION_SET: Final[str]
16
+ CONF_GA_POSITION_STATE: Final[str]
17
+ CONF_GA_ANGLE: Final[str]
13
18
  CONF_COLOR_TEMP_MIN: Final[str]
14
19
  CONF_COLOR_TEMP_MAX: Final[str]
15
20
  CONF_GA_BRIGHTNESS: Final[str]
21
+ CONF_GA_COLOR_TEMP: Final[str]
22
+ CONF_COLOR: Final[str]
16
23
  CONF_GA_COLOR: Final[str]
17
24
  CONF_GA_RED_BRIGHTNESS: Final[str]
18
25
  CONF_GA_RED_SWITCH: Final[str]
@@ -24,9 +31,3 @@ CONF_GA_WHITE_BRIGHTNESS: Final[str]
24
31
  CONF_GA_WHITE_SWITCH: Final[str]
25
32
  CONF_GA_HUE: Final[str]
26
33
  CONF_GA_SATURATION: Final[str]
27
- CONF_GA_UP_DOWN: Final[str]
28
- CONF_GA_STOP: Final[str]
29
- CONF_GA_STEP: Final[str]
30
- CONF_GA_POSITION_SET: Final[str]
31
- CONF_GA_POSITION_STATE: Final[str]
32
- CONF_GA_ANGLE: Final[str]
@@ -1,7 +1,7 @@
1
1
  from ..const import CONF_CONTEXT_TIMEOUT as CONF_CONTEXT_TIMEOUT, CONF_IGNORE_INTERNAL_STATE as CONF_IGNORE_INTERNAL_STATE, CONF_INVERT as CONF_INVERT, CONF_RESET_AFTER as CONF_RESET_AFTER, CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_SYNC_STATE as CONF_SYNC_STATE, ColorTempModes as ColorTempModes, CoverConf as CoverConf, DOMAIN as DOMAIN, SUPPORTED_PLATFORMS_UI as SUPPORTED_PLATFORMS_UI
2
2
  from ..validation import sync_state_validator as sync_state_validator
3
- from .const import CONF_COLOR_TEMP_MAX as CONF_COLOR_TEMP_MAX, CONF_COLOR_TEMP_MIN as CONF_COLOR_TEMP_MIN, CONF_DATA as CONF_DATA, CONF_DEVICE_INFO as CONF_DEVICE_INFO, CONF_ENTITY as CONF_ENTITY, CONF_GA_ANGLE as CONF_GA_ANGLE, CONF_GA_BLUE_BRIGHTNESS as CONF_GA_BLUE_BRIGHTNESS, CONF_GA_BLUE_SWITCH as CONF_GA_BLUE_SWITCH, CONF_GA_BRIGHTNESS as CONF_GA_BRIGHTNESS, CONF_GA_COLOR as CONF_GA_COLOR, CONF_GA_COLOR_TEMP as CONF_GA_COLOR_TEMP, CONF_GA_GREEN_BRIGHTNESS as CONF_GA_GREEN_BRIGHTNESS, CONF_GA_GREEN_SWITCH as CONF_GA_GREEN_SWITCH, CONF_GA_HUE as CONF_GA_HUE, CONF_GA_PASSIVE as CONF_GA_PASSIVE, CONF_GA_POSITION_SET as CONF_GA_POSITION_SET, CONF_GA_POSITION_STATE as CONF_GA_POSITION_STATE, CONF_GA_RED_BRIGHTNESS as CONF_GA_RED_BRIGHTNESS, CONF_GA_RED_SWITCH as CONF_GA_RED_SWITCH, CONF_GA_SATURATION as CONF_GA_SATURATION, CONF_GA_SENSOR as CONF_GA_SENSOR, CONF_GA_STATE as CONF_GA_STATE, CONF_GA_STEP as CONF_GA_STEP, CONF_GA_STOP as CONF_GA_STOP, CONF_GA_SWITCH as CONF_GA_SWITCH, CONF_GA_UP_DOWN as CONF_GA_UP_DOWN, CONF_GA_WHITE_BRIGHTNESS as CONF_GA_WHITE_BRIGHTNESS, CONF_GA_WHITE_SWITCH as CONF_GA_WHITE_SWITCH, CONF_GA_WRITE as CONF_GA_WRITE
4
- from .knx_selector import GASelector as GASelector
3
+ from .const import CONF_COLOR as CONF_COLOR, CONF_COLOR_TEMP_MAX as CONF_COLOR_TEMP_MAX, CONF_COLOR_TEMP_MIN as CONF_COLOR_TEMP_MIN, CONF_DATA as CONF_DATA, CONF_DEVICE_INFO as CONF_DEVICE_INFO, CONF_ENTITY as CONF_ENTITY, CONF_GA_ANGLE as CONF_GA_ANGLE, CONF_GA_BLUE_BRIGHTNESS as CONF_GA_BLUE_BRIGHTNESS, CONF_GA_BLUE_SWITCH as CONF_GA_BLUE_SWITCH, CONF_GA_BRIGHTNESS as CONF_GA_BRIGHTNESS, CONF_GA_COLOR as CONF_GA_COLOR, CONF_GA_COLOR_TEMP as CONF_GA_COLOR_TEMP, CONF_GA_GREEN_BRIGHTNESS as CONF_GA_GREEN_BRIGHTNESS, CONF_GA_GREEN_SWITCH as CONF_GA_GREEN_SWITCH, CONF_GA_HUE as CONF_GA_HUE, CONF_GA_POSITION_SET as CONF_GA_POSITION_SET, CONF_GA_POSITION_STATE as CONF_GA_POSITION_STATE, CONF_GA_RED_BRIGHTNESS as CONF_GA_RED_BRIGHTNESS, CONF_GA_RED_SWITCH as CONF_GA_RED_SWITCH, CONF_GA_SATURATION as CONF_GA_SATURATION, CONF_GA_SENSOR as CONF_GA_SENSOR, CONF_GA_STEP as CONF_GA_STEP, CONF_GA_STOP as CONF_GA_STOP, CONF_GA_SWITCH as CONF_GA_SWITCH, CONF_GA_UP_DOWN as CONF_GA_UP_DOWN, CONF_GA_WHITE_BRIGHTNESS as CONF_GA_WHITE_BRIGHTNESS, CONF_GA_WHITE_SWITCH as CONF_GA_WHITE_SWITCH
4
+ from .knx_selector import GASelector as GASelector, GroupSelect as GroupSelect
5
5
  from _typeshed import Incomplete
6
6
  from enum import StrEnum
7
7
  from homeassistant.const import CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME, CONF_PLATFORM as CONF_PLATFORM, Platform as Platform
@@ -10,9 +10,6 @@ from homeassistant.helpers.entity import ENTITY_CATEGORIES_SCHEMA as ENTITY_CATE
10
10
  from homeassistant.helpers.typing import VolDictType as VolDictType, VolSchemaType as VolSchemaType
11
11
 
12
12
  BASE_ENTITY_SCHEMA: Incomplete
13
-
14
- def optional_ga_schema(key: str, ga_selector: GASelector) -> VolDictType: ...
15
-
16
13
  BINARY_SENSOR_SCHEMA: Incomplete
17
14
  COVER_SCHEMA: Incomplete
18
15
 
@@ -26,11 +23,7 @@ class LightColorModeSchema(StrEnum):
26
23
  INDIVIDUAL = 'individual'
27
24
  HSV = 'hsv'
28
25
 
29
- _LIGHT_COLOR_MODE_SCHEMA: str
30
- _COMMON_LIGHT_SCHEMA: Incomplete
31
- _DEFAULT_LIGHT_SCHEMA: Incomplete
32
- _INDIVIDUAL_LIGHT_SCHEMA: Incomplete
33
- _HSV_LIGHT_SCHEMA: Incomplete
26
+ _hs_color_inclusion_msg: str
34
27
  LIGHT_KNX_SCHEMA: Incomplete
35
28
  LIGHT_SCHEMA: Incomplete
36
29
  SWITCH_SCHEMA: Incomplete