homeassistant-stubs 2025.8.2__py3-none-any.whl → 2025.9.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 (237) hide show
  1. homeassistant-stubs/auth/models.pyi +3 -1
  2. homeassistant-stubs/components/airos/binary_sensor.pyi +27 -0
  3. homeassistant-stubs/components/airos/sensor.pyi +4 -2
  4. homeassistant-stubs/components/airq/number.pyi +31 -0
  5. homeassistant-stubs/components/aladdin_connect/__init__.pyi +10 -5
  6. homeassistant-stubs/components/aladdin_connect/api.pyi +12 -0
  7. homeassistant-stubs/components/aladdin_connect/application_credentials.pyi +5 -0
  8. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +15 -4
  9. homeassistant-stubs/components/aladdin_connect/const.pyi +10 -0
  10. homeassistant-stubs/components/aladdin_connect/coordinator.pyi +16 -0
  11. homeassistant-stubs/components/aladdin_connect/cover.pyi +25 -0
  12. homeassistant-stubs/components/aladdin_connect/entity.pyi +15 -0
  13. homeassistant-stubs/components/aladdin_connect/sensor.pyi +25 -0
  14. homeassistant-stubs/components/alexa_devices/__init__.pyi +3 -2
  15. homeassistant-stubs/components/alexa_devices/config_flow.pyi +5 -2
  16. homeassistant-stubs/components/alexa_devices/const.pyi +2 -0
  17. homeassistant-stubs/components/alexa_devices/coordinator.pyi +1 -1
  18. homeassistant-stubs/components/amberelectric/config_flow.pyi +1 -1
  19. homeassistant-stubs/components/amberelectric/const.pyi +1 -1
  20. homeassistant-stubs/components/amberelectric/coordinator.pyi +1 -1
  21. homeassistant-stubs/components/amberelectric/services.pyi +2 -1
  22. homeassistant-stubs/components/ambient_station/entity.pyi +1 -1
  23. homeassistant-stubs/components/android_ip_webcam/coordinator.pyi +0 -1
  24. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +2 -6
  25. homeassistant-stubs/components/apcupsd/entity.pyi +11 -0
  26. homeassistant-stubs/components/apcupsd/sensor.pyi +2 -6
  27. homeassistant-stubs/components/asuswrt/bridge.pyi +10 -8
  28. homeassistant-stubs/components/asuswrt/helpers.pyi +8 -0
  29. homeassistant-stubs/components/auth/login_flow.pyi +1 -1
  30. homeassistant-stubs/components/auth/mfa_setup_flow.pyi +1 -1
  31. homeassistant-stubs/components/awair/const.pyi +1 -0
  32. homeassistant-stubs/components/awair/sensor.pyi +2 -2
  33. homeassistant-stubs/components/backup/config.pyi +0 -14
  34. homeassistant-stubs/components/bayesian/__init__.pyi +6 -4
  35. homeassistant-stubs/components/bayesian/binary_sensor.pyi +6 -5
  36. homeassistant-stubs/components/bayesian/config_flow.pyi +69 -0
  37. homeassistant-stubs/components/bayesian/const.pyi +5 -0
  38. homeassistant-stubs/components/bayesian/issues.pyi +1 -1
  39. homeassistant-stubs/components/bosch_alarm/const.pyi +0 -1
  40. homeassistant-stubs/components/bosch_alarm/services.pyi +2 -1
  41. homeassistant-stubs/components/braviatv/button.pyi +1 -1
  42. homeassistant-stubs/components/braviatv/coordinator.pyi +1 -0
  43. homeassistant-stubs/components/braviatv/entity.pyi +1 -1
  44. homeassistant-stubs/components/climate/__init__.pyi +1 -1
  45. homeassistant-stubs/components/cloud/alexa_config.pyi +2 -1
  46. homeassistant-stubs/components/cloud/subscription.pyi +2 -4
  47. homeassistant-stubs/components/co2signal/coordinator.pyi +3 -3
  48. homeassistant-stubs/components/co2signal/helpers.pyi +2 -3
  49. homeassistant-stubs/components/co2signal/sensor.pyi +3 -3
  50. homeassistant-stubs/components/config/config_entries.pyi +6 -3
  51. homeassistant-stubs/components/demo/media_player.pyi +2 -0
  52. homeassistant-stubs/components/device_automation/condition.pyi +2 -2
  53. homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +29 -1
  54. homeassistant-stubs/components/enphase_envoy/sensor.pyi +30 -1
  55. homeassistant-stubs/components/esphome/manager.pyi +1 -2
  56. homeassistant-stubs/components/esphome/media_player.pyi +5 -0
  57. homeassistant-stubs/components/fan/intent.pyi +7 -0
  58. homeassistant-stubs/components/fritz/coordinator.pyi +0 -1
  59. homeassistant-stubs/components/fyta/const.pyi +4 -0
  60. homeassistant-stubs/components/fyta/sensor.pyi +11 -0
  61. homeassistant-stubs/components/glances/coordinator.pyi +0 -1
  62. homeassistant-stubs/components/group/config_flow.pyi +2 -0
  63. homeassistant-stubs/components/habitica/__init__.pyi +6 -2
  64. homeassistant-stubs/components/habitica/binary_sensor.pyi +13 -4
  65. homeassistant-stubs/components/habitica/coordinator.pyi +18 -4
  66. homeassistant-stubs/components/habitica/entity.pyi +10 -1
  67. homeassistant-stubs/components/habitica/image.pyi +19 -4
  68. homeassistant-stubs/components/habitica/sensor.pyi +27 -3
  69. homeassistant-stubs/components/habitica/util.pyi +5 -2
  70. homeassistant-stubs/components/home_connect/const.pyi +0 -7
  71. homeassistant-stubs/components/home_connect/services.pyi +1 -14
  72. homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +0 -1
  73. homeassistant-stubs/components/homee/config_flow.pyi +8 -2
  74. homeassistant-stubs/components/homee/const.pyi +3 -0
  75. homeassistant-stubs/components/homekit/accessories.pyi +1 -1
  76. homeassistant-stubs/components/homekit/const.pyi +4 -0
  77. homeassistant-stubs/components/homekit/type_switches.pyi +11 -1
  78. homeassistant-stubs/components/homekit/util.pyi +3 -2
  79. homeassistant-stubs/components/huawei_lte/__init__.pyi +2 -2
  80. homeassistant-stubs/components/huawei_lte/const.pyi +0 -1
  81. homeassistant-stubs/components/huawei_lte/notify.pyi +2 -2
  82. homeassistant-stubs/components/husqvarna_automower/button.pyi +4 -0
  83. homeassistant-stubs/components/husqvarna_automower/const.pyi +1 -0
  84. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +10 -0
  85. homeassistant-stubs/components/husqvarna_automower/event.pyi +35 -0
  86. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +1 -2
  87. homeassistant-stubs/components/idasen_desk/__init__.pyi +0 -1
  88. homeassistant-stubs/components/jewish_calendar/__init__.pyi +2 -1
  89. homeassistant-stubs/components/jewish_calendar/coordinator.pyi +41 -0
  90. homeassistant-stubs/components/jewish_calendar/entity.pyi +5 -26
  91. homeassistant-stubs/components/jewish_calendar/sensor.pyi +1 -1
  92. homeassistant-stubs/components/knx/scene.pyi +5 -4
  93. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +5 -11
  94. homeassistant-stubs/components/knx/storage/knx_selector.pyi +57 -6
  95. homeassistant-stubs/components/knx/storage/serialize.pyi +10 -0
  96. homeassistant-stubs/components/knx/storage/util.pyi +2 -0
  97. homeassistant-stubs/components/knx/websocket.pyi +7 -3
  98. homeassistant-stubs/components/letpot/select.pyi +39 -0
  99. homeassistant-stubs/components/mastodon/__init__.pyi +1 -2
  100. homeassistant-stubs/components/mastodon/const.pyi +0 -1
  101. homeassistant-stubs/components/mastodon/services.pyi +2 -1
  102. homeassistant-stubs/components/matter/lock.pyi +6 -0
  103. homeassistant-stubs/components/matter/sensor.pyi +2 -1
  104. homeassistant-stubs/components/mealie/const.pyi +0 -1
  105. homeassistant-stubs/components/mealie/services.pyi +2 -2
  106. homeassistant-stubs/components/media_player/__init__.pyi +4 -0
  107. homeassistant-stubs/components/media_player/intent.pyi +13 -3
  108. homeassistant-stubs/components/met_eireann/const.pyi +1 -1
  109. homeassistant-stubs/components/met_eireann/weather.pyi +4 -0
  110. homeassistant-stubs/components/miele/const.pyi +1 -0
  111. homeassistant-stubs/components/miele/coordinator.pyi +2 -3
  112. homeassistant-stubs/components/miele/entity.pyi +2 -3
  113. homeassistant-stubs/components/miele/sensor.pyi +25 -6
  114. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -2
  115. homeassistant-stubs/components/modbus/climate.pyi +1 -2
  116. homeassistant-stubs/components/modbus/const.pyi +2 -0
  117. homeassistant-stubs/components/modbus/entity.pyi +8 -10
  118. homeassistant-stubs/components/modbus/light.pyi +0 -1
  119. homeassistant-stubs/components/modbus/modbus.pyi +9 -11
  120. homeassistant-stubs/components/modbus/sensor.pyi +1 -3
  121. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +2 -23
  122. homeassistant-stubs/components/mqtt/config_flow.pyi +8 -2
  123. homeassistant-stubs/components/mqtt/const.pyi +40 -1
  124. homeassistant-stubs/components/mqtt/lock.pyi +1 -21
  125. homeassistant-stubs/components/mqtt/number.pyi +1 -0
  126. homeassistant-stubs/components/mqtt/sensor.pyi +1 -1
  127. homeassistant-stubs/components/music_assistant/actions.pyi +2 -1
  128. homeassistant-stubs/components/music_assistant/const.pyi +0 -1
  129. homeassistant-stubs/components/nanoleaf/config_flow.pyi +1 -1
  130. homeassistant-stubs/components/number/__init__.pyi +3 -0
  131. homeassistant-stubs/components/number/const.pyi +2 -1
  132. homeassistant-stubs/components/open_router/entity.pyi +2 -2
  133. homeassistant-stubs/components/openai_conversation/entity.pyi +3 -3
  134. homeassistant-stubs/components/opower/__init__.pyi +1 -0
  135. homeassistant-stubs/components/opower/repairs.pyi +13 -0
  136. homeassistant-stubs/components/overseerr/const.pyi +0 -1
  137. homeassistant-stubs/components/overseerr/services.pyi +2 -1
  138. homeassistant-stubs/components/person/__init__.pyi +2 -1
  139. homeassistant-stubs/components/qbus/binary_sensor.pyi +43 -0
  140. homeassistant-stubs/components/qbus/climate.pyi +1 -1
  141. homeassistant-stubs/components/qbus/coordinator.pyi +4 -3
  142. homeassistant-stubs/components/qbus/cover.pyi +1 -1
  143. homeassistant-stubs/components/qbus/entity.pyi +6 -5
  144. homeassistant-stubs/components/qbus/light.pyi +1 -1
  145. homeassistant-stubs/components/qbus/scene.pyi +4 -6
  146. homeassistant-stubs/components/qbus/sensor.pyi +67 -0
  147. homeassistant-stubs/components/qbus/switch.pyi +1 -1
  148. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  149. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  150. homeassistant-stubs/components/rest_command/__init__.pyi +1 -1
  151. homeassistant-stubs/components/romy/coordinator.pyi +0 -1
  152. homeassistant-stubs/components/russound_rio/media_browser.pyi +8 -0
  153. homeassistant-stubs/components/russound_rio/media_player.pyi +3 -2
  154. homeassistant-stubs/components/ruuvitag_ble/sensor.pyi +2 -2
  155. homeassistant-stubs/components/scene/__init__.pyi +13 -4
  156. homeassistant-stubs/components/sensibo/select.pyi +0 -5
  157. homeassistant-stubs/components/sensor/__init__.pyi +3 -0
  158. homeassistant-stubs/components/sensor/const.pyi +3 -2
  159. homeassistant-stubs/components/sensor/recorder.pyi +1 -1
  160. homeassistant-stubs/components/sleep_as_android/__init__.pyi +16 -0
  161. homeassistant-stubs/components/sleep_as_android/config_flow.pyi +2 -0
  162. homeassistant-stubs/components/sleep_as_android/const.pyi +9 -0
  163. homeassistant-stubs/components/sleep_as_android/diagnostics.pyi +5 -0
  164. homeassistant-stubs/components/sleep_as_android/entity.pyi +20 -0
  165. homeassistant-stubs/components/sleep_as_android/event.pyi +33 -0
  166. homeassistant-stubs/components/sleep_as_android/sensor.pyi +25 -0
  167. homeassistant-stubs/components/solarlog/sensor.pyi +11 -1
  168. homeassistant-stubs/components/speedtestdotnet/coordinator.pyi +0 -1
  169. homeassistant-stubs/components/stookwijzer/const.pyi +0 -1
  170. homeassistant-stubs/components/stookwijzer/services.pyi +2 -1
  171. homeassistant-stubs/components/sun/condition.pyi +2 -2
  172. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +1 -0
  173. homeassistant-stubs/components/switchbot_cloud/const.pyi +10 -0
  174. homeassistant-stubs/components/switchbot_cloud/cover.pyi +57 -0
  175. homeassistant-stubs/components/switchbot_cloud/fan.pyi +22 -1
  176. homeassistant-stubs/components/telegram_bot/__init__.pyi +2 -1
  177. homeassistant-stubs/components/telegram_bot/bot.pyi +4 -1
  178. homeassistant-stubs/components/telegram_bot/notify.pyi +21 -0
  179. homeassistant-stubs/components/unifi/switch.pyi +3 -0
  180. homeassistant-stubs/components/volvo/__init__.pyi +1 -1
  181. homeassistant-stubs/components/volvo/binary_sensor.pyi +42 -0
  182. homeassistant-stubs/components/volvo/const.pyi +1 -1
  183. homeassistant-stubs/components/volvo/coordinator.pyi +8 -1
  184. homeassistant-stubs/components/volvo/sensor.pyi +2 -2
  185. homeassistant-stubs/components/webostv/__init__.pyi +2 -2
  186. homeassistant-stubs/components/webostv/const.pyi +0 -1
  187. homeassistant-stubs/components/webostv/notify.pyi +2 -2
  188. homeassistant-stubs/components/wemo/coordinator.pyi +0 -1
  189. homeassistant-stubs/components/withings/diagnostics.pyi +4 -0
  190. homeassistant-stubs/components/workday/__init__.pyi +6 -8
  191. homeassistant-stubs/components/workday/binary_sensor.pyi +9 -33
  192. homeassistant-stubs/components/workday/entity.pyi +34 -0
  193. homeassistant-stubs/components/workday/util.pyi +14 -0
  194. homeassistant-stubs/components/zone/condition.pyi +2 -2
  195. homeassistant-stubs/components/zwave_js/__init__.pyi +5 -5
  196. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +17 -10
  197. homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -0
  198. homeassistant-stubs/components/zwave_js/const.pyi +0 -1
  199. homeassistant-stubs/components/zwave_js/discovery.pyi +7 -51
  200. homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +1 -11
  201. homeassistant-stubs/components/zwave_js/entity.pyi +15 -5
  202. homeassistant-stubs/components/zwave_js/helpers.pyi +0 -7
  203. homeassistant-stubs/components/zwave_js/migrate.pyi +2 -2
  204. homeassistant-stubs/components/zwave_js/models.pyi +95 -1
  205. homeassistant-stubs/components/zwave_js/sensor.pyi +7 -4
  206. homeassistant-stubs/components/zwave_js/triggers/event.pyi +5 -4
  207. homeassistant-stubs/components/zwave_js/triggers/trigger_helpers.pyi +2 -2
  208. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +3 -2
  209. homeassistant-stubs/components/zwave_js/update.pyi +0 -3
  210. homeassistant-stubs/config_entries.pyi +5 -0
  211. homeassistant-stubs/const.pyi +9 -5
  212. homeassistant-stubs/data_entry_flow.pyi +0 -1
  213. homeassistant-stubs/helpers/automation.pyi +2 -0
  214. homeassistant-stubs/helpers/condition.pyi +6 -6
  215. homeassistant-stubs/helpers/config_validation.pyi +3 -0
  216. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -1
  217. homeassistant-stubs/helpers/device_registry.pyi +1 -1
  218. homeassistant-stubs/helpers/json.pyi +0 -7
  219. homeassistant-stubs/helpers/llm.pyi +1 -0
  220. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +2 -1
  221. homeassistant-stubs/helpers/selector.pyi +2 -1
  222. homeassistant-stubs/helpers/target.pyi +3 -2
  223. homeassistant-stubs/helpers/trigger.pyi +6 -6
  224. homeassistant-stubs/util/unit_conversion.pyi +11 -1
  225. {homeassistant_stubs-2025.8.2.dist-info → homeassistant_stubs-2025.9.0b0.dist-info}/METADATA +2 -2
  226. {homeassistant_stubs-2025.8.2.dist-info → homeassistant_stubs-2025.9.0b0.dist-info}/RECORD +228 -203
  227. homeassistant-stubs/components/linear_garage_door/__init__.pyi +0 -10
  228. homeassistant-stubs/components/linear_garage_door/config_flow.pyi +0 -25
  229. homeassistant-stubs/components/linear_garage_door/const.pyi +0 -1
  230. homeassistant-stubs/components/linear_garage_door/coordinator.pyi +0 -26
  231. homeassistant-stubs/components/linear_garage_door/cover.pyi +0 -28
  232. homeassistant-stubs/components/linear_garage_door/diagnostics.pyi +0 -10
  233. homeassistant-stubs/components/linear_garage_door/entity.pyi +0 -17
  234. homeassistant-stubs/components/linear_garage_door/light.pyi +0 -23
  235. homeassistant-stubs/components/mastodon/notify.pyi +0 -24
  236. {homeassistant_stubs-2025.8.2.dist-info → homeassistant_stubs-2025.9.0b0.dist-info}/WHEEL +0 -0
  237. {homeassistant_stubs-2025.8.2.dist-info → homeassistant_stubs-2025.9.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,16 +1,16 @@
1
- from . import DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
- from .const import ATTR_OBSERVATIONS as ATTR_OBSERVATIONS, ATTR_OCCURRED_OBSERVATION_ENTITIES as ATTR_OCCURRED_OBSERVATION_ENTITIES, ATTR_PROBABILITY as ATTR_PROBABILITY, ATTR_PROBABILITY_THRESHOLD as ATTR_PROBABILITY_THRESHOLD, CONF_NUMERIC_STATE as CONF_NUMERIC_STATE, CONF_OBSERVATIONS as CONF_OBSERVATIONS, CONF_PRIOR as CONF_PRIOR, CONF_PROBABILITY_THRESHOLD as CONF_PROBABILITY_THRESHOLD, CONF_P_GIVEN_F as CONF_P_GIVEN_F, CONF_P_GIVEN_T as CONF_P_GIVEN_T, CONF_TEMPLATE as CONF_TEMPLATE, CONF_TO_STATE as CONF_TO_STATE, DEFAULT_NAME as DEFAULT_NAME, DEFAULT_PROBABILITY_THRESHOLD as DEFAULT_PROBABILITY_THRESHOLD
1
+ from .const import ATTR_OBSERVATIONS as ATTR_OBSERVATIONS, ATTR_OCCURRED_OBSERVATION_ENTITIES as ATTR_OCCURRED_OBSERVATION_ENTITIES, ATTR_PROBABILITY as ATTR_PROBABILITY, ATTR_PROBABILITY_THRESHOLD as ATTR_PROBABILITY_THRESHOLD, CONF_NUMERIC_STATE as CONF_NUMERIC_STATE, CONF_OBSERVATIONS as CONF_OBSERVATIONS, CONF_PRIOR as CONF_PRIOR, CONF_PROBABILITY_THRESHOLD as CONF_PROBABILITY_THRESHOLD, CONF_P_GIVEN_F as CONF_P_GIVEN_F, CONF_P_GIVEN_T as CONF_P_GIVEN_T, CONF_TEMPLATE as CONF_TEMPLATE, CONF_TO_STATE as CONF_TO_STATE, DEFAULT_NAME as DEFAULT_NAME, DEFAULT_PROBABILITY_THRESHOLD as DEFAULT_PROBABILITY_THRESHOLD, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
3
2
  from .helpers import Observation as Observation
4
3
  from .issues import raise_mirrored_entries as raise_mirrored_entries, raise_no_prob_given_false as raise_no_prob_given_false
5
4
  from _typeshed import Incomplete
6
5
  from collections import OrderedDict
7
6
  from collections.abc import Callable as Callable
8
7
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
9
  from homeassistant.const import CONF_ABOVE as CONF_ABOVE, CONF_BELOW as CONF_BELOW, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME, CONF_PLATFORM as CONF_PLATFORM, CONF_STATE as CONF_STATE, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
10
10
  from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, callback as callback
11
11
  from homeassistant.exceptions import ConditionError as ConditionError, TemplateError as TemplateError
12
12
  from homeassistant.helpers import condition as condition
13
- from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, AddEntitiesCallback as AddEntitiesCallback
14
14
  from homeassistant.helpers.event import TrackTemplate as TrackTemplate, TrackTemplateResult as TrackTemplateResult, TrackTemplateResultInfo as TrackTemplateResultInfo, async_track_state_change_event as async_track_state_change_event, async_track_template_result as async_track_template_result
15
15
  from homeassistant.helpers.reload import async_setup_reload_service as async_setup_reload_service
16
16
  from homeassistant.helpers.template import Template as Template, result_as_boolean as result_as_boolean
@@ -20,11 +20,11 @@ from uuid import UUID
20
20
 
21
21
  _LOGGER: Incomplete
22
22
 
23
- def _above_greater_than_below(config: dict[str, Any]) -> dict[str, Any]: ...
23
+ def above_greater_than_below(config: dict[str, Any]) -> dict[str, Any]: ...
24
24
 
25
25
  NUMERIC_STATE_SCHEMA: Incomplete
26
26
 
27
- def _no_overlapping(configs: list[dict]) -> list[dict]: ...
27
+ def no_overlapping(configs: list[dict]) -> list[dict]: ...
28
28
 
29
29
  STATE_SCHEMA: Incomplete
30
30
  TEMPLATE_SCHEMA: Incomplete
@@ -32,6 +32,7 @@ PLATFORM_SCHEMA: Incomplete
32
32
 
33
33
  def update_probability(prior: float, prob_given_true: float, prob_given_false: float) -> float: ...
34
34
  async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
35
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
35
36
 
36
37
  class BayesianBinarySensor(BinarySensorEntity):
37
38
  _attr_should_poll: bool
@@ -0,0 +1,69 @@
1
+ import voluptuous as vol
2
+ from .binary_sensor import above_greater_than_below as above_greater_than_below, no_overlapping as no_overlapping
3
+ from .const import CONF_OBSERVATIONS as CONF_OBSERVATIONS, CONF_PRIOR as CONF_PRIOR, CONF_PROBABILITY_THRESHOLD as CONF_PROBABILITY_THRESHOLD, CONF_P_GIVEN_F as CONF_P_GIVEN_F, CONF_P_GIVEN_T as CONF_P_GIVEN_T, CONF_TEMPLATE as CONF_TEMPLATE, CONF_TO_STATE as CONF_TO_STATE, DEFAULT_NAME as DEFAULT_NAME, DEFAULT_PROBABILITY_THRESHOLD as DEFAULT_PROBABILITY_THRESHOLD, DOMAIN as DOMAIN
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Mapping
6
+ from enum import StrEnum
7
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult, ConfigSubentry as ConfigSubentry, ConfigSubentryData as ConfigSubentryData, ConfigSubentryFlow as ConfigSubentryFlow, SubentryFlowResult as SubentryFlowResult
9
+ from homeassistant.const import CONF_ABOVE as CONF_ABOVE, CONF_BELOW as CONF_BELOW, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME, CONF_PLATFORM as CONF_PLATFORM, CONF_STATE as CONF_STATE, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
10
+ from homeassistant.core import callback as callback
11
+ from homeassistant.helpers import selector as selector, translation as translation
12
+ from homeassistant.helpers.schema_config_entry_flow import SchemaCommonFlowHandler as SchemaCommonFlowHandler, SchemaConfigFlowHandler as SchemaConfigFlowHandler, SchemaFlowError as SchemaFlowError, SchemaFlowFormStep as SchemaFlowFormStep, SchemaFlowMenuStep as SchemaFlowMenuStep
13
+ from typing import Any
14
+
15
+ _LOGGER: Incomplete
16
+ USER: str
17
+ OBSERVATION_SELECTOR: str
18
+ ALLOWED_STATE_DOMAINS: Incomplete
19
+ ALLOWED_NUMERIC_DOMAINS: Incomplete
20
+
21
+ class ObservationTypes(StrEnum):
22
+ STATE = CONF_STATE
23
+ NUMERIC_STATE = 'numeric_state'
24
+ TEMPLATE = CONF_TEMPLATE
25
+
26
+ class OptionsFlowSteps(StrEnum):
27
+ INIT = 'init'
28
+ ADD_OBSERVATION = OBSERVATION_SELECTOR
29
+
30
+ OPTIONS_SCHEMA: Incomplete
31
+ CONFIG_SCHEMA: Incomplete
32
+ OBSERVATION_BOILERPLATE: Incomplete
33
+ STATE_SUBSCHEMA: Incomplete
34
+ NUMERIC_STATE_SUBSCHEMA: Incomplete
35
+ TEMPLATE_SUBSCHEMA: Incomplete
36
+
37
+ def _convert_percentages_to_fractions(data: dict[str, str | float | int]) -> dict[str, str | float]: ...
38
+ def _convert_fractions_to_percentages(data: dict[str, str | float]) -> dict[str, str | float]: ...
39
+ def _select_observation_schema(obs_type: ObservationTypes) -> vol.Schema: ...
40
+ async def _get_base_suggested_values(handler: SchemaCommonFlowHandler) -> dict[str, Any]: ...
41
+ def _get_observation_values_for_editing(subentry: ConfigSubentry) -> dict[str, Any]: ...
42
+ async def _validate_user(handler: SchemaCommonFlowHandler, user_input: dict[str, Any]) -> dict[str, Any]: ...
43
+ def _validate_observation_subentry(obs_type: ObservationTypes, user_input: dict[str, Any], other_subentries: list[dict[str, Any]] | None = None) -> dict[str, Any]: ...
44
+ async def _validate_subentry_from_config_entry(handler: SchemaCommonFlowHandler, user_input: dict[str, Any]) -> dict[str, Any]: ...
45
+ async def _get_description_placeholders(handler: SchemaCommonFlowHandler) -> dict[str, str]: ...
46
+ async def _get_observation_menu_options(handler: SchemaCommonFlowHandler) -> list[str]: ...
47
+
48
+ CONFIG_FLOW: dict[str, SchemaFlowMenuStep | SchemaFlowFormStep]
49
+ OPTIONS_FLOW: dict[str, SchemaFlowMenuStep | SchemaFlowFormStep]
50
+
51
+ class BayesianConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
52
+ VERSION: int
53
+ MINOR_VERSION: int
54
+ config_flow = CONFIG_FLOW
55
+ options_flow = OPTIONS_FLOW
56
+ @classmethod
57
+ @callback
58
+ def async_get_supported_subentry_types(cls, config_entry: ConfigEntry) -> dict[str, type[ConfigSubentryFlow]]: ...
59
+ def async_config_entry_title(self, options: Mapping[str, str]) -> str: ...
60
+ @callback
61
+ def async_create_entry(self, data: Mapping[str, Any], **kwargs: Any) -> ConfigFlowResult: ...
62
+
63
+ class ObservationSubentryFlowHandler(ConfigSubentryFlow):
64
+ async def step_common(self, user_input: dict[str, Any] | None, obs_type: ObservationTypes, reconfiguring: bool = False) -> SubentryFlowResult: ...
65
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
66
+ async def async_step_state(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
67
+ async def async_step_numeric_state(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
68
+ async def async_step_template(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
69
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
@@ -1,3 +1,8 @@
1
+ from _typeshed import Incomplete
2
+ from homeassistant.const import Platform as Platform
3
+
4
+ DOMAIN: str
5
+ PLATFORMS: Incomplete
1
6
  ATTR_OBSERVATIONS: str
2
7
  ATTR_OCCURRED_OBSERVATION_ENTITIES: str
3
8
  ATTR_PROBABILITY: str
@@ -1,4 +1,4 @@
1
- from . import DOMAIN as DOMAIN
1
+ from .const import DOMAIN as DOMAIN
2
2
  from .helpers import Observation as Observation
3
3
  from homeassistant.core import HomeAssistant as HomeAssistant
4
4
 
@@ -4,4 +4,3 @@ CONF_INSTALLER_CODE: str
4
4
  CONF_USER_CODE: str
5
5
  ATTR_DATETIME: str
6
6
  SERVICE_SET_DATE_TIME: str
7
- ATTR_CONFIG_ENTRY_ID: str
@@ -1,8 +1,9 @@
1
1
  import datetime as dt
2
- from .const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, ATTR_DATETIME as ATTR_DATETIME, DOMAIN as DOMAIN, SERVICE_SET_DATE_TIME as SERVICE_SET_DATE_TIME
2
+ from .const import ATTR_DATETIME as ATTR_DATETIME, DOMAIN as DOMAIN, SERVICE_SET_DATE_TIME as SERVICE_SET_DATE_TIME
3
3
  from .types import BoschAlarmConfigEntry as BoschAlarmConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
6
+ from homeassistant.const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
7
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
8
9
  from typing import Any
@@ -19,5 +19,5 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: BraviaTVConfigEnt
19
19
  class BraviaTVButton(BraviaTVEntity, ButtonEntity):
20
20
  entity_description: BraviaTVButtonDescription
21
21
  _attr_unique_id: Incomplete
22
- def __init__(self, coordinator: BraviaTVCoordinator, unique_id: str, model: str, description: BraviaTVButtonDescription) -> None: ...
22
+ def __init__(self, coordinator: BraviaTVCoordinator, unique_id: str, description: BraviaTVButtonDescription) -> None: ...
23
23
  async def async_press(self) -> None: ...
@@ -25,6 +25,7 @@ class BraviaTVCoordinator(DataUpdateCoordinator[None]):
25
25
  use_psk: Incomplete
26
26
  client_id: Incomplete
27
27
  nickname: Incomplete
28
+ system_info: dict[str, str]
28
29
  source: str | None
29
30
  source_list: list[str]
30
31
  source_map: dict[str, dict]
@@ -8,4 +8,4 @@ class BraviaTVEntity(CoordinatorEntity[BraviaTVCoordinator]):
8
8
  _attr_has_entity_name: bool
9
9
  _attr_unique_id: Incomplete
10
10
  _attr_device_info: Incomplete
11
- def __init__(self, coordinator: BraviaTVCoordinator, unique_id: str, model: str) -> None: ...
11
+ def __init__(self, coordinator: BraviaTVCoordinator, unique_id: str) -> None: ...
@@ -36,7 +36,7 @@ CACHED_PROPERTIES_WITH_ATTR_: Incomplete
36
36
  class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
37
37
  _entity_component_unrecorded_attributes: Incomplete
38
38
  entity_description: ClimateEntityDescription
39
- _attr_current_humidity: int | None
39
+ _attr_current_humidity: float | None
40
40
  _attr_current_temperature: float | None
41
41
  _attr_fan_mode: str | None
42
42
  _attr_fan_modes: list[str] | None
@@ -5,6 +5,7 @@ from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from datetime import datetime
7
7
  from hass_nabucasa import Cloud as Cloud
8
+ from hass_nabucasa.alexa_api import AlexaAccessTokenDetails as AlexaAccessTokenDetails
8
9
  from homeassistant.components import persistent_notification as persistent_notification
9
10
  from homeassistant.components.alexa import config as alexa_config
10
11
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass
@@ -36,7 +37,7 @@ class CloudAlexaConfig(alexa_config.AbstractConfig):
36
37
  _cloud_user: Incomplete
37
38
  _prefs: Incomplete
38
39
  _cloud: Incomplete
39
- _token: Incomplete
40
+ _token: str | None
40
41
  _token_valid: datetime | None
41
42
  _cur_entity_prefs: Incomplete
42
43
  _alexa_sync_unsub: Callable[[], None] | None
@@ -1,11 +1,9 @@
1
1
  from .client import CloudClient as CloudClient
2
2
  from .const import REQUEST_TIMEOUT as REQUEST_TIMEOUT
3
3
  from _typeshed import Incomplete
4
- from hass_nabucasa import Cloud as Cloud
5
- from hass_nabucasa.payments_api import SubscriptionInfo as SubscriptionInfo
6
- from typing import Any
4
+ from hass_nabucasa import Cloud as Cloud, MigratePaypalAgreementInfo as MigratePaypalAgreementInfo, SubscriptionInfo as SubscriptionInfo
7
5
 
8
6
  _LOGGER: Incomplete
9
7
 
10
8
  async def async_subscription_info(cloud: Cloud[CloudClient]) -> SubscriptionInfo | None: ...
11
- async def async_migrate_paypal_agreement(cloud: Cloud[CloudClient]) -> dict[str, Any] | None: ...
9
+ async def async_migrate_paypal_agreement(cloud: Cloud[CloudClient]) -> MigratePaypalAgreementInfo | None: ...
@@ -1,7 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .helpers import fetch_latest_carbon_intensity as fetch_latest_carbon_intensity
3
3
  from _typeshed import Incomplete
4
- from aioelectricitymaps import CarbonIntensityResponse, ElectricityMaps as ElectricityMaps
4
+ from aioelectricitymaps import ElectricityMaps as ElectricityMaps, HomeAssistantCarbonIntensityResponse
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
@@ -10,10 +10,10 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as Da
10
10
  _LOGGER: Incomplete
11
11
  type CO2SignalConfigEntry = ConfigEntry[CO2SignalCoordinator]
12
12
 
13
- class CO2SignalCoordinator(DataUpdateCoordinator[CarbonIntensityResponse]):
13
+ class CO2SignalCoordinator(DataUpdateCoordinator[HomeAssistantCarbonIntensityResponse]):
14
14
  config_entry: CO2SignalConfigEntry
15
15
  client: Incomplete
16
16
  def __init__(self, hass: HomeAssistant, config_entry: CO2SignalConfigEntry, client: ElectricityMaps) -> None: ...
17
17
  @property
18
18
  def entry_id(self) -> str: ...
19
- async def _async_update_data(self) -> CarbonIntensityResponse: ...
19
+ async def _async_update_data(self) -> HomeAssistantCarbonIntensityResponse: ...
@@ -1,8 +1,7 @@
1
- from aioelectricitymaps import ElectricityMaps as ElectricityMaps
2
- from aioelectricitymaps.models import CarbonIntensityResponse as CarbonIntensityResponse
1
+ from aioelectricitymaps import ElectricityMaps as ElectricityMaps, HomeAssistantCarbonIntensityResponse as HomeAssistantCarbonIntensityResponse
3
2
  from collections.abc import Mapping
4
3
  from homeassistant.const import CONF_COUNTRY_CODE as CONF_COUNTRY_CODE, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE
5
4
  from homeassistant.core import HomeAssistant as HomeAssistant
6
5
  from typing import Any
7
6
 
8
- async def fetch_latest_carbon_intensity(hass: HomeAssistant, em: ElectricityMaps, config: Mapping[str, Any]) -> CarbonIntensityResponse: ...
7
+ async def fetch_latest_carbon_intensity(hass: HomeAssistant, em: ElectricityMaps, config: Mapping[str, Any]) -> HomeAssistantCarbonIntensityResponse: ...
@@ -1,7 +1,7 @@
1
1
  from .const import ATTRIBUTION as ATTRIBUTION, DOMAIN as DOMAIN
2
2
  from .coordinator import CO2SignalConfigEntry as CO2SignalConfigEntry, CO2SignalCoordinator as CO2SignalCoordinator
3
3
  from _typeshed import Incomplete
4
- from aioelectricitymaps.models import CarbonIntensityResponse as CarbonIntensityResponse
4
+ from aioelectricitymaps import HomeAssistantCarbonIntensityResponse as HomeAssistantCarbonIntensityResponse
5
5
  from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
7
7
  from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
@@ -14,8 +14,8 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity as Coordi
14
14
  @dataclass(frozen=True, kw_only=True)
15
15
  class CO2SensorEntityDescription(SensorEntityDescription):
16
16
  unique_id: str | None = ...
17
- unit_of_measurement_fn: Callable[[CarbonIntensityResponse], str | None] | None = ...
18
- value_fn: Callable[[CarbonIntensityResponse], float | None]
17
+ unit_of_measurement_fn: Callable[[HomeAssistantCarbonIntensityResponse], str | None] | None = ...
18
+ value_fn: Callable[[HomeAssistantCarbonIntensityResponse], float | None]
19
19
 
20
20
  SENSORS: Incomplete
21
21
 
@@ -31,7 +31,7 @@ class ConfigManagerEntryResourceReloadView(HomeAssistantView):
31
31
  name: str
32
32
  async def post(self, request: web.Request, entry_id: str) -> web.Response: ...
33
33
 
34
- def _prepare_config_flow_result_json(result: data_entry_flow.FlowResult, prepare_result_json: Callable[[data_entry_flow.FlowResult], data_entry_flow.FlowResult]) -> data_entry_flow.FlowResult: ...
34
+ def _prepare_config_flow_result_json(result: data_entry_flow.FlowResult, prepare_result_json: Callable[[data_entry_flow.FlowResult], dict[str, Any]]) -> dict[str, Any]: ...
35
35
 
36
36
  class ConfigManagerFlowIndexView(FlowManagerIndexView[config_entries.ConfigEntriesFlowManager]):
37
37
  url: str
@@ -40,14 +40,14 @@ class ConfigManagerFlowIndexView(FlowManagerIndexView[config_entries.ConfigEntri
40
40
  async def post(self, request: web.Request, data: dict[str, Any]) -> web.Response: ...
41
41
  async def _post_impl(self, request: web.Request, data: dict[str, Any]) -> web.Response: ...
42
42
  def get_context(self, data: dict[str, Any]) -> dict[str, Any]: ...
43
- def _prepare_result_json(self, result: data_entry_flow.FlowResult) -> data_entry_flow.FlowResult: ...
43
+ def _prepare_result_json(self, result: data_entry_flow.FlowResult) -> dict[str, Any]: ...
44
44
 
45
45
  class ConfigManagerFlowResourceView(FlowManagerResourceView[config_entries.ConfigEntriesFlowManager]):
46
46
  url: str
47
47
  name: str
48
48
  async def get(self, request: web.Request, /, flow_id: str) -> web.Response: ...
49
49
  async def post(self, request: web.Request, flow_id: str) -> web.Response: ...
50
- def _prepare_result_json(self, result: data_entry_flow.FlowResult) -> data_entry_flow.FlowResult: ...
50
+ def _prepare_result_json(self, result: data_entry_flow.FlowResult) -> dict[str, Any]: ...
51
51
 
52
52
  class ConfigManagerAvailableFlowView(HomeAssistantView):
53
53
  url: str
@@ -105,4 +105,7 @@ async def _async_matching_config_entries_json_fragments(hass: HomeAssistant, typ
105
105
  async def config_subentry_list(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
106
106
  @websocket_api.require_admin
107
107
  @websocket_api.async_response
108
+ async def config_subentry_update(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
109
+ @websocket_api.require_admin
110
+ @websocket_api.async_response
108
111
  async def config_subentry_delete(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -1,5 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from datetime import datetime
3
+ from homeassistant.components import media_source as media_source
3
4
  from homeassistant.components.media_player import BrowseMedia as BrowseMedia, MediaClass as MediaClass, MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, RepeatMode as RepeatMode, SearchMedia as SearchMedia, SearchMediaQuery as SearchMediaQuery
4
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -108,6 +109,7 @@ class DemoTVShowPlayer(AbstractDemoPlayer):
108
109
 
109
110
  class DemoBrowsePlayer(AbstractDemoPlayer):
110
111
  _attr_supported_features = BROWSE_PLAYER_SUPPORT
112
+ async def async_browse_media(self, media_content_type: MediaType | str | None = None, media_content_id: str | None = None) -> BrowseMedia: ...
111
113
 
112
114
  class DemoGroupPlayer(AbstractDemoPlayer):
113
115
  _attr_supported_features: Incomplete
@@ -21,8 +21,8 @@ class DeviceCondition(Condition):
21
21
  _hass: Incomplete
22
22
  def __init__(self, hass: HomeAssistant, config: ConfigType) -> None: ...
23
23
  @classmethod
24
- async def async_validate_condition_config(cls, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
25
- async def async_condition_from_config(self) -> condition.ConditionCheckerType: ...
24
+ async def async_validate_config(cls, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
25
+ async def async_get_checker(self) -> condition.ConditionCheckerType: ...
26
26
 
27
27
  CONDITIONS: dict[str, type[Condition]]
28
28
 
@@ -9,7 +9,7 @@ from homeassistant.const import EntityCategory as EntityCategory
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
11
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
- from pyenphase import EnvoyEncharge as EnvoyEncharge, EnvoyEnpower as EnvoyEnpower
12
+ from pyenphase import EnvoyC6CC as EnvoyC6CC, EnvoyCollar as EnvoyCollar, EnvoyEncharge as EnvoyEncharge, EnvoyEnpower as EnvoyEnpower
13
13
 
14
14
  PARALLEL_UPDATES: int
15
15
 
@@ -25,6 +25,18 @@ class EnvoyEnpowerBinarySensorEntityDescription(BinarySensorEntityDescription):
25
25
 
26
26
  ENPOWER_SENSORS: Incomplete
27
27
 
28
+ @dataclass(frozen=True, kw_only=True)
29
+ class EnvoyCollarBinarySensorEntityDescription(BinarySensorEntityDescription):
30
+ value_fn: Callable[[EnvoyCollar], bool]
31
+
32
+ COLLAR_SENSORS: Incomplete
33
+
34
+ @dataclass(frozen=True, kw_only=True)
35
+ class EnvoyC6CCBinarySensorEntityDescription(BinarySensorEntityDescription):
36
+ value_fn: Callable[[EnvoyC6CC], bool]
37
+
38
+ C6CC_SENSORS: Incomplete
39
+
28
40
  async def async_setup_entry(hass: HomeAssistant, config_entry: EnphaseConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
29
41
 
30
42
  class EnvoyBaseBinarySensorEntity(EnvoyBaseEntity, BinarySensorEntity): ...
@@ -45,3 +57,19 @@ class EnvoyEnpowerBinarySensorEntity(EnvoyBaseBinarySensorEntity):
45
57
  def __init__(self, coordinator: EnphaseUpdateCoordinator, description: EnvoyEnpowerBinarySensorEntityDescription) -> None: ...
46
58
  @property
47
59
  def is_on(self) -> bool: ...
60
+
61
+ class EnvoyCollarBinarySensorEntity(EnvoyBaseBinarySensorEntity):
62
+ entity_description: EnvoyCollarBinarySensorEntityDescription
63
+ _attr_unique_id: Incomplete
64
+ _attr_device_info: Incomplete
65
+ def __init__(self, coordinator: EnphaseUpdateCoordinator, description: EnvoyCollarBinarySensorEntityDescription) -> None: ...
66
+ @property
67
+ def is_on(self) -> bool: ...
68
+
69
+ class EnvoyC6CCBinarySensorEntity(EnvoyBaseBinarySensorEntity):
70
+ entity_description: EnvoyC6CCBinarySensorEntityDescription
71
+ _attr_unique_id: Incomplete
72
+ _attr_device_info: Incomplete
73
+ def __init__(self, coordinator: EnphaseUpdateCoordinator, description: EnvoyC6CCBinarySensorEntityDescription) -> None: ...
74
+ @property
75
+ def is_on(self) -> bool: ...
@@ -11,7 +11,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
12
12
  from homeassistant.helpers.entity import Entity as Entity
13
13
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
14
- from pyenphase import EnvoyACBPower as EnvoyACBPower, EnvoyBatteryAggregate as EnvoyBatteryAggregate, EnvoyEncharge as EnvoyEncharge, EnvoyEnchargeAggregate as EnvoyEnchargeAggregate, EnvoyEnchargePower as EnvoyEnchargePower, EnvoyEnpower as EnvoyEnpower, EnvoyInverter as EnvoyInverter, EnvoySystemConsumption as EnvoySystemConsumption, EnvoySystemProduction as EnvoySystemProduction
14
+ from pyenphase import EnvoyACBPower as EnvoyACBPower, EnvoyBatteryAggregate as EnvoyBatteryAggregate, EnvoyC6CC as EnvoyC6CC, EnvoyCollar as EnvoyCollar, EnvoyEncharge as EnvoyEncharge, EnvoyEnchargeAggregate as EnvoyEnchargeAggregate, EnvoyEnchargePower as EnvoyEnchargePower, EnvoyEnpower as EnvoyEnpower, EnvoyInverter as EnvoyInverter, EnvoySystemConsumption as EnvoySystemConsumption, EnvoySystemProduction as EnvoySystemProduction
15
15
  from pyenphase.models.meters import CtMeterStatus, CtState as CtState, CtStatusFlags as CtStatusFlags, CtType, EnvoyMeterData as EnvoyMeterData
16
16
 
17
17
  _LOGGER: Incomplete
@@ -75,6 +75,18 @@ class EnvoyEnpowerSensorEntityDescription(SensorEntityDescription):
75
75
 
76
76
  ENPOWER_SENSORS: Incomplete
77
77
 
78
+ @dataclass(frozen=True, kw_only=True)
79
+ class EnvoyCollarSensorEntityDescription(SensorEntityDescription):
80
+ value_fn: Callable[[EnvoyCollar], datetime.datetime | int | float | str]
81
+
82
+ COLLAR_SENSORS: Incomplete
83
+
84
+ @dataclass(frozen=True, kw_only=True)
85
+ class EnvoyC6CCSensorEntityDescription(SensorEntityDescription):
86
+ value_fn: Callable[[EnvoyC6CC], datetime.datetime]
87
+
88
+ C6CC_SENSORS: Incomplete
89
+
78
90
  @dataclass(frozen=True)
79
91
  class EnvoyEnchargeAggregateRequiredKeysMixin: ...
80
92
 
@@ -221,3 +233,20 @@ class AggregateBatteryEntity(EnvoySystemSensorEntity):
221
233
  entity_description: EnvoyAggregateBatterySensorEntityDescription
222
234
  @property
223
235
  def native_value(self) -> int: ...
236
+
237
+ class EnvoyCollarEntity(EnvoySensorBaseEntity):
238
+ entity_description: EnvoyCollarSensorEntityDescription
239
+ _serial_number: Incomplete
240
+ _attr_unique_id: Incomplete
241
+ _attr_device_info: Incomplete
242
+ def __init__(self, coordinator: EnphaseUpdateCoordinator, description: EnvoyCollarSensorEntityDescription) -> None: ...
243
+ @property
244
+ def native_value(self) -> datetime.datetime | int | float | str: ...
245
+
246
+ class EnvoyC6CCEntity(EnvoySensorBaseEntity):
247
+ entity_description: EnvoyC6CCSensorEntityDescription
248
+ _attr_unique_id: Incomplete
249
+ _attr_device_info: Incomplete
250
+ def __init__(self, coordinator: EnphaseUpdateCoordinator, description: EnvoyC6CCSensorEntityDescription) -> None: ...
251
+ @property
252
+ def native_value(self) -> datetime.datetime: ...
@@ -5,7 +5,7 @@ from .domain_data import DomainData as DomainData
5
5
  from .encryption_key_storage import async_get_encryption_key_storage as async_get_encryption_key_storage
6
6
  from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry, RuntimeEntryData as RuntimeEntryData
7
7
  from _typeshed import Incomplete
8
- from aioesphomeapi import APIClient as APIClient, APIVersion as APIVersion, DeviceInfo as EsphomeDeviceInfo, EntityInfo as EntityInfo, HomeassistantServiceCall as HomeassistantServiceCall, LogLevel, ReconnectLogic, UserService as UserService
8
+ from aioesphomeapi import APIClient as APIClient, APIVersion as APIVersion, DeviceInfo as EsphomeDeviceInfo, HomeassistantServiceCall as HomeassistantServiceCall, LogLevel, ReconnectLogic, UserService as UserService
9
9
  from aioesphomeapi.api_pb2 import SubscribeLogsResponse as SubscribeLogsResponse
10
10
  from homeassistant.components import bluetooth as bluetooth, tag as tag, zeroconf as zeroconf
11
11
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, CONF_MODE as CONF_MODE, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, EVENT_LOGGING_CHANGED as EVENT_LOGGING_CHANGED, Platform as Platform
@@ -17,7 +17,6 @@ from homeassistant.helpers.event import async_track_state_change_event as async_
17
17
  from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
18
18
  from homeassistant.helpers.service import async_set_service_schema as async_set_service_schema
19
19
  from homeassistant.helpers.template import Template as Template
20
- from homeassistant.util.async_ import create_eager_task as create_eager_task
21
20
  from typing import Any, NamedTuple
22
21
 
23
22
  DEVICE_CONFLICT_ISSUE_FORMAT: str
@@ -11,6 +11,7 @@ from typing import Any
11
11
  PARALLEL_UPDATES: int
12
12
  _LOGGER: Incomplete
13
13
  _STATES: EsphomeEnumMapper[EspMediaPlayerState, MediaPlayerState]
14
+ _FEATURES: Incomplete
14
15
  ATTR_BYPASS_PROXY: str
15
16
 
16
17
  class EsphomeMediaPlayer(EsphomeEntity[MediaPlayerInfo, MediaPlayerEntityState], MediaPlayerEntity):
@@ -42,6 +43,10 @@ class EsphomeMediaPlayer(EsphomeEntity[MediaPlayerInfo, MediaPlayerEntityState],
42
43
  async def async_media_stop(self) -> None: ...
43
44
  @convert_api_error_ha_error
44
45
  async def async_mute_volume(self, mute: bool) -> None: ...
46
+ @convert_api_error_ha_error
47
+ async def async_turn_on(self) -> None: ...
48
+ @convert_api_error_ha_error
49
+ async def async_turn_off(self) -> None: ...
45
50
 
46
51
  def _is_url(url: str) -> bool: ...
47
52
 
@@ -0,0 +1,7 @@
1
+ from . import ATTR_PERCENTAGE as ATTR_PERCENTAGE, DOMAIN as DOMAIN, SERVICE_TURN_ON as SERVICE_TURN_ON
2
+ from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from homeassistant.helpers import intent as intent
4
+
5
+ INTENT_FAN_SET_SPEED: str
6
+
7
+ async def async_setup_intents(hass: HomeAssistant) -> None: ...
@@ -46,7 +46,6 @@ class FritzBoxTools(DataUpdateCoordinator[UpdateCoordinatorDataType]):
46
46
  fritz_guest_wifi: FritzGuestWLAN
47
47
  fritz_hosts: FritzHosts
48
48
  fritz_status: FritzStatus
49
- hass: Incomplete
50
49
  host: Incomplete
51
50
  mesh_role: Incomplete
52
51
  mesh_wifi_uplink: bool
@@ -1,2 +1,6 @@
1
1
  DOMAIN: str
2
2
  CONF_EXPIRATION: str
3
+ CONF_MAX_ACCEPTABLE: str
4
+ CONF_MAX_GOOD: str
5
+ CONF_MIN_ACCEPTABLE: str
6
+ CONF_MIN_GOOD: str
@@ -1,3 +1,4 @@
1
+ from .const import CONF_MAX_ACCEPTABLE as CONF_MAX_ACCEPTABLE, CONF_MAX_GOOD as CONF_MAX_GOOD, CONF_MIN_ACCEPTABLE as CONF_MIN_ACCEPTABLE, CONF_MIN_GOOD as CONF_MIN_GOOD
1
2
  from .coordinator import FytaConfigEntry as FytaConfigEntry, FytaCoordinator as FytaCoordinator
2
3
  from .entity import FytaPlantEntity as FytaPlantEntity
3
4
  from collections.abc import Callable as Callable
@@ -15,9 +16,14 @@ from typing import Final
15
16
  class FytaSensorEntityDescription(SensorEntityDescription):
16
17
  value_fn: Callable[[Plant], StateType | datetime]
17
18
 
19
+ @dataclass(frozen=True, kw_only=True)
20
+ class FytaMeasurementSensorEntityDescription(FytaSensorEntityDescription):
21
+ attribute_fn: Callable[[Plant], dict[str, float | None]]
22
+
18
23
  PLANT_STATUS_LIST: list[str]
19
24
  PLANT_MEASUREMENT_STATUS_LIST: list[str]
20
25
  SENSORS: Final[list[FytaSensorEntityDescription]]
26
+ MEASUREMENT_SENSORS: Final[list[FytaMeasurementSensorEntityDescription]]
21
27
 
22
28
  async def async_setup_entry(hass: HomeAssistant, entry: FytaConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
29
 
@@ -25,3 +31,8 @@ class FytaPlantSensor(FytaPlantEntity, SensorEntity):
25
31
  entity_description: FytaSensorEntityDescription
26
32
  @property
27
33
  def native_value(self) -> StateType | datetime: ...
34
+
35
+ class FytaPlantMeasurementSensor(FytaPlantSensor):
36
+ entity_description: FytaMeasurementSensorEntityDescription
37
+ @property
38
+ def extra_state_attributes(self) -> dict[str, float | None]: ...
@@ -14,7 +14,6 @@ type GlancesConfigEntry = ConfigEntry[GlancesDataUpdateCoordinator]
14
14
 
15
15
  class GlancesDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
16
16
  config_entry: GlancesConfigEntry
17
- hass: Incomplete
18
17
  host: str
19
18
  api: Incomplete
20
19
  def __init__(self, hass: HomeAssistant, entry: GlancesConfigEntry, api: Glances) -> None: ...
@@ -38,6 +38,8 @@ SENSOR_CONFIG_SCHEMA: Incomplete
38
38
 
39
39
  async def light_switch_options_schema(domain: str, handler: SchemaCommonFlowHandler | None) -> vol.Schema: ...
40
40
 
41
+ LIGHT_CONFIG_SCHEMA: Incomplete
42
+ SWITCH_CONFIG_SCHEMA: Incomplete
41
43
  GROUP_TYPES: Incomplete
42
44
 
43
45
  async def choose_options_step(options: dict[str, Any]) -> str: ...
@@ -1,15 +1,19 @@
1
1
  from .const import CONF_API_USER as CONF_API_USER, DOMAIN as DOMAIN, X_CLIENT as X_CLIENT
2
- from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry, HabiticaDataUpdateCoordinator as HabiticaDataUpdateCoordinator
2
+ from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry, HabiticaDataUpdateCoordinator as HabiticaDataUpdateCoordinator, HabiticaPartyCoordinator as HabiticaPartyCoordinator
3
3
  from .services import async_setup_services as async_setup_services
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_URL as CONF_URL, CONF_VERIFY_SSL as CONF_VERIFY_SSL, Platform as Platform
6
- from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
8
  from homeassistant.helpers.typing import ConfigType as ConfigType
9
+ from homeassistant.util.hass_dict import HassKey as HassKey
10
+ from uuid import UUID
9
11
 
10
12
  CONFIG_SCHEMA: Incomplete
13
+ HABITICA_KEY: HassKey[dict[UUID, HabiticaPartyCoordinator]]
11
14
  PLATFORMS: Incomplete
12
15
 
13
16
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
14
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: HabiticaConfigEntry) -> bool: ...
18
+ async def shutdown_party_coordinator(hass: HomeAssistant, party_added: UUID) -> None: ...
15
19
  async def async_unload_entry(hass: HomeAssistant, entry: HabiticaConfigEntry) -> bool: ...
@@ -1,11 +1,13 @@
1
+ from . import HABITICA_KEY as HABITICA_KEY
1
2
  from .const import ASSETS_URL as ASSETS_URL
2
- from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry
3
- from .entity import HabiticaBase as HabiticaBase
3
+ from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry, HabiticaPartyCoordinator as HabiticaPartyCoordinator
4
+ from .entity import HabiticaBase as HabiticaBase, HabiticaPartyBase as HabiticaPartyBase
5
+ from _typeshed import Incomplete
4
6
  from collections.abc import Callable as Callable
5
7
  from dataclasses import dataclass
6
8
  from enum import StrEnum
7
- from habiticalib import UserData as UserData
8
- from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
9
+ from habiticalib import ContentData as ContentData, UserData as UserData
10
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
9
11
  from homeassistant.core import HomeAssistant as HomeAssistant
10
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
13
 
@@ -18,6 +20,7 @@ class HabiticaBinarySensorEntityDescription(BinarySensorEntityDescription):
18
20
 
19
21
  class HabiticaBinarySensor(StrEnum):
20
22
  PENDING_QUEST = 'pending_quest'
23
+ QUEST_RUNNING = 'quest_running'
21
24
 
22
25
  def get_scroll_image_for_pending_quest_invitation(user: UserData) -> str | None: ...
23
26
 
@@ -31,3 +34,9 @@ class HabiticaBinarySensorEntity(HabiticaBase, BinarySensorEntity):
31
34
  def is_on(self) -> bool | None: ...
32
35
  @property
33
36
  def entity_picture(self) -> str | None: ...
37
+
38
+ class HabiticaPartyBinarySensorEntity(HabiticaPartyBase, BinarySensorEntity):
39
+ entity_description: Incomplete
40
+ def __init__(self, coordinator: HabiticaPartyCoordinator, config_entry: HabiticaConfigEntry, content: ContentData) -> None: ...
41
+ @property
42
+ def is_on(self) -> bool | None: ...