homeassistant-stubs 2024.2.4__py3-none-any.whl → 2024.3.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 (302) hide show
  1. homeassistant-stubs/bootstrap.pyi +20 -5
  2. homeassistant-stubs/components/aftership/const.pyi +0 -1
  3. homeassistant-stubs/components/aftership/sensor.pyi +2 -2
  4. homeassistant-stubs/components/airthings_ble/config_flow.pyi +1 -0
  5. homeassistant-stubs/components/airzone_cloud/sensor.pyi +1 -1
  6. homeassistant-stubs/components/alexa/config.pyi +2 -0
  7. homeassistant-stubs/components/amberelectric/sensor.pyi +0 -1
  8. homeassistant-stubs/components/androidtv/entity.pyi +30 -0
  9. homeassistant-stubs/components/androidtv/media_player.pyi +5 -23
  10. homeassistant-stubs/components/anthemav/media_player.pyi +0 -1
  11. homeassistant-stubs/components/api/__init__.pyi +0 -1
  12. homeassistant-stubs/components/apple_tv/__init__.pyi +68 -0
  13. homeassistant-stubs/components/apple_tv/browse_media.pyi +5 -0
  14. homeassistant-stubs/components/apple_tv/config_flow.pyi +63 -0
  15. homeassistant-stubs/components/apple_tv/const.pyi +4 -0
  16. homeassistant-stubs/components/apple_tv/media_player.pyi +93 -0
  17. homeassistant-stubs/components/apple_tv/remote.pyi +23 -0
  18. homeassistant-stubs/components/assist_pipeline/__init__.pyi +1 -1
  19. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -1
  20. homeassistant-stubs/components/assist_pipeline/error.pyi +4 -0
  21. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +5 -5
  22. homeassistant-stubs/components/asterisk_mbox/__init__.pyi +1 -0
  23. homeassistant-stubs/components/asuswrt/router.pyi +1 -1
  24. homeassistant-stubs/components/auth/__init__.pyi +2 -2
  25. homeassistant-stubs/components/automation/__init__.pyi +2 -1
  26. homeassistant-stubs/components/axis/binary_sensor.pyi +4 -0
  27. homeassistant-stubs/components/backup/manager.pyi +5 -3
  28. homeassistant-stubs/components/backup/websocket.pyi +4 -2
  29. homeassistant-stubs/components/blue_current/__init__.pyi +4 -3
  30. homeassistant-stubs/components/blue_current/entity.pyi +5 -2
  31. homeassistant-stubs/components/bluetooth/manager.pyi +2 -2
  32. homeassistant-stubs/components/bluetooth/match.pyi +3 -0
  33. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +1 -0
  34. homeassistant-stubs/components/braviatv/coordinator.pyi +2 -0
  35. homeassistant-stubs/components/braviatv/media_player.pyi +5 -0
  36. homeassistant-stubs/components/brother/sensor.pyi +3 -3
  37. homeassistant-stubs/components/bthome/config_flow.pyi +4 -4
  38. homeassistant-stubs/components/calendar/trigger.pyi +2 -1
  39. homeassistant-stubs/components/camera/media_source.pyi +1 -0
  40. homeassistant-stubs/components/camera/prefs.pyi +2 -0
  41. homeassistant-stubs/components/cert_expiry/sensor.pyi +0 -1
  42. homeassistant-stubs/components/climate/__init__.pyi +3 -1
  43. homeassistant-stubs/components/cloud/const.pyi +2 -0
  44. homeassistant-stubs/components/cloud/google_config.pyi +7 -5
  45. homeassistant-stubs/components/cloud/http_api.pyi +1 -1
  46. homeassistant-stubs/components/cloud/prefs.pyi +6 -2
  47. homeassistant-stubs/components/cloud/tts.pyi +3 -2
  48. homeassistant-stubs/components/config/area_registry.pyi +1 -1
  49. homeassistant-stubs/components/config/auth.pyi +2 -2
  50. homeassistant-stubs/components/config/auth_provider_homeassistant.pyi +2 -2
  51. homeassistant-stubs/components/config/automation.pyi +2 -2
  52. homeassistant-stubs/components/config/config_entries.pyi +5 -4
  53. homeassistant-stubs/components/config/core.pyi +2 -2
  54. homeassistant-stubs/components/config/device_registry.pyi +1 -1
  55. homeassistant-stubs/components/config/entity_registry.pyi +1 -1
  56. homeassistant-stubs/components/config/floor_registry.pyi +12 -0
  57. homeassistant-stubs/components/config/label_registry.pyi +12 -0
  58. homeassistant-stubs/components/config/scene.pyi +2 -2
  59. homeassistant-stubs/components/config/script.pyi +2 -2
  60. homeassistant-stubs/components/cpuspeed/sensor.pyi +0 -1
  61. homeassistant-stubs/components/crownstone/light.pyi +1 -1
  62. homeassistant-stubs/components/deconz/light.pyi +1 -1
  63. homeassistant-stubs/components/demo/fan.pyi +1 -0
  64. homeassistant-stubs/components/dhcp/__init__.pyi +24 -32
  65. homeassistant-stubs/components/dlna_dmr/media_player.pyi +8 -3
  66. homeassistant-stubs/components/dnsip/sensor.pyi +1 -1
  67. homeassistant-stubs/components/dunehd/media_player.pyi +5 -2
  68. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +3 -3
  69. homeassistant-stubs/components/ecovacs/button.pyi +5 -5
  70. homeassistant-stubs/components/ecovacs/controller.pyi +6 -3
  71. homeassistant-stubs/components/ecovacs/entity.pyi +11 -9
  72. homeassistant-stubs/components/ecovacs/image.pyi +2 -2
  73. homeassistant-stubs/components/ecovacs/lawn_mower.pyi +28 -0
  74. homeassistant-stubs/components/ecovacs/number.pyi +3 -3
  75. homeassistant-stubs/components/ecovacs/select.pyi +3 -3
  76. homeassistant-stubs/components/ecovacs/sensor.pyi +6 -6
  77. homeassistant-stubs/components/ecovacs/switch.pyi +4 -4
  78. homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -3
  79. homeassistant-stubs/components/emulated_hue/config.pyi +1 -1
  80. homeassistant-stubs/components/enphase_envoy/sensor.pyi +39 -4
  81. homeassistant-stubs/components/esphome/bluetooth.pyi +1 -1
  82. homeassistant-stubs/components/esphome/camera.pyi +2 -2
  83. homeassistant-stubs/components/esphome/entry_data.pyi +3 -5
  84. homeassistant-stubs/components/esphome/manager.pyi +6 -7
  85. homeassistant-stubs/components/esphome/sensor.pyi +4 -2
  86. homeassistant-stubs/components/esphome/update.pyi +0 -1
  87. homeassistant-stubs/components/esphome/voice_assistant.pyi +1 -1
  88. homeassistant-stubs/components/fastdotcom/sensor.pyi +0 -1
  89. homeassistant-stubs/components/filesize/sensor.pyi +0 -1
  90. homeassistant-stubs/components/flexit_bacnet/climate.pyi +4 -2
  91. homeassistant-stubs/components/flexit_bacnet/number.pyi +31 -0
  92. homeassistant-stubs/components/flux_led/__init__.pyi +2 -2
  93. homeassistant-stubs/components/fritz/common.pyi +2 -1
  94. homeassistant-stubs/components/fully_kiosk/media_player.pyi +2 -1
  95. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -1
  96. homeassistant-stubs/components/goalzero/__init__.pyi +1 -0
  97. homeassistant-stubs/components/gpsd/sensor.pyi +15 -9
  98. homeassistant-stubs/components/group/__init__.pyi +1 -1
  99. homeassistant-stubs/components/group/light.pyi +3 -3
  100. homeassistant-stubs/components/hardkernel/__init__.pyi +1 -1
  101. homeassistant-stubs/components/hardware/hardware.pyi +2 -2
  102. homeassistant-stubs/components/hardware/websocket_api.pyi +1 -1
  103. homeassistant-stubs/components/homeassistant_green/__init__.pyi +1 -1
  104. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +2 -1
  105. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +3 -2
  106. homeassistant-stubs/components/homekit/__init__.pyi +1 -1
  107. homeassistant-stubs/components/homekit/accessories.pyi +1 -1
  108. homeassistant-stubs/components/homekit/config_flow.pyi +13 -4
  109. homeassistant-stubs/components/homekit/type_cameras.pyi +1 -1
  110. homeassistant-stubs/components/homekit/type_covers.pyi +1 -1
  111. homeassistant-stubs/components/homekit/type_humidifiers.pyi +1 -1
  112. homeassistant-stubs/components/homekit/type_triggers.pyi +3 -1
  113. homeassistant-stubs/components/homekit_controller/__init__.pyi +1 -0
  114. homeassistant-stubs/components/homekit_controller/alarm_control_panel.pyi +0 -1
  115. homeassistant-stubs/components/homekit_controller/button.pyi +8 -4
  116. homeassistant-stubs/components/homekit_controller/utils.pyi +4 -0
  117. homeassistant-stubs/components/http/__init__.pyi +3 -3
  118. homeassistant-stubs/components/http/auth.pyi +1 -1
  119. homeassistant-stubs/components/http/ban.pyi +0 -1
  120. homeassistant-stubs/components/http/const.pyi +1 -1
  121. homeassistant-stubs/components/http/request_context.pyi +1 -2
  122. homeassistant-stubs/components/http/view.pyi +1 -29
  123. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +0 -6
  124. homeassistant-stubs/components/huawei_lte/switch.pyi +0 -4
  125. homeassistant-stubs/components/idasen_desk/sensor.pyi +2 -1
  126. homeassistant-stubs/components/image/__init__.pyi +13 -3
  127. homeassistant-stubs/components/image/media_source.pyi +18 -0
  128. homeassistant-stubs/components/imap/coordinator.pyi +8 -0
  129. homeassistant-stubs/components/imap/diagnostics.pyi +13 -0
  130. homeassistant-stubs/components/intent/__init__.pyi +7 -2
  131. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +1 -1
  132. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  133. homeassistant-stubs/components/knx/schema.pyi +3 -18
  134. homeassistant-stubs/components/knx/validation.pyi +19 -0
  135. homeassistant-stubs/components/lamarzocco/calendar.pyi +21 -0
  136. homeassistant-stubs/components/lamarzocco/entity.pyi +7 -4
  137. homeassistant-stubs/components/lamarzocco/number.pyi +26 -1
  138. homeassistant-stubs/components/light/__init__.pyi +3 -0
  139. homeassistant-stubs/components/local_todo/todo.pyi +3 -1
  140. homeassistant-stubs/components/logbook/__init__.pyi +1 -1
  141. homeassistant-stubs/components/logbook/helpers.pyi +2 -2
  142. homeassistant-stubs/components/logbook/models.pyi +2 -2
  143. homeassistant-stubs/components/mailbox/__init__.pyi +1 -0
  144. homeassistant-stubs/components/matter/light.pyi +6 -5
  145. homeassistant-stubs/components/media_player/intent.pyi +11 -0
  146. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -1
  147. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  148. homeassistant-stubs/components/modbus/climate.pyi +1 -0
  149. homeassistant-stubs/components/modbus/validators.pyi +4 -4
  150. homeassistant-stubs/components/mqtt/__init__.pyi +3 -3
  151. homeassistant-stubs/components/mqtt/climate.pyi +1 -8
  152. homeassistant-stubs/components/mqtt/const.pyi +2 -0
  153. homeassistant-stubs/components/mqtt/event.pyi +1 -1
  154. homeassistant-stubs/components/mqtt/image.pyi +1 -1
  155. homeassistant-stubs/components/mqtt/mixins.pyi +2 -2
  156. homeassistant-stubs/components/mqtt/models.pyi +10 -0
  157. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  158. homeassistant-stubs/components/myuplink/__init__.pyi +2 -1
  159. homeassistant-stubs/components/myuplink/binary_sensor.pyi +24 -0
  160. homeassistant-stubs/components/myuplink/config_flow.pyi +7 -0
  161. homeassistant-stubs/components/myuplink/coordinator.pyi +1 -2
  162. homeassistant-stubs/components/myuplink/diagnostics.pyi +11 -0
  163. homeassistant-stubs/components/myuplink/helpers.pyi +6 -0
  164. homeassistant-stubs/components/myuplink/number.pyi +30 -0
  165. homeassistant-stubs/components/myuplink/sensor.pyi +20 -3
  166. homeassistant-stubs/components/myuplink/switch.pyi +29 -0
  167. homeassistant-stubs/components/myuplink/update.pyi +20 -0
  168. homeassistant-stubs/components/notion/__init__.pyi +10 -6
  169. homeassistant-stubs/components/notion/config_flow.pyi +11 -3
  170. homeassistant-stubs/components/notion/const.pyi +2 -0
  171. homeassistant-stubs/components/notion/diagnostics.pyi +2 -2
  172. homeassistant-stubs/components/notion/model.pyi +1 -1
  173. homeassistant-stubs/components/notion/util.pyi +7 -0
  174. homeassistant-stubs/components/overkiz/climate.pyi +1 -1
  175. homeassistant-stubs/components/overkiz/climate_entities/__init__.pyi +8 -0
  176. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heating_zone.pyi +1 -1
  177. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_zone_control.pyi +5 -1
  178. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_zone_control_zone.pyi +33 -0
  179. homeassistant-stubs/components/overkiz/climate_entities/hitachi_air_to_air_heat_pump_ovp.pyi +61 -0
  180. homeassistant-stubs/components/overkiz/number.pyi +7 -1
  181. homeassistant-stubs/components/proximity/config_flow.pyi +1 -1
  182. homeassistant-stubs/components/rainmachine/util.pyi +1 -1
  183. homeassistant-stubs/components/raspberry_pi/__init__.pyi +1 -1
  184. homeassistant-stubs/components/recorder/__init__.pyi +1 -1
  185. homeassistant-stubs/components/recorder/core.pyi +1 -0
  186. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -5
  187. homeassistant-stubs/components/repairs/issue_handler.pyi +1 -1
  188. homeassistant-stubs/components/rfxtrx/__init__.pyi +3 -1
  189. homeassistant-stubs/components/samsungtv/__init__.pyi +1 -1
  190. homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -0
  191. homeassistant-stubs/components/sensor/recorder.pyi +0 -2
  192. homeassistant-stubs/components/shelly/binary_sensor.pyi +1 -1
  193. homeassistant-stubs/components/shelly/button.pyi +1 -1
  194. homeassistant-stubs/components/shelly/climate.pyi +1 -3
  195. homeassistant-stubs/components/shelly/entity.pyi +1 -2
  196. homeassistant-stubs/components/shelly/number.pyi +1 -1
  197. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  198. homeassistant-stubs/components/shelly/switch.pyi +4 -5
  199. homeassistant-stubs/components/shelly/utils.pyi +2 -0
  200. homeassistant-stubs/components/shelly/valve.pyi +1 -1
  201. homeassistant-stubs/components/ssdp/__init__.pyi +1 -0
  202. homeassistant-stubs/components/statistics/sensor.pyi +4 -1
  203. homeassistant-stubs/components/steamist/__init__.pyi +1 -1
  204. homeassistant-stubs/components/system_health/__init__.pyi +1 -1
  205. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -0
  206. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +48 -0
  207. homeassistant-stubs/components/systemmonitor/config_flow.pyi +2 -0
  208. homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
  209. homeassistant-stubs/components/systemmonitor/coordinator.pyi +14 -10
  210. homeassistant-stubs/components/systemmonitor/diagnostics.pyi +7 -0
  211. homeassistant-stubs/components/systemmonitor/repairs.pyi +15 -0
  212. homeassistant-stubs/components/systemmonitor/sensor.pyi +5 -4
  213. homeassistant-stubs/components/systemmonitor/util.pyi +6 -5
  214. homeassistant-stubs/components/technove/helpers.pyi +9 -0
  215. homeassistant-stubs/components/technove/switch.pyi +33 -0
  216. homeassistant-stubs/components/tedee/config_flow.pyi +1 -0
  217. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  218. homeassistant-stubs/components/tibber/sensor.pyi +7 -4
  219. homeassistant-stubs/components/tplink/__init__.pyi +1 -1
  220. homeassistant-stubs/components/tplink/config_flow.pyi +2 -2
  221. homeassistant-stubs/components/tplink/light.pyi +1 -0
  222. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +2 -2
  223. homeassistant-stubs/components/tplink_omada/config_flow.pyi +1 -1
  224. homeassistant-stubs/components/tplink_omada/controller.pyi +1 -1
  225. homeassistant-stubs/components/tplink_omada/coordinator.pyi +1 -1
  226. homeassistant-stubs/components/tplink_omada/update.pyi +1 -1
  227. homeassistant-stubs/components/tractive/device_tracker.pyi +0 -1
  228. homeassistant-stubs/components/unifi/__init__.pyi +1 -1
  229. homeassistant-stubs/components/unifi/button.pyi +1 -1
  230. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  231. homeassistant-stubs/components/unifi/device_tracker.pyi +6 -6
  232. homeassistant-stubs/components/unifi/diagnostics.pyi +1 -1
  233. homeassistant-stubs/components/unifi/entity.pyi +13 -13
  234. homeassistant-stubs/components/unifi/hub/__init__.pyi +2 -0
  235. homeassistant-stubs/components/unifi/hub/api.pyi +10 -0
  236. homeassistant-stubs/components/unifi/{controller.pyi → hub/hub.pyi} +9 -19
  237. homeassistant-stubs/components/unifi/hub/websocket.pyi +25 -0
  238. homeassistant-stubs/components/unifi/image.pyi +4 -4
  239. homeassistant-stubs/components/unifi/sensor.pyi +14 -14
  240. homeassistant-stubs/components/unifi/switch.pyi +14 -14
  241. homeassistant-stubs/components/unifi/update.pyi +1 -1
  242. homeassistant-stubs/components/unifiprotect/__init__.pyi +4 -2
  243. homeassistant-stubs/components/unifiprotect/const.pyi +1 -0
  244. homeassistant-stubs/components/unifiprotect/data.pyi +3 -2
  245. homeassistant-stubs/components/unifiprotect/media_source.pyi +6 -3
  246. homeassistant-stubs/components/unifiprotect/migrate.pyi +3 -5
  247. homeassistant-stubs/components/unifiprotect/repairs.pyi +8 -2
  248. homeassistant-stubs/components/usb/__init__.pyi +1 -1
  249. homeassistant-stubs/components/vacuum/intent.pyi +8 -0
  250. homeassistant-stubs/components/vallox/__init__.pyi +5 -23
  251. homeassistant-stubs/components/vallox/fan.pyi +1 -1
  252. homeassistant-stubs/components/wake_word/models.pyi +4 -2
  253. homeassistant-stubs/components/water_heater/__init__.pyi +2 -0
  254. homeassistant-stubs/components/websocket_api/connection.pyi +1 -1
  255. homeassistant-stubs/components/websocket_api/http.pyi +1 -0
  256. homeassistant-stubs/components/wiz/light.pyi +3 -2
  257. homeassistant-stubs/components/xiaomi_ble/const.pyi +9 -0
  258. homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
  259. homeassistant-stubs/components/xiaomi_ble/event.pyi +1 -1
  260. homeassistant-stubs/components/yalexs_ble/__init__.pyi +1 -1
  261. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +1 -1
  262. homeassistant-stubs/components/zwave_js/climate.pyi +4 -0
  263. homeassistant-stubs/components/zwave_js/sensor.pyi +0 -1
  264. homeassistant-stubs/config.pyi +4 -2
  265. homeassistant-stubs/config_entries.pyi +40 -26
  266. homeassistant-stubs/const.pyi +1 -0
  267. homeassistant-stubs/core.pyi +11 -7
  268. homeassistant-stubs/data_entry_flow.pyi +1 -0
  269. homeassistant-stubs/helpers/area_registry.pyi +9 -4
  270. homeassistant-stubs/helpers/collection.pyi +19 -0
  271. homeassistant-stubs/helpers/config_validation.pyi +5 -0
  272. homeassistant-stubs/helpers/data_entry_flow.pyi +2 -1
  273. homeassistant-stubs/helpers/debounce.pyi +3 -1
  274. homeassistant-stubs/helpers/device_registry.pyi +13 -6
  275. homeassistant-stubs/helpers/entity.pyi +4 -2
  276. homeassistant-stubs/helpers/entity_component.pyi +1 -1
  277. homeassistant-stubs/helpers/entity_platform.pyi +7 -3
  278. homeassistant-stubs/helpers/entity_registry.pyi +10 -4
  279. homeassistant-stubs/helpers/event.pyi +28 -2
  280. homeassistant-stubs/helpers/floor_registry.pyi +59 -0
  281. homeassistant-stubs/helpers/frame.pyi +3 -1
  282. homeassistant-stubs/helpers/http.pyi +32 -0
  283. homeassistant-stubs/helpers/icon.pyi +1 -1
  284. homeassistant-stubs/helpers/integration_platform.pyi +12 -8
  285. homeassistant-stubs/helpers/intent.pyi +20 -6
  286. homeassistant-stubs/helpers/json.pyi +1 -0
  287. homeassistant-stubs/helpers/label_registry.pyi +59 -0
  288. homeassistant-stubs/helpers/redact.pyi +13 -0
  289. homeassistant-stubs/helpers/service.pyi +1 -0
  290. homeassistant-stubs/helpers/storage.pyi +7 -3
  291. homeassistant-stubs/helpers/template.pyi +7 -0
  292. homeassistant-stubs/helpers/translation.pyi +18 -4
  293. homeassistant-stubs/helpers/update_coordinator.pyi +1 -0
  294. homeassistant-stubs/loader.pyi +35 -13
  295. homeassistant-stubs/setup.pyi +9 -3
  296. homeassistant-stubs/util/async_.pyi +3 -3
  297. homeassistant-stubs/util/file.pyi +2 -2
  298. homeassistant-stubs/util/yaml/loader.pyi +3 -0
  299. {homeassistant_stubs-2024.2.4.dist-info → homeassistant_stubs-2024.3.0.dist-info}/METADATA +2 -2
  300. {homeassistant_stubs-2024.2.4.dist-info → homeassistant_stubs-2024.3.0.dist-info}/RECORD +302 -264
  301. {homeassistant_stubs-2024.2.4.dist-info → homeassistant_stubs-2024.3.0.dist-info}/LICENSE +0 -0
  302. {homeassistant_stubs-2024.2.4.dist-info → homeassistant_stubs-2024.3.0.dist-info}/WHEEL +0 -0
