homeassistant-stubs 2025.5.3__py3-none-any.whl → 2025.6.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.
Files changed (391) hide show
  1. homeassistant-stubs/components/airthings/sensor.pyi +1 -1
  2. homeassistant-stubs/components/amazon_devices/__init__.pyi +9 -0
  3. homeassistant-stubs/components/amazon_devices/binary_sensor.pyi +25 -0
  4. homeassistant-stubs/components/amazon_devices/config_flow.pyi +8 -0
  5. homeassistant-stubs/components/amazon_devices/const.pyi +5 -0
  6. homeassistant-stubs/components/amazon_devices/coordinator.pyi +17 -0
  7. homeassistant-stubs/components/amazon_devices/entity.pyi +19 -0
  8. homeassistant-stubs/components/amazon_devices/notify.pyi +25 -0
  9. homeassistant-stubs/components/amazon_devices/switch.pyi +30 -0
  10. homeassistant-stubs/components/apcupsd/config_flow.pyi +1 -0
  11. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +3 -1
  12. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  13. homeassistant-stubs/components/axis/entity.pyi +1 -0
  14. homeassistant-stubs/components/backup/__init__.pyi +2 -2
  15. homeassistant-stubs/components/backup/coordinator.pyi +3 -0
  16. homeassistant-stubs/components/backup/entity.pyi +5 -2
  17. homeassistant-stubs/components/backup/event.pyi +23 -0
  18. homeassistant-stubs/components/backup/manager.pyi +22 -3
  19. homeassistant-stubs/components/backup/models.pyi +2 -2
  20. homeassistant-stubs/components/blue_current/button.pyi +25 -0
  21. homeassistant-stubs/components/blue_current/entity.pyi +3 -6
  22. homeassistant-stubs/components/bluesound/button.pyi +35 -0
  23. homeassistant-stubs/components/bluesound/media_player.pyi +1 -0
  24. homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -1
  25. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -1
  26. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -1
  27. homeassistant-stubs/components/bmw_connected_drive/notify.pyi +1 -1
  28. homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -1
  29. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
  30. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -1
  31. homeassistant-stubs/components/bosch_alarm/__init__.pyi +8 -4
  32. homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +3 -1
  33. homeassistant-stubs/components/bosch_alarm/binary_sensor.pyi +45 -0
  34. homeassistant-stubs/components/bosch_alarm/config_flow.pyi +9 -3
  35. homeassistant-stubs/components/bosch_alarm/const.pyi +4 -1
  36. homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +1 -1
  37. homeassistant-stubs/components/bosch_alarm/entity.pyi +30 -1
  38. homeassistant-stubs/components/bosch_alarm/sensor.pyi +6 -2
  39. homeassistant-stubs/components/bosch_alarm/services.pyi +15 -0
  40. homeassistant-stubs/components/bosch_alarm/switch.pyi +43 -0
  41. homeassistant-stubs/components/bosch_alarm/types.pyi +4 -0
  42. homeassistant-stubs/components/bring/__init__.pyi +1 -1
  43. homeassistant-stubs/components/bring/coordinator.pyi +21 -3
  44. homeassistant-stubs/components/bring/entity.pyi +3 -3
  45. homeassistant-stubs/components/bring/event.pyi +3 -2
  46. homeassistant-stubs/components/bring/sensor.pyi +1 -0
  47. homeassistant-stubs/components/bring/todo.pyi +1 -0
  48. homeassistant-stubs/components/camera/__init__.pyi +2 -10
  49. homeassistant-stubs/components/camera/webrtc.pyi +1 -22
  50. homeassistant-stubs/components/climate/__init__.pyi +3 -13
  51. homeassistant-stubs/components/climate/const.pyi +0 -3
  52. homeassistant-stubs/components/climate/significant_change.pyi +1 -1
  53. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  54. homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
  55. homeassistant-stubs/components/cloud/client.pyi +2 -1
  56. homeassistant-stubs/components/cloud/const.pyi +0 -1
  57. homeassistant-stubs/components/cloud/google_config.pyi +1 -1
  58. homeassistant-stubs/components/cloud/http_api.pyi +0 -2
  59. homeassistant-stubs/components/comelit/climate.pyi +14 -5
  60. homeassistant-stubs/components/comelit/config_flow.pyi +3 -4
  61. homeassistant-stubs/components/comelit/const.pyi +3 -0
  62. homeassistant-stubs/components/comelit/cover.pyi +3 -1
  63. homeassistant-stubs/components/comelit/humidifier.pyi +6 -1
  64. homeassistant-stubs/components/comelit/light.pyi +2 -0
  65. homeassistant-stubs/components/comelit/switch.pyi +2 -0
  66. homeassistant-stubs/components/comelit/utils.pyi +11 -0
  67. homeassistant-stubs/components/command_line/notify.pyi +3 -1
  68. homeassistant-stubs/components/config/entity_registry.pyi +6 -0
  69. homeassistant-stubs/components/deconz/entity.pyi +1 -0
  70. homeassistant-stubs/components/deconz/hub/hub.pyi +1 -1
  71. homeassistant-stubs/components/deconz/light.pyi +1 -1
  72. homeassistant-stubs/components/demo/media_player.pyi +2 -1
  73. homeassistant-stubs/components/device_automation/trigger.pyi +5 -2
  74. homeassistant-stubs/components/devolo_home_network/__init__.pyi +3 -18
  75. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +1 -2
  76. homeassistant-stubs/components/devolo_home_network/button.pyi +1 -1
  77. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
  78. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +56 -6
  79. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
  80. homeassistant-stubs/components/devolo_home_network/diagnostics.pyi +1 -1
  81. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -2
  82. homeassistant-stubs/components/devolo_home_network/image.pyi +1 -2
  83. homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -2
  84. homeassistant-stubs/components/devolo_home_network/switch.pyi +1 -2
  85. homeassistant-stubs/components/devolo_home_network/update.pyi +1 -2
  86. homeassistant-stubs/components/dhcp/__init__.pyi +2 -0
  87. homeassistant-stubs/components/downloader/__init__.pyi +3 -4
  88. homeassistant-stubs/components/downloader/services.pyi +7 -0
  89. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +1 -1
  90. homeassistant-stubs/components/ecovacs/button.pyi +2 -2
  91. homeassistant-stubs/components/ecovacs/number.pyi +1 -1
  92. homeassistant-stubs/components/ecovacs/select.pyi +1 -1
  93. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  94. homeassistant-stubs/components/ecovacs/switch.pyi +1 -1
  95. homeassistant-stubs/components/ecovacs/util.pyi +1 -1
  96. homeassistant-stubs/components/eheimdigital/climate.pyi +4 -2
  97. homeassistant-stubs/components/eheimdigital/diagnostics.pyi +9 -0
  98. homeassistant-stubs/components/eheimdigital/entity.pyi +5 -0
  99. homeassistant-stubs/components/eheimdigital/light.pyi +3 -2
  100. homeassistant-stubs/components/eheimdigital/number.pyi +3 -1
  101. homeassistant-stubs/components/eheimdigital/select.pyi +34 -0
  102. homeassistant-stubs/components/eheimdigital/switch.pyi +3 -1
  103. homeassistant-stubs/components/eheimdigital/time.pyi +2 -1
  104. homeassistant-stubs/components/elkm1/climate.pyi +0 -6
  105. homeassistant-stubs/components/esphome/entity.pyi +1 -0
  106. homeassistant-stubs/components/esphome/entry_data.pyi +0 -12
  107. homeassistant-stubs/components/esphome/light.pyi +4 -4
  108. homeassistant-stubs/components/esphome/update.pyi +8 -4
  109. homeassistant-stubs/components/feedreader/event.pyi +1 -2
  110. homeassistant-stubs/components/fritz/__init__.pyi +1 -1
  111. homeassistant-stubs/components/fritz/config_flow.pyi +2 -1
  112. homeassistant-stubs/components/fritz/const.pyi +2 -0
  113. homeassistant-stubs/components/fritz/coordinator.pyi +5 -3
  114. homeassistant-stubs/components/frontend/storage.pyi +25 -9
  115. homeassistant-stubs/components/fyta/image.pyi +18 -4
  116. homeassistant-stubs/components/geocaching/__init__.pyi +3 -5
  117. homeassistant-stubs/components/geocaching/coordinator.pyi +3 -2
  118. homeassistant-stubs/components/geocaching/sensor.pyi +2 -3
  119. homeassistant-stubs/components/google/__init__.pyi +7 -8
  120. homeassistant-stubs/components/google/api.pyi +2 -2
  121. homeassistant-stubs/components/google/calendar.pyi +5 -5
  122. homeassistant-stubs/components/google/config_flow.pyi +3 -2
  123. homeassistant-stubs/components/google/const.pyi +0 -2
  124. homeassistant-stubs/components/google/coordinator.pyi +5 -5
  125. homeassistant-stubs/components/google/diagnostics.pyi +2 -3
  126. homeassistant-stubs/components/google/store.pyi +9 -0
  127. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +5 -6
  128. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +3 -3
  129. homeassistant-stubs/components/google_assistant_sdk/const.pyi +0 -2
  130. homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +2 -2
  131. homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +7 -1
  132. homeassistant-stubs/components/google_assistant_sdk/notify.pyi +1 -2
  133. homeassistant-stubs/components/greeneye_monitor/const.pyi +4 -1
  134. homeassistant-stubs/components/guardian/__init__.pyi +11 -18
  135. homeassistant-stubs/components/guardian/binary_sensor.pyi +5 -6
  136. homeassistant-stubs/components/guardian/button.pyi +4 -5
  137. homeassistant-stubs/components/guardian/coordinator.pyi +3 -3
  138. homeassistant-stubs/components/guardian/diagnostics.pyi +3 -4
  139. homeassistant-stubs/components/guardian/entity.pyi +3 -3
  140. homeassistant-stubs/components/guardian/sensor.pyi +3 -4
  141. homeassistant-stubs/components/guardian/services.pyi +28 -0
  142. homeassistant-stubs/components/guardian/switch.pyi +4 -5
  143. homeassistant-stubs/components/guardian/util.pyi +2 -2
  144. homeassistant-stubs/components/guardian/valve.pyi +4 -5
  145. homeassistant-stubs/components/habitica/const.pyi +1 -6
  146. homeassistant-stubs/components/habitica/coordinator.pyi +2 -2
  147. homeassistant-stubs/components/habitica/sensor.pyi +3 -1
  148. homeassistant-stubs/components/habitica/services.pyi +2 -4
  149. homeassistant-stubs/components/habitica/util.pyi +2 -0
  150. homeassistant-stubs/components/hardware/__init__.pyi +3 -1
  151. homeassistant-stubs/components/hardware/const.pyi +4 -0
  152. homeassistant-stubs/components/hardware/hardware.pyi +1 -1
  153. homeassistant-stubs/components/hardware/models.pyi +14 -1
  154. homeassistant-stubs/components/hardware/websocket_api.pyi +2 -12
  155. homeassistant-stubs/components/heos/media_player.pyi +1 -0
  156. homeassistant-stubs/components/here_travel_time/__init__.pyi +4 -5
  157. homeassistant-stubs/components/here_travel_time/coordinator.pyi +5 -4
  158. homeassistant-stubs/components/here_travel_time/sensor.pyi +4 -5
  159. homeassistant-stubs/components/history_stats/config_flow.pyi +1 -1
  160. homeassistant-stubs/components/home_connect/config_flow.pyi +2 -0
  161. homeassistant-stubs/components/home_connect/diagnostics.pyi +1 -2
  162. homeassistant-stubs/components/home_connect/entity.pyi +0 -1
  163. homeassistant-stubs/components/home_connect/light.pyi +2 -2
  164. homeassistant-stubs/components/home_connect/number.pyi +1 -0
  165. homeassistant-stubs/components/home_connect/sensor.pyi +4 -5
  166. homeassistant-stubs/components/home_connect/switch.pyi +1 -19
  167. homeassistant-stubs/components/homeassistant/__init__.pyi +4 -0
  168. homeassistant-stubs/components/homee/alarm_control_panel.pyi +39 -0
  169. homeassistant-stubs/components/homee/const.pyi +2 -0
  170. homeassistant-stubs/components/homee/event.pyi +19 -0
  171. homeassistant-stubs/components/homee/fan.pyi +38 -0
  172. homeassistant-stubs/components/homee/sensor.pyi +5 -1
  173. homeassistant-stubs/components/homekit/const.pyi +1 -0
  174. homeassistant-stubs/components/homekit/util.pyi +1 -1
  175. homeassistant-stubs/components/homeworks/__init__.pyi +5 -5
  176. homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -3
  177. homeassistant-stubs/components/homeworks/button.pyi +2 -3
  178. homeassistant-stubs/components/homeworks/light.pyi +2 -3
  179. homeassistant-stubs/components/http/decorators.pyi +1 -1
  180. homeassistant-stubs/components/huawei_lte/__init__.pyi +0 -1
  181. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +0 -7
  182. homeassistant-stubs/components/hydrawise/__init__.pyi +4 -5
  183. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +3 -4
  184. homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -3
  185. homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
  186. homeassistant-stubs/components/hydrawise/switch.pyi +3 -4
  187. homeassistant-stubs/components/hydrawise/valve.pyi +2 -4
  188. homeassistant-stubs/components/immich/__init__.pyi +10 -0
  189. homeassistant-stubs/components/immich/config_flow.pyi +27 -0
  190. homeassistant-stubs/components/immich/const.pyi +4 -0
  191. homeassistant-stubs/components/immich/coordinator.pyi +27 -0
  192. homeassistant-stubs/components/immich/diagnostics.pyi +10 -0
  193. homeassistant-stubs/components/immich/entity.pyi +10 -0
  194. homeassistant-stubs/components/immich/media_source.pyi +37 -0
  195. homeassistant-stubs/components/immich/sensor.pyi +28 -0
  196. homeassistant-stubs/components/iqvia/__init__.pyi +4 -7
  197. homeassistant-stubs/components/iqvia/coordinator.pyi +16 -0
  198. homeassistant-stubs/components/iqvia/diagnostics.pyi +3 -4
  199. homeassistant-stubs/components/iqvia/entity.pyi +5 -6
  200. homeassistant-stubs/components/iqvia/sensor.pyi +3 -3
  201. homeassistant-stubs/components/isy994/__init__.pyi +6 -7
  202. homeassistant-stubs/components/isy994/binary_sensor.pyi +3 -4
  203. homeassistant-stubs/components/isy994/button.pyi +2 -3
  204. homeassistant-stubs/components/isy994/climate.pyi +3 -4
  205. homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
  206. homeassistant-stubs/components/isy994/cover.pyi +3 -5
  207. homeassistant-stubs/components/isy994/fan.pyi +3 -5
  208. homeassistant-stubs/components/isy994/light.pyi +3 -4
  209. homeassistant-stubs/components/isy994/lock.pyi +2 -5
  210. homeassistant-stubs/components/isy994/models.pyi +2 -0
  211. homeassistant-stubs/components/isy994/number.pyi +3 -4
  212. homeassistant-stubs/components/isy994/select.pyi +3 -4
  213. homeassistant-stubs/components/isy994/sensor.pyi +3 -4
  214. homeassistant-stubs/components/isy994/services.pyi +1 -1
  215. homeassistant-stubs/components/isy994/switch.pyi +2 -4
  216. homeassistant-stubs/components/isy994/system_health.pyi +1 -3
  217. homeassistant-stubs/components/isy994/util.pyi +3 -2
  218. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +3 -2
  219. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -2
  220. homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
  221. homeassistant-stubs/components/jewish_calendar/diagnostics.pyi +11 -0
  222. homeassistant-stubs/components/jewish_calendar/entity.pyi +12 -5
  223. homeassistant-stubs/components/jewish_calendar/sensor.pyi +35 -15
  224. homeassistant-stubs/components/jewish_calendar/service.pyi +1 -0
  225. homeassistant-stubs/components/kaleidescape/entity.pyi +1 -0
  226. homeassistant-stubs/components/kaleidescape/media_player.pyi +1 -0
  227. homeassistant-stubs/components/kaleidescape/remote.pyi +1 -0
  228. homeassistant-stubs/components/kaleidescape/sensor.pyi +1 -0
  229. homeassistant-stubs/components/knocki/config_flow.pyi +2 -0
  230. homeassistant-stubs/components/knx/const.pyi +7 -0
  231. homeassistant-stubs/components/knx/cover.pyi +20 -9
  232. homeassistant-stubs/components/knx/schema.pyi +1 -6
  233. homeassistant-stubs/components/knx/storage/const.pyi +6 -0
  234. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -3
  235. homeassistant-stubs/components/lcn/config_flow.pyi +0 -2
  236. homeassistant-stubs/components/lcn/const.pyi +3 -1
  237. homeassistant-stubs/components/lcn/cover.pyi +7 -2
  238. homeassistant-stubs/components/lcn/entity.pyi +1 -0
  239. homeassistant-stubs/components/lcn/helpers.pyi +0 -1
  240. homeassistant-stubs/components/lcn/schemas.pyi +1 -1
  241. homeassistant-stubs/components/lcn/services.pyi +2 -3
  242. homeassistant-stubs/components/litterrobot/entity.pyi +1 -1
  243. homeassistant-stubs/components/matter/select.pyi +2 -0
  244. homeassistant-stubs/components/matter/sensor.pyi +3 -1
  245. homeassistant-stubs/components/media_player/intent.pyi +11 -1
  246. homeassistant-stubs/components/metoffice/__init__.pyi +3 -5
  247. homeassistant-stubs/components/metoffice/config_flow.pyi +4 -2
  248. homeassistant-stubs/components/metoffice/const.pyi +7 -6
  249. homeassistant-stubs/components/metoffice/helpers.pyi +5 -6
  250. homeassistant-stubs/components/metoffice/sensor.pyi +15 -13
  251. homeassistant-stubs/components/metoffice/weather.pyi +23 -11
  252. homeassistant-stubs/components/miele/__init__.pyi +15 -0
  253. homeassistant-stubs/components/miele/api.pyi +9 -0
  254. homeassistant-stubs/components/miele/application_credentials.pyi +5 -0
  255. homeassistant-stubs/components/miele/binary_sensor.pyi +34 -0
  256. homeassistant-stubs/components/miele/button.pyi +32 -0
  257. homeassistant-stubs/components/miele/climate.pyi +55 -0
  258. homeassistant-stubs/components/miele/config_flow.pyi +17 -0
  259. homeassistant-stubs/components/miele/const.pyi +127 -0
  260. homeassistant-stubs/components/miele/coordinator.pyi +29 -0
  261. homeassistant-stubs/components/miele/diagnostics.pyi +13 -0
  262. homeassistant-stubs/components/miele/entity.pyi +24 -0
  263. homeassistant-stubs/components/miele/fan.pyi +39 -0
  264. homeassistant-stubs/components/miele/light.pyi +39 -0
  265. homeassistant-stubs/components/miele/sensor.pyi +72 -0
  266. homeassistant-stubs/components/miele/switch.pyi +52 -0
  267. homeassistant-stubs/components/miele/vacuum.pyi +84 -0
  268. homeassistant-stubs/components/minecraft_server/api.pyi +1 -1
  269. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  270. homeassistant-stubs/components/modbus/const.pyi +9 -0
  271. homeassistant-stubs/components/modbus/light.pyi +24 -1
  272. homeassistant-stubs/components/modbus/sensor.pyi +5 -3
  273. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -2
  274. homeassistant-stubs/components/mqtt/button.pyi +1 -3
  275. homeassistant-stubs/components/mqtt/config_flow.pyi +25 -8
  276. homeassistant-stubs/components/mqtt/const.pyi +57 -0
  277. homeassistant-stubs/components/mqtt/cover.pyi +1 -25
  278. homeassistant-stubs/components/mqtt/fan.pyi +1 -31
  279. homeassistant-stubs/components/mqtt/switch.pyi +1 -5
  280. homeassistant-stubs/components/music_assistant/media_player.pyi +6 -2
  281. homeassistant-stubs/components/nest/config_flow.pyi +2 -0
  282. homeassistant-stubs/components/number/const.pyi +3 -2
  283. homeassistant-stubs/components/nut/__init__.pyi +1 -1
  284. homeassistant-stubs/components/openai_conversation/conversation.pyi +2 -0
  285. homeassistant-stubs/components/pandora/media_player.pyi +12 -13
  286. homeassistant-stubs/components/paperless_ngx/__init__.pyi +13 -0
  287. homeassistant-stubs/components/paperless_ngx/config_flow.pyi +16 -0
  288. homeassistant-stubs/components/paperless_ngx/const.pyi +4 -0
  289. homeassistant-stubs/components/paperless_ngx/coordinator.pyi +39 -0
  290. homeassistant-stubs/components/{rtsp_to_webrtc → paperless_ngx}/diagnostics.pyi +2 -2
  291. homeassistant-stubs/components/paperless_ngx/entity.pyi +16 -0
  292. homeassistant-stubs/components/paperless_ngx/sensor.pyi +27 -0
  293. homeassistant-stubs/components/plugwise/coordinator.pyi +2 -2
  294. homeassistant-stubs/components/qbus/climate.pyi +1 -0
  295. homeassistant-stubs/components/qbus/entity.pyi +3 -3
  296. homeassistant-stubs/components/qbus/light.pyi +1 -0
  297. homeassistant-stubs/components/qbus/scene.pyi +21 -0
  298. homeassistant-stubs/components/qbus/switch.pyi +1 -0
  299. homeassistant-stubs/components/recorder/services.pyi +7 -1
  300. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  301. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  302. homeassistant-stubs/components/reolink/media_source.pyi +2 -1
  303. homeassistant-stubs/components/repairs/websocket_api.pyi +0 -1
  304. homeassistant-stubs/components/samsungtv/__init__.pyi +5 -5
  305. homeassistant-stubs/components/samsungtv/bridge.pyi +2 -1
  306. homeassistant-stubs/components/samsungtv/config_flow.pyi +4 -4
  307. homeassistant-stubs/components/samsungtv/entity.pyi +1 -1
  308. homeassistant-stubs/components/samsungtv/media_player.pyi +2 -1
  309. homeassistant-stubs/components/sensor/__init__.pyi +1 -0
  310. homeassistant-stubs/components/sensor/const.pyi +5 -2
  311. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  312. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  313. homeassistant-stubs/components/shelly/binary_sensor.pyi +3 -2
  314. homeassistant-stubs/components/shelly/button.pyi +5 -4
  315. homeassistant-stubs/components/shelly/climate.pyi +5 -5
  316. homeassistant-stubs/components/shelly/const.pyi +2 -0
  317. homeassistant-stubs/components/shelly/cover.pyi +2 -0
  318. homeassistant-stubs/components/shelly/entity.pyi +4 -2
  319. homeassistant-stubs/components/shelly/event.pyi +4 -2
  320. homeassistant-stubs/components/shelly/light.pyi +2 -0
  321. homeassistant-stubs/components/shelly/number.pyi +3 -2
  322. homeassistant-stubs/components/shelly/select.pyi +2 -0
  323. homeassistant-stubs/components/shelly/sensor.pyi +9 -2
  324. homeassistant-stubs/components/shelly/switch.pyi +2 -2
  325. homeassistant-stubs/components/shelly/text.pyi +2 -0
  326. homeassistant-stubs/components/shelly/update.pyi +1 -0
  327. homeassistant-stubs/components/shelly/utils.pyi +12 -7
  328. homeassistant-stubs/components/shelly/valve.pyi +2 -0
  329. homeassistant-stubs/components/smlight/button.pyi +3 -2
  330. homeassistant-stubs/components/squeezebox/__init__.pyi +1 -1
  331. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +1 -0
  332. homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
  333. homeassistant-stubs/components/squeezebox/button.pyi +3 -0
  334. homeassistant-stubs/components/squeezebox/const.pyi +12 -2
  335. homeassistant-stubs/components/squeezebox/coordinator.pyi +7 -3
  336. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -1
  337. homeassistant-stubs/components/squeezebox/sensor.pyi +1 -0
  338. homeassistant-stubs/components/squeezebox/switch.pyi +47 -0
  339. homeassistant-stubs/components/squeezebox/update.pyi +50 -0
  340. homeassistant-stubs/components/suez_water/coordinator.pyi +19 -4
  341. homeassistant-stubs/components/suez_water/sensor.pyi +2 -0
  342. homeassistant-stubs/components/sun/condition.pyi +13 -0
  343. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +15 -9
  344. homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +29 -0
  345. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +6 -1
  346. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  347. homeassistant-stubs/components/tibber/notify.pyi +2 -2
  348. homeassistant-stubs/components/tibber/sensor.pyi +1 -1
  349. homeassistant-stubs/components/tts/__init__.pyi +4 -1
  350. homeassistant-stubs/components/tts/const.pyi +1 -0
  351. homeassistant-stubs/components/tts/entity.pyi +4 -0
  352. homeassistant-stubs/components/tts/legacy.pyi +3 -1
  353. homeassistant-stubs/components/tts/media_source.pyi +5 -2
  354. homeassistant-stubs/components/unifi/__init__.pyi +1 -1
  355. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  356. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -0
  357. homeassistant-stubs/components/unifi/services.pyi +1 -0
  358. homeassistant-stubs/components/uptimerobot/coordinator.pyi +0 -1
  359. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -1
  360. homeassistant-stubs/components/wallbox/const.pyi +10 -0
  361. homeassistant-stubs/components/wallbox/coordinator.pyi +4 -1
  362. homeassistant-stubs/components/wallbox/select.pyi +29 -0
  363. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  364. homeassistant-stubs/components/wemo/device_trigger.pyi +1 -1
  365. homeassistant-stubs/components/wemo/light.pyi +1 -0
  366. homeassistant-stubs/components/whois/const.pyi +1 -0
  367. homeassistant-stubs/components/whois/sensor.pyi +2 -1
  368. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  369. homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -1
  370. homeassistant-stubs/config_entries.pyi +0 -1
  371. homeassistant-stubs/const.pyi +5 -0
  372. homeassistant-stubs/core_config.pyi +0 -2
  373. homeassistant-stubs/helpers/condition.pyi +1 -6
  374. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +10 -0
  375. homeassistant-stubs/helpers/config_validation.pyi +7 -2
  376. homeassistant-stubs/helpers/device_registry.pyi +4 -4
  377. homeassistant-stubs/helpers/entity_component.pyi +5 -2
  378. homeassistant-stubs/helpers/entity_platform.pyi +4 -1
  379. homeassistant-stubs/helpers/entity_registry.pyi +7 -6
  380. homeassistant-stubs/helpers/selector.pyi +55 -50
  381. homeassistant-stubs/helpers/service.pyi +3 -3
  382. homeassistant-stubs/helpers/template.pyi +4 -1
  383. homeassistant-stubs/util/aiohttp.pyi +5 -0
  384. homeassistant-stubs/util/unit_conversion.pyi +11 -1
  385. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/METADATA +2 -2
  386. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/RECORD +388 -331
  387. homeassistant-stubs/components/metoffice/data.pyi +0 -10
  388. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +0 -19
  389. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -24
  390. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/WHEEL +0 -0
  391. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -8,7 +8,7 @@ from homeassistant.components.websocket_api import messages as messages
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback, valid_entity_id as valid_entity_id
9
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
10
  from homeassistant.helpers.json import json_bytes as json_bytes
