This commit is contained in:
Franck Nijhof 2022-12-09 08:29:14 +01:00 committed by GitHub
commit 4e73063ed3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 81 additions and 39 deletions

View File

@ -9,7 +9,7 @@
"bleak==0.19.2",
"bleak-retry-connector==2.10.1",
"bluetooth-adapters==0.12.0",
"bluetooth-auto-recovery==0.5.4",
"bluetooth-auto-recovery==0.5.5",
"bluetooth-data-tools==0.3.0",
"dbus-fast==1.75.0"
],

View File

@ -2,7 +2,7 @@
"domain": "frontend",
"name": "Home Assistant Frontend",
"documentation": "https://www.home-assistant.io/integrations/frontend",
"requirements": ["home-assistant-frontend==20221207.0"],
"requirements": ["home-assistant-frontend==20221208.0"],
"dependencies": [
"api",
"auth",

View File

@ -2,7 +2,7 @@
"domain": "hikvision",
"name": "Hikvision",
"documentation": "https://www.home-assistant.io/integrations/hikvision",
"requirements": ["pyhik==0.3.1"],
"requirements": ["pyhik==0.3.2"],
"codeowners": ["@mezz64"],
"iot_class": "local_push",
"loggers": ["pyhik"]

View File

@ -236,6 +236,15 @@ class OptionsFlowHandler(BaseMultiPanFlow, config_entries.OptionsFlow):
if not is_hassio(self.hass):
return self.async_abort(reason="not_hassio")
return self.async_abort(
reason="disabled_due_to_bug",
description_placeholders={
"url": "https://developers.home-assistant.io/blog/2022/12/08/multi-pan-rollback"
},
)
# pylint: disable=unreachable
return await self.async_step_on_supervisor()
async def async_step_on_supervisor(

View File

@ -32,7 +32,8 @@
"addon_set_config_failed": "Failed to set Silicon Labs Multiprotocol configuration.",
"addon_start_failed": "Failed to start the Silicon Labs Multiprotocol add-on.",
"not_hassio": "The hardware options can only be configured on HassOS installations.",
"zha_migration_failed": "The ZHA migration did not succeed."
"zha_migration_failed": "The ZHA migration did not succeed.",
"disabled_due_to_bug": "The hardware options are temporarily disabled while we fix a bug. [Learn more]({url})"
},
"progress": {
"install_addon": "Please wait while the Silicon Labs Multiprotocol add-on installation finishes. This can take several minutes.",

View File

@ -6,6 +6,7 @@
"addon_install_failed": "Failed to install the Silicon Labs Multiprotocol add-on.",
"addon_set_config_failed": "Failed to set Silicon Labs Multiprotocol configuration.",
"addon_start_failed": "Failed to start the Silicon Labs Multiprotocol add-on.",
"disabled_due_to_bug": "The hardware options are temporarily disabled while we fix a bug. [Learn more]({url})",
"not_hassio": "The hardware options can only be configured on HassOS installations.",
"zha_migration_failed": "The ZHA migration did not succeed."
},

View File

@ -31,7 +31,8 @@
"addon_set_config_failed": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::abort::addon_set_config_failed%]",
"addon_start_failed": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::abort::addon_start_failed%]",
"not_hassio": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::abort::not_hassio%]",
"zha_migration_failed": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::abort::zha_migration_failed%]"
"zha_migration_failed": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::abort::zha_migration_failed%]",
"disabled_due_to_bug": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::abort::disabled_due_to_bug%]"
},
"progress": {
"install_addon": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::progress::install_addon%]",

View File

@ -5,6 +5,7 @@
"addon_install_failed": "Failed to install the Silicon Labs Multiprotocol add-on.",
"addon_set_config_failed": "Failed to set Silicon Labs Multiprotocol configuration.",
"addon_start_failed": "Failed to start the Silicon Labs Multiprotocol add-on.",
"disabled_due_to_bug": "The hardware options are temporarily disabled while we fix a bug. [Learn more]({url})",
"not_hassio": "The hardware options can only be configured on HassOS installations.",
"zha_migration_failed": "The ZHA migration did not succeed."
},

View File