@@ -1,3 +1,4 @@
1
+ from ..coordinator import OverkizDataUpdateCoordinator as OverkizDataUpdateCoordinator
1
2
  from ..entity import OverkizEntity as OverkizEntity
2
3
  from _typeshed import Incomplete
3
4
  from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode
@@ -7,10 +8,13 @@ OVERKIZ_TO_HVAC_MODE: dict[str, HVACMode]
7
8
  HVAC_MODE_TO_OVERKIZ: Incomplete
8
9
 
9
10
  class AtlanticPassAPCZoneControl(OverkizEntity, ClimateEntity):
10
- _attr_hvac_modes: Incomplete
11
11
  _attr_temperature_unit: Incomplete
12
12
  _attr_supported_features: Incomplete
13
13
  _enable_turn_on_off_backwards_compatibility: bool
14
+ _attr_hvac_modes: Incomplete
15
+ def __init__(self, device_url: str, coordinator: OverkizDataUpdateCoordinator) -> None: ...
16
+ @property
17
+ def is_auto_hvac_mode_available(self) -> bool: ...
14
18
  @property
15
19
  def hvac_mode(self) -> HVACMode: ...
16
20
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
@@ -0,0 +1,33 @@
1
+ from ..coordinator import OverkizDataUpdateCoordinator as OverkizDataUpdateCoordinator
2
+ from .atlantic_pass_apc_heating_zone import AtlanticPassAPCHeatingZone as AtlanticPassAPCHeatingZone
3
+ from .atlantic_pass_apc_zone_control import OVERKIZ_TO_HVAC_MODE as OVERKIZ_TO_HVAC_MODE
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.climate import HVACMode as HVACMode, PRESET_NONE as PRESET_NONE
6
+ from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE
7
+ from typing import Any
8
+
9
+ PRESET_SCHEDULE: str
10
+ PRESET_MANUAL: str
11
+ OVERKIZ_MODE_TO_PRESET_MODES: dict[str, str]
12
+ PRESET_MODES_TO_OVERKIZ: Incomplete
13
+ TEMPERATURE_ZONECONTROL_DEVICE_INDEX: int
14
+
15
+ class AtlanticPassAPCZoneControlZone(AtlanticPassAPCHeatingZone):
16
+ _attr_hvac_modes: Incomplete
17
+ _attr_preset_modes: Incomplete
18
+ zone_control_device: Incomplete
19
+ def __init__(self, device_url: str, coordinator: OverkizDataUpdateCoordinator) -> None: ...
20
+ @property
21
+ def is_using_derogated_temperature_fallback(self) -> bool: ...
22
+ @property
23
+ def zone_control_hvac_mode(self) -> HVACMode: ...
24
+ @property
25
+ def hvac_mode(self) -> HVACMode: ...
26
+ async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
27
+ @property
28
+ def preset_mode(self) -> str: ...
29
+ async def async_set_preset_mode(self, preset_mode: str) -> None: ...
30
+ @property
31
+ def target_temperature(self) -> float: ...
32
+ async def async_set_temperature(self, **kwargs: Any) -> None: ...
33
+ async def async_refresh_modes(self) -> None: ...
@@ -0,0 +1,61 @@
1
+ from ..const import DOMAIN as DOMAIN
2
+ from ..coordinator import OverkizDataUpdateCoordinator as OverkizDataUpdateCoordinator
3
+ from ..entity import OverkizEntity as OverkizEntity
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, HVACMode as HVACMode, PRESET_NONE as PRESET_NONE, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_VERTICAL as SWING_VERTICAL
6
+ from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
7
+ from typing import Any
8
+
9
+ PRESET_HOLIDAY_MODE: str
10
+ FAN_SILENT: str
11
+ TEMP_MIN: int
12
+ TEMP_MAX: int
13
+ TEMP_AUTO_MIN: int
14
+ TEMP_AUTO_MAX: int
15
+ AUTO_PIVOT_TEMPERATURE: int
16
+ AUTO_TEMPERATURE_CHANGE_MIN: Incomplete
17
+ AUTO_TEMPERATURE_CHANGE_MAX: Incomplete
18
+ OVERKIZ_TO_HVAC_MODES: dict[str, HVACMode]
19
+ HVAC_MODES_TO_OVERKIZ: dict[HVACMode, str]
20
+ OVERKIZ_TO_SWING_MODES: dict[str, str]
21
+ SWING_MODES_TO_OVERKIZ: Incomplete
22
+ OVERKIZ_TO_FAN_MODES: dict[str, str]
23
+ FAN_MODES_TO_OVERKIZ: dict[str, str]
24
+
25
+ class HitachiAirToAirHeatPumpOVP(OverkizEntity, ClimateEntity):
26
+ _attr_hvac_modes: Incomplete
27
+ _attr_fan_modes: Incomplete
28
+ _attr_preset_modes: Incomplete
29
+ _attr_swing_modes: Incomplete
30
+ _attr_target_temperature_step: float
31
+ _attr_temperature_unit: Incomplete
32
+ _attr_translation_key = DOMAIN
33
+ _attr_supported_features: Incomplete
34
+ def __init__(self, device_url: str, coordinator: OverkizDataUpdateCoordinator) -> None: ...
35
+ @property
36
+ def hvac_mode(self) -> HVACMode: ...
37
+ async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
38
+ @property
39
+ def fan_mode(self) -> str | None: ...
40
+ async def async_set_fan_mode(self, fan_mode: str) -> None: ...
41
+ @property
42
+ def swing_mode(self) -> str | None: ...
43
+ async def async_set_swing_mode(self, swing_mode: str) -> None: ...
44
+ @property
45
+ def target_temperature(self) -> int | None: ...
46
+ @property
47
+ def current_temperature(self) -> int | None: ...
48
+ async def async_set_temperature(self, **kwargs: Any) -> None: ...
49
+ @property
50
+ def preset_mode(self) -> str | None: ...
51
+ async def async_set_preset_mode(self, preset_mode: str) -> None: ...
52
+ @property
53
+ def auto_manu_mode(self) -> str | None: ...
54
+ @property
55
+ def temperature_change(self) -> int | None: ...
56
+ @property
57
+ def min_temp(self) -> float: ...
58
+ @property
59
+ def max_temp(self) -> float: ...
60
+ def _control_backfill(self, value: str | None, state_name: str, fallback_value: str) -> str: ...
61
+ async def _global_control(self, main_operation: str | None = None, target_temperature: int | None = None, fan_mode: str | None = None, hvac_mode: str | None = None, swing_mode: str | None = None, leave_home: str | None = None) -> None: ...
@@ -1,5 +1,6 @@
1
1
  from . import HomeAssistantOverkizData as HomeAssistantOverkizData