11
- from homeassistant.util.unit_conversion import AreaConverter as AreaConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, EnergyDistanceConverter as EnergyDistanceConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
11
+ from homeassistant.util.unit_conversion import AreaConverter as AreaConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, EnergyDistanceConverter as EnergyDistanceConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, MassVolumeConcentrationConverter as MassVolumeConcentrationConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, ReactiveEnergyConverter as ReactiveEnergyConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
12
12
  from typing import Any, Literal
13
13
 
14
14
  CLEAR_STATISTICS_TIME_OUT: int
@@ -9,6 +9,7 @@ from homeassistant.components.stream import create_stream as create_stream
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
 
11
11
  _LOGGER: Incomplete
12
+ VOD_SPLIT_TIME: Incomplete
12
13
 
13
14
  async def async_get_media_source(hass: HomeAssistant) -> ReolinkVODMediaSource: ...
14
15
  def res_name(stream: str) -> str: ...
@@ -22,4 +23,4 @@ class ReolinkVODMediaSource(MediaSource):
22
23
  async def _async_generate_root(self) -> BrowseMediaSource: ...
23
24
  async def _async_generate_resolution_select(self, config_entry_id: str, channel: int) -> BrowseMediaSource: ...
24
25
  async def _async_generate_camera_days(self, config_entry_id: str, channel: int, stream: str) -> BrowseMediaSource: ...
