homeassistant-stubs 2025.5.2__py3-none-any.whl → 2025.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. homeassistant-stubs/components/airthings/sensor.pyi +1 -1
  2. homeassistant-stubs/components/alexa_devices/__init__.pyi +9 -0
  3. homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +26 -0
  4. homeassistant-stubs/components/alexa_devices/config_flow.pyi +8 -0
  5. homeassistant-stubs/components/alexa_devices/const.pyi +5 -0
  6. homeassistant-stubs/components/alexa_devices/coordinator.pyi +17 -0
  7. homeassistant-stubs/components/alexa_devices/diagnostics.pyi +14 -0
  8. homeassistant-stubs/components/alexa_devices/entity.pyi +19 -0
  9. homeassistant-stubs/components/alexa_devices/notify.pyi +25 -0
  10. homeassistant-stubs/components/alexa_devices/switch.pyi +30 -0
  11. homeassistant-stubs/components/apcupsd/config_flow.pyi +1 -0
  12. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +3 -1
  13. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  14. homeassistant-stubs/components/axis/entity.pyi +1 -0
  15. homeassistant-stubs/components/backup/__init__.pyi +2 -2
  16. homeassistant-stubs/components/backup/coordinator.pyi +3 -0
  17. homeassistant-stubs/components/backup/entity.pyi +5 -2
  18. homeassistant-stubs/components/backup/event.pyi +23 -0
  19. homeassistant-stubs/components/backup/manager.pyi +22 -3
  20. homeassistant-stubs/components/backup/models.pyi +2 -2
  21. homeassistant-stubs/components/blue_current/button.pyi +25 -0
  22. homeassistant-stubs/components/blue_current/entity.pyi +3 -6
  23. homeassistant-stubs/components/bluesound/button.pyi +35 -0
  24. homeassistant-stubs/components/bluesound/media_player.pyi +1 -0
  25. homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -1
  26. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -1
  27. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -1
  28. homeassistant-stubs/components/bmw_connected_drive/notify.pyi +1 -1
  29. homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -1
  30. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
  31. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -1
  32. homeassistant-stubs/components/bosch_alarm/__init__.pyi +8 -4
  33. homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +3 -1
  34. homeassistant-stubs/components/bosch_alarm/binary_sensor.pyi +45 -0
  35. homeassistant-stubs/components/bosch_alarm/config_flow.pyi +9 -3
  36. homeassistant-stubs/components/bosch_alarm/const.pyi +4 -1
  37. homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +1 -1
  38. homeassistant-stubs/components/bosch_alarm/entity.pyi +30 -1
  39. homeassistant-stubs/components/bosch_alarm/sensor.pyi +6 -2
  40. homeassistant-stubs/components/bosch_alarm/services.pyi +15 -0
  41. homeassistant-stubs/components/bosch_alarm/switch.pyi +43 -0
  42. homeassistant-stubs/components/bosch_alarm/types.pyi +4 -0
  43. homeassistant-stubs/components/bring/__init__.pyi +1 -1
  44. homeassistant-stubs/components/bring/coordinator.pyi +21 -3
  45. homeassistant-stubs/components/bring/entity.pyi +3 -3
  46. homeassistant-stubs/components/bring/event.pyi +3 -2
  47. homeassistant-stubs/components/bring/sensor.pyi +1 -0
  48. homeassistant-stubs/components/bring/todo.pyi +1 -0
  49. homeassistant-stubs/components/camera/__init__.pyi +2 -10
  50. homeassistant-stubs/components/camera/webrtc.pyi +1 -22
  51. homeassistant-stubs/components/climate/__init__.pyi +3 -13
  52. homeassistant-stubs/components/climate/const.pyi +0 -3
  53. homeassistant-stubs/components/climate/significant_change.pyi +1 -1
  54. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  55. homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
  56. homeassistant-stubs/components/cloud/client.pyi +2 -1
  57. homeassistant-stubs/components/cloud/const.pyi +0 -1
  58. homeassistant-stubs/components/cloud/google_config.pyi +1 -1
  59. homeassistant-stubs/components/cloud/http_api.pyi +0 -2
  60. homeassistant-stubs/components/comelit/climate.pyi +14 -5
  61. homeassistant-stubs/components/comelit/config_flow.pyi +3 -4
  62. homeassistant-stubs/components/comelit/const.pyi +3 -0
  63. homeassistant-stubs/components/comelit/cover.pyi +3 -1
  64. homeassistant-stubs/components/comelit/humidifier.pyi +6 -1
  65. homeassistant-stubs/components/comelit/light.pyi +2 -0
  66. homeassistant-stubs/components/comelit/switch.pyi +2 -0
  67. homeassistant-stubs/components/comelit/utils.pyi +11 -0
  68. homeassistant-stubs/components/command_line/notify.pyi +3 -1
  69. homeassistant-stubs/components/config/entity_registry.pyi +6 -0
  70. homeassistant-stubs/components/deconz/entity.pyi +1 -0
  71. homeassistant-stubs/components/deconz/hub/hub.pyi +1 -1
  72. homeassistant-stubs/components/deconz/light.pyi +1 -1
  73. homeassistant-stubs/components/demo/media_player.pyi +2 -1
  74. homeassistant-stubs/components/derivative/__init__.pyi +2 -1
  75. homeassistant-stubs/components/device_automation/trigger.pyi +5 -2
  76. homeassistant-stubs/components/devolo_home_network/__init__.pyi +3 -18
  77. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +1 -2
  78. homeassistant-stubs/components/devolo_home_network/button.pyi +1 -1
  79. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
  80. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +56 -6
  81. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
  82. homeassistant-stubs/components/devolo_home_network/diagnostics.pyi +1 -1
  83. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -2
  84. homeassistant-stubs/components/devolo_home_network/image.pyi +1 -2
  85. homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -2
  86. homeassistant-stubs/components/devolo_home_network/switch.pyi +1 -2
  87. homeassistant-stubs/components/devolo_home_network/update.pyi +1 -2
  88. homeassistant-stubs/components/dhcp/__init__.pyi +2 -0
  89. homeassistant-stubs/components/downloader/__init__.pyi +3 -4
  90. homeassistant-stubs/components/downloader/services.pyi +7 -0
  91. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +1 -1
  92. homeassistant-stubs/components/ecovacs/button.pyi +2 -2
  93. homeassistant-stubs/components/ecovacs/number.pyi +1 -1
  94. homeassistant-stubs/components/ecovacs/select.pyi +1 -1
  95. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  96. homeassistant-stubs/components/ecovacs/switch.pyi +1 -1
  97. homeassistant-stubs/components/ecovacs/util.pyi +1 -1
  98. homeassistant-stubs/components/eheimdigital/climate.pyi +4 -2
  99. homeassistant-stubs/components/eheimdigital/diagnostics.pyi +9 -0
  100. homeassistant-stubs/components/eheimdigital/entity.pyi +5 -0
  101. homeassistant-stubs/components/eheimdigital/light.pyi +3 -2
  102. homeassistant-stubs/components/eheimdigital/number.pyi +3 -1
  103. homeassistant-stubs/components/eheimdigital/select.pyi +34 -0
  104. homeassistant-stubs/components/eheimdigital/switch.pyi +3 -1
  105. homeassistant-stubs/components/eheimdigital/time.pyi +2 -1
  106. homeassistant-stubs/components/elkm1/climate.pyi +0 -6
  107. homeassistant-stubs/components/esphome/entity.pyi +2 -0
  108. homeassistant-stubs/components/esphome/entry_data.pyi +0 -12
  109. homeassistant-stubs/components/esphome/light.pyi +4 -4
  110. homeassistant-stubs/components/esphome/manager.pyi +0 -1
  111. homeassistant-stubs/components/esphome/update.pyi +8 -4
  112. homeassistant-stubs/components/feedreader/event.pyi +1 -2
  113. homeassistant-stubs/components/fritz/__init__.pyi +1 -1
  114. homeassistant-stubs/components/fritz/config_flow.pyi +2 -1
  115. homeassistant-stubs/components/fritz/const.pyi +2 -0
  116. homeassistant-stubs/components/fritz/coordinator.pyi +5 -3
  117. homeassistant-stubs/components/frontend/storage.pyi +25 -9
  118. homeassistant-stubs/components/fyta/image.pyi +18 -4
  119. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +4 -2
  120. homeassistant-stubs/components/generic_thermostat/__init__.pyi +5 -3
  121. homeassistant-stubs/components/geocaching/__init__.pyi +3 -5
  122. homeassistant-stubs/components/geocaching/coordinator.pyi +3 -2
  123. homeassistant-stubs/components/geocaching/sensor.pyi +2 -3
  124. homeassistant-stubs/components/google/__init__.pyi +7 -8
  125. homeassistant-stubs/components/google/api.pyi +2 -2
  126. homeassistant-stubs/components/google/calendar.pyi +5 -5
  127. homeassistant-stubs/components/google/config_flow.pyi +3 -2
  128. homeassistant-stubs/components/google/const.pyi +0 -2
  129. homeassistant-stubs/components/google/coordinator.pyi +5 -5
  130. homeassistant-stubs/components/google/diagnostics.pyi +2 -3
  131. homeassistant-stubs/components/google/store.pyi +9 -0
  132. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +5 -6
  133. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +3 -3
  134. homeassistant-stubs/components/google_assistant_sdk/const.pyi +0 -2
  135. homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +2 -2
  136. homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +8 -1
  137. homeassistant-stubs/components/google_assistant_sdk/notify.pyi +1 -2
  138. homeassistant-stubs/components/greeneye_monitor/const.pyi +4 -1
  139. homeassistant-stubs/components/guardian/__init__.pyi +11 -18
  140. homeassistant-stubs/components/guardian/binary_sensor.pyi +5 -6
  141. homeassistant-stubs/components/guardian/button.pyi +4 -5
  142. homeassistant-stubs/components/guardian/coordinator.pyi +3 -3
  143. homeassistant-stubs/components/guardian/diagnostics.pyi +3 -4
  144. homeassistant-stubs/components/guardian/entity.pyi +3 -3
  145. homeassistant-stubs/components/guardian/sensor.pyi +3 -4
  146. homeassistant-stubs/components/guardian/services.pyi +28 -0
  147. homeassistant-stubs/components/guardian/switch.pyi +4 -5
  148. homeassistant-stubs/components/guardian/util.pyi +2 -2
  149. homeassistant-stubs/components/guardian/valve.pyi +4 -5
  150. homeassistant-stubs/components/habitica/const.pyi +1 -6
  151. homeassistant-stubs/components/habitica/coordinator.pyi +2 -2
  152. homeassistant-stubs/components/habitica/sensor.pyi +3 -1
  153. homeassistant-stubs/components/habitica/services.pyi +2 -4
  154. homeassistant-stubs/components/habitica/util.pyi +2 -0
  155. homeassistant-stubs/components/hardware/__init__.pyi +3 -1
  156. homeassistant-stubs/components/hardware/const.pyi +4 -0
  157. homeassistant-stubs/components/hardware/hardware.pyi +1 -1
  158. homeassistant-stubs/components/hardware/models.pyi +14 -1
  159. homeassistant-stubs/components/hardware/websocket_api.pyi +2 -12
  160. homeassistant-stubs/components/heos/media_player.pyi +1 -0
  161. homeassistant-stubs/components/here_travel_time/__init__.pyi +4 -6
  162. homeassistant-stubs/components/here_travel_time/coordinator.pyi +9 -10
  163. homeassistant-stubs/components/here_travel_time/model.pyi +6 -10
  164. homeassistant-stubs/components/here_travel_time/sensor.pyi +4 -5
  165. homeassistant-stubs/components/history_stats/__init__.pyi +2 -1
  166. homeassistant-stubs/components/history_stats/config_flow.pyi +2 -2
  167. homeassistant-stubs/components/history_stats/data.pyi +2 -0
  168. homeassistant-stubs/components/home_connect/application_credentials.pyi +1 -0
  169. homeassistant-stubs/components/home_connect/config_flow.pyi +2 -0
  170. homeassistant-stubs/components/home_connect/diagnostics.pyi +1 -2
  171. homeassistant-stubs/components/home_connect/entity.pyi +0 -1
  172. homeassistant-stubs/components/home_connect/light.pyi +2 -2
  173. homeassistant-stubs/components/home_connect/number.pyi +1 -0
  174. homeassistant-stubs/components/home_connect/sensor.pyi +4 -5
  175. homeassistant-stubs/components/home_connect/switch.pyi +1 -19
  176. homeassistant-stubs/components/homeassistant/__init__.pyi +5 -0
  177. homeassistant-stubs/components/homee/alarm_control_panel.pyi +39 -0
  178. homeassistant-stubs/components/homee/const.pyi +2 -0
  179. homeassistant-stubs/components/homee/event.pyi +19 -0
  180. homeassistant-stubs/components/homee/fan.pyi +38 -0
  181. homeassistant-stubs/components/homee/sensor.pyi +5 -1
  182. homeassistant-stubs/components/homekit/const.pyi +1 -0
  183. homeassistant-stubs/components/homekit/util.pyi +1 -1
  184. homeassistant-stubs/components/homeworks/__init__.pyi +5 -5
  185. homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -3
  186. homeassistant-stubs/components/homeworks/button.pyi +2 -3
  187. homeassistant-stubs/components/homeworks/light.pyi +2 -3
  188. homeassistant-stubs/components/http/decorators.pyi +1 -1
  189. homeassistant-stubs/components/huawei_lte/__init__.pyi +0 -1
  190. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +0 -7
  191. homeassistant-stubs/components/hydrawise/__init__.pyi +4 -5
  192. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +3 -4
  193. homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -3
  194. homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
  195. homeassistant-stubs/components/hydrawise/switch.pyi +3 -4
  196. homeassistant-stubs/components/hydrawise/valve.pyi +2 -4
  197. homeassistant-stubs/components/immich/__init__.pyi +10 -0
  198. homeassistant-stubs/components/immich/config_flow.pyi +27 -0
  199. homeassistant-stubs/components/immich/const.pyi +4 -0
  200. homeassistant-stubs/components/immich/coordinator.pyi +27 -0
  201. homeassistant-stubs/components/immich/diagnostics.pyi +10 -0
  202. homeassistant-stubs/components/immich/entity.pyi +10 -0
  203. homeassistant-stubs/components/immich/media_source.pyi +38 -0
  204. homeassistant-stubs/components/immich/sensor.pyi +28 -0
  205. homeassistant-stubs/components/integration/__init__.pyi +2 -1
  206. homeassistant-stubs/components/iqvia/__init__.pyi +4 -7
  207. homeassistant-stubs/components/iqvia/coordinator.pyi +16 -0
  208. homeassistant-stubs/components/iqvia/diagnostics.pyi +3 -4
  209. homeassistant-stubs/components/iqvia/entity.pyi +5 -6
  210. homeassistant-stubs/components/iqvia/sensor.pyi +3 -3
  211. homeassistant-stubs/components/isy994/__init__.pyi +6 -7
  212. homeassistant-stubs/components/isy994/binary_sensor.pyi +3 -4
  213. homeassistant-stubs/components/isy994/button.pyi +2 -3
  214. homeassistant-stubs/components/isy994/climate.pyi +3 -4
  215. homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
  216. homeassistant-stubs/components/isy994/cover.pyi +3 -5
  217. homeassistant-stubs/components/isy994/fan.pyi +3 -5
  218. homeassistant-stubs/components/isy994/light.pyi +3 -4
  219. homeassistant-stubs/components/isy994/lock.pyi +2 -5
  220. homeassistant-stubs/components/isy994/models.pyi +2 -0
  221. homeassistant-stubs/components/isy994/number.pyi +3 -4
  222. homeassistant-stubs/components/isy994/select.pyi +3 -4
  223. homeassistant-stubs/components/isy994/sensor.pyi +3 -4
  224. homeassistant-stubs/components/isy994/services.pyi +1 -1
  225. homeassistant-stubs/components/isy994/switch.pyi +2 -4
  226. homeassistant-stubs/components/isy994/system_health.pyi +1 -3
  227. homeassistant-stubs/components/isy994/util.pyi +3 -2
  228. homeassistant-stubs/components/jellyfin/__init__.pyi +1 -1
  229. homeassistant-stubs/components/jellyfin/entity.pyi +2 -2
  230. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +3 -2
  231. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -2
  232. homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
  233. homeassistant-stubs/components/jewish_calendar/diagnostics.pyi +11 -0
  234. homeassistant-stubs/components/jewish_calendar/entity.pyi +12 -5
  235. homeassistant-stubs/components/jewish_calendar/sensor.pyi +34 -15
  236. homeassistant-stubs/components/jewish_calendar/service.pyi +1 -0
  237. homeassistant-stubs/components/kaleidescape/entity.pyi +1 -0
  238. homeassistant-stubs/components/kaleidescape/media_player.pyi +1 -0
  239. homeassistant-stubs/components/kaleidescape/remote.pyi +1 -0
  240. homeassistant-stubs/components/kaleidescape/sensor.pyi +1 -0
  241. homeassistant-stubs/components/knocki/config_flow.pyi +2 -0
  242. homeassistant-stubs/components/knx/const.pyi +7 -0
  243. homeassistant-stubs/components/knx/cover.pyi +20 -9
  244. homeassistant-stubs/components/knx/schema.pyi +1 -6
  245. homeassistant-stubs/components/knx/storage/const.pyi +6 -0
  246. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -3
  247. homeassistant-stubs/components/lcn/config_flow.pyi +0 -2
  248. homeassistant-stubs/components/lcn/const.pyi +3 -1
  249. homeassistant-stubs/components/lcn/cover.pyi +7 -2
  250. homeassistant-stubs/components/lcn/entity.pyi +1 -0
  251. homeassistant-stubs/components/lcn/helpers.pyi +0 -1
  252. homeassistant-stubs/components/lcn/schemas.pyi +1 -1
  253. homeassistant-stubs/components/lcn/services.pyi +2 -3
  254. homeassistant-stubs/components/litterrobot/entity.pyi +1 -1
  255. homeassistant-stubs/components/matter/select.pyi +2 -0
  256. homeassistant-stubs/components/matter/sensor.pyi +3 -1
  257. homeassistant-stubs/components/media_player/intent.pyi +11 -1
  258. homeassistant-stubs/components/metoffice/__init__.pyi +3 -5
  259. homeassistant-stubs/components/metoffice/config_flow.pyi +4 -2
  260. homeassistant-stubs/components/metoffice/const.pyi +7 -6
  261. homeassistant-stubs/components/metoffice/helpers.pyi +5 -6
  262. homeassistant-stubs/components/metoffice/sensor.pyi +15 -13
  263. homeassistant-stubs/components/metoffice/weather.pyi +23 -11
  264. homeassistant-stubs/components/miele/__init__.pyi +15 -0
  265. homeassistant-stubs/components/miele/api.pyi +9 -0
  266. homeassistant-stubs/components/miele/application_credentials.pyi +5 -0
  267. homeassistant-stubs/components/miele/binary_sensor.pyi +34 -0
  268. homeassistant-stubs/components/miele/button.pyi +32 -0
  269. homeassistant-stubs/components/miele/climate.pyi +55 -0
  270. homeassistant-stubs/components/miele/config_flow.pyi +17 -0
  271. homeassistant-stubs/components/miele/const.pyi +127 -0
  272. homeassistant-stubs/components/miele/coordinator.pyi +29 -0
  273. homeassistant-stubs/components/miele/diagnostics.pyi +13 -0
  274. homeassistant-stubs/components/miele/entity.pyi +24 -0
  275. homeassistant-stubs/components/miele/fan.pyi +39 -0
  276. homeassistant-stubs/components/miele/light.pyi +39 -0
  277. homeassistant-stubs/components/miele/sensor.pyi +72 -0
  278. homeassistant-stubs/components/miele/switch.pyi +52 -0
  279. homeassistant-stubs/components/miele/vacuum.pyi +84 -0
  280. homeassistant-stubs/components/minecraft_server/api.pyi +1 -1
  281. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  282. homeassistant-stubs/components/modbus/const.pyi +9 -0
  283. homeassistant-stubs/components/modbus/light.pyi +24 -1
  284. homeassistant-stubs/components/modbus/sensor.pyi +5 -3
  285. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -2
  286. homeassistant-stubs/components/mqtt/button.pyi +1 -3
  287. homeassistant-stubs/components/mqtt/config_flow.pyi +26 -9
  288. homeassistant-stubs/components/mqtt/const.pyi +57 -0
  289. homeassistant-stubs/components/mqtt/cover.pyi +1 -25
  290. homeassistant-stubs/components/mqtt/fan.pyi +1 -31
  291. homeassistant-stubs/components/mqtt/sensor.pyi +1 -1
  292. homeassistant-stubs/components/mqtt/switch.pyi +1 -5
  293. homeassistant-stubs/components/music_assistant/media_player.pyi +6 -2
  294. homeassistant-stubs/components/number/const.pyi +3 -2
  295. homeassistant-stubs/components/nut/__init__.pyi +1 -1
  296. homeassistant-stubs/components/openai_conversation/conversation.pyi +2 -0
  297. homeassistant-stubs/components/openuv/binary_sensor.pyi +2 -1
  298. homeassistant-stubs/components/openuv/entity.pyi +1 -0
  299. homeassistant-stubs/components/otbr/util.pyi +1 -3
  300. homeassistant-stubs/components/pandora/__init__.pyi +1 -0
  301. homeassistant-stubs/components/pandora/media_player.pyi +14 -13
  302. homeassistant-stubs/components/paperless_ngx/__init__.pyi +13 -0
  303. homeassistant-stubs/components/paperless_ngx/config_flow.pyi +16 -0
  304. homeassistant-stubs/components/paperless_ngx/const.pyi +4 -0
  305. homeassistant-stubs/components/paperless_ngx/coordinator.pyi +39 -0
  306. homeassistant-stubs/components/{rtsp_to_webrtc → paperless_ngx}/diagnostics.pyi +2 -2
  307. homeassistant-stubs/components/paperless_ngx/entity.pyi +16 -0
  308. homeassistant-stubs/components/paperless_ngx/sensor.pyi +27 -0
  309. homeassistant-stubs/components/plugwise/coordinator.pyi +2 -2
  310. homeassistant-stubs/components/qbus/climate.pyi +1 -0
  311. homeassistant-stubs/components/qbus/entity.pyi +3 -3
  312. homeassistant-stubs/components/qbus/light.pyi +1 -0
  313. homeassistant-stubs/components/qbus/scene.pyi +21 -0
  314. homeassistant-stubs/components/qbus/switch.pyi +1 -0
  315. homeassistant-stubs/components/recorder/services.pyi +7 -1
  316. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  317. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  318. homeassistant-stubs/components/reolink/__init__.pyi +3 -1
  319. homeassistant-stubs/components/reolink/const.pyi +5 -0
  320. homeassistant-stubs/components/reolink/host.pyi +3 -3
  321. homeassistant-stubs/components/reolink/media_source.pyi +2 -1
  322. homeassistant-stubs/components/reolink/views.pyi +1 -0
  323. homeassistant-stubs/components/repairs/websocket_api.pyi +0 -1
  324. homeassistant-stubs/components/samsungtv/__init__.pyi +5 -5
  325. homeassistant-stubs/components/samsungtv/bridge.pyi +2 -1
  326. homeassistant-stubs/components/samsungtv/config_flow.pyi +4 -4
  327. homeassistant-stubs/components/samsungtv/entity.pyi +1 -1
  328. homeassistant-stubs/components/samsungtv/media_player.pyi +2 -1
  329. homeassistant-stubs/components/sensor/__init__.pyi +1 -0
  330. homeassistant-stubs/components/sensor/const.pyi +5 -2
  331. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  332. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  333. homeassistant-stubs/components/shelly/__init__.pyi +1 -1
  334. homeassistant-stubs/components/shelly/binary_sensor.pyi +3 -2
  335. homeassistant-stubs/components/shelly/button.pyi +5 -4
  336. homeassistant-stubs/components/shelly/climate.pyi +5 -5
  337. homeassistant-stubs/components/shelly/const.pyi +2 -0
  338. homeassistant-stubs/components/shelly/cover.pyi +2 -0
  339. homeassistant-stubs/components/shelly/entity.pyi +4 -2
  340. homeassistant-stubs/components/shelly/event.pyi +4 -2
  341. homeassistant-stubs/components/shelly/light.pyi +2 -0
  342. homeassistant-stubs/components/shelly/number.pyi +3 -2
  343. homeassistant-stubs/components/shelly/select.pyi +2 -0
  344. homeassistant-stubs/components/shelly/sensor.pyi +9 -2
  345. homeassistant-stubs/components/shelly/switch.pyi +2 -2
  346. homeassistant-stubs/components/shelly/text.pyi +2 -0
  347. homeassistant-stubs/components/shelly/update.pyi +1 -0
  348. homeassistant-stubs/components/shelly/utils.pyi +14 -7
  349. homeassistant-stubs/components/shelly/valve.pyi +2 -0
  350. homeassistant-stubs/components/smlight/button.pyi +3 -2
  351. homeassistant-stubs/components/squeezebox/__init__.pyi +1 -1
  352. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +1 -0
  353. homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
  354. homeassistant-stubs/components/squeezebox/button.pyi +3 -0
  355. homeassistant-stubs/components/squeezebox/const.pyi +12 -2
  356. homeassistant-stubs/components/squeezebox/coordinator.pyi +7 -3
  357. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -1
  358. homeassistant-stubs/components/squeezebox/sensor.pyi +1 -0
  359. homeassistant-stubs/components/squeezebox/switch.pyi +47 -0
  360. homeassistant-stubs/components/squeezebox/update.pyi +50 -0
  361. homeassistant-stubs/components/statistics/__init__.pyi +2 -1
  362. homeassistant-stubs/components/suez_water/coordinator.pyi +19 -4
  363. homeassistant-stubs/components/suez_water/sensor.pyi +2 -0
  364. homeassistant-stubs/components/sun/condition.pyi +13 -0
  365. homeassistant-stubs/components/switch_as_x/__init__.pyi +16 -3
  366. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +15 -9
  367. homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +29 -0
  368. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +6 -1
  369. homeassistant-stubs/components/threshold/__init__.pyi +2 -1
  370. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  371. homeassistant-stubs/components/tibber/notify.pyi +2 -2
  372. homeassistant-stubs/components/tibber/sensor.pyi +1 -1
  373. homeassistant-stubs/components/trend/__init__.pyi +2 -1
  374. homeassistant-stubs/components/tts/__init__.pyi +4 -1
  375. homeassistant-stubs/components/tts/const.pyi +1 -0
  376. homeassistant-stubs/components/tts/entity.pyi +4 -0
  377. homeassistant-stubs/components/tts/legacy.pyi +3 -1
  378. homeassistant-stubs/components/tts/media_source.pyi +5 -2
  379. homeassistant-stubs/components/unifi/__init__.pyi +1 -1
  380. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  381. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -0
  382. homeassistant-stubs/components/unifi/services.pyi +1 -0
  383. homeassistant-stubs/components/uptimerobot/coordinator.pyi +0 -1
  384. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -1
  385. homeassistant-stubs/components/wallbox/const.pyi +10 -0
  386. homeassistant-stubs/components/wallbox/coordinator.pyi +4 -1
  387. homeassistant-stubs/components/wallbox/select.pyi +29 -0
  388. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  389. homeassistant-stubs/components/wemo/device_trigger.pyi +1 -1
  390. homeassistant-stubs/components/wemo/light.pyi +1 -0
  391. homeassistant-stubs/components/whois/const.pyi +1 -0
  392. homeassistant-stubs/components/whois/sensor.pyi +2 -1
  393. homeassistant-stubs/components/withings/application_credentials.pyi +2 -0
  394. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  395. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -3
  396. homeassistant-stubs/components/zwave_js/api.pyi +1 -2
  397. homeassistant-stubs/components/zwave_js/config_flow.pyi +8 -8
  398. homeassistant-stubs/components/zwave_js/const.pyi +2 -3
  399. homeassistant-stubs/config_entries.pyi +0 -1
  400. homeassistant-stubs/const.pyi +5 -0
  401. homeassistant-stubs/core_config.pyi +0 -2
  402. homeassistant-stubs/helpers/condition.pyi +1 -6
  403. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +10 -0
  404. homeassistant-stubs/helpers/config_validation.pyi +7 -2
  405. homeassistant-stubs/helpers/device.pyi +1 -1
  406. homeassistant-stubs/helpers/device_registry.pyi +4 -4
  407. homeassistant-stubs/helpers/entity_component.pyi +5 -2
  408. homeassistant-stubs/helpers/entity_platform.pyi +4 -1
  409. homeassistant-stubs/helpers/entity_registry.pyi +7 -6
  410. homeassistant-stubs/helpers/helper_integration.pyi +6 -0
  411. homeassistant-stubs/helpers/selector.pyi +55 -50
  412. homeassistant-stubs/helpers/service.pyi +3 -3
  413. homeassistant-stubs/helpers/template.pyi +4 -1
  414. homeassistant-stubs/scripts/check_config.pyi +1 -1
  415. homeassistant-stubs/util/aiohttp.pyi +5 -0
  416. homeassistant-stubs/util/unit_conversion.pyi +11 -1
  417. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0.dist-info}/METADATA +2 -2
  418. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0.dist-info}/RECORD +420 -361
  419. homeassistant-stubs/components/metoffice/data.pyi +0 -10
  420. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +0 -19
  421. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -24
  422. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0.dist-info}/WHEEL +0 -0
  423. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,8 +1,7 @@