2
2
  from .const import DOMAIN as DOMAIN, IGNORED_OVERKIZ_DEVICES as IGNORED_OVERKIZ_DEVICES
3
+ from .coordinator import OverkizDataUpdateCoordinator as OverkizDataUpdateCoordinator
3
4
  from .entity import OverkizDescriptiveEntity as OverkizDescriptiveEntity
4
5
  from _typeshed import Incomplete
5
6
  from collections.abc import Awaitable, Callable as Callable
@@ -20,9 +21,11 @@ class OverkizNumberDescriptionMixin:
20
21
 
21
22
  @dataclass(frozen=True)
22
23
  class OverkizNumberDescription(NumberEntityDescription, OverkizNumberDescriptionMixin):
24
+ min_value_state_name: str | None = ...
25
+ max_value_state_name: str | None = ...
23
26
  inverted: bool = ...
24
27
  set_native_value: Callable[[float, Callable[..., Awaitable[None]]], Awaitable[None]] | None = ...
25
- def __init__(self, command, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, inverted, set_native_value) -> None: ...
28
+ def __init__(self, command, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, min_value_state_name, max_value_state_name, inverted, set_native_value) -> None: ...
26
29
 
27
30
  async def _async_set_native_value_boost_mode_duration(value: float, execute_command: Callable[..., Awaitable[None]]) -> None: ...