25
- async def _async_generate_camera_files(self, config_entry_id: str, channel: int, stream: str, year: int, month: int, day: int) -> BrowseMediaSource: ...
26
+ async def _async_generate_camera_files(self, config_entry_id: str, channel: int, stream: str, year: int, month: int, day: int, event: str | None = None) -> BrowseMediaSource: ...
@@ -6,7 +6,6 @@ from homeassistant.components import websocket_api as websocket_api
6
6
  from homeassistant.components.http.data_validator import RequestDataValidator as RequestDataValidator
7
7
  from homeassistant.components.http.decorators import require_admin as require_admin
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
- from homeassistant.exceptions import Unauthorized as Unauthorized
10
9
  from homeassistant.helpers.data_entry_flow import FlowManagerIndexView as FlowManagerIndexView, FlowManagerResourceView as FlowManagerResourceView
11
10
  from typing import Any
12
11
 
@@ -1,19 +1,19 @@
1
- from .bridge import SamsungTVBridge as SamsungTVBridge, async_get_device_info as async_get_device_info, mac_from_device_info as mac_from_device_info, model_requires_encryption as model_requires_encryption
2
- from .const import CONF_SESSION_ID as CONF_SESSION_ID, CONF_SSDP_MAIN_TV_AGENT_LOCATION as CONF_SSDP_MAIN_TV_AGENT_LOCATION, CONF_SSDP_RENDERING_CONTROL_LOCATION as CONF_SSDP_RENDERING_CONTROL_LOCATION, DOMAIN as DOMAIN, ENTRY_RELOAD_COOLDOWN as ENTRY_RELOAD_COOLDOWN, LEGACY_PORT as LEGACY_PORT, LOGGER as LOGGER, METHOD_ENCRYPTED_WEBSOCKET as METHOD_ENCRYPTED_WEBSOCKET, METHOD_LEGACY as METHOD_LEGACY, UPNP_SVC_MAIN_TV_AGENT as UPNP_SVC_MAIN_TV_AGENT, UPNP_SVC_RENDERING_CONTROL as UPNP_SVC_RENDERING_CONTROL
1
+ from .bridge import SamsungTVBridge as SamsungTVBridge, mac_from_device_info as mac_from_device_info, model_requires_encryption as model_requires_encryption
2
+ from .const import CONF_SESSION_ID as CONF_SESSION_ID, CONF_SSDP_MAIN_TV_AGENT_LOCATION as CONF_SSDP_MAIN_TV_AGENT_LOCATION, CONF_SSDP_RENDERING_CONTROL_LOCATION as CONF_SSDP_RENDERING_CONTROL_LOCATION, DOMAIN as DOMAIN, ENTRY_RELOAD_COOLDOWN as ENTRY_RELOAD_COOLDOWN, LOGGER as LOGGER, METHOD_ENCRYPTED_WEBSOCKET as METHOD_ENCRYPTED_WEBSOCKET, UPNP_SVC_MAIN_TV_AGENT as UPNP_SVC_MAIN_TV_AGENT, UPNP_SVC_RENDERING_CONTROL as UPNP_SVC_RENDERING_CONTROL
3
3
  from .coordinator import SamsungTVConfigEntry as SamsungTVConfigEntry, SamsungTVDataUpdateCoordinator as SamsungTVDataUpdateCoordinator
