diff --git a/homeassistant/components/esphome/manifest.json b/homeassistant/components/esphome/manifest.json index b458b39bd16ce8..9b38b83f335f3b 100644 --- a/homeassistant/components/esphome/manifest.json +++ b/homeassistant/components/esphome/manifest.json @@ -17,7 +17,7 @@ "mqtt": ["esphome/discover/#"], "quality_scale": "platinum", "requirements": [ - "aioesphomeapi==41.11.0", + "aioesphomeapi==41.12.0", "esphome-dashboard-api==1.3.0", "bleak-esphome==3.4.0" ], diff --git a/homeassistant/components/vicare/const.py b/homeassistant/components/vicare/const.py index f8b74730e576d2..c874b9f173c6d9 100644 --- a/homeassistant/components/vicare/const.py +++ b/homeassistant/components/vicare/const.py @@ -34,12 +34,13 @@ DEFAULT_CACHE_DURATION = 60 +VICARE_BAR = "bar" +VICARE_CUBIC_METER = "cubicMeter" +VICARE_KW = "kilowatt" +VICARE_KWH = "kilowattHour" VICARE_PERCENT = "percent" VICARE_W = "watt" -VICARE_KW = "kilowatt" VICARE_WH = "wattHour" -VICARE_KWH = "kilowattHour" -VICARE_CUBIC_METER = "cubicMeter" class HeatingType(enum.Enum): diff --git a/homeassistant/components/vicare/manifest.json b/homeassistant/components/vicare/manifest.json index ec2deea1df598c..11ba2a31b2a1a1 100644 --- a/homeassistant/components/vicare/manifest.json +++ b/homeassistant/components/vicare/manifest.json @@ -11,5 +11,5 @@ "documentation": "https://www.home-assistant.io/integrations/vicare", "iot_class": "cloud_polling", "loggers": ["PyViCare"], - "requirements": ["PyViCare==2.51.0"] + "requirements": ["PyViCare==2.52.0"] } diff --git a/homeassistant/components/vicare/sensor.py b/homeassistant/components/vicare/sensor.py index fc26c489cd3a40..891992acd045d1 100644 --- a/homeassistant/components/vicare/sensor.py +++ b/homeassistant/components/vicare/sensor.py @@ -41,6 +41,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback from .const import ( + VICARE_BAR, VICARE_CUBIC_METER, VICARE_KW, VICARE_KWH, @@ -62,20 +63,22 @@ _LOGGER = logging.getLogger(__name__) VICARE_UNIT_TO_DEVICE_CLASS = { - VICARE_WH: SensorDeviceClass.ENERGY, + VICARE_BAR: SensorDeviceClass.PRESSURE, + VICARE_CUBIC_METER: SensorDeviceClass.GAS, + VICARE_KW: SensorDeviceClass.POWER, VICARE_KWH: SensorDeviceClass.ENERGY, + VICARE_WH: SensorDeviceClass.ENERGY, VICARE_W: SensorDeviceClass.POWER, - VICARE_KW: SensorDeviceClass.POWER, - VICARE_CUBIC_METER: SensorDeviceClass.GAS, } VICARE_UNIT_TO_HA_UNIT = { + VICARE_BAR: UnitOfPressure.BAR, + VICARE_CUBIC_METER: UnitOfVolume.CUBIC_METERS, + VICARE_KW: UnitOfPower.KILO_WATT, + VICARE_KWH: UnitOfEnergy.KILO_WATT_HOUR, VICARE_PERCENT: PERCENTAGE, VICARE_W: UnitOfPower.WATT, - VICARE_KW: UnitOfPower.KILO_WATT, VICARE_WH: UnitOfEnergy.WATT_HOUR, - VICARE_KWH: UnitOfEnergy.KILO_WATT_HOUR, - VICARE_CUBIC_METER: UnitOfVolume.CUBIC_METERS, } diff --git a/homeassistant/components/zeroconf/manifest.json b/homeassistant/components/zeroconf/manifest.json index b44e6f4466aa7f..f3da07eeeb573c 100644 --- a/homeassistant/components/zeroconf/manifest.json +++ b/homeassistant/components/zeroconf/manifest.json @@ -8,5 +8,5 @@ "iot_class": "local_push", "loggers": ["zeroconf"], "quality_scale": "internal", - "requirements": ["zeroconf==0.147.2"] + "requirements": ["zeroconf==0.148.0"] } diff --git a/homeassistant/package_constraints.txt b/homeassistant/package_constraints.txt index f8af18bf778fba..c47ff2c605e997 100644 --- a/homeassistant/package_constraints.txt +++ b/homeassistant/package_constraints.txt @@ -50,7 +50,7 @@ orjson==3.11.3 packaging>=23.1 paho-mqtt==2.1.0 Pillow==11.3.0 -propcache==0.3.2 +propcache==0.4.0 psutil-home-assistant==0.0.1 PyJWT==2.10.1 pymicro-vad==1.0.1 @@ -67,7 +67,7 @@ SQLAlchemy==2.0.41 standard-aifc==3.13.0 standard-telnetlib==3.13.0 typing-extensions>=4.15.0,<5.0 -ulid-transform==1.4.0 +ulid-transform==1.5.2 urllib3>=2.0 uv==0.8.9 voluptuous-openapi==0.1.0 @@ -75,7 +75,7 @@ voluptuous-serialize==2.7.0 voluptuous==0.15.2 webrtc-models==0.3.0 yarl==1.20.1 -zeroconf==0.147.2 +zeroconf==0.148.0 # Constrain pycryptodome to avoid vulnerability # see https://github.com/home-assistant/core/pull/16238 diff --git a/pyproject.toml b/pyproject.toml index b4e3a8b0a19e81..3ce2b9a4c64f65 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -59,7 +59,7 @@ dependencies = [ # PyJWT has loose dependency. We want the latest one. "cryptography==46.0.2", "Pillow==11.3.0", - "propcache==0.3.2", + "propcache==0.4.0", "pyOpenSSL==25.3.0", "orjson==3.11.3", "packaging>=23.1", @@ -72,7 +72,7 @@ dependencies = [ "standard-aifc==3.13.0", "standard-telnetlib==3.13.0", "typing-extensions>=4.15.0,<5.0", - "ulid-transform==1.4.0", + "ulid-transform==1.5.2", "urllib3>=2.0", "uv==0.8.9", "voluptuous==0.15.2", @@ -80,7 +80,7 @@ dependencies = [ "voluptuous-openapi==0.1.0", "yarl==1.20.1", "webrtc-models==0.3.0", - "zeroconf==0.147.2", + "zeroconf==0.148.0", ] [project.urls] diff --git a/requirements.txt b/requirements.txt index 687436c377d1d7..d10b789c4e3e6a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -31,7 +31,7 @@ lru-dict==1.3.0 PyJWT==2.10.1 cryptography==46.0.2 Pillow==11.3.0 -propcache==0.3.2 +propcache==0.4.0 pyOpenSSL==25.3.0 orjson==3.11.3 packaging>=23.1 @@ -44,7 +44,7 @@ SQLAlchemy==2.0.41 standard-aifc==3.13.0 standard-telnetlib==3.13.0 typing-extensions>=4.15.0,<5.0 -ulid-transform==1.4.0 +ulid-transform==1.5.2 urllib3>=2.0 uv==0.8.9 voluptuous==0.15.2 @@ -52,4 +52,4 @@ voluptuous-serialize==2.7.0 voluptuous-openapi==0.1.0 yarl==1.20.1 webrtc-models==0.3.0 -zeroconf==0.147.2 +zeroconf==0.148.0 diff --git a/requirements_all.txt b/requirements_all.txt index 20fe341c4545d6..aaf824154230a7 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -100,7 +100,7 @@ PyTransportNSW==0.1.1 PyTurboJPEG==1.8.0 # homeassistant.components.vicare -PyViCare==2.51.0 +PyViCare==2.52.0 # homeassistant.components.xiaomi_aqara PyXiaomiGateway==0.14.3 @@ -247,7 +247,7 @@ aioelectricitymaps==1.1.1 aioemonitor==1.0.5 # homeassistant.components.esphome -aioesphomeapi==41.11.0 +aioesphomeapi==41.12.0 # homeassistant.components.flo aioflo==2021.11.0 @@ -3229,7 +3229,7 @@ zamg==0.3.6 zcc-helper==3.7 # homeassistant.components.zeroconf -zeroconf==0.147.2 +zeroconf==0.148.0 # homeassistant.components.zeversolar zeversolar==0.3.2 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 71e24f74dbcc95..3f87b7d6729742 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -94,7 +94,7 @@ PyTransportNSW==0.1.1 PyTurboJPEG==1.8.0 # homeassistant.components.vicare -PyViCare==2.51.0 +PyViCare==2.52.0 # homeassistant.components.xiaomi_aqara PyXiaomiGateway==0.14.3 @@ -235,7 +235,7 @@ aioelectricitymaps==1.1.1 aioemonitor==1.0.5 # homeassistant.components.esphome -aioesphomeapi==41.11.0 +aioesphomeapi==41.12.0 # homeassistant.components.flo aioflo==2021.11.0 @@ -2679,7 +2679,7 @@ zamg==0.3.6 zcc-helper==3.7 # homeassistant.components.zeroconf -zeroconf==0.147.2 +zeroconf==0.148.0 # homeassistant.components.zeversolar zeversolar==0.3.2 diff --git a/script/hassfest/requirements.py b/script/hassfest/requirements.py index a84867920535e5..ddc3cb649e87ad 100644 --- a/script/hassfest/requirements.py +++ b/script/hassfest/requirements.py @@ -44,19 +44,23 @@ "typing_extensions": "SemVer", "urllib3": "SemVer", "yarl": "SemVer", + "zeroconf": "SemVer", } PACKAGE_CHECK_PREPARE_UPDATE: dict[str, int] = { # In the form dict("dependencyX": n+1) # - dependencyX should be the name of the referenced dependency # - current major version +1 # Pandas will only fully support Python 3.14 in v3. + # Zeroconf will switch to v1 soon, without any breaking changes. "pandas": 3, + "zeroconf": 1, } PACKAGE_CHECK_VERSION_RANGE_EXCEPTIONS: dict[str, dict[str, set[str]]] = { # In the form dict("domain": {"package": {"dependency1", "dependency2"}}) # - domain is the integration domain # - package is the package (can be transitive) referencing the dependency # - dependencyX should be the name of the referenced dependency + "altruist": {"altruistclient": {"zeroconf"}}, "geocaching": { # scipy version closely linked to numpy # geocachingapi > reverse_geocode > scipy > numpy @@ -74,6 +78,9 @@ # Current has an upper bound on major >=3.10.0,<4.0.0 "pystiebeleltron": {"pymodbus"} }, + "xiaomi_miio": { + "python-miio": {"zeroconf"}, + }, } PACKAGE_REGEX = re.compile( diff --git a/tests/components/vicare/snapshots/test_sensor.ambr b/tests/components/vicare/snapshots/test_sensor.ambr index 92a5a23e50a7b2..36bb33b8de2742 100644 --- a/tests/components/vicare/snapshots/test_sensor.ambr +++ b/tests/components/vicare/snapshots/test_sensor.ambr @@ -2561,6 +2561,9 @@ }), 'name': None, 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), }), 'original_device_class': , 'original_icon': None, @@ -2571,7 +2574,7 @@ 'supported_features': 0, 'translation_key': 'supply_pressure', 'unique_id': 'gateway0_deviceSerialVitocal250A-supply_pressure', - 'unit_of_measurement': None, + 'unit_of_measurement': , }) # --- # name: test_all_entities[type:heatpump-vicare/Vitocal250A.json][sensor.model0_supply_pressure-state] @@ -2580,6 +2583,7 @@ 'device_class': 'pressure', 'friendly_name': 'model0 Supply pressure', 'state_class': , + 'unit_of_measurement': , }), 'context': , 'entity_id': 'sensor.model0_supply_pressure',