28
31
 
@@ -33,6 +36,9 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_e
33
36
 
34
37
  class OverkizNumber(OverkizDescriptiveEntity, NumberEntity):
35
38
  entity_description: OverkizNumberDescription
39
+ _attr_native_min_value: Incomplete
40
+ _attr_native_max_value: Incomplete
41
+ def __init__(self, device_url: str, coordinator: OverkizDataUpdateCoordinator, description: OverkizNumberDescription) -> None: ...
36
42
  @property
37
43
  def native_value(self) -> float | None: ...
38
44
  async def async_set_native_value(self, value: float) -> None: ...
@@ -2,7 +2,7 @@ import voluptuous as vol
2
2
  from .const import CONF_IGNORED_ZONES as CONF_IGNORED_ZONES, CONF_TOLERANCE as CONF_TOLERANCE, CONF_TRACKED_ENTITIES as CONF_TRACKED_ENTITIES, DEFAULT_PROXIMITY_ZONE as DEFAULT_PROXIMITY_ZONE, DEFAULT_TOLERANCE as DEFAULT_TOLERANCE, DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, OptionsFlow as OptionsFlow
5
- from homeassistant.const import CONF_ZONE as CONF_ZONE
5
+ from homeassistant.const import CONF_ZONE as CONF_ZONE, UnitOfLength as UnitOfLength
6
6
  from homeassistant.core import State as State, callback as callback