4
4
  from _typeshed import Incomplete
5
- from collections.abc import Coroutine
5
+ from collections.abc import Coroutine, Mapping
6
6
  from homeassistant.components import ssdp as ssdp
7
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_METHOD as CONF_METHOD, CONF_MODEL as CONF_MODEL, CONF_PORT as CONF_PORT, CONF_TOKEN as CONF_TOKEN, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
8
8
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
9
- from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
9
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
10
10
  from homeassistant.helpers.debounce import Debouncer as Debouncer
11
11
  from typing import Any
12
12
 
13
13
  PLATFORMS: Incomplete
14
14
 
15
15
  @callback
16
- def _async_get_device_bridge(hass: HomeAssistant, data: dict[str, Any]) -> SamsungTVBridge: ...
16
+ def _async_get_device_bridge(hass: HomeAssistant, data: Mapping[str, Any]) -> SamsungTVBridge: ...
17
17
 
18
18
  class DebouncedEntryReloader:
19
19
  hass: Incomplete
@@ -1,11 +1,12 @@
1
1
  import abc
2
- from .const import CONF_SESSION_ID as CONF_SESSION_ID, ENCRYPTED_WEBSOCKET_PORT as ENCRYPTED_WEBSOCKET_PORT, LEGACY_PORT as LEGACY_PORT, LOGGER as LOGGER, METHOD_ENCRYPTED_WEBSOCKET as METHOD_ENCRYPTED_WEBSOCKET, METHOD_LEGACY as METHOD_LEGACY, METHOD_WEBSOCKET as METHOD_WEBSOCKET, RESULT_AUTH_MISSING as RESULT_AUTH_MISSING, RESULT_CANNOT_CONNECT as RESULT_CANNOT_CONNECT, RESULT_NOT_SUPPORTED as RESULT_NOT_SUPPORTED, RESULT_SUCCESS as RESULT_SUCCESS, SUCCESSFUL_RESULTS as SUCCESSFUL_RESULTS, TIMEOUT_REQUEST as TIMEOUT_REQUEST, TIMEOUT_WEBSOCKET as TIMEOUT_WEBSOCKET, VALUE_CONF_ID as VALUE_CONF_ID, VALUE_CONF_NAME as VALUE_CONF_NAME, WEBSOCKET_PORTS as WEBSOCKET_PORTS
2
+ from .const import CONF_SESSION_ID as CONF_SESSION_ID, DOMAIN as DOMAIN, ENCRYPTED_WEBSOCKET_PORT as ENCRYPTED_WEBSOCKET_PORT, LEGACY_PORT as LEGACY_PORT, LOGGER as LOGGER, METHOD_ENCRYPTED_WEBSOCKET as METHOD_ENCRYPTED_WEBSOCKET, METHOD_LEGACY as METHOD_LEGACY, METHOD_WEBSOCKET as METHOD_WEBSOCKET, RESULT_AUTH_MISSING as RESULT_AUTH_MISSING, RESULT_CANNOT_CONNECT as RESULT_CANNOT_CONNECT, RESULT_NOT_SUPPORTED as RESULT_NOT_SUPPORTED, RESULT_SUCCESS as RESULT_SUCCESS, SUCCESSFUL_RESULTS as SUCCESSFUL_RESULTS, TIMEOUT_REQUEST as TIMEOUT_REQUEST, TIMEOUT_WEBSOCKET as TIMEOUT_WEBSOCKET, VALUE_CONF_ID as VALUE_CONF_ID, VALUE_CONF_NAME as VALUE_CONF_NAME, WEBSOCKET_PORTS as WEBSOCKET_PORTS
3
3
  from _typeshed import Incomplete
4
4
  from abc import ABC, abstractmethod
5
5
  from collections.abc import Callable as Callable, Mapping
6
6
  from datetime import datetime
7
7
  from homeassistant.const import CONF_DESCRIPTION as CONF_DESCRIPTION, CONF_HOST as CONF_HOST, CONF_ID as CONF_ID, CONF_METHOD as CONF_METHOD, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, CONF_TIMEOUT as CONF_TIMEOUT, CONF_TOKEN as CONF_TOKEN
8
8
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
9
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
10
  from homeassistant.helpers import entity_component as entity_component
10
11
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
11
12
  from homeassistant.helpers.device_registry import format_mac as format_mac
@@ -1,9 +1,9 @@
1
1
  from .bridge import SamsungTVBridge as SamsungTVBridge, async_get_device_info as async_get_device_info, mac_from_device_info as mac_from_device_info
