mirror of
https://github.com/home-assistant/core.git
synced 2025-07-20 03:37:07 +00:00
2023.3.5 (#89814)
This commit is contained in:
commit
b6d001bfe6
@ -180,7 +180,7 @@ class ArestData:
|
|||||||
self._resource = resource
|
self._resource = resource
|
||||||
self._pin = pin
|
self._pin = pin
|
||||||
self.data = {}
|
self.data = {}
|
||||||
self._attr_available = True
|
self.available = True
|
||||||
|
|
||||||
@Throttle(MIN_TIME_BETWEEN_UPDATES)
|
@Throttle(MIN_TIME_BETWEEN_UPDATES)
|
||||||
def update(self):
|
def update(self):
|
||||||
@ -201,7 +201,7 @@ class ArestData:
|
|||||||
f"{self._resource}/digital/{self._pin}", timeout=10
|
f"{self._resource}/digital/{self._pin}", timeout=10
|
||||||
)
|
)
|
||||||
self.data = {"value": response.json()["return_value"]}
|
self.data = {"value": response.json()["return_value"]}
|
||||||
self._attr_available = True
|
self.available = True
|
||||||
except requests.exceptions.ConnectionError:
|
except requests.exceptions.ConnectionError:
|
||||||
_LOGGER.error("No route to device %s", self._resource)
|
_LOGGER.error("No route to device %s", self._resource)
|
||||||
self._attr_available = False
|
self.available = False
|
||||||
|
@ -7,6 +7,6 @@
|
|||||||
"iot_class": "local_push",
|
"iot_class": "local_push",
|
||||||
"loggers": ["bond_async"],
|
"loggers": ["bond_async"],
|
||||||
"quality_scale": "platinum",
|
"quality_scale": "platinum",
|
||||||
"requirements": ["bond-async==0.1.22"],
|
"requirements": ["bond-async==0.1.23"],
|
||||||
"zeroconf": ["_bond._tcp.local."]
|
"zeroconf": ["_bond._tcp.local."]
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,6 @@
|
|||||||
"integration_type": "device",
|
"integration_type": "device",
|
||||||
"iot_class": "local_push",
|
"iot_class": "local_push",
|
||||||
"loggers": ["aioesphomeapi", "noiseprotocol"],
|
"loggers": ["aioesphomeapi", "noiseprotocol"],
|
||||||
"requirements": ["aioesphomeapi==13.4.2", "esphome-dashboard-api==1.2.3"],
|
"requirements": ["aioesphomeapi==13.5.1", "esphome-dashboard-api==1.2.3"],
|
||||||
"zeroconf": ["_esphomelib._tcp.local."]
|
"zeroconf": ["_esphomelib._tcp.local."]
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@
|
|||||||
"documentation": "https://www.home-assistant.io/integrations/frontend",
|
"documentation": "https://www.home-assistant.io/integrations/frontend",
|
||||||
"integration_type": "system",
|
"integration_type": "system",
|
||||||
"quality_scale": "internal",
|
"quality_scale": "internal",
|
||||||
"requirements": ["home-assistant-frontend==20230309.0"]
|
"requirements": ["home-assistant-frontend==20230309.1"]
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,9 @@ class ImapDataUpdateCoordinator(DataUpdateCoordinator[int]):
|
|||||||
f"Invalid response for search '{self.config_entry.data[CONF_SEARCH]}': {result} / {lines[0]}"
|
f"Invalid response for search '{self.config_entry.data[CONF_SEARCH]}': {result} / {lines[0]}"
|
||||||
)
|
)
|
||||||
if self.support_push:
|
if self.support_push:
|
||||||
self.hass.async_create_task(self.async_wait_server_push())
|
self.hass.async_create_background_task(
|
||||||
|
self.async_wait_server_push(), "Wait for IMAP data push"
|
||||||
|
)
|
||||||
return len(lines[0].split())
|
return len(lines[0].split())
|
||||||
|
|
||||||
async def async_wait_server_push(self) -> None:
|
async def async_wait_server_push(self) -> None:
|
||||||
@ -100,5 +102,7 @@ class ImapDataUpdateCoordinator(DataUpdateCoordinator[int]):
|
|||||||
async def shutdown(self, *_) -> None:
|
async def shutdown(self, *_) -> None:
|
||||||
"""Close resources."""
|
"""Close resources."""
|
||||||
if self.imap_client:
|
if self.imap_client:
|
||||||
|
if self.imap_client.has_pending_idle():
|
||||||
|
self.imap_client.idle_done()
|
||||||
await self.imap_client.stop_wait_server_push()
|
await self.imap_client.stop_wait_server_push()
|
||||||
await self.imap_client.logout()
|
await self.imap_client.logout()
|
||||||
|
@ -16,7 +16,7 @@ from pymodbus.client import (
|
|||||||
from pymodbus.constants import Defaults
|
from pymodbus.constants import Defaults
|
||||||
from pymodbus.exceptions import ModbusException
|
from pymodbus.exceptions import ModbusException
|
||||||
from pymodbus.pdu import ModbusResponse
|
from pymodbus.pdu import ModbusResponse
|
||||||
from pymodbus.transaction import ModbusRtuFramer
|
from pymodbus.transaction import ModbusAsciiFramer, ModbusRtuFramer, ModbusSocketFramer
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
@ -137,8 +137,10 @@ async def async_modbus_setup(
|
|||||||
for name in hubs:
|
for name in hubs:
|
||||||
if not await hubs[name].async_setup():
|
if not await hubs[name].async_setup():
|
||||||
return False
|
return False
|
||||||
|
hub_collect = hass.data[DOMAIN]
|
||||||
|
else:
|
||||||
|
hass.data[DOMAIN] = hub_collect = {}
|
||||||
|
|
||||||
hass.data[DOMAIN] = hub_collect = {}
|
|
||||||
for conf_hub in config[DOMAIN]:
|
for conf_hub in config[DOMAIN]:
|
||||||
my_hub = ModbusHub(hass, conf_hub)
|
my_hub = ModbusHub(hass, conf_hub)
|
||||||
hub_collect[conf_hub[CONF_NAME]] = my_hub
|
hub_collect[conf_hub[CONF_NAME]] = my_hub
|
||||||
@ -279,9 +281,12 @@ class ModbusHub:
|
|||||||
}
|
}
|
||||||
if self._config_type == SERIAL:
|
if self._config_type == SERIAL:
|
||||||
# serial configuration
|
# serial configuration
|
||||||
|
if client_config[CONF_METHOD] == "ascii":
|
||||||
|
self._pb_params["framer"] = ModbusAsciiFramer
|
||||||
|
else:
|
||||||
|
self._pb_params["framer"] = ModbusRtuFramer
|
||||||
self._pb_params.update(
|
self._pb_params.update(
|
||||||
{
|
{
|
||||||
"method": client_config[CONF_METHOD],
|
|
||||||
"baudrate": client_config[CONF_BAUDRATE],
|
"baudrate": client_config[CONF_BAUDRATE],
|
||||||
"stopbits": client_config[CONF_STOPBITS],
|
"stopbits": client_config[CONF_STOPBITS],
|
||||||
"bytesize": client_config[CONF_BYTESIZE],
|
"bytesize": client_config[CONF_BYTESIZE],
|
||||||
@ -293,6 +298,8 @@ class ModbusHub:
|
|||||||
self._pb_params["host"] = client_config[CONF_HOST]
|
self._pb_params["host"] = client_config[CONF_HOST]
|
||||||
if self._config_type == RTUOVERTCP:
|
if self._config_type == RTUOVERTCP:
|
||||||
self._pb_params["framer"] = ModbusRtuFramer
|
self._pb_params["framer"] = ModbusRtuFramer
|
||||||
|
else:
|
||||||
|
self._pb_params["framer"] = ModbusSocketFramer
|
||||||
|
|
||||||
Defaults.Timeout = client_config[CONF_TIMEOUT]
|
Defaults.Timeout = client_config[CONF_TIMEOUT]
|
||||||
if CONF_MSG_WAIT in client_config:
|
if CONF_MSG_WAIT in client_config:
|
||||||
|
@ -31,6 +31,7 @@ from . import Coordinator
|
|||||||
from .const import (
|
from .const import (
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
LOGGER,
|
LOGGER,
|
||||||
|
VALUES_COOL_WITH_ROOM_SENSOR_OFF,
|
||||||
VALUES_MIXING_VALVE_CLOSED_STATE,
|
VALUES_MIXING_VALVE_CLOSED_STATE,
|
||||||
VALUES_PRIORITY_COOLING,
|
VALUES_PRIORITY_COOLING,
|
||||||
VALUES_PRIORITY_HEATING,
|
VALUES_PRIORITY_HEATING,
|
||||||
@ -139,10 +140,13 @@ class NibeClimateEntity(CoordinatorEntity[Coordinator], ClimateEntity):
|
|||||||
|
|
||||||
mode = HVACMode.OFF
|
mode = HVACMode.OFF
|
||||||
if _get_value(self._coil_use_room_sensor) == "ON":
|
if _get_value(self._coil_use_room_sensor) == "ON":
|
||||||
if _get_value(self._coil_cooling_with_room_sensor) != "OFF":
|
if (
|
||||||
mode = HVACMode.HEAT_COOL
|
_get_value(self._coil_cooling_with_room_sensor)
|
||||||
else:
|
in VALUES_COOL_WITH_ROOM_SENSOR_OFF
|
||||||
|
):
|
||||||
mode = HVACMode.HEAT
|
mode = HVACMode.HEAT
|
||||||
|
else:
|
||||||
|
mode = HVACMode.HEAT_COOL
|
||||||
self._attr_hvac_mode = mode
|
self._attr_hvac_mode = mode
|
||||||
|
|
||||||
setpoint_heat = _get_float(self._coil_setpoint_heat)
|
setpoint_heat = _get_float(self._coil_setpoint_heat)
|
||||||
|
@ -89,6 +89,7 @@ async def validate_nibegw_input(
|
|||||||
"""Validate the user input allows us to connect."""
|
"""Validate the user input allows us to connect."""
|
||||||
|
|
||||||
heatpump = HeatPump(Model[data[CONF_MODEL]])
|
heatpump = HeatPump(Model[data[CONF_MODEL]])
|
||||||
|
heatpump.word_swap = True
|
||||||
await heatpump.initialize()
|
await heatpump.initialize()
|
||||||
|
|
||||||
connection = NibeGW(
|
connection = NibeGW(
|
||||||
|
@ -17,3 +17,4 @@ CONF_MODBUS_UNIT = "modbus_unit"
|
|||||||
VALUES_MIXING_VALVE_CLOSED_STATE = (30, "CLOSED", "SHUNT CLOSED")
|
VALUES_MIXING_VALVE_CLOSED_STATE = (30, "CLOSED", "SHUNT CLOSED")
|
||||||
VALUES_PRIORITY_HEATING = (30, "HEAT")
|
VALUES_PRIORITY_HEATING = (30, "HEAT")
|
||||||
VALUES_PRIORITY_COOLING = (60, "COOLING")
|
VALUES_PRIORITY_COOLING = (60, "COOLING")
|
||||||
|
VALUES_COOL_WITH_ROOM_SENSOR_OFF = (0, "OFF")
|
||||||
|
@ -5,5 +5,5 @@
|
|||||||
"config_flow": true,
|
"config_flow": true,
|
||||||
"documentation": "https://www.home-assistant.io/integrations/nibe_heatpump",
|
"documentation": "https://www.home-assistant.io/integrations/nibe_heatpump",
|
||||||
"iot_class": "local_polling",
|
"iot_class": "local_polling",
|
||||||
"requirements": ["nibe==2.0.0"]
|
"requirements": ["nibe==2.1.4"]
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ from .backports.enum import StrEnum
|
|||||||
APPLICATION_NAME: Final = "HomeAssistant"
|
APPLICATION_NAME: Final = "HomeAssistant"
|
||||||
MAJOR_VERSION: Final = 2023
|
MAJOR_VERSION: Final = 2023
|
||||||
MINOR_VERSION: Final = 3
|
MINOR_VERSION: Final = 3
|
||||||
PATCH_VERSION: Final = "4"
|
PATCH_VERSION: Final = "5"
|
||||||
__short_version__: Final = f"{MAJOR_VERSION}.{MINOR_VERSION}"
|
__short_version__: Final = f"{MAJOR_VERSION}.{MINOR_VERSION}"
|
||||||
__version__: Final = f"{__short_version__}.{PATCH_VERSION}"
|
__version__: Final = f"{__short_version__}.{PATCH_VERSION}"
|
||||||
REQUIRED_PYTHON_VER: Final[tuple[int, int, int]] = (3, 10, 0)
|
REQUIRED_PYTHON_VER: Final[tuple[int, int, int]] = (3, 10, 0)
|
||||||
|
@ -23,7 +23,7 @@ fnvhash==0.1.0
|
|||||||
hass-nabucasa==0.61.0
|
hass-nabucasa==0.61.0
|
||||||
hassil==1.0.6
|
hassil==1.0.6
|
||||||
home-assistant-bluetooth==1.9.3
|
home-assistant-bluetooth==1.9.3
|
||||||
home-assistant-frontend==20230309.0
|
home-assistant-frontend==20230309.1
|
||||||
home-assistant-intents==2023.2.28
|
home-assistant-intents==2023.2.28
|
||||||
httpx==0.23.3
|
httpx==0.23.3
|
||||||
ifaddr==0.1.7
|
ifaddr==0.1.7
|
||||||
|
@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "homeassistant"
|
name = "homeassistant"
|
||||||
version = "2023.3.4"
|
version = "2023.3.5"
|
||||||
license = {text = "Apache-2.0"}
|
license = {text = "Apache-2.0"}
|
||||||
description = "Open-source home automation platform running on Python 3."
|
description = "Open-source home automation platform running on Python 3."
|
||||||
readme = "README.rst"
|
readme = "README.rst"
|
||||||
|
@ -156,7 +156,7 @@ aioecowitt==2023.01.0
|
|||||||
aioemonitor==1.0.5
|
aioemonitor==1.0.5
|
||||||
|
|
||||||
# homeassistant.components.esphome
|
# homeassistant.components.esphome
|
||||||
aioesphomeapi==13.4.2
|
aioesphomeapi==13.5.1
|
||||||
|
|
||||||
# homeassistant.components.flo
|
# homeassistant.components.flo
|
||||||
aioflo==2021.11.0
|
aioflo==2021.11.0
|
||||||
@ -467,7 +467,7 @@ bluetooth-auto-recovery==1.0.3
|
|||||||
bluetooth-data-tools==0.3.1
|
bluetooth-data-tools==0.3.1
|
||||||
|
|
||||||
# homeassistant.components.bond
|
# homeassistant.components.bond
|
||||||
bond-async==0.1.22
|
bond-async==0.1.23
|
||||||
|
|
||||||
# homeassistant.components.bosch_shc
|
# homeassistant.components.bosch_shc
|
||||||
boschshcpy==0.2.35
|
boschshcpy==0.2.35
|
||||||
@ -907,7 +907,7 @@ hole==0.8.0
|
|||||||
holidays==0.18.0
|
holidays==0.18.0
|
||||||
|
|
||||||
# homeassistant.components.frontend
|
# homeassistant.components.frontend
|
||||||
home-assistant-frontend==20230309.0
|
home-assistant-frontend==20230309.1
|
||||||
|
|
||||||
# homeassistant.components.conversation
|
# homeassistant.components.conversation
|
||||||
home-assistant-intents==2023.2.28
|
home-assistant-intents==2023.2.28
|
||||||
@ -1201,7 +1201,7 @@ nextcord==2.0.0a8
|
|||||||
nextdns==1.3.0
|
nextdns==1.3.0
|
||||||
|
|
||||||
# homeassistant.components.nibe_heatpump
|
# homeassistant.components.nibe_heatpump
|
||||||
nibe==2.0.0
|
nibe==2.1.4
|
||||||
|
|
||||||
# homeassistant.components.niko_home_control
|
# homeassistant.components.niko_home_control
|
||||||
niko-home-control==0.2.1
|
niko-home-control==0.2.1
|
||||||
|
@ -143,7 +143,7 @@ aioecowitt==2023.01.0
|
|||||||
aioemonitor==1.0.5
|
aioemonitor==1.0.5
|
||||||
|
|
||||||
# homeassistant.components.esphome
|
# homeassistant.components.esphome
|
||||||
aioesphomeapi==13.4.2
|
aioesphomeapi==13.5.1
|
||||||
|
|
||||||
# homeassistant.components.flo
|
# homeassistant.components.flo
|
||||||
aioflo==2021.11.0
|
aioflo==2021.11.0
|
||||||
@ -384,7 +384,7 @@ bluetooth-auto-recovery==1.0.3
|
|||||||
bluetooth-data-tools==0.3.1
|
bluetooth-data-tools==0.3.1
|
||||||
|
|
||||||
# homeassistant.components.bond
|
# homeassistant.components.bond
|
||||||
bond-async==0.1.22
|
bond-async==0.1.23
|
||||||
|
|
||||||
# homeassistant.components.bosch_shc
|
# homeassistant.components.bosch_shc
|
||||||
boschshcpy==0.2.35
|
boschshcpy==0.2.35
|
||||||
@ -690,7 +690,7 @@ hole==0.8.0
|
|||||||
holidays==0.18.0
|
holidays==0.18.0
|
||||||
|
|
||||||
# homeassistant.components.frontend
|
# homeassistant.components.frontend
|
||||||
home-assistant-frontend==20230309.0
|
home-assistant-frontend==20230309.1
|
||||||
|
|
||||||
# homeassistant.components.conversation
|
# homeassistant.components.conversation
|
||||||
home-assistant-intents==2023.2.28
|
home-assistant-intents==2023.2.28
|
||||||
@ -891,7 +891,7 @@ nextcord==2.0.0a8
|
|||||||
nextdns==1.3.0
|
nextdns==1.3.0
|
||||||
|
|
||||||
# homeassistant.components.nibe_heatpump
|
# homeassistant.components.nibe_heatpump
|
||||||
nibe==2.0.0
|
nibe==2.1.4
|
||||||
|
|
||||||
# homeassistant.components.nfandroidtv
|
# homeassistant.components.nfandroidtv
|
||||||
notifications-android-tv==0.1.5
|
notifications-android-tv==0.1.5
|
||||||
|
@ -378,7 +378,7 @@ async def test_duplicate_entity_validator(do_config) -> None:
|
|||||||
CONF_TYPE: SERIAL,
|
CONF_TYPE: SERIAL,
|
||||||
CONF_BAUDRATE: 9600,
|
CONF_BAUDRATE: 9600,
|
||||||
CONF_BYTESIZE: 8,
|
CONF_BYTESIZE: 8,
|
||||||
CONF_METHOD: "rtu",
|
CONF_METHOD: "ascii",
|
||||||
CONF_PORT: TEST_PORT_SERIAL,
|
CONF_PORT: TEST_PORT_SERIAL,
|
||||||
CONF_PARITY: "E",
|
CONF_PARITY: "E",
|
||||||
CONF_STOPBITS: 1,
|
CONF_STOPBITS: 1,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user