7
7
  from homeassistant.data_entry_flow import FlowResult as FlowResult
8
8
  from homeassistant.helpers.selector import EntitySelector as EntitySelector, EntitySelectorConfig as EntitySelectorConfig, NumberSelector as NumberSelector, NumberSelectorConfig as NumberSelectorConfig
@@ -40,4 +40,4 @@ class RainMachineDataUpdateCoordinator(DataUpdateCoordinator[dict]):
40
40
  signal_reboot_requested: Incomplete
41
41
  def __init__(self, hass: HomeAssistant, *, entry: ConfigEntry, name: str, api_category: str, update_interval: timedelta, update_method: Callable[..., Awaitable]) -> None: ...
42
42
  last_update_success: bool
43
- async def async_initialize(self) -> None: ...
43
+ def async_initialize(self) -> None: ...
@@ -1,4 +1,4 @@
1
- from homeassistant.components.hassio import get_os_info as get_os_info
1
+ from homeassistant.components.hassio import get_os_info as get_os_info, is_hassio as is_hassio
2
2
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
3
  from homeassistant.core import HomeAssistant as HomeAssistant
4
4
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
@@ -6,7 +6,7 @@ from .tasks import AddRecorderPlatformTask as AddRecorderPlatformTask
6
6
  from .util import get_instance as get_instance
7
7
  from _typeshed import Incomplete
8
8
  from homeassistant.const import CONF_EXCLUDE as CONF_EXCLUDE, EVENT_RECORDER_5MIN_STATISTICS_GENERATED as EVENT_RECORDER_5MIN_STATISTICS_GENERATED, EVENT_RECORDER_HOURLY_STATISTICS_GENERATED as EVENT_RECORDER_HOURLY_STATISTICS_GENERATED, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED
9
- from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.helpers.entityfilter import INCLUDE_EXCLUDE_BASE_FILTER_SCHEMA as INCLUDE_EXCLUDE_BASE_FILTER_SCHEMA, INCLUDE_EXCLUDE_FILTER_SCHEMA_INNER as INCLUDE_EXCLUDE_FILTER_SCHEMA_INNER, convert_include_exclude_filter as convert_include_exclude_filter
11
11
  from homeassistant.helpers.integration_platform import async_process_integration_platforms as async_process_integration_platforms
12
12
  from homeassistant.helpers.typing import ConfigType as ConfigType
@@ -53,6 +53,7 @@ class Recorder(threading.Thread):
53
53
  auto_purge: Incomplete
54
54
  auto_repack: Incomplete
55
55
  keep_days: Incomplete
56
+ is_running: bool
56
57
  _hass_started: Incomplete
57
58
  commit_interval: Incomplete
58
59
  _queue: Incomplete
@@ -1,7 +1,6 @@
1
- import logging
2
1
  from .models import StatisticPeriod as StatisticPeriod
3
2
  from .statistics import STATISTIC_UNIT_TO_UNIT_CONVERTER as STATISTIC_UNIT_TO_UNIT_CONVERTER, async_add_external_statistics as async_add_external_statistics, async_change_statistics_unit as async_change_statistics_unit, async_import_statistics as async_import_statistics, async_list_statistic_ids as async_list_statistic_ids, list_statistic_ids as list_statistic_ids, statistic_during_period as statistic_during_period, statistics_during_period as statistics_during_period, validate_statistics as validate_statistics
4
- from .util import PERIOD_SCHEMA as PERIOD_SCHEMA, async_migration_in_progress as async_migration_in_progress, async_migration_is_live as async_migration_is_live, get_instance as get_instance, resolve_period as resolve_period
3
+ from .util import PERIOD_SCHEMA as PERIOD_SCHEMA, get_instance as get_instance, resolve_period as resolve_period
5
4
  from _typeshed import Incomplete
6
5
  from datetime import datetime as dt
7
6
  from homeassistant.components import websocket_api as websocket_api
@@ -12,7 +11,6 @@ from homeassistant.helpers.json import json_bytes as json_bytes
12
11
  from homeassistant.util.unit_conversion import DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, 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