2
- from .const import CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_SESSION_ID as CONF_SESSION_ID, CONF_SSDP_MAIN_TV_AGENT_LOCATION as CONF_SSDP_MAIN_TV_AGENT_LOCATION, CONF_SSDP_RENDERING_CONTROL_LOCATION as CONF_SSDP_RENDERING_CONTROL_LOCATION, DEFAULT_MANUFACTURER as DEFAULT_MANUFACTURER, DOMAIN as DOMAIN, LOGGER as LOGGER, METHOD_ENCRYPTED_WEBSOCKET as METHOD_ENCRYPTED_WEBSOCKET, METHOD_LEGACY as METHOD_LEGACY, RESULT_AUTH_MISSING as RESULT_AUTH_MISSING, RESULT_CANNOT_CONNECT as RESULT_CANNOT_CONNECT, RESULT_INVALID_PIN as RESULT_INVALID_PIN, RESULT_NOT_SUPPORTED as RESULT_NOT_SUPPORTED, RESULT_SUCCESS as RESULT_SUCCESS, RESULT_UNKNOWN_HOST as RESULT_UNKNOWN_HOST, SUCCESSFUL_RESULTS as SUCCESSFUL_RESULTS, UPNP_SVC_MAIN_TV_AGENT as UPNP_SVC_MAIN_TV_AGENT, UPNP_SVC_RENDERING_CONTROL as UPNP_SVC_RENDERING_CONTROL
2
+ from .const import CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_SESSION_ID as CONF_SESSION_ID, CONF_SSDP_MAIN_TV_AGENT_LOCATION as CONF_SSDP_MAIN_TV_AGENT_LOCATION, CONF_SSDP_RENDERING_CONTROL_LOCATION as CONF_SSDP_RENDERING_CONTROL_LOCATION, DEFAULT_MANUFACTURER as DEFAULT_MANUFACTURER, DOMAIN as DOMAIN, LOGGER as LOGGER, METHOD_ENCRYPTED_WEBSOCKET as METHOD_ENCRYPTED_WEBSOCKET, METHOD_LEGACY as METHOD_LEGACY, RESULT_AUTH_MISSING as RESULT_AUTH_MISSING, RESULT_CANNOT_CONNECT as RESULT_CANNOT_CONNECT, RESULT_INVALID_PIN as RESULT_INVALID_PIN, RESULT_NOT_SUPPORTED as RESULT_NOT_SUPPORTED, RESULT_SUCCESS as RESULT_SUCCESS, SUCCESSFUL_RESULTS as SUCCESSFUL_RESULTS, UPNP_SVC_MAIN_TV_AGENT as UPNP_SVC_MAIN_TV_AGENT, UPNP_SVC_RENDERING_CONTROL as UPNP_SVC_RENDERING_CONTROL
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Mapping
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_METHOD as CONF_METHOD, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_PIN as CONF_PIN, CONF_PORT as CONF_PORT, CONF_TOKEN as CONF_TOKEN
6
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_METHOD as CONF_METHOD, CONF_MODEL as CONF_MODEL, CONF_PIN as CONF_PIN, CONF_PORT as CONF_PORT, CONF_TOKEN as CONF_TOKEN
7
7
  from homeassistant.core import callback as callback
8
8
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow
9
9
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
@@ -24,6 +24,7 @@ class SamsungTVConfigFlow(ConfigFlow, domain=DOMAIN):
24
24
  VERSION: int
25
25
  MINOR_VERSION: int
26
26
  _host: str
27
+ _bridge: SamsungTVBridge
27
28
  _mac: str | None
28
29
  _udn: str | None
29
30
  _upnp_udn: str | None
@@ -36,7 +37,6 @@ class SamsungTVConfigFlow(ConfigFlow, domain=DOMAIN):
36
37
  _name: str | None
37
38
  _title: str
38
39
  _id: int | None
39
- _bridge: SamsungTVBridge | None
40
40
  _device_info: dict[str, Any] | None
41
41
  _authenticator: SamsungTVEncryptedWSAsyncAuthenticator | None
42
42
  def __init__(self) -> None: ...
@@ -48,7 +48,7 @@ class SamsungTVConfigFlow(ConfigFlow, domain=DOMAIN):
48
48
  async def _async_create_bridge(self) -> None: ...
49
49
  async def _async_get_device_info_and_method(self) -> tuple[str, str | None, dict[str, Any] | None]: ...
50
50
  async def _async_get_and_check_device_info(self) -> bool: ...