@ -31,7 +31,8 @@
"addon_set_config_failed": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::abort::addon_set_config_failed%]",
"addon_start_failed": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::abort::addon_start_failed%]",
"not_hassio": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::abort::not_hassio%]",
"zha_migration_failed": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::abort::zha_migration_failed%]"
"zha_migration_failed": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::abort::zha_migration_failed%]",
"disabled_due_to_bug": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::abort::disabled_due_to_bug%]"
},
"progress": {
"install_addon": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::progress::install_addon%]",

View File

@ -5,6 +5,7 @@
"addon_install_failed": "Failed to install the Silicon Labs Multiprotocol add-on.",
"addon_set_config_failed": "Failed to set Silicon Labs Multiprotocol configuration.",
"addon_start_failed": "Failed to start the Silicon Labs Multiprotocol add-on.",
"disabled_due_to_bug": "The hardware options are temporarily disabled while we fix a bug. [Learn more]({url})",
"not_hassio": "The hardware options can only be configured on HassOS installations.",
"zha_migration_failed": "The ZHA migration did not succeed."
},

View File

@ -3,7 +3,7 @@
"name": "IntelliFire",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/intellifire",
"requirements": ["intellifire4py==2.2.1"],
"requirements": ["intellifire4py==2.2.2"],
"codeowners": ["@jeeftor"],
"iot_class": "local_polling",
"loggers": ["intellifire4py"],

View File