1
1
  from .const import CONF_NETWORK as CONF_NETWORK, DOMAIN as DOMAIN
2
- from .models import IsyData as IsyData
2
+ from .models import IsyConfigEntry as IsyConfigEntry
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.button import ButtonEntity as ButtonEntity
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
5
  from homeassistant.const import EntityCategory as EntityCategory, Platform as Platform
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
7
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -12,7 +11,7 @@ from pyisy.helpers import EventListener as EventListener, NodeProperty as NodePr
12
11
  from pyisy.networking import NetworkCommand as NetworkCommand
13
12
  from pyisy.nodes import Node as Node
14
13
 
15
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
+ async def async_setup_entry(hass: HomeAssistant, config_entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
15
 
17
16
  class ISYNodeButtonEntity(ButtonEntity):
18
17
  _attr_should_poll: bool
@@ -1,10 +1,9 @@
1
- from .const import DOMAIN as DOMAIN, HA_FAN_TO_ISY as HA_FAN_TO_ISY, HA_HVAC_TO_ISY as HA_HVAC_TO_ISY, ISY_HVAC_MODES as ISY_HVAC_MODES, UOM_FAN_MODES as UOM_FAN_MODES, UOM_HVAC_ACTIONS as UOM_HVAC_ACTIONS, UOM_HVAC_MODE_GENERIC as UOM_HVAC_MODE_GENERIC, UOM_HVAC_MODE_INSTEON as UOM_HVAC_MODE_INSTEON, UOM_ISYV4_NONE as UOM_ISYV4_NONE, UOM_ISY_CELSIUS as UOM_ISY_CELSIUS, UOM_ISY_FAHRENHEIT as UOM_ISY_FAHRENHEIT, UOM_TO_STATES as UOM_TO_STATES, _LOGGER as _LOGGER
1
+ from .const import HA_FAN_TO_ISY as HA_FAN_TO_ISY, HA_HVAC_TO_ISY as HA_HVAC_TO_ISY, ISY_HVAC_MODES as ISY_HVAC_MODES, UOM_FAN_MODES as UOM_FAN_MODES, UOM_HVAC_ACTIONS as UOM_HVAC_ACTIONS, UOM_HVAC_MODE_GENERIC as UOM_HVAC_MODE_GENERIC, UOM_HVAC_MODE_INSTEON as UOM_HVAC_MODE_INSTEON, UOM_ISYV4_NONE as UOM_ISYV4_NONE, UOM_ISY_CELSIUS as UOM_ISY_CELSIUS, UOM_ISY_FAHRENHEIT as UOM_ISY_FAHRENHEIT, UOM_TO_STATES as UOM_TO_STATES, _LOGGER as _LOGGER
2
2
  from .entity import ISYNodeEntity as ISYNodeEntity
3
3
  from .helpers import convert_isy_value_to_hass as convert_isy_value_to_hass
4
- from .models import IsyData as IsyData
4
+ from .models import IsyConfigEntry as IsyConfigEntry
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant.components.climate import ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, HVACAction as HVACAction, HVACMode as HVACMode
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
7
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS, Platform as Platform, UnitOfTemperature as UnitOfTemperature
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -13,7 +12,7 @@ from homeassistant.util.enum import try_parse_enum as try_parse_enum
13
12
  from pyisy.nodes import Node as Node
14
13
  from typing import Any
15
14
 
16
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
+ async def async_setup_entry(hass: HomeAssistant, entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
16
 
18
17
  class ISYThermostatEntity(ISYNodeEntity, ClimateEntity):
19
18
  _attr_hvac_modes = ISY_HVAC_MODES
@@ -1,8 +1,9 @@
1
1
  import voluptuous as vol
2
2
  from .const import CONF_IGNORE_STRING as CONF_IGNORE_STRING, CONF_RESTORE_LIGHT_STATE as CONF_RESTORE_LIGHT_STATE, CONF_SENSOR_STRING as CONF_SENSOR_STRING, CONF_TLS_VER as CONF_TLS_VER, CONF_VAR_SENSOR_STRING as CONF_VAR_SENSOR_STRING, DEFAULT_IGNORE_STRING as DEFAULT_IGNORE_STRING, DEFAULT_RESTORE_LIGHT_STATE as DEFAULT_RESTORE_LIGHT_STATE, DEFAULT_SENSOR_STRING as DEFAULT_SENSOR_STRING, DEFAULT_TLS_VERSION as DEFAULT_TLS_VERSION, DEFAULT_VAR_SENSOR_STRING as DEFAULT_VAR_SENSOR_STRING, DOMAIN as DOMAIN, HTTPS_PORT as HTTPS_PORT, HTTP_PORT as HTTP_PORT, ISY_CONF_NAME as ISY_CONF_NAME, ISY_CONF_UUID as ISY_CONF_UUID, ISY_URL_POSTFIX as ISY_URL_POSTFIX, SCHEME_HTTP as SCHEME_HTTP, SCHEME_HTTPS as SCHEME_HTTPS, UDN_UUID_PREFIX as UDN_UUID_PREFIX
3
+ from .models import IsyConfigEntry as IsyConfigEntry
3
4
  from _typeshed import Incomplete
4
5
  from collections.abc import Mapping
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_IGNORE as SOURCE_IGNORE
6
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_IGNORE as SOURCE_IGNORE
6
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
7
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
9
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow
@@ -20,11 +21,11 @@ async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> dict[str,
20
21
  class Isy994ConfigFlow(ConfigFlow, domain=DOMAIN):
21
22
  VERSION: int
22
23
  discovered_conf: dict[str, str]
23
- _existing_entry: ConfigEntry | None
24
+ _existing_entry: IsyConfigEntry | None
24
25
  def __init__(self) -> None: ...
25
26
  @staticmethod
26
27
  @callback
27
- def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
28
+ def async_get_options_flow(config_entry: IsyConfigEntry) -> OptionsFlow: ...
28
29
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
29
30
  async def _async_set_unique_id_or_update(self, isy_mac: str, ip_address: str, port: int | None) -> None: ...
30
31
  async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
@@ -1,16 +1,14 @@
1
- from .const import DOMAIN as DOMAIN, UOM_8_BIT_RANGE as UOM_8_BIT_RANGE, _LOGGER as _LOGGER
1
+ from .const import UOM_8_BIT_RANGE as UOM_8_BIT_RANGE, _LOGGER as _LOGGER
2
2
  from .entity import ISYNodeEntity as ISYNodeEntity, ISYProgramEntity as ISYProgramEntity
3
- from .models import IsyData as IsyData
3
+ from .models import IsyConfigEntry as IsyConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.cover import ATTR_POSITION as ATTR_POSITION, CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import Platform as Platform
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
10
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
9
  from typing import Any
12
10
 
13
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
11
+ async def async_setup_entry(hass: HomeAssistant, entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
12
 
15
13
  class ISYCoverEntity(ISYNodeEntity, CoverEntity):
16
14
  _attr_supported_features: Incomplete
@@ -1,12 +1,10 @@
1
- from .const import DOMAIN as DOMAIN, _LOGGER as _LOGGER
1
+ from .const import _LOGGER as _LOGGER
2
2
  from .entity import ISYNodeEntity as ISYNodeEntity, ISYProgramEntity as ISYProgramEntity
3
- from .models import IsyData as IsyData
3
+ from .models import IsyConfigEntry as IsyConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.fan import FanEntity as FanEntity, FanEntityFeature as FanEntityFeature
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import Platform as Platform
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
10
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
9
  from homeassistant.util.percentage import percentage_to_ranged_value as percentage_to_ranged_value, ranged_value_to_percentage as ranged_value_to_percentage
12
10
  from homeassistant.util.scaling import int_states_in_range as int_states_in_range
@@ -14,7 +12,7 @@ from typing import Any
14
12
 
15
13
  SPEED_RANGE: Incomplete
16
14
 
17
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
+ async def async_setup_entry(hass: HomeAssistant, entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
16
 
19
17
  class ISYFanEntity(ISYNodeEntity, FanEntity):
20
18
  _attr_supported_features: Incomplete
@@ -1,9 +1,8 @@
1
- from .const import CONF_RESTORE_LIGHT_STATE as CONF_RESTORE_LIGHT_STATE, DOMAIN as DOMAIN, UOM_PERCENTAGE as UOM_PERCENTAGE, _LOGGER as _LOGGER
1
+ from .const import CONF_RESTORE_LIGHT_STATE as CONF_RESTORE_LIGHT_STATE, UOM_PERCENTAGE as UOM_PERCENTAGE, _LOGGER as _LOGGER
2
2
  from .entity import ISYNodeEntity as ISYNodeEntity
3
- from .models import IsyData as IsyData
3
+ from .models import IsyConfigEntry as IsyConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import Platform as Platform
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
8
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -15,7 +14,7 @@ from typing import Any
15
14
 
16
15
  ATTR_LAST_BRIGHTNESS: str
17
16
 
18
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
+ async def async_setup_entry(hass: HomeAssistant, entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
18
 
20
19
  class ISYLightEntity(ISYNodeEntity, LightEntity, RestoreEntity):
21
20
  _attr_color_mode: Incomplete
@@ -1,14 +1,11 @@
1
- from .const import DOMAIN as DOMAIN
2
1
  from .entity import ISYNodeEntity as ISYNodeEntity, ISYProgramEntity as ISYProgramEntity
3
- from .models import IsyData as IsyData
2
+ from .models import IsyConfigEntry as IsyConfigEntry
4
3
  from .services import SERVICE_DELETE_USER_CODE_SCHEMA as SERVICE_DELETE_USER_CODE_SCHEMA, SERVICE_DELETE_ZWAVE_LOCK_USER_CODE as SERVICE_DELETE_ZWAVE_LOCK_USER_CODE, SERVICE_SET_USER_CODE_SCHEMA as SERVICE_SET_USER_CODE_SCHEMA, SERVICE_SET_ZWAVE_LOCK_USER_CODE as SERVICE_SET_ZWAVE_LOCK_USER_CODE
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant.components.lock import LockEntity as LockEntity
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
6
  from homeassistant.const import Platform as Platform
9
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
12
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, async_get_current_platform as async_get_current_platform
13
10
  from typing import Any
14
11
 
@@ -16,7 +13,7 @@ VALUE_TO_STATE: Incomplete
16
13
 
17
14
  @callback
18
15
  def async_setup_lock_services(hass: HomeAssistant) -> None: ...
19
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
+ async def async_setup_entry(hass: HomeAssistant, entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
20
17
 
21
18
  class ISYLockEntity(ISYNodeEntity, LockEntity):
22
19
  @property
@@ -1,5 +1,6 @@
1
1
  from .const import CONF_NETWORK as CONF_NETWORK, NODE_AUX_PROP_PLATFORMS as NODE_AUX_PROP_PLATFORMS, NODE_PLATFORMS as NODE_PLATFORMS, PROGRAM_PLATFORMS as PROGRAM_PLATFORMS, ROOT_NODE_PLATFORMS as ROOT_NODE_PLATFORMS, VARIABLE_PLATFORMS as VARIABLE_PLATFORMS
2
2
  from dataclasses import dataclass
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
4
  from homeassistant.const import Platform as Platform
4
5
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
5
6
  from pyisy import ISY as ISY
@@ -8,6 +9,7 @@ from pyisy.nodes import Group as Group, Node as Node
8
9
  from pyisy.programs import Program as Program
9
10
  from pyisy.variables import Variable as Variable
10
11
 
12
+ type IsyConfigEntry = ConfigEntry[IsyData]
11
13
  @dataclass
12
14
  class IsyData:
13
15
  root: ISY
@@ -1,10 +1,9 @@
1
- from .const import CONF_VAR_SENSOR_STRING as CONF_VAR_SENSOR_STRING, DEFAULT_VAR_SENSOR_STRING as DEFAULT_VAR_SENSOR_STRING, DOMAIN as DOMAIN, UOM_8_BIT_RANGE as UOM_8_BIT_RANGE
1
+ from .const import CONF_VAR_SENSOR_STRING as CONF_VAR_SENSOR_STRING, DEFAULT_VAR_SENSOR_STRING as DEFAULT_VAR_SENSOR_STRING, UOM_8_BIT_RANGE as UOM_8_BIT_RANGE
2
2
  from .entity import ISYAuxControlEntity as ISYAuxControlEntity
3
3
  from .helpers import convert_isy_value_to_hass as convert_isy_value_to_hass
4
- from .models import IsyData as IsyData
4
+ from .models import IsyConfigEntry as IsyConfigEntry
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription, NumberMode as NumberMode, RestoreNumber as RestoreNumber
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
7
  from homeassistant.const import CONF_VARIABLES as CONF_VARIABLES, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, Platform as Platform, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -21,7 +20,7 @@ ON_RANGE: Incomplete
21
20
  CONTROL_DESC: Incomplete
22
21
  BACKLIGHT_MEMORY_FILTER: Incomplete
23
22
 
24
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
+ async def async_setup_entry(hass: HomeAssistant, config_entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
25
24
 
26
25
  class ISYAuxControlNumberEntity(ISYAuxControlEntity, NumberEntity):
27
26
  _attr_mode: Incomplete
@@ -1,9 +1,8 @@
1
- from .const import DOMAIN as DOMAIN, UOM_INDEX as UOM_INDEX, _LOGGER as _LOGGER
1
+ from .const import UOM_INDEX as UOM_INDEX, _LOGGER as _LOGGER
2
2
  from .entity import ISYAuxControlEntity as ISYAuxControlEntity
3
- from .models import IsyData as IsyData
3
+ from .models import IsyConfigEntry as IsyConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import EntityCategory as EntityCategory, Platform as Platform, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTime as UnitOfTime
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -18,7 +17,7 @@ def time_string(i: int) -> str: ...
18
17
  RAMP_RATE_OPTIONS: Incomplete
19
18
  BACKLIGHT_MEMORY_FILTER: Incomplete
20
19
 
21
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
20
+ async def async_setup_entry(hass: HomeAssistant, config_entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
22
21
 
23
22
  class ISYRampRateSelectEntity(ISYAuxControlEntity, SelectEntity):
24
23
  @property
@@ -1,10 +1,9 @@
1
- from .const import DOMAIN as DOMAIN, UOM_DOUBLE_TEMP as UOM_DOUBLE_TEMP, UOM_FRIENDLY_NAME as UOM_FRIENDLY_NAME, UOM_INDEX as UOM_INDEX, UOM_ON_OFF as UOM_ON_OFF, UOM_TO_STATES as UOM_TO_STATES, _LOGGER as _LOGGER
1
+ from .const import UOM_DOUBLE_TEMP as UOM_DOUBLE_TEMP, UOM_FRIENDLY_NAME as UOM_FRIENDLY_NAME, UOM_INDEX as UOM_INDEX, UOM_ON_OFF as UOM_ON_OFF, UOM_TO_STATES as UOM_TO_STATES, _LOGGER as _LOGGER
2
2
  from .entity import ISYNodeEntity as ISYNodeEntity
3
3
  from .helpers import convert_isy_value_to_hass as convert_isy_value_to_hass
4
- from .models import IsyData as IsyData
4
+ from .models import IsyConfigEntry as IsyConfigEntry
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
7
  from homeassistant.const import EntityCategory as EntityCategory, Platform as Platform, UnitOfTemperature as UnitOfTemperature
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
9
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -19,7 +18,7 @@ ISY_CONTROL_TO_DEVICE_CLASS: Incomplete
19
18
  ISY_CONTROL_TO_STATE_CLASS: Incomplete
20
19
  ISY_CONTROL_TO_ENTITY_CATEGORY: Incomplete
21
20
 
22
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
21
+ async def async_setup_entry(hass: HomeAssistant, entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
22
 
24
23
  class ISYSensorEntity(ISYNodeEntity, SensorEntity):
25
24
  @property
@@ -1,5 +1,5 @@
1
1
  from .const import DOMAIN as DOMAIN, _LOGGER as _LOGGER
2
- from .models import IsyData as IsyData
2
+ from .models import IsyConfigEntry as IsyConfigEntry
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_COMMAND as CONF_COMMAND, CONF_NAME as CONF_NAME, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
@@ -1,10 +1,8 @@
1
- from .const import DOMAIN as DOMAIN
2
1
  from .entity import ISYAuxControlEntity as ISYAuxControlEntity, ISYNodeEntity as ISYNodeEntity, ISYProgramEntity as ISYProgramEntity
3
- from .models import IsyData as IsyData
2
+ from .models import IsyConfigEntry as IsyConfigEntry
4
3
  from _typeshed import Incomplete
5
4
  from dataclasses import dataclass
6
5
  from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
6
  from homeassistant.const import EntityCategory as EntityCategory, Platform as Platform
9
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -18,7 +16,7 @@ from typing import Any
18
16
  class ISYSwitchEntityDescription(SwitchEntityDescription):
19
17
  name: str = ...
20
18
 
21
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
+ async def async_setup_entry(hass: HomeAssistant, entry: IsyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
22
20
 
23
21
  class ISYSwitchEntity(ISYNodeEntity, SwitchEntity):
24
22
  @property
@@ -1,10 +1,8 @@
1
1
  from .const import DOMAIN as DOMAIN, ISY_URL_POSTFIX as ISY_URL_POSTFIX
2
- from .models import IsyData as IsyData
2
+ from .models import IsyConfigEntry as IsyConfigEntry
3
3
  from homeassistant.components import system_health as system_health
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
4
  from homeassistant.const import CONF_HOST as CONF_HOST
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
- from pyisy import ISY as ISY
8
6
  from typing import Any
9
7
 
10
8
  @callback
@@ -1,5 +1,6 @@
1
- from .const import DOMAIN as DOMAIN, _LOGGER as _LOGGER
1
+ from .const import _LOGGER as _LOGGER
2
+ from .models import IsyConfigEntry as IsyConfigEntry
2
3
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
3
4
 
4
5
  @callback
5
- def _async_cleanup_registry_entries(hass: HomeAssistant, entry_id: str) -> None: ...
6
+ def _async_cleanup_registry_entries(hass: HomeAssistant, entry: IsyConfigEntry) -> None: ...
@@ -1,5 +1,5 @@
1
1
  from .client_wrapper import CannotConnect as CannotConnect, InvalidAuth as InvalidAuth, create_client as create_client, validate_input as validate_input
2
- from .const import CONF_CLIENT_DEVICE_ID as CONF_CLIENT_DEVICE_ID, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
+ from .const import CONF_CLIENT_DEVICE_ID as CONF_CLIENT_DEVICE_ID, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
3
3
  from .coordinator import JellyfinConfigEntry as JellyfinConfigEntry, JellyfinDataUpdateCoordinator as JellyfinDataUpdateCoordinator
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant
5
5
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
@@ -1,7 +1,7 @@
1
- from .const import DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
1
+ from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import JellyfinDataUpdateCoordinator as JellyfinDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
- from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
4
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
5
5
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
6
6
  from typing import Any
7
7
 
@@ -3,13 +3,15 @@ from .entity import JewishCalendarConfigEntry as JewishCalendarConfigEntry, Jewi
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
5
  from dataclasses import dataclass
6
- from hdate.zmanim import Zmanim
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
9
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.helpers import event as event
11
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
12
 
13
+ PARALLEL_UPDATES: int
14
+
13
15
  @dataclass(frozen=True)
14
16
  class JewishCalendarBinarySensorMixIns(BinarySensorEntityDescription):
15
17
  is_on: Callable[[Zmanim, dt.datetime], bool] = ...
@@ -28,7 +30,6 @@ class JewishCalendarBinarySensor(JewishCalendarEntity, BinarySensorEntity):
28
30
  entity_description: JewishCalendarBinarySensorEntityDescription
29
31
  @property
30
32
  def is_on(self) -> bool: ...
31
- def _get_zmanim(self) -> Zmanim: ...
32
33
  async def async_added_to_hass(self) -> None: ...
33
34
  async def async_will_remove_from_hass(self) -> None: ...
34
35
  @callback
@@ -1,7 +1,8 @@
1
1
  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
+ from .entity import JewishCalendarConfigEntry as JewishCalendarConfigEntry
3
4
  from _typeshed import Incomplete
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
5
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
5
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
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
8
  from homeassistant.helpers.selector import BooleanSelector as BooleanSelector, LanguageSelector as LanguageSelector, LanguageSelectorConfig as LanguageSelectorConfig, LocationSelector as LocationSelector, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig
@@ -16,7 +17,7 @@ class JewishCalendarConfigFlow(ConfigFlow, domain=DOMAIN):
16
17
  VERSION: int
17
18
  @staticmethod
18
19
  @callback
19
- def async_get_options_flow(config_entry: ConfigEntry) -> JewishCalendarOptionsFlowHandler: ...
20
+ def async_get_options_flow(config_entry: JewishCalendarConfigEntry) -> JewishCalendarOptionsFlowHandler: ...
20
21
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
22
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
23
 
@@ -2,6 +2,7 @@ DOMAIN: str
2
2
  ATTR_AFTER_SUNSET: str
3
3
  ATTR_DATE: str
4
4
  ATTR_NUSACH: str
5
+ CONF_ALTITUDE: str
5
6
  CONF_DIASPORA: str
6
7
  CONF_CANDLE_LIGHT_MINUTES: str
7
8
  CONF_HAVDALAH_OFFSET_MINUTES: str
@@ -0,0 +1,11 @@
1
+ from .const import CONF_ALTITUDE as CONF_ALTITUDE
2
+ from .entity import JewishCalendarConfigEntry as JewishCalendarConfigEntry
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
5
+ from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from typing import Any
8
+
9
+ TO_REDACT: Incomplete
10
+
11
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: JewishCalendarConfigEntry) -> dict[str, Any]: ...
@@ -1,13 +1,21 @@
1
+ import datetime as dt
1
2
  from .const import DOMAIN as DOMAIN
2
3
  from _typeshed import Incomplete
3
4
  from dataclasses import dataclass
4
- from hdate import Location as Location
5
+ from hdate import HDateInfo as HDateInfo, Location as Location, Zmanim
5
6
  from hdate.translator import Language as Language
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
8
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
8
9
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
9
10
 
10
11
  type JewishCalendarConfigEntry = ConfigEntry[JewishCalendarData]
12
+ @dataclass
13
+ class JewishCalendarDataResults:
14
+ daytime_date: HDateInfo
15
+ after_shkia_date: HDateInfo
16
+ after_tzais_date: HDateInfo
17
+ zmanim: Zmanim
18
+
11
19
  @dataclass
12
20
  class JewishCalendarData:
13
21
  language: Language
@@ -15,14 +23,13 @@ class JewishCalendarData:
15
23
  location: Location
16
24
  candle_lighting_offset: int
17
25
  havdalah_offset: int
26
+ results: JewishCalendarDataResults | None = ...
18
27
 
19
28
  class JewishCalendarEntity(Entity):
20
29
  _attr_has_entity_name: bool
21
30
  entity_description: Incomplete
22
31
  _attr_unique_id: Incomplete
23
32
  _attr_device_info: Incomplete
24
- _location: Incomplete
25
- _candle_lighting_offset: Incomplete
26
- _havdalah_offset: Incomplete
27
- _diaspora: Incomplete
33
+ data: Incomplete
28
34
  def __init__(self, config_entry: JewishCalendarConfigEntry, description: EntityDescription) -> None: ...
35
+ def make_zmanim(self, date: dt.date) -> Zmanim: ...
@@ -1,33 +1,52 @@
1
1
  import datetime as dt
2
- from .entity import JewishCalendarConfigEntry as JewishCalendarConfigEntry, JewishCalendarEntity as JewishCalendarEntity
2
+ from .entity import JewishCalendarConfigEntry as JewishCalendarConfigEntry, JewishCalendarDataResults as JewishCalendarDataResults, JewishCalendarEntity as JewishCalendarEntity
3
3
  from _typeshed import Incomplete
4
- from hdate import HDateInfo, Zmanim
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from hdate import HDateInfo, Zmanim as Zmanim
5
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
6
8
  from homeassistant.const import EntityCategory as EntityCategory, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
7
9
  from homeassistant.core import HomeAssistant as HomeAssistant
8
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
11
  from homeassistant.helpers.sun import get_astral_event_date as get_astral_event_date
10
- from typing import Any
11
12
 
12
13
  _LOGGER: Incomplete
13
- INFO_SENSORS: tuple[SensorEntityDescription, ...]
14
- TIME_SENSORS: tuple[SensorEntityDescription, ...]
14
+ PARALLEL_UPDATES: int
15
+
16
+ @dataclass(frozen=True, kw_only=True)
17
+ class JewishCalendarBaseSensorDescription(SensorEntityDescription):
18
+ value_fn: Callable | None
19
+
20
+ @dataclass(frozen=True, kw_only=True)
21
+ class JewishCalendarSensorDescription(JewishCalendarBaseSensorDescription):
22
+ value_fn: Callable[[JewishCalendarDataResults], str | int]
23
+ attr_fn: Callable[[JewishCalendarDataResults], dict[str, str]] | None = ...
24
+ options_fn: Callable[[bool], list[str]] | None = ...
25
+
26
+ @dataclass(frozen=True, kw_only=True)
27
+ class JewishCalendarTimestampSensorDescription(JewishCalendarBaseSensorDescription):
28
+ value_fn: Callable[[HDateInfo, Callable[[dt.date], Zmanim]], dt.datetime | None] | None = ...
29
+
30
+ INFO_SENSORS: tuple[JewishCalendarSensorDescription, ...]
31
+ TIME_SENSORS: tuple[JewishCalendarTimestampSensorDescription, ...]
15
32
 
16
33
  async def async_setup_entry(hass: HomeAssistant, config_entry: JewishCalendarConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
34
 
18
- class JewishCalendarSensor(JewishCalendarEntity, SensorEntity):
35
+ class JewishCalendarBaseSensor(JewishCalendarEntity, SensorEntity):
19
36
  _attr_entity_category: Incomplete
20
- _attrs: dict[str, str]
21
- def __init__(self, config_entry: JewishCalendarConfigEntry, description: SensorEntityDescription) -> None: ...
22
- async def async_added_to_hass(self) -> None: ...
23
- _attr_native_value: Incomplete
24
37
  async def async_update(self) -> None: ...
25
- def make_zmanim(self, date: dt.date) -> Zmanim: ...
38
+
39
+ class JewishCalendarSensor(JewishCalendarBaseSensor):
40
+ entity_description: JewishCalendarSensorDescription
41
+ _attr_options: Incomplete
42
+ def __init__(self, config_entry: JewishCalendarConfigEntry, description: SensorEntityDescription) -> None: ...
43
+ @property
44
+ def native_value(self) -> str | int | dt.datetime | None: ...
26
45
  @property
27
46
  def extra_state_attributes(self) -> dict[str, str]: ...
28
- _attr_options: Incomplete
29
- def get_state(self, daytime_date: HDateInfo, after_shkia_date: HDateInfo, after_tzais_date: HDateInfo) -> Any | None: ...
30
47
 
31
- class JewishCalendarTimeSensor(JewishCalendarSensor):
48
+ class JewishCalendarTimeSensor(JewishCalendarBaseSensor):
32
49
  _attr_device_class: Incomplete
33
- def get_state(self, daytime_date: HDateInfo, after_shkia_date: HDateInfo, after_tzais_date: HDateInfo) -> Any | None: ...
50
+ entity_description: JewishCalendarTimestampSensorDescription
51
+ @property
52
+ def native_value(self) -> dt.datetime | None: ...
@@ -2,6 +2,7 @@ from .const import ATTR_AFTER_SUNSET as ATTR_AFTER_SUNSET, ATTR_DATE as ATTR_DAT
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import CONF_LANGUAGE as CONF_LANGUAGE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
5
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
5
6
  from homeassistant.helpers.selector import LanguageSelector as LanguageSelector, LanguageSelectorConfig as LanguageSelectorConfig
6
7
  from homeassistant.helpers.sun import get_astral_event_date as get_astral_event_date
7
8
 
@@ -1,3 +1,4 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from _typeshed import Incomplete
2
3
  from homeassistant.core import callback as callback
3
4
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -1,3 +1,4 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from .entity import KaleidescapeEntity as KaleidescapeEntity
2
3
  from _typeshed import Incomplete
3
4
  from datetime import datetime
@@ -1,3 +1,4 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from .entity import KaleidescapeEntity as KaleidescapeEntity
2
3
  from _typeshed import Incomplete
3
4
  from collections.abc import Iterable
@@ -1,3 +1,4 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from .entity import KaleidescapeEntity as KaleidescapeEntity
2
3
  from _typeshed import Incomplete
3
4
  from collections.abc import Callable as Callable
@@ -4,9 +4,11 @@ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowRes
4
4
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_USERNAME as CONF_USERNAME
5
5
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
6
6
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
+ from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
7
8
  from typing import Any
8
9
 
9
10
  DATA_SCHEMA: Incomplete
10
11
 
11
12
  class KnockiConfigFlow(ConfigFlow, domain=DOMAIN):
12
13
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
14
+ async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
@@ -97,3 +97,10 @@ SUPPORTED_PLATFORMS_YAML: Final[Incomplete]
97
97
  SUPPORTED_PLATFORMS_UI: Final[Incomplete]
98
98
  CONTROLLER_MODES: Final[Incomplete]
99
99
  CURRENT_HVAC_ACTIONS: Final[Incomplete]
100
+
101
+ class CoverConf:
102
+ TRAVELLING_TIME_DOWN: Final[str]
103
+ TRAVELLING_TIME_UP: Final[str]
104
+ INVERT_UPDOWN: Final[str]
105
+ INVERT_POSITION: Final[str]
106
+ INVERT_ANGLE: Final[str]
@@ -1,28 +1,26 @@
1
1
  from . import KNXModule as KNXModule
2
- from .const import KNX_MODULE_KEY as KNX_MODULE_KEY
3
- from .entity import KnxYamlEntity as KnxYamlEntity
2
+ from .const import CONF_SYNC_STATE as CONF_SYNC_STATE, CoverConf as CoverConf, DOMAIN as DOMAIN, KNX_MODULE_KEY as KNX_MODULE_KEY
3
+ from .entity import KnxUiEntity as KnxUiEntity, KnxUiEntityPlatformController as KnxUiEntityPlatformController, KnxYamlEntity as KnxYamlEntity
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
6
  from _typeshed import Incomplete
6
- from collections.abc import Callable as Callable
7
7
  from homeassistant import config_entries as config_entries
8
8
  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
9
9
  from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_NAME as CONF_NAME, Platform as Platform
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
- from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, async_get_current_platform as async_get_current_platform
12
12
  from homeassistant.helpers.typing import ConfigType as ConfigType
13
13
  from typing import Any
14
+ from xknx import XKNX as XKNX
14
15
  from xknx.devices import Cover as XknxCover
15
16
 
16
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
18
 
18
- class KNXCover(KnxYamlEntity, CoverEntity):
19
+ class _KnxCover(CoverEntity):
19
20
  _device: XknxCover
20
- _unsubscribe_auto_updater: Callable[[], None] | None
21
- _attr_entity_category: Incomplete
22
21
  _attr_supported_features: Incomplete
23
22
  _attr_device_class: Incomplete
24
- _attr_unique_id: Incomplete
25
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
23
+ def init_base(self) -> None: ...
26
24
  @property
27
25
  def current_cover_position(self) -> int | None: ...
28
26
  @property
@@ -41,3 +39,16 @@ class KNXCover(KnxYamlEntity, CoverEntity):
41
39
  async def async_open_cover_tilt(self, **kwargs: Any) -> None: ...
42
40
  async def async_close_cover_tilt(self, **kwargs: Any) -> None: ...
43
41
  async def async_stop_cover_tilt(self, **kwargs: Any) -> None: ...
42
+
43
+ class KnxYamlCover(_KnxCover, KnxYamlEntity):
44
+ _device: XknxCover
45
+ _attr_entity_category: Incomplete
46
+ _attr_unique_id: Incomplete
47
+ _attr_device_class: Incomplete
48
+ def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
49
+
50
+ def _create_ui_cover(xknx: XKNX, knx_config: ConfigType, name: str) -> XknxCover: ...
51
+
52
+ class KnxUiCover(_KnxCover, KnxUiEntity):
53
+ _device: XknxCover
54
+ def __init__(self, knx_module: KNXModule, unique_id: str, config: dict[str, Any]) -> None: ...