51
- async def _async_set_name_host_from_input(self, user_input: dict[str, Any]) -> None: ...
51
+ async def _async_set_name_host_from_input(self, user_input: dict[str, Any]) -> bool: ...
52
52
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
53
53
  async def async_step_pairing(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
54
54
  async def async_step_encrypted_pairing(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -2,7 +2,7 @@ from .const import CONF_MANUFACTURER as CONF_MANUFACTURER, DOMAIN as DOMAIN, LOG
2
2
  from .coordinator import SamsungTVDataUpdateCoordinator as SamsungTVDataUpdateCoordinator
3
3
  from .triggers.turn_on import async_get_turn_on_trigger as async_get_turn_on_trigger
4
4
  from _typeshed import Incomplete
5
- from homeassistant.const import ATTR_CONNECTIONS as ATTR_CONNECTIONS, ATTR_IDENTIFIERS as ATTR_IDENTIFIERS, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME
5
+ from homeassistant.const import ATTR_CONNECTIONS as ATTR_CONNECTIONS, ATTR_IDENTIFIERS as ATTR_IDENTIFIERS, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL
6
6
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
7
7
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
8
  from homeassistant.helpers.entity import Entity as Entity
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
  from .bridge import SamsungTVWSBridge as SamsungTVWSBridge
3
- from .const import CONF_SSDP_RENDERING_CONTROL_LOCATION as CONF_SSDP_RENDERING_CONTROL_LOCATION, LOGGER as LOGGER
3
+ from .const import CONF_SSDP_RENDERING_CONTROL_LOCATION as CONF_SSDP_RENDERING_CONTROL_LOCATION, DOMAIN as DOMAIN, LOGGER as LOGGER
4
4
  from .coordinator import SamsungTVConfigEntry as SamsungTVConfigEntry, SamsungTVDataUpdateCoordinator as SamsungTVDataUpdateCoordinator
5
5
  from .entity import SamsungTVEntity as SamsungTVEntity
6
6
  from _typeshed import Incomplete
@@ -10,6 +10,7 @@ from async_upnp_client.profiles.dlna import DmrDevice
10
10
  from collections.abc import Sequence
11
11
  from homeassistant.components.media_player import MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType
12
12
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
14
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
14
15
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
15
16
  from homeassistant.util.async_ import create_eager_task as create_eager_task
@@ -91,6 +91,7 @@ class SensorEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
91
91
  @override
92
92
  def state(self) -> Any: ...
93
93
  def _display_precision_or_none(self) -> int | None: ...
94
+ def _get_adjusted_display_precision(self) -> int | None: ...
94
95
  def _update_suggested_precision(self) -> None: ...
95
96
  def _custom_unit_or_undef(self, primary_key: str, secondary_key: str) -> str | None | UndefinedType: ...
96
97
  @callback
@@ -1,7 +1,7 @@
1
1
  from _typeshed import Incomplete
2
2
  from enum import StrEnum
3
- from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfArea as UnitOfArea, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfEnergyDistance as UnitOfEnergyDistance, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfReactivePower as UnitOfReactivePower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
4
- from homeassistant.util.unit_conversion import AreaConverter as AreaConverter, BaseUnitConverter as BaseUnitConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, EnergyDistanceConverter as EnergyDistanceConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
3
+ from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER as CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfArea as UnitOfArea, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfEnergyDistance as UnitOfEnergyDistance, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfReactiveEnergy as UnitOfReactiveEnergy, UnitOfReactivePower as UnitOfReactivePower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
4
+ from homeassistant.util.unit_conversion import AreaConverter as AreaConverter, BaseUnitConverter as BaseUnitConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, EnergyDistanceConverter as EnergyDistanceConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, MassVolumeConcentrationConverter as MassVolumeConcentrationConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, ReactiveEnergyConverter as ReactiveEnergyConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
5
5
  from typing import Final
6
6
 
7
7
  DOMAIN: Final[str]
@@ -51,6 +51,7 @@ class SensorDeviceClass(StrEnum):
51
51
  PRECIPITATION = 'precipitation'
52
52
  PRECIPITATION_INTENSITY = 'precipitation_intensity'
53
53
  PRESSURE = 'pressure'
54
+ REACTIVE_ENERGY = 'reactive_energy'
54
55
  REACTIVE_POWER = 'reactive_power'
55
56
  SIGNAL_STRENGTH = 'signal_strength'
56
57
  SOUND_PRESSURE = 'sound_pressure'
@@ -82,5 +83,7 @@ STATE_CLASSES_SCHEMA: Final[Incomplete]
82
83
  STATE_CLASSES: Final[list[str]]
83
84
  UNIT_CONVERTERS: dict[SensorDeviceClass | str | None, type[BaseUnitConverter]]
84
85
  DEVICE_CLASS_UNITS: dict[SensorDeviceClass, set[type[StrEnum] | str | None]]
86
+ DEFAULT_PRECISION_LIMIT: int
87
+ UNITS_PRECISION: Incomplete
85
88
  DEVICE_CLASS_STATE_CLASSES: dict[SensorDeviceClass, set[SensorStateClass]]
86
89
  STATE_CLASS_UNITS: dict[SensorStateClass | str, set[type[StrEnum] | str | None]]
@@ -47,6 +47,7 @@ CONF_IS_PRECIPITATION: str
47
47
  CONF_IS_PRECIPITATION_INTENSITY: str
48
48
  CONF_IS_PRESSURE: str
49
49
  CONF_IS_SPEED: str
50
+ CONF_IS_REACTIVE_ENERGY: str
50
51
  CONF_IS_REACTIVE_POWER: str
51
52
  CONF_IS_SIGNAL_STRENGTH: str
52
53
  CONF_IS_SOUND_PRESSURE: str
@@ -46,6 +46,7 @@ CONF_POWER_FACTOR: str
46
46
  CONF_PRECIPITATION: str
47
47
  CONF_PRECIPITATION_INTENSITY: str
48
48
  CONF_PRESSURE: str
49
+ CONF_REACTIVE_ENERGY: str
49
50
  CONF_REACTIVE_POWER: str
50
51
  CONF_SIGNAL_STRENGTH: str
51
52
  CONF_SOUND_PRESSURE: str
@@ -1,17 +1,18 @@
1
1
  from .const import CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD
2
2
  from .coordinator import ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
3
3
  from .entity import BlockEntityDescription as BlockEntityDescription, RestEntityDescription as RestEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyBlockAttributeEntity as ShellyBlockAttributeEntity, ShellyRestAttributeEntity as ShellyRestAttributeEntity, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity, ShellySleepingRpcAttributeEntity as ShellySleepingRpcAttributeEntity, async_setup_entry_attribute_entities as async_setup_entry_attribute_entities, async_setup_entry_rest as async_setup_entry_rest, async_setup_entry_rpc as async_setup_entry_rpc
4
- from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_device_entry_gen as get_device_entry_gen, get_virtual_component_ids as get_virtual_component_ids, is_block_momentary_input as is_block_momentary_input, is_rpc_momentary_input as is_rpc_momentary_input
4
+ from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_virtual_component_ids as get_virtual_component_ids, is_block_momentary_input as is_block_momentary_input, is_rpc_momentary_input as is_rpc_momentary_input
5
5
  from _typeshed import Incomplete
6
6
  from dataclasses import dataclass
7
7
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
8
8
  from homeassistant.const import EntityCategory as EntityCategory, STATE_ON as STATE_ON
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
- from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, DeviceInfo as DeviceInfo
11
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
11
  from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
13
12
  from typing import Final
14
13
 
14
+ PARALLEL_UPDATES: int
15
+
15
16
  @dataclass(frozen=True, kw_only=True)
16
17
  class BlockBinarySensorDescription(BlockEntityDescription, BinarySensorEntityDescription): ...
17
18
  @dataclass(frozen=True, kw_only=True)
@@ -1,6 +1,6 @@
1
1
  from .const import DOMAIN as DOMAIN, LOGGER as LOGGER, SHELLY_GAS_MODELS as SHELLY_GAS_MODELS
2
2
  from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
3
- from .utils import get_device_entry_gen as get_device_entry_gen, get_rpc_key_ids as get_rpc_key_ids
3
+ from .utils import get_block_device_info as get_block_device_info, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_rpc_device_info as get_rpc_device_info, get_rpc_key_ids as get_rpc_key_ids
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
@@ -9,12 +9,14 @@ from homeassistant.const import EntityCategory as EntityCategory
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
11
  from homeassistant.helpers import entity_registry as er
12
- from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
12
+ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
13
13
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
14
14
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
15
15
  from homeassistant.util import slugify as slugify
16
16
  from typing import Any, Final
17
17
 
18
+ PARALLEL_UPDATES: int
19
+
18
20
  @dataclass(frozen=True, kw_only=True)
19
21
  class ShellyButtonDescription[_ShellyCoordinatorT: ShellyBlockCoordinator | ShellyRpcCoordinator](ButtonEntityDescription):
20
22
  press_action: str
@@ -28,20 +30,19 @@ def async_migrate_unique_ids(coordinator: ShellyRpcCoordinator | ShellyBlockCoor
28
30
  async def async_setup_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
29
31
 
30
32
  class ShellyBaseButton(CoordinatorEntity[ShellyRpcCoordinator | ShellyBlockCoordinator], ButtonEntity):
33
+ _attr_has_entity_name: bool
31
34
  entity_description: ShellyButtonDescription[ShellyRpcCoordinator | ShellyBlockCoordinator]
32
35
  def __init__(self, coordinator: ShellyRpcCoordinator | ShellyBlockCoordinator, description: ShellyButtonDescription[ShellyRpcCoordinator | ShellyBlockCoordinator]) -> None: ...
33
36
  async def async_press(self) -> None: ...
34
37
  async def _press_method(self) -> None: ...
35
38
 
36
39
  class ShellyButton(ShellyBaseButton):
37
- _attr_name: Incomplete
38
40
  _attr_unique_id: Incomplete
39
41
  _attr_device_info: Incomplete
40
42
  def __init__(self, coordinator: ShellyRpcCoordinator | ShellyBlockCoordinator, description: ShellyButtonDescription[ShellyRpcCoordinator | ShellyBlockCoordinator]) -> None: ...
41
43
  async def _press_method(self) -> None: ...
42
44
 
43
45
  class ShellyBluTrvButton(ShellyBaseButton):
44
- _attr_name: Incomplete
45
46
  _attr_unique_id: Incomplete
46
47
  _attr_device_info: Incomplete
47
48
  _id: Incomplete
@@ -1,7 +1,7 @@
1
1
  from .const import BLU_TRV_TEMPERATURE_SETTINGS as BLU_TRV_TEMPERATURE_SETTINGS, DOMAIN as DOMAIN, LOGGER as LOGGER, NOT_CALIBRATED_ISSUE_ID as NOT_CALIBRATED_ISSUE_ID, RPC_THERMOSTAT_SETTINGS as RPC_THERMOSTAT_SETTINGS, SHTRV_01_TEMPERATURE_SETTINGS as SHTRV_01_TEMPERATURE_SETTINGS
2
2
  from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
3
3
  from .entity import ShellyRpcEntity as ShellyRpcEntity, rpc_call as rpc_call
4
- from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_key_ids as get_rpc_key_ids, is_rpc_thermostat_internal_actuator as is_rpc_thermostat_internal_actuator
4
+ from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_block_device_info as get_block_device_info, get_block_entity_name as get_block_entity_name, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_rpc_key_ids as get_rpc_key_ids, is_rpc_thermostat_internal_actuator as is_rpc_thermostat_internal_actuator
5
5
  from _typeshed import Incomplete
6
6
  from aioshelly.block_device import Block as Block
7
7
  from collections.abc import Mapping
@@ -10,7 +10,6 @@ from homeassistant.components.climate import ClimateEntity as ClimateEntity, Cli
10
10
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
12
12
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
- from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
14
13
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
15
14
  from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
16
15
  from homeassistant.helpers.restore_state import ExtraStoredData as ExtraStoredData, RestoreEntity as RestoreEntity
@@ -19,6 +18,8 @@ from homeassistant.util.unit_conversion import TemperatureConverter as Temperatu
19
18
  from homeassistant.util.unit_system import US_CUSTOMARY_SYSTEM as US_CUSTOMARY_SYSTEM
20
19
  from typing import Any
21
20
 
21
+ PARALLEL_UPDATES: int
22
+
22
23
  async def async_setup_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
24
  @callback
24
25
  def async_setup_climate_entities(async_add_entities: AddConfigEntryEntitiesCallback, coordinator: ShellyBlockCoordinator) -> None: ...
@@ -39,6 +40,7 @@ class BlockSleepingClimate(CoordinatorEntity[ShellyBlockCoordinator], RestoreEnt
39
40
  _attr_supported_features: Incomplete
40
41
  _attr_target_temperature_step: Incomplete
41
42
  _attr_temperature_unit: Incomplete
43
+ _attr_has_entity_name: bool
42
44
  block: Block | None
43
45
  control_result: dict[str, Any] | None
44
46
  device_block: Block | None
@@ -46,9 +48,9 @@ class BlockSleepingClimate(CoordinatorEntity[ShellyBlockCoordinator], RestoreEnt
46
48
  last_state_attributes: Mapping[str, Any]
47
49
  _preset_modes: list[str]
48
50
  _last_target_temp: Incomplete
49
- _attr_name: Incomplete
50
51
  _unique_id: Incomplete
51
52
  _attr_device_info: Incomplete
53
+ _attr_name: Incomplete
52
54
  _channel: Incomplete
53
55
  def __init__(self, coordinator: ShellyBlockCoordinator, sensor_block: Block | None, device_block: Block | None, entry: RegistryEntry | None = None) -> None: ...
54
56
  @property
@@ -110,12 +112,10 @@ class RpcBluTrvClimate(ShellyRpcEntity, ClimateEntity):
110
112
  _attr_hvac_mode: Incomplete
111
113
  _attr_target_temperature_step: Incomplete
112
114
  _attr_temperature_unit: Incomplete
113
- _attr_has_entity_name: bool
114
115
  _id: Incomplete
115
116
  _config: Incomplete
116
117
  _attr_unique_id: Incomplete
117
118
  _attr_device_info: Incomplete
118
- _attr_name: Incomplete
119
119
  def __init__(self, coordinator: ShellyRpcCoordinator, id_: int) -> None: ...
120
120
  @property
121
121
  def target_temperature(self) -> float | None: ...
@@ -77,9 +77,11 @@ GEN2_RELEASE_URL: str
77
77
  GEN2_BETA_RELEASE_URL: Incomplete
78
78
  DEVICES_WITHOUT_FIRMWARE_CHANGELOG: Incomplete
79
79
  CONF_GEN: str
80
+ VIRTUAL_COMPONENTS: Incomplete
80
81
  VIRTUAL_COMPONENTS_MAP: Incomplete
81
82
  VIRTUAL_NUMBER_MODE_MAP: Incomplete
82
83
  API_WS_URL: str
83
84
  COMPONENT_ID_PATTERN: Incomplete
84
85
  ROLE_TO_DEVICE_CLASS_MAP: Incomplete
85
86
  MAX_SCRIPT_SIZE: int
87
+ All_LIGHT_TYPES: Incomplete
@@ -8,6 +8,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
8
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
9
  from typing import Any
10
10
 
11
+ PARALLEL_UPDATES: int
12
+
11
13
  async def async_setup_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
12
14
  @callback
13
15
  def async_setup_block_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
@@ -1,13 +1,12 @@
1
1
  from .const import CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, DOMAIN as DOMAIN, LOGGER as LOGGER
2
2
  from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
3
- from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_block_entity_name as get_block_entity_name, get_rpc_entity_name as get_rpc_entity_name, get_rpc_key_instances as get_rpc_key_instances
3
+ from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_block_device_info as get_block_device_info, get_block_entity_name as get_block_entity_name, get_rpc_device_info as get_rpc_device_info, get_rpc_entity_name as get_rpc_entity_name, get_rpc_key_instances as get_rpc_key_instances
4
4
  from _typeshed import Incomplete
5
5
  from aioshelly.block_device import Block as Block
6
6
  from collections.abc import Awaitable, Callable as Callable, Coroutine, Mapping
7
7
  from dataclasses import dataclass
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
9
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
- from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
11
10
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
12
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
12
  from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
@@ -60,6 +59,7 @@ class RestEntityDescription(EntityDescription):
60
59
  def rpc_call[_T: ShellyRpcEntity, **_P](func: Callable[Concatenate[_T, _P], Awaitable[None]]) -> Callable[Concatenate[_T, _P], Coroutine[Any, Any, None]]: ...
61
60
 
62
61
  class ShellyBlockEntity(CoordinatorEntity[ShellyBlockCoordinator]):
62
+ _attr_has_entity_name: bool
63
63
  block: Incomplete
64
64
  _attr_name: Incomplete
65
65
  _attr_device_info: Incomplete
@@ -71,6 +71,7 @@ class ShellyBlockEntity(CoordinatorEntity[ShellyBlockCoordinator]):
71
71
  async def set_state(self, **kwargs: Any) -> Any: ...
72
72
 
73
73
  class ShellyRpcEntity(CoordinatorEntity[ShellyRpcCoordinator]):
74
+ _attr_has_entity_name: bool
74
75
  key: Incomplete
75
76
  _attr_device_info: Incomplete
76
77
  _attr_unique_id: Incomplete
@@ -100,6 +101,7 @@ class ShellyBlockAttributeEntity(ShellyBlockEntity, Entity):
100
101
  def extra_state_attributes(self) -> dict[str, Any] | None: ...
101
102
 
102
103
  class ShellyRestAttributeEntity(CoordinatorEntity[ShellyBlockCoordinator]):
104
+ _attr_has_entity_name: bool
103
105
  entity_description: RestEntityDescription
104
106
  block_coordinator: Incomplete
105
107
  attribute: Incomplete
@@ -1,18 +1,19 @@
1
1
  from .const import BASIC_INPUTS_EVENTS_TYPES as BASIC_INPUTS_EVENTS_TYPES, RPC_INPUTS_EVENTS_TYPES as RPC_INPUTS_EVENTS_TYPES, SHIX3_1_INPUTS_EVENTS_TYPES as SHIX3_1_INPUTS_EVENTS_TYPES
2
2
  from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
3
3
  from .entity import ShellyBlockEntity as ShellyBlockEntity
4
- from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_entity_name as get_rpc_entity_name, get_rpc_key_instances as get_rpc_key_instances, is_block_momentary_input as is_block_momentary_input, is_rpc_momentary_input as is_rpc_momentary_input
4
+ from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_device_info as get_rpc_device_info, get_rpc_entity_name as get_rpc_entity_name, get_rpc_key_instances as get_rpc_key_instances, is_block_momentary_input as is_block_momentary_input, is_rpc_momentary_input as is_rpc_momentary_input
5
5
  from _typeshed import Incomplete
6
6
  from aioshelly.block_device import Block as Block
7
7
  from collections.abc import Callable as Callable
8
8
  from dataclasses import dataclass
9
9
  from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
- from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
12
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
12
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
14
13
  from typing import Any, Final
15
14
 
15
+ PARALLEL_UPDATES: int
16
+
16
17
  @dataclass(frozen=True, kw_only=True)
17
18
  class ShellyBlockEventDescription(EventEntityDescription):
18
19
  removal_condition: Callable[[dict, Block], bool] | None = ...
@@ -38,6 +39,7 @@ class ShellyBlockEvent(ShellyBlockEntity, EventEntity):
38
39
  def _async_handle_event(self, event: dict[str, Any]) -> None: ...
39
40
 
40
41
  class ShellyRpcEvent(CoordinatorEntity[ShellyRpcCoordinator], EventEntity):
42
+ _attr_has_entity_name: bool
41
43
  entity_description: ShellyRpcEventDescription
42
44
  event_id: Incomplete
43
45
  _attr_device_info: Incomplete
@@ -9,6 +9,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
10
  from typing import Any
11
11
 
12
+ PARALLEL_UPDATES: int
13
+
12
14
  async def async_setup_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
15
  @callback
14
16
  def async_setup_block_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
@@ -1,7 +1,7 @@
1
1
  from .const import CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, DOMAIN as DOMAIN, LOGGER as LOGGER, VIRTUAL_NUMBER_MODE_MAP as VIRTUAL_NUMBER_MODE_MAP
2
2
  from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
3
3
  from .entity import BlockEntityDescription as BlockEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity, async_setup_entry_attribute_entities as async_setup_entry_attribute_entities, async_setup_entry_rpc as async_setup_entry_rpc, rpc_call as rpc_call
4
- from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_device_entry_gen as get_device_entry_gen, get_virtual_component_ids as get_virtual_component_ids
4
+ from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_virtual_component_ids as get_virtual_component_ids
5
5
  from _typeshed import Incomplete
6
6
  from aioshelly.block_device import Block as Block
7
7
  from collections.abc import Callable as Callable
@@ -10,11 +10,12 @@ from homeassistant.components.number import NumberEntity as NumberEntity, Number
10
10
  from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfTemperature as UnitOfTemperature
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant
12
12
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
- from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, DeviceInfo as DeviceInfo
14
13
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
15
14
  from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
16
15
  from typing import Any, Final
17
16
 
17
+ PARALLEL_UPDATES: int
18
+
18
19
  @dataclass(frozen=True, kw_only=True)
19
20
  class BlockNumberDescription(BlockEntityDescription, NumberEntityDescription):
20
21
  rest_path: str = ...
@@ -8,6 +8,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
9
  from typing import Final
10
10
 
11
+ PARALLEL_UPDATES: int
12
+
11
13
  @dataclass(frozen=True, kw_only=True)
12
14
  class RpcSelectDescription(RpcEntityDescription, SelectEntityDescription): ...
13
15
 
@@ -1,7 +1,7 @@
1
1
  from .const import CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, ROLE_TO_DEVICE_CLASS_MAP as ROLE_TO_DEVICE_CLASS_MAP
2
2
  from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
3
3
  from .entity import BlockEntityDescription as BlockEntityDescription, RestEntityDescription as RestEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyBlockAttributeEntity as ShellyBlockAttributeEntity, ShellyRestAttributeEntity as ShellyRestAttributeEntity, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity, ShellySleepingRpcAttributeEntity as ShellySleepingRpcAttributeEntity, async_setup_entry_attribute_entities as async_setup_entry_attribute_entities, async_setup_entry_rest as async_setup_entry_rest, async_setup_entry_rpc as async_setup_entry_rpc
4
- from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_device_entry_gen as get_device_entry_gen, get_device_uptime as get_device_uptime, get_shelly_air_lamp_life as get_shelly_air_lamp_life, get_virtual_component_ids as get_virtual_component_ids, is_rpc_wifi_stations_disabled as is_rpc_wifi_stations_disabled
4
+ from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_device_uptime as get_device_uptime, get_rpc_device_info as get_rpc_device_info, get_shelly_air_lamp_life as get_shelly_air_lamp_life, get_virtual_component_ids as get_virtual_component_ids, is_rpc_wifi_stations_disabled as is_rpc_wifi_stations_disabled
5
5
  from _typeshed import Incomplete
6
6
  from aioshelly.block_device import Block as Block
7
7
  from collections.abc import Callable as Callable
@@ -9,18 +9,20 @@ from dataclasses import dataclass
9
9
  from homeassistant.components.sensor import RestoreSensor as RestoreSensor, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorExtraStoredData as SensorExtraStoredData, SensorStateClass as SensorStateClass
10
10
  from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant
12
- from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, DeviceInfo as DeviceInfo
13
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
14
13
  from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
15
14
  from homeassistant.helpers.typing import StateType as StateType
16
15
  from typing import Final
17
16
 
17
+ PARALLEL_UPDATES: int
18
+
18
19
  @dataclass(frozen=True, kw_only=True)
19
20
  class BlockSensorDescription(BlockEntityDescription, SensorEntityDescription): ...
20
21
 
21
22
  @dataclass(frozen=True, kw_only=True)
22
23
  class RpcSensorDescription(RpcEntityDescription, SensorEntityDescription):
23
24
  device_class_fn: Callable[[dict], SensorDeviceClass | None] | None = ...
25
+ emeter_phase: str | None = ...
24
26
 
25
27
  @dataclass(frozen=True, kw_only=True)
26
28
  class RestSensorDescription(RestEntityDescription, SensorEntityDescription): ...
@@ -33,6 +35,11 @@ class RpcSensor(ShellyRpcAttributeEntity, SensorEntity):
33
35
  @property
34
36
  def native_value(self) -> StateType: ...
35
37
 
38
+ class RpcEmeterPhaseSensor(RpcSensor):
39
+ entity_description: RpcSensorDescription
40
+ _attr_device_info: Incomplete
41
+ def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcSensorDescription) -> None: ...
42
+
36
43
  class RpcBluTrvSensor(RpcSensor):
37
44
  _attr_device_info: Incomplete
38
45
  def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcSensorDescription) -> None: ...
@@ -13,6 +13,8 @@ from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
13
13
  from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
14
14
  from typing import Any
15
15
 
16
+ PARALLEL_UPDATES: int
17
+
16
18
  @dataclass(frozen=True, kw_only=True)
17
19
  class BlockSwitchDescription(BlockEntityDescription, SwitchEntityDescription): ...
18
20
 
@@ -60,13 +62,11 @@ class BlockRelaySwitch(ShellyBlockAttributeEntity, SwitchEntity):
60
62
 
61
63
  class RpcSwitch(ShellyRpcAttributeEntity, SwitchEntity):
62
64
  entity_description: RpcSwitchDescription
63
- _attr_has_entity_name: bool
64
65
  @property
65
66
  def is_on(self) -> bool: ...
66
67
  async def async_turn_on(self, **kwargs: Any) -> None: ...
67
68
  async def async_turn_off(self, **kwargs: Any) -> None: ...
68
69
 
69
70
  class RpcRelaySwitch(RpcSwitch):
70
- _attr_has_entity_name: bool
71
71
  _attr_unique_id: str
72
72
  def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcEntityDescription) -> None: ...
@@ -8,6 +8,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
9
  from typing import Final
10
10
 
11
+ PARALLEL_UPDATES: int
12
+
11
13
  @dataclass(frozen=True, kw_only=True)
12
14
  class RpcTextDescription(RpcEntityDescription, TextEntityDescription): ...
13
15
 
@@ -14,6 +14,7 @@ from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
14
14
  from typing import Any, Final
15
15
 
16
16
  LOGGER: Incomplete
17
+ PARALLEL_UPDATES: int
17
18
 
18
19
  @dataclass(frozen=True, kw_only=True)
19
20
  class RpcUpdateDescription(RpcEntityDescription, UpdateEntityDescription):
@@ -1,4 +1,4 @@
1
- from .const import API_WS_URL as API_WS_URL, BASIC_INPUTS_EVENTS_TYPES as BASIC_INPUTS_EVENTS_TYPES, COMPONENT_ID_PATTERN as COMPONENT_ID_PATTERN, CONF_COAP_PORT as CONF_COAP_PORT, CONF_GEN as CONF_GEN, DEVICES_WITHOUT_FIRMWARE_CHANGELOG as DEVICES_WITHOUT_FIRMWARE_CHANGELOG, DOMAIN as DOMAIN, FIRMWARE_UNSUPPORTED_ISSUE_ID as FIRMWARE_UNSUPPORTED_ISSUE_ID, GEN1_RELEASE_URL as GEN1_RELEASE_URL, GEN2_BETA_RELEASE_URL as GEN2_BETA_RELEASE_URL, GEN2_RELEASE_URL as GEN2_RELEASE_URL, LOGGER as LOGGER, MAX_SCRIPT_SIZE as MAX_SCRIPT_SIZE, RPC_INPUTS_EVENTS_TYPES as RPC_INPUTS_EVENTS_TYPES, SHAIR_MAX_WORK_HOURS as SHAIR_MAX_WORK_HOURS, SHBTN_INPUTS_EVENTS_TYPES as SHBTN_INPUTS_EVENTS_TYPES, SHBTN_MODELS as SHBTN_MODELS, SHELLY_EMIT_EVENT_PATTERN as SHELLY_EMIT_EVENT_PATTERN, SHIX3_1_INPUTS_EVENTS_TYPES as SHIX3_1_INPUTS_EVENTS_TYPES, UPTIME_DEVIATION as UPTIME_DEVIATION, VIRTUAL_COMPONENTS_MAP as VIRTUAL_COMPONENTS_MAP
1
+ from .const import API_WS_URL as API_WS_URL, All_LIGHT_TYPES as All_LIGHT_TYPES, BASIC_INPUTS_EVENTS_TYPES as BASIC_INPUTS_EVENTS_TYPES, COMPONENT_ID_PATTERN as COMPONENT_ID_PATTERN, CONF_COAP_PORT as CONF_COAP_PORT, CONF_GEN as CONF_GEN, DEVICES_WITHOUT_FIRMWARE_CHANGELOG as DEVICES_WITHOUT_FIRMWARE_CHANGELOG, DOMAIN as DOMAIN, FIRMWARE_UNSUPPORTED_ISSUE_ID as FIRMWARE_UNSUPPORTED_ISSUE_ID, GEN1_RELEASE_URL as GEN1_RELEASE_URL, GEN2_BETA_RELEASE_URL as GEN2_BETA_RELEASE_URL, GEN2_RELEASE_URL as GEN2_RELEASE_URL, LOGGER as LOGGER, MAX_SCRIPT_SIZE as MAX_SCRIPT_SIZE, RPC_INPUTS_EVENTS_TYPES as RPC_INPUTS_EVENTS_TYPES, SHAIR_MAX_WORK_HOURS as SHAIR_MAX_WORK_HOURS, SHBTN_INPUTS_EVENTS_TYPES as SHBTN_INPUTS_EVENTS_TYPES, SHBTN_MODELS as SHBTN_MODELS, SHELLY_EMIT_EVENT_PATTERN as SHELLY_EMIT_EVENT_PATTERN, SHIX3_1_INPUTS_EVENTS_TYPES as SHIX3_1_INPUTS_EVENTS_TYPES, UPTIME_DEVIATION as UPTIME_DEVIATION, VIRTUAL_COMPONENTS as VIRTUAL_COMPONENTS, VIRTUAL_COMPONENTS_MAP as VIRTUAL_COMPONENTS_MAP
2
2
  from _typeshed import Incomplete
3
3
  from aiohttp.web import Request as Request, WebSocketResponse as WebSocketResponse
4
4
  from aioshelly.block_device import Block as Block, BlockDevice as BlockDevice, COAP
@@ -11,7 +11,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
11
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MODEL as CONF_MODEL, CONF_PORT as CONF_PORT, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
12
12
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
13
13
  from homeassistant.helpers import singleton as singleton
14
- from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC
14
+ from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
15
15
  from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError, get_url as get_url
16
16
  from homeassistant.util.dt import utcnow as utcnow
17
17
  from typing import Any
@@ -19,8 +19,9 @@ from typing import Any
19
19
  @callback
20
20
  def async_remove_shelly_entity(hass: HomeAssistant, domain: str, unique_id: str) -> None: ...
21
21
  def get_number_of_channels(device: BlockDevice, block: Block) -> int: ...
22
- def get_block_entity_name(device: BlockDevice, block: Block | None, description: str | None = None) -> str: ...
23
- def get_block_channel_name(device: BlockDevice, block: Block | None) -> str: ...
22
+ def get_block_entity_name(device: BlockDevice, block: Block | None, description: str | None = None) -> str | None: ...
23
+ def get_block_channel_name(device: BlockDevice, block: Block | None) -> str | None: ...
24
+ def get_block_sub_device_name(device: BlockDevice, block: Block) -> str: ...
24
25
  def is_block_momentary_input(settings: dict[str, Any], block: Block, include_detached: bool = False) -> bool: ...
25
26
  def is_block_exclude_from_relay(settings: dict[str, Any], block: Block) -> bool: ...
26
27
  def get_device_uptime(uptime: float, last_uptime: datetime | None) -> datetime: ...
@@ -43,10 +44,11 @@ def get_info_auth(info: dict[str, Any]) -> bool: ...
43
44
  def get_info_gen(info: dict[str, Any]) -> int: ...
44
45
  def get_model_name(info: dict[str, Any]) -> str: ...
45
46
  def get_shelly_model_name(model: str, sleep_period: int, device: BlockDevice | RpcDevice) -> str | None: ...
46
- def get_rpc_channel_name(device: RpcDevice, key: str) -> str: ...
47
- def get_rpc_entity_name(device: RpcDevice, key: str, description: str | None = None) -> str: ...
47
+ def get_rpc_channel_name(device: RpcDevice, key: str) -> str | None: ...
48
+ def get_rpc_sub_device_name(device: RpcDevice, key: str, emeter_phase: str | None = None) -> str: ...
49
+ def get_rpc_entity_name(device: RpcDevice, key: str, description: str | None = None) -> str | None: ...
48
50
  def get_device_entry_gen(entry: ConfigEntry) -> int: ...
49
- def get_rpc_key_instances(keys_dict: dict[str, Any], key: str) -> list[str]: ...
51
+ def get_rpc_key_instances(keys_dict: dict[str, Any], key: str, all_lights: bool = False) -> list[str]: ...
50
52
  def get_rpc_key_ids(keys_dict: dict[str, Any], key: str) -> list[int]: ...
51
53
  def is_rpc_momentary_input(config: dict[str, Any], status: dict[str, Any], key: str) -> bool: ...
52
54
  def is_block_channel_type_light(settings: dict[str, Any], channel: int) -> bool: ...
@@ -75,3 +77,6 @@ async def get_rpc_script_event_types(device: RpcDevice, id: int) -> list[str]: .
75
77
  def is_rpc_exclude_from_relay(settings: dict[str, Any], status: dict[str, Any], channel: str) -> bool: ...
76
78
  def get_shelly_air_lamp_life(lamp_seconds: int) -> float: ...
77
79
  async def get_rpc_scripts_event_types(device: RpcDevice, ignore_scripts: list[str]) -> dict[int, list[str]]: ...
80
+ def get_rpc_device_info(device: RpcDevice, mac: str, key: str | None = None, emeter_phase: str | None = None) -> DeviceInfo: ...
81
+ def get_blu_trv_device_info(config: dict[str, Any], ble_addr: str, parent_mac: str) -> DeviceInfo: ...
82
+ def get_block_device_info(device: BlockDevice, mac: str, block: Block | None = None) -> DeviceInfo: ...