@ -11,6 +11,8 @@ from ical.calendar_stream import IcsCalendarStream
from ical.event import Event
from ical.store import EventStore
from ical.types import Range, Recur
from pydantic import ValidationError
import voluptuous as vol
from homeassistant.components.calendar import (
EVENT_DESCRIPTION,
@ -102,14 +104,19 @@ class LocalCalendarEntity(CalendarEntity):
async def async_create_event(self, **kwargs: Any) -> None:
"""Add a new event to calendar."""
event = Event.parse_obj(
{
EVENT_SUMMARY: kwargs[EVENT_SUMMARY],
EVENT_START: kwargs[EVENT_START],
EVENT_END: kwargs[EVENT_END],
EVENT_DESCRIPTION: kwargs.get(EVENT_DESCRIPTION),
}
)
event_data = {
EVENT_SUMMARY: kwargs[EVENT_SUMMARY],
EVENT_START: kwargs[EVENT_START],
EVENT_END: kwargs[EVENT_END],
EVENT_DESCRIPTION: kwargs.get(EVENT_DESCRIPTION),
}
try:
event = Event.parse_obj(event_data)
except ValidationError as err:
_LOGGER.debug(
"Error parsing event input fields: %s (%s)", event_data, str(err)
)
raise vol.Invalid("Error parsing event input fields") from err
if rrule := kwargs.get(EVENT_RRULE):
event.rrule = Recur.from_rrule(rrule)

View File

@ -3,7 +3,7 @@
"name": "Local Calendar",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/local_calendar",
"requirements": ["ical==4.2.1"],
"requirements": ["ical==4.2.2"],
"codeowners": ["@allenporter"],
"iot_class": "local_polling",
"loggers": ["ical"]

View File

@ -3,7 +3,7 @@
"name": "Matter (BETA)",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/matter",
"requirements": ["python-matter-server==1.0.6"],
"requirements": ["python-matter-server==1.0.7"],
"dependencies": ["websocket_api"],
"codeowners": ["@MartinHjelmare", "@marcelveldt"],
"iot_class": "local_push"

View File

@ -1,8 +1,11 @@
"""Support for MQTT message handling."""
# pylint: disable=deprecated-typing-alias
# In Python 3.9.0 and 3.9.1 collections.abc.Callable
# can't be used inside typing.Union or typing.Optional
from __future__ import annotations
import asyncio
from collections.abc import Callable, Coroutine, Iterable
from collections.abc import Coroutine, Iterable
from functools import lru_cache, partial, wraps
import inspect
from itertools import groupby
@ -10,7 +13,7 @@ import logging
from operator import attrgetter
import ssl
import time
from typing import TYPE_CHECKING, Any, Union, cast
from typing import TYPE_CHECKING, Any, Callable, Union, cast
import uuid
import attr

View File

@ -101,6 +101,8 @@ class PhilipsTVMediaPlayer(
async def async_added_to_hass(self) -> None:
"""Handle being added to hass."""
await super().async_added_to_hass()
if (entry := self.registry_entry) and entry.device_id:
self.async_on_remove(
self._turn_on.async_register(

View File

@ -5,9 +5,11 @@
"documentation": "https://www.home-assistant.io/integrations/sensirion_ble",
"bluetooth": [
{
"connectable": false,
"manufacturer_id": 1749
},
{
"connectable": false,
"local_name": "MyCO2*"
}
],

View File

@ -3,7 +3,7 @@
"name": "SimpliSafe",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/simplisafe",
"requirements": ["simplisafe-python==2022.11.2"],
"requirements": ["simplisafe-python==2022.12.0"],
"codeowners": ["@bachya"],
"iot_class": "cloud_polling",
"dhcp": [

View File

@ -8,7 +8,7 @@ from .backports.enum import StrEnum
APPLICATION_NAME: Final = "HomeAssistant"
MAJOR_VERSION: Final = 2022
MINOR_VERSION: Final = 12
PATCH_VERSION: Final = "0"
PATCH_VERSION: Final = "1"
__short_version__: Final = f"{MAJOR_VERSION}.{MINOR_VERSION}"
__version__: Final = f"{__short_version__}.{PATCH_VERSION}"
REQUIRED_PYTHON_VER: Final[tuple[int, int, int]] = (3, 9, 0)

View File

@ -273,10 +273,12 @@ BLUETOOTH: list[dict[str, bool | str | int | list[int]]] = [
"local_name": "Ruuvi *",
},
{
"connectable": False,
"domain": "sensirion_ble",
"manufacturer_id": 1749,
},
{
"connectable": False,
"domain": "sensirion_ble",
"local_name": "MyCO2*",
},

View File

@ -13,7 +13,7 @@ bcrypt==3.1.7
bleak-retry-connector==2.10.1
bleak==0.19.2
bluetooth-adapters==0.12.0
bluetooth-auto-recovery==0.5.4
bluetooth-auto-recovery==0.5.5
bluetooth-data-tools==0.3.0
certifi>=2021.5.30
ciso8601==2.2.0
@ -22,7 +22,7 @@ dbus-fast==1.75.0
fnvhash==0.1.0
hass-nabucasa==0.61.0
home-assistant-bluetooth==1.8.1
home-assistant-frontend==20221207.0
home-assistant-frontend==20221208.0
httpx==0.23.1
ifaddr==0.1.7
janus==1.0.0

View File

@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "homeassistant"
version = "2022.12.0"
version = "2022.12.1"
license = {text = "Apache-2.0"}
description = "Open-source home automation platform running on Python 3."
readme = "README.rst"

View File

@ -450,7 +450,7 @@ bluemaestro-ble==0.2.0
bluetooth-adapters==0.12.0
# homeassistant.components.bluetooth
bluetooth-auto-recovery==0.5.4
bluetooth-auto-recovery==0.5.5
# homeassistant.components.bluetooth
# homeassistant.components.led_ble
@ -884,7 +884,7 @@ hole==0.7.0
holidays==0.17.2
# homeassistant.components.frontend
home-assistant-frontend==20221207.0
home-assistant-frontend==20221208.0
# homeassistant.components.home_connect
homeconnect==0.7.2
@ -926,7 +926,7 @@ ibm-watson==5.2.2
ibmiotf==0.3.4
# homeassistant.components.local_calendar
ical==4.2.1
ical==4.2.2
# homeassistant.components.ping
icmplib==3.0
@ -956,7 +956,7 @@ inkbird-ble==0.5.5
insteon-frontend-home-assistant==0.2.0
# homeassistant.components.intellifire
intellifire4py==2.2.1
intellifire4py==2.2.2
# homeassistant.components.iotawatt
iotawattpy==0.1.0
@ -1627,7 +1627,7 @@ pyhaversion==22.8.0
pyheos==0.7.2
# homeassistant.components.hikvision
pyhik==0.3.1
pyhik==0.3.2
# homeassistant.components.hive
pyhiveapi==0.5.14
@ -2030,7 +2030,7 @@ python-kasa==0.5.0
# python-lirc==1.2.3
# homeassistant.components.matter
python-matter-server==1.0.6
python-matter-server==1.0.7
# homeassistant.components.xiaomi_miio
python-miio==0.5.12
@ -2291,7 +2291,7 @@ simplehound==0.3
simplepush==2.1.1
# homeassistant.components.simplisafe
simplisafe-python==2022.11.2
simplisafe-python==2022.12.0
# homeassistant.components.sisyphus
sisyphus-control==3.1.2

View File

@ -364,7 +364,7 @@ bluemaestro-ble==0.2.0
bluetooth-adapters==0.12.0
# homeassistant.components.bluetooth
bluetooth-auto-recovery==0.5.4
bluetooth-auto-recovery==0.5.5
# homeassistant.components.bluetooth
# homeassistant.components.led_ble
@ -664,7 +664,7 @@ hole==0.7.0
holidays==0.17.2
# homeassistant.components.frontend
home-assistant-frontend==20221207.0
home-assistant-frontend==20221208.0
# homeassistant.components.home_connect
homeconnect==0.7.2
@ -691,7 +691,7 @@ iaqualink==0.5.0
ibeacon_ble==1.0.1
# homeassistant.components.local_calendar
ical==4.2.1
ical==4.2.2
# homeassistant.components.ping
icmplib==3.0
@ -712,7 +712,7 @@ inkbird-ble==0.5.5
insteon-frontend-home-assistant==0.2.0
# homeassistant.components.intellifire
intellifire4py==2.2.1
intellifire4py==2.2.2
# homeassistant.components.iotawatt
iotawattpy==0.1.0
@ -1417,7 +1417,7 @@ python-juicenet==1.1.0
python-kasa==0.5.0
# homeassistant.components.matter
python-matter-server==1.0.6
python-matter-server==1.0.7
# homeassistant.components.xiaomi_miio
python-miio==0.5.12
@ -1588,7 +1588,7 @@ simplehound==0.3
simplepush==2.1.1
# homeassistant.components.simplisafe
simplisafe-python==2022.11.2
simplisafe-python==2022.12.0
# homeassistant.components.slack
slackclient==2.5.0

View File

@ -2,8 +2,8 @@
PIP_CACHE=$1
# Number of existing dependency conflicts
# Update if a PR resolve one!
DEPENDENCY_CONFLICTS=3
# Update if a PR resolves one!
DEPENDENCY_CONFLICTS=4
PIP_CHECK=$(pip check --cache-dir=$PIP_CACHE)
LINE_COUNT=$(echo "$PIP_CHECK" | wc -l)

View File

@ -20,6 +20,9 @@ from tests.common import MockConfigEntry, MockModule, mock_integration, mock_pla
TEST_DOMAIN = "test"
pytest.skip(reason="Temporarily disabled", allow_module_level=True)
class TestConfigFlow(ConfigFlow, domain=TEST_DOMAIN):
"""Handle a config flow for the silabs multiprotocol add-on."""

View File

@ -2,6 +2,8 @@
import copy
from unittest.mock import Mock, patch
import pytest
from homeassistant.components import homeassistant_sky_connect, usb
from homeassistant.components.homeassistant_sky_connect.const import DOMAIN
from homeassistant.components.zha.core.const import (
@ -150,6 +152,7 @@ async def test_config_flow_update_device(hass: HomeAssistant) -> None:
assert len(mock_unload_entry.mock_calls) == 1
@pytest.mark.skip(reason="Temporarily disabled")
async def test_option_flow_install_multi_pan_addon(
hass: HomeAssistant,
addon_store_info,
@ -240,6 +243,7 @@ def mock_detect_radio_type(radio_type=RadioType.ezsp, ret=True):
return detect
@pytest.mark.skip(reason="Temporarily disabled")
@patch(
"homeassistant.components.zha.radio_manager.ZhaRadioManager.detect_radio_type",
mock_detect_radio_type(),

View File

@ -1,6 +1,8 @@
"""Test the Home Assistant Yellow config flow."""
from unittest.mock import Mock, patch
import pytest
from homeassistant.components.homeassistant_yellow.const import DOMAIN
from homeassistant.components.zha.core.const import DOMAIN as ZHA_DOMAIN
from homeassistant.core import HomeAssistant
@ -59,6 +61,7 @@ async def test_config_flow_single_entry(hass: HomeAssistant) -> None:
mock_setup_entry.assert_not_called()
@pytest.mark.skip(reason="Temporarily disabled")
async def test_option_flow_install_multi_pan_addon(
hass: HomeAssistant,
addon_store_info,
@ -127,6 +130,7 @@ async def test_option_flow_install_multi_pan_addon(
assert result["type"] == FlowResultType.CREATE_ENTRY
@pytest.mark.skip(reason="Temporarily disabled")
async def test_option_flow_install_multi_pan_addon_zha(
hass: HomeAssistant,
addon_store_info,