13
12
  from typing import Any, Literal
14
13
 
15
- _LOGGER: logging.Logger
16
14
  UNIT_SCHEMA: Incomplete
17
15
 
18
16
  def async_setup(hass: HomeAssistant) -> None: ...
@@ -32,5 +30,3 @@ def ws_change_statistics_unit(hass: HomeAssistant, connection: websocket_api.Act
32
30
  async def ws_adjust_sum_statistics(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
33
31
  def ws_import_statistics(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
34
32
  def ws_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
35
- async def ws_backup_start(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
36
- async def ws_backup_end(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -17,4 +17,4 @@ class RepairsFlowManager(data_entry_flow.FlowManager):
17
17
 
18
18
  def async_setup(hass: HomeAssistant) -> None: ...
19
19
  async def async_process_repairs_platforms(hass: HomeAssistant) -> None: ...
20
- async def _register_repairs_platform(hass: HomeAssistant, integration_domain: str, platform: RepairsProtocol) -> None: ...
20
+ def _register_repairs_platform(hass: HomeAssistant, integration_domain: str, platform: RepairsProtocol) -> None: ...
@@ -5,6 +5,7 @@ from collections.abc import Callable as Callable, Mapping
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, CONF_DEVICE as CONF_DEVICE, CONF_DEVICES as CONF_DEVICES, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
7
7
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
8
+ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
8
9
  from homeassistant.helpers import device_registry as dr
9
10
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
10
11
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
@@ -15,6 +16,7 @@ from typing import Any, NamedTuple, TypeVarTuple
15
16
 
16
17
  DEFAULT_OFF_DELAY: float
17
18
  SIGNAL_EVENT: Incomplete
19
+ CONNECT_TIMEOUT: float
18
20
  _Ts = TypeVarTuple('_Ts')
19
21
  _LOGGER: Incomplete
20
22
 
@@ -30,7 +32,7 @@ PLATFORMS: Incomplete
30
32
 
31
33
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
32
34
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
33
- def _create_rfx(config: Mapping[str, Any]) -> rfxtrxmod.Connect: ...
35
+ def _create_rfx(config: Mapping[str, Any], event_callback: Callable[[rfxtrxmod.RFXtrxEvent], None]) -> rfxtrxmod.Connect: ...
34
36
  def _get_device_lookup(devices: dict[str, dict[str, Any]]) -> dict[DeviceTuple, dict[str, Any]]: ...
35
37
  async def async_setup_internal(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
36
38
  async def async_setup_platform_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback, supported: Callable[[rfxtrxmod.RFXtrxEvent], bool], constructor: Callable[[rfxtrxmod.RFXtrxEvent, rfxtrxmod.RFXtrxEvent | None, DeviceTuple, dict[str, Any]], list[Entity]]) -> None: ...
@@ -21,7 +21,7 @@ class DebouncedEntryReloader:
21
21
  _debounced_reload: Incomplete
22
22
  def __init__(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
23
23
  async def async_call(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
24
- async def async_shutdown(self) -> None: ...
24
+ def async_shutdown(self) -> None: ...
25
25
  async def _async_reload_entry(self) -> None: ...
26
26
 
27
27
  async def _async_update_ssdp_locations(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
@@ -15,6 +15,7 @@ DATA_SCHEMA: Incomplete
15
15
 
16
16
  def _strip_uuid(udn: str) -> str: ...
17
17
  def _entry_is_complete(entry: config_entries.ConfigEntry, ssdp_rendering_control_location: str | None, ssdp_main_tv_agent_location: str | None) -> bool: ...
18
+ def _mac_is_same_with_incorrect_formatting(current_unformatted_mac: str, formatted_mac: str) -> bool: ...
18
19
 
19
20
  class SamsungTVConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
20
21
  VERSION: int
@@ -27,8 +27,6 @@ def _get_sensor_states(hass: HomeAssistant) -> list[State]: ...
27
27
  def _time_weighted_average(fstates: list[tuple[float, State]], start: datetime.datetime, end: datetime.datetime) -> float: ...
28
28
  def _get_units(fstates: list[tuple[float, State]]) -> set[str | None]: ...
29
29
  def _equivalent_units(units: set[str | None]) -> bool: ...
30
- def _parse_float(state: str) -> float: ...
31
- def _float_or_none(state: str) -> float | None: ...
32
30
  def _entity_history_to_float_and_state(entity_history: Iterable[State]) -> list[tuple[float, State]]: ...
33
31
  def _normalize_states(hass: HomeAssistant, old_metadatas: dict[str, tuple[int, StatisticMetaData]], fstates: list[tuple[float, State]], entity_id: str) -> tuple[str | None, list[tuple[float, State]]]: ...
34
32
  def _suggest_report_issue(hass: HomeAssistant, entity_id: str) -> str: ...
@@ -13,7 +13,7 @@ from typing import Final
13
13
 
14
14
  @dataclass(frozen=True)
15
15
  class BlockBinarySensorDescription(BlockEntityDescription, BinarySensorEntityDescription):
16
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, icon_fn, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
16
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
17
17
 
18
18
  @dataclass(frozen=True)
19
19
  class RpcBinarySensorDescription(RpcEntityDescription, BinarySensorEntityDescription):
@@ -29,7 +29,7 @@ class ShellyButtonDescription(ButtonEntityDescription, ShellyButtonDescriptionMi
29
29
 
30
30
  BUTTONS: Final[list[ShellyButtonDescription[Any]]]
31
31
 
32
- def async_migrate_unique_ids(entity_entry: er.RegistryEntry, coordinator: ShellyRpcCoordinator | ShellyBlockCoordinator) -> dict[str, Any] | None: ...
32
+ def async_migrate_unique_ids(coordinator: ShellyRpcCoordinator | ShellyBlockCoordinator, entity_entry: er.RegistryEntry) -> dict[str, Any] | None: ...
33
33
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
34
34
 
35
35
  class ShellyButton(CoordinatorEntity[ShellyRpcCoordinator | ShellyBlockCoordinator], ButtonEntity):
@@ -1,7 +1,7 @@
1
1
  from .const import 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, ShellyRpcCoordinator as ShellyRpcCoordinator, get_entry_data as get_entry_data
3
3
  from .entity import ShellyRpcEntity as ShellyRpcEntity
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
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
5
5
  from _typeshed import Incomplete
6
6
  from aioshelly.block_device import Block as Block
7
7
  from dataclasses import dataclass
@@ -32,7 +32,6 @@ class ShellyClimateExtraStoredData(ExtraStoredData):
32
32
 
33
33
  class BlockSleepingClimate(CoordinatorEntity[ShellyBlockCoordinator], RestoreEntity, ClimateEntity):
34
34
  _attr_hvac_modes: Incomplete
35
- _attr_icon: str
36
35
  _attr_max_temp: Incomplete
37
36
  _attr_min_temp: Incomplete
38
37
  _attr_supported_features: Incomplete
@@ -78,7 +77,6 @@ class BlockSleepingClimate(CoordinatorEntity[ShellyBlockCoordinator], RestoreEnt
78
77
  def _handle_coordinator_update(self) -> None: ...
79
78
 
80
79
  class RpcClimate(ShellyRpcEntity, ClimateEntity):
81
- _attr_icon: str
82
80
  _attr_max_temp: Incomplete
83
81
  _attr_min_temp: Incomplete
84
82
  _attr_supported_features: Incomplete
@@ -27,13 +27,12 @@ def async_setup_entry_rest(hass: HomeAssistant, config_entry: ConfigEntry, async
27
27
  @dataclass(frozen=True)
28
28
  class BlockEntityDescription(EntityDescription):
29
29
  name: str = ...
30
- icon_fn: Callable[[dict], str] | None = ...
31
30
  unit_fn: Callable[[dict], str] | None = ...
32
31
  value: Callable[[Any], Any] = ...
33
32
  available: Callable[[Block], bool] | None = ...
34
33
  removal_condition: Callable[[dict, Block], bool] | None = ...
35
34
  extra_state_attributes: Callable[[Block], dict | None] | None = ...
36
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, icon_fn, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
35
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
37
36
 
38
37
  @dataclass(frozen=True)
39
38
  class RpcEntityRequiredKeysMixin:
@@ -17,7 +17,7 @@ from typing import Any
17
17
  class BlockNumberDescription(BlockEntityDescription, NumberEntityDescription):
18
18
  rest_path: str = ...
19
19
  rest_arg: str = ...
20
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, icon_fn, unit_fn, value, available, removal_condition, extra_state_attributes, rest_path, rest_arg) -> None: ...
20
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, unit_fn, value, available, removal_condition, extra_state_attributes, rest_path, rest_arg) -> None: ...
21
21
 
22
22
  NUMBERS: dict[tuple[str, str], BlockNumberDescription]
23
23
 
@@ -1,7 +1,7 @@
1
1
  from .const import CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, SHAIR_MAX_WORK_HOURS as SHAIR_MAX_WORK_HOURS
2
2
  from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, 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 get_device_entry_gen as get_device_entry_gen, get_device_uptime as get_device_uptime
4
+ from .utils import get_device_entry_gen as get_device_entry_gen, get_device_uptime as get_device_uptime, 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 dataclasses import dataclass
@@ -16,7 +16,7 @@ from typing import Final
16
16
 
17
17
  @dataclass(frozen=True)
18
18
  class BlockSensorDescription(BlockEntityDescription, SensorEntityDescription):
19
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, icon_fn, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
19
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
20
20
 
21
21
  @dataclass(frozen=True)
22
22
  class RpcSensorDescription(RpcEntityDescription, SensorEntityDescription):
@@ -1,7 +1,7 @@
1
- from .const import DOMAIN as DOMAIN, GAS_VALVE_OPEN_STATES as GAS_VALVE_OPEN_STATES, MODEL_WALL_DISPLAY as MODEL_WALL_DISPLAY
1
+ from .const import DOMAIN as DOMAIN, GAS_VALVE_OPEN_STATES as GAS_VALVE_OPEN_STATES
2
2
  from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyRpcCoordinator as ShellyRpcCoordinator, get_entry_data as get_entry_data
3
3
  from .entity import BlockEntityDescription as BlockEntityDescription, ShellyBlockAttributeEntity as ShellyBlockAttributeEntity, ShellyBlockEntity as ShellyBlockEntity, ShellyRpcEntity as ShellyRpcEntity, async_setup_block_attribute_entities as async_setup_block_attribute_entities
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_block_channel_type_light as is_block_channel_type_light, is_rpc_channel_type_light as is_rpc_channel_type_light
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_block_channel_type_light as is_block_channel_type_light, is_rpc_channel_type_light as is_rpc_channel_type_light, 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 dataclasses import dataclass
@@ -16,7 +16,7 @@ from typing import Any
16
16
 
17
17
  @dataclass(frozen=True)
18
18
  class BlockSwitchDescription(BlockEntityDescription, SwitchEntityDescription):
19
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, icon_fn, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
19
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
20
20
 
21
21
  GAS_VALVE_SWITCH: Incomplete
22
22
 
@@ -26,12 +26,11 @@ def async_setup_rpc_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_
26
26
 
27
27
  class BlockValveSwitch(ShellyBlockAttributeEntity, SwitchEntity):
28
28
  entity_description: BlockSwitchDescription
29
+ _attr_translation_key: str
29
30
  control_result: Incomplete
30
31
  def __init__(self, coordinator: ShellyBlockCoordinator, block: Block, attribute: str, description: BlockSwitchDescription) -> None: ...
31
32
  @property
32
33
  def is_on(self) -> bool: ...
33
- @property
34
- def icon(self) -> str: ...
35
34
  async def async_turn_on(self, **kwargs: Any) -> None: ...
36
35
  async def async_turn_off(self, **kwargs: Any) -> None: ...
37
36
  async def async_added_to_hass(self) -> None: ...
@@ -45,6 +45,7 @@ def get_rpc_key_ids(keys_dict: dict[str, Any], key: str) -> list[int]: ...
45
45
  def is_rpc_momentary_input(config: dict[str, Any], status: dict[str, Any], key: str) -> bool: ...
46
46
  def is_block_channel_type_light(settings: dict[str, Any], channel: int) -> bool: ...
47
47
  def is_rpc_channel_type_light(config: dict[str, Any], channel: int) -> bool: ...
48
+ def is_rpc_thermostat_internal_actuator(status: dict[str, Any]) -> bool: ...
48
49
  def get_rpc_input_triggers(device: RpcDevice) -> list[tuple[str, str]]: ...
49
50
  def update_device_fw_info(hass: HomeAssistant, shellydevice: BlockDevice | RpcDevice, entry: ConfigEntry) -> None: ...
50
51
  def brightness_to_percentage(brightness: int) -> int: ...
@@ -52,3 +53,4 @@ def percentage_to_brightness(percentage: int) -> int: ...
52
53
  def mac_address_from_name(name: str) -> str | None: ...
53
54
  def get_release_url(gen: int, model: str, beta: bool) -> str | None: ...
54
55
  def async_create_issue_unsupported_firmware(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
56
+ def is_rpc_wifi_stations_disabled(config: dict[str, Any], _status: dict[str, Any], key: str) -> bool: ...
@@ -12,7 +12,7 @@ from typing import Any
12
12
 
13
13
  @dataclass(kw_only=True, frozen=True)
14
14
  class BlockValveDescription(BlockEntityDescription, ValveEntityDescription):
15
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, reports_position, icon_fn, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
15
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, reports_position, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
16
16
 
17
17
  GAS_VALVE: Incomplete
18
18
 
@@ -17,6 +17,7 @@ from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableE
17
17
  from homeassistant.helpers.system_info import async_get_system_info as async_get_system_info
18
18
  from homeassistant.helpers.typing import ConfigType as ConfigType
19
19
  from homeassistant.loader import async_get_ssdp as async_get_ssdp, bind_hass as bind_hass
20
+ from homeassistant.util.async_ import create_eager_task as create_eager_task
20
21
  from ipaddress import IPv4Address, IPv6Address
21
22
  from typing import Any
22
23
 
@@ -56,6 +56,7 @@ STATS_BINARY_PERCENTAGE: Incomplete
56
56
  CONF_STATE_CHARACTERISTIC: str
57
57
  CONF_SAMPLES_MAX_BUFFER_SIZE: str
58
58
  CONF_MAX_AGE: str
59
+ CONF_KEEP_LAST_SAMPLE: str
59
60
  CONF_PRECISION: str
60
61
  CONF_PERCENTILE: str
61
62
  DEFAULT_NAME: str
@@ -64,6 +65,7 @@ ICON: str
64
65
 
65
66
  def valid_state_characteristic_configuration(config: dict[str, Any]) -> dict[str, Any]: ...
66
67
  def valid_boundary_configuration(config: dict[str, Any]) -> dict[str, Any]: ...
68
+ def valid_keep_last_sample(config: dict[str, Any]) -> dict[str, Any]: ...
67
69
 
68
70
  _PLATFORM_SCHEMA_BASE: Incomplete
69
71
 
@@ -79,6 +81,7 @@ class StatisticsSensor(SensorEntity):
79
81
  _state_characteristic: Incomplete
80
82
  _samples_max_buffer_size: Incomplete
81
83
  _samples_max_age: Incomplete
84
+ samples_keep_last: Incomplete
82
85
  _precision: Incomplete
83
86
  _percentile: Incomplete
84
87
  _value: Incomplete
@@ -89,7 +92,7 @@ class StatisticsSensor(SensorEntity):
89
92
  attributes: Incomplete
90
93
  _state_characteristic_fn: Incomplete
91
94
  _update_listener: Incomplete
92
- def __init__(self, source_entity_id: str, name: str, unique_id: str | None, state_characteristic: str, samples_max_buffer_size: int | None, samples_max_age: timedelta | None, precision: int, percentile: int) -> None: ...
95
+ def __init__(self, source_entity_id: str, name: str, unique_id: str | None, state_characteristic: str, samples_max_buffer_size: int | None, samples_max_age: timedelta | None, samples_keep_last: bool, precision: int, percentile: int) -> None: ...
93
96
  async def async_added_to_hass(self) -> None: ...
94
97
  def _add_state_to_queue(self, new_state: State) -> None: ...
95
98
  def _derive_unit_of_measurement(self, new_state: State) -> str | None: ...
@@ -1,4 +1,4 @@
1
- from .const import DISCOVERY as DISCOVERY, DISCOVER_SCAN_TIMEOUT as DISCOVER_SCAN_TIMEOUT, DOMAIN as DOMAIN, STARTUP_SCAN_TIMEOUT as STARTUP_SCAN_TIMEOUT
1
+ from .const import DISCOVERY as DISCOVERY, DISCOVER_SCAN_TIMEOUT as DISCOVER_SCAN_TIMEOUT, DOMAIN as DOMAIN
2
2
  from .coordinator import SteamistDataUpdateCoordinator as SteamistDataUpdateCoordinator
3
3
  from .discovery import async_discover_device as async_discover_device, async_discover_devices as async_discover_devices, async_get_discovery as async_get_discovery, async_trigger_discovery as async_trigger_discovery, async_update_entry_from_discovery as async_update_entry_from_discovery
4
4
  from _typeshed import Incomplete
@@ -18,7 +18,7 @@ class SystemHealthProtocol(Protocol):
18
18
 
19
19
  def async_register_info(hass: HomeAssistant, domain: str, info_callback: Callable[[HomeAssistant], Awaitable[dict]]) -> None: ...
20
20
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
21
- async def _register_system_health_platform(hass: HomeAssistant, integration_domain: str, platform: SystemHealthProtocol) -> None: ...
21
+ def _register_system_health_platform(hass: HomeAssistant, integration_domain: str, platform: SystemHealthProtocol) -> None: ...
22
22
  async def get_integration_info(hass: HomeAssistant, registration: SystemHealthRegistration) -> dict[str, Any]: ...
23
23
  def _format_value(val: Any) -> Any: ...
24
24
  async def handle_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -1,10 +1,13 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from _typeshed import Incomplete
2
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
4
  from homeassistant.const import Platform as Platform
4
5
  from homeassistant.core import HomeAssistant as HomeAssistant
5
6
 
7
+ _LOGGER: Incomplete
6
8
  PLATFORMS: Incomplete
7
9
 
8
10
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
9
11
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
10
12
  async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
13
+ async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -0,0 +1,48 @@
1
+ from .const import CONF_PROCESS as CONF_PROCESS, DOMAIN as DOMAIN
2
+ from .coordinator import MonitorCoordinator as MonitorCoordinator, SystemMonitorProcessCoordinator as SystemMonitorProcessCoordinator, dataT as dataT
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
7
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
+ from homeassistant.const import EntityCategory as EntityCategory
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
11
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
13
+ from homeassistant.util import slugify as slugify
14
+ from psutil import Process
15
+ from typing import Generic, Literal
16
+
17
+ _LOGGER: Incomplete
18
+ CONF_ARG: str
19
+ SENSOR_TYPE_NAME: int
20
+ SENSOR_TYPE_UOM: int
21
+ SENSOR_TYPE_ICON: int
22
+ SENSOR_TYPE_DEVICE_CLASS: int
23
+ SENSOR_TYPE_MANDATORY_ARG: int
24
+ SIGNAL_SYSTEMMONITOR_UPDATE: str
25
+
26
+ def get_cpu_icon() -> Literal['mdi:cpu-64-bit', 'mdi:cpu-32-bit']: ...
27
+ def get_process(entity: SystemMonitorSensor[list[Process]]) -> bool: ...
28
+
29
+ @dataclass(frozen=True, kw_only=True)
30
+ class SysMonitorBinarySensorEntityDescription(BinarySensorEntityDescription, Generic[dataT]):
31
+ value_fn: Callable[[SystemMonitorSensor[dataT]], bool]
32
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, value_fn) -> None: ...
33
+
34
+ SENSOR_TYPES: tuple[SysMonitorBinarySensorEntityDescription[list[Process]], ...]
35
+
36
+ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
37
+
38
+ class SystemMonitorSensor(CoordinatorEntity[MonitorCoordinator[dataT]], BinarySensorEntity):
39
+ _attr_has_entity_name: bool
40
+ _attr_entity_category: Incomplete
41
+ entity_description: SysMonitorBinarySensorEntityDescription[dataT]
42
+ _attr_translation_placeholders: Incomplete
43
+ _attr_unique_id: Incomplete
44
+ _attr_device_info: Incomplete
45
+ argument: Incomplete
46
+ def __init__(self, coordinator: MonitorCoordinator[dataT], sensor_description: SysMonitorBinarySensorEntityDescription[dataT], entry_id: str, argument: str) -> None: ...
47
+ @property
48
+ def is_on(self) -> bool | None: ...
@@ -22,5 +22,7 @@ OPTIONS_FLOW: Incomplete
22
22
  class SystemMonitorConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
23
23
  config_flow = CONFIG_FLOW
24
24
  options_flow = OPTIONS_FLOW
25
+ VERSION: int
26
+ MINOR_VERSION: int
25
27
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
26
28
  def async_create_entry(self, data: Mapping[str, Any], **kwargs: Any) -> FlowResult: ...
@@ -1,6 +1,7 @@
1
1
  from _typeshed import Incomplete
2
2
 
3
3
  DOMAIN: str
4
+ DOMAIN_COORDINATORS: str
4
5
  CONF_INDEX: str
5
6
  CONF_PROCESS: str
6
7
  NET_IO_TYPES: Incomplete