mirror of
https://github.com/home-assistant/core.git
synced 2025-07-21 12:17:07 +00:00
Merge pull request #42724 from home-assistant/rc
This commit is contained in:
commit
6c51ff63ad
@ -78,6 +78,7 @@ class CanaryCamera(CoordinatorEntity, Camera):
|
|||||||
def __init__(self, hass, coordinator, location_id, device, timeout, ffmpeg_args):
|
def __init__(self, hass, coordinator, location_id, device, timeout, ffmpeg_args):
|
||||||
"""Initialize a Canary security camera."""
|
"""Initialize a Canary security camera."""
|
||||||
super().__init__(coordinator)
|
super().__init__(coordinator)
|
||||||
|
Camera.__init__(self)
|
||||||
self._ffmpeg = hass.data[DATA_FFMPEG]
|
self._ffmpeg = hass.data[DATA_FFMPEG]
|
||||||
self._ffmpeg_arguments = ffmpeg_args
|
self._ffmpeg_arguments = ffmpeg_args
|
||||||
self._location_id = location_id
|
self._location_id = location_id
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"domain": "cloudflare",
|
"domain": "cloudflare",
|
||||||
"name": "Cloudflare",
|
"name": "Cloudflare",
|
||||||
"documentation": "https://www.home-assistant.io/integrations/cloudflare",
|
"documentation": "https://www.home-assistant.io/integrations/cloudflare",
|
||||||
"requirements": ["pycfdns==1.1.1"],
|
"requirements": ["pycfdns==1.2.1"],
|
||||||
"codeowners": ["@ludeeus", "@ctalkington"],
|
"codeowners": ["@ludeeus", "@ctalkington"],
|
||||||
"config_flow": true
|
"config_flow": true
|
||||||
}
|
}
|
||||||
|
@ -321,7 +321,7 @@ class FibaroThermostat(FibaroDevice, ClimateEntity):
|
|||||||
"""Return the current temperature."""
|
"""Return the current temperature."""
|
||||||
if self._temp_sensor_device:
|
if self._temp_sensor_device:
|
||||||
device = self._temp_sensor_device.fibaro_device
|
device = self._temp_sensor_device.fibaro_device
|
||||||
if device.properties.heatingThermostatSetpoint:
|
if "heatingThermostatSetpoint" in device.properties:
|
||||||
return float(device.properties.heatingThermostatSetpoint)
|
return float(device.properties.heatingThermostatSetpoint)
|
||||||
return float(device.properties.value)
|
return float(device.properties.value)
|
||||||
return None
|
return None
|
||||||
@ -331,7 +331,7 @@ class FibaroThermostat(FibaroDevice, ClimateEntity):
|
|||||||
"""Return the temperature we try to reach."""
|
"""Return the temperature we try to reach."""
|
||||||
if self._target_temp_device:
|
if self._target_temp_device:
|
||||||
device = self._target_temp_device.fibaro_device
|
device = self._target_temp_device.fibaro_device
|
||||||
if device.properties.heatingThermostatSetpointFuture:
|
if "heatingThermostatSetpointFuture" in device.properties:
|
||||||
return float(device.properties.heatingThermostatSetpointFuture)
|
return float(device.properties.heatingThermostatSetpointFuture)
|
||||||
return float(device.properties.targetLevel)
|
return float(device.properties.targetLevel)
|
||||||
return None
|
return None
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
"domain": "geo_rss_events",
|
"domain": "geo_rss_events",
|
||||||
"name": "GeoRSS",
|
"name": "GeoRSS",
|
||||||
"documentation": "https://www.home-assistant.io/integrations/geo_rss_events",
|
"documentation": "https://www.home-assistant.io/integrations/geo_rss_events",
|
||||||
"requirements": ["georss_generic_client==0.3"],
|
"requirements": ["georss_generic_client==0.4"],
|
||||||
"codeowners": ["@exxamalte"]
|
"codeowners": ["@exxamalte"]
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@ from datetime import timedelta
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
from georss_client import UPDATE_OK, UPDATE_OK_NO_DATA
|
from georss_client import UPDATE_OK, UPDATE_OK_NO_DATA
|
||||||
from georss_client.generic_feed import GenericFeed
|
from georss_generic_client import GenericFeed
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
"name": "Lutron Caséta",
|
"name": "Lutron Caséta",
|
||||||
"documentation": "https://www.home-assistant.io/integrations/lutron_caseta",
|
"documentation": "https://www.home-assistant.io/integrations/lutron_caseta",
|
||||||
"requirements": [
|
"requirements": [
|
||||||
"pylutron-caseta==0.7.0"
|
"pylutron-caseta==0.7.1"
|
||||||
],
|
],
|
||||||
"codeowners": [
|
"codeowners": [
|
||||||
"@swails"
|
"@swails"
|
||||||
|
@ -74,6 +74,14 @@ class EventManager:
|
|||||||
async def async_start(self) -> bool:
|
async def async_start(self) -> bool:
|
||||||
"""Start polling events."""
|
"""Start polling events."""
|
||||||
if await self.device.create_pullpoint_subscription():
|
if await self.device.create_pullpoint_subscription():
|
||||||
|
# Create subscription manager
|
||||||
|
self._subscription = self.device.create_subscription_service(
|
||||||
|
"PullPointSubscription"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Renew immediately
|
||||||
|
await self.async_renew()
|
||||||
|
|
||||||
# Initialize events
|
# Initialize events
|
||||||
pullpoint = self.device.create_pullpoint_service()
|
pullpoint = self.device.create_pullpoint_service()
|
||||||
try:
|
try:
|
||||||
@ -87,11 +95,6 @@ class EventManager:
|
|||||||
# Parse event initialization
|
# Parse event initialization
|
||||||
await self.async_parse_messages(response.NotificationMessage)
|
await self.async_parse_messages(response.NotificationMessage)
|
||||||
|
|
||||||
# Create subscription manager
|
|
||||||
self._subscription = self.device.create_subscription_service(
|
|
||||||
"PullPointSubscription"
|
|
||||||
)
|
|
||||||
|
|
||||||
self.started = True
|
self.started = True
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
"domain": "rpi_gpio_pwm",
|
"domain": "rpi_gpio_pwm",
|
||||||
"name": "pigpio Daemon PWM LED",
|
"name": "pigpio Daemon PWM LED",
|
||||||
"documentation": "https://www.home-assistant.io/integrations/rpi_gpio_pwm",
|
"documentation": "https://www.home-assistant.io/integrations/rpi_gpio_pwm",
|
||||||
"requirements": ["pwmled==1.5.3"],
|
"requirements": ["pwmled==1.6.6"],
|
||||||
"codeowners": []
|
"codeowners": []
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
"""Support for Tasmota sensors."""
|
"""Support for Tasmota sensors."""
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
|
from hatasmota import status_sensor
|
||||||
from hatasmota.const import (
|
from hatasmota.const import (
|
||||||
SENSOR_AMBIENT,
|
SENSOR_AMBIENT,
|
||||||
SENSOR_APPARENT_POWERUSAGE,
|
SENSOR_APPARENT_POWERUSAGE,
|
||||||
@ -162,7 +163,7 @@ class TasmotaSensor(TasmotaAvailability, TasmotaDiscoveryUpdate, Entity):
|
|||||||
def entity_registry_enabled_default(self) -> bool:
|
def entity_registry_enabled_default(self) -> bool:
|
||||||
"""Return if the entity should be enabled when first added to the entity registry."""
|
"""Return if the entity should be enabled when first added to the entity registry."""
|
||||||
# Hide status sensors to not overwhelm users
|
# Hide status sensors to not overwhelm users
|
||||||
if self._tasmota_entity.quantity == SENSOR_STATUS_SIGNAL:
|
if self._tasmota_entity.quantity in status_sensor.SENSORS:
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
@ -637,7 +637,7 @@ class ZHAGateway:
|
|||||||
_LOGGER.debug("Shutting down ZHA ControllerApplication")
|
_LOGGER.debug("Shutting down ZHA ControllerApplication")
|
||||||
for unsubscribe in self._unsubs:
|
for unsubscribe in self._unsubs:
|
||||||
unsubscribe()
|
unsubscribe()
|
||||||
await self.application_controller.shutdown()
|
await self.application_controller.pre_shutdown()
|
||||||
|
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
"zha-quirks==0.0.45",
|
"zha-quirks==0.0.45",
|
||||||
"zigpy-cc==0.5.2",
|
"zigpy-cc==0.5.2",
|
||||||
"zigpy-deconz==0.11.0",
|
"zigpy-deconz==0.11.0",
|
||||||
"zigpy==0.26.0",
|
"zigpy==0.27.0",
|
||||||
"zigpy-xbee==0.13.0",
|
"zigpy-xbee==0.13.0",
|
||||||
"zigpy-zigate==0.6.2",
|
"zigpy-zigate==0.6.2",
|
||||||
"zigpy-znp==0.2.2"
|
"zigpy-znp==0.2.2"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
"""Constants used by Home Assistant components."""
|
"""Constants used by Home Assistant components."""
|
||||||
MAJOR_VERSION = 0
|
MAJOR_VERSION = 0
|
||||||
MINOR_VERSION = 117
|
MINOR_VERSION = 117
|
||||||
PATCH_VERSION = "1"
|
PATCH_VERSION = "2"
|
||||||
__short_version__ = f"{MAJOR_VERSION}.{MINOR_VERSION}"
|
__short_version__ = f"{MAJOR_VERSION}.{MINOR_VERSION}"
|
||||||
__version__ = f"{__short_version__}.{PATCH_VERSION}"
|
__version__ = f"{__short_version__}.{PATCH_VERSION}"
|
||||||
REQUIRED_PYTHON_VER = (3, 7, 1)
|
REQUIRED_PYTHON_VER = (3, 7, 1)
|
||||||
|
@ -638,7 +638,7 @@ geojson_client==0.4
|
|||||||
geopy==1.21.0
|
geopy==1.21.0
|
||||||
|
|
||||||
# homeassistant.components.geo_rss_events
|
# homeassistant.components.geo_rss_events
|
||||||
georss_generic_client==0.3
|
georss_generic_client==0.4
|
||||||
|
|
||||||
# homeassistant.components.ign_sismologia
|
# homeassistant.components.ign_sismologia
|
||||||
georss_ign_sismologia_client==0.2
|
georss_ign_sismologia_client==0.2
|
||||||
@ -1182,7 +1182,7 @@ pushbullet.py==0.11.0
|
|||||||
pushover_complete==1.1.1
|
pushover_complete==1.1.1
|
||||||
|
|
||||||
# homeassistant.components.rpi_gpio_pwm
|
# homeassistant.components.rpi_gpio_pwm
|
||||||
pwmled==1.5.3
|
pwmled==1.6.6
|
||||||
|
|
||||||
# homeassistant.components.august
|
# homeassistant.components.august
|
||||||
py-august==0.25.0
|
py-august==0.25.0
|
||||||
@ -1288,7 +1288,7 @@ pybotvac==0.0.17
|
|||||||
pycarwings2==2.9
|
pycarwings2==2.9
|
||||||
|
|
||||||
# homeassistant.components.cloudflare
|
# homeassistant.components.cloudflare
|
||||||
pycfdns==1.1.1
|
pycfdns==1.2.1
|
||||||
|
|
||||||
# homeassistant.components.channels
|
# homeassistant.components.channels
|
||||||
pychannels==1.0.0
|
pychannels==1.0.0
|
||||||
@ -1487,7 +1487,7 @@ pylitejet==0.1
|
|||||||
pyloopenergy==0.2.1
|
pyloopenergy==0.2.1
|
||||||
|
|
||||||
# homeassistant.components.lutron_caseta
|
# homeassistant.components.lutron_caseta
|
||||||
pylutron-caseta==0.7.0
|
pylutron-caseta==0.7.1
|
||||||
|
|
||||||
# homeassistant.components.lutron
|
# homeassistant.components.lutron
|
||||||
pylutron==0.2.5
|
pylutron==0.2.5
|
||||||
@ -2355,7 +2355,7 @@ zigpy-zigate==0.6.2
|
|||||||
zigpy-znp==0.2.2
|
zigpy-znp==0.2.2
|
||||||
|
|
||||||
# homeassistant.components.zha
|
# homeassistant.components.zha
|
||||||
zigpy==0.26.0
|
zigpy==0.27.0
|
||||||
|
|
||||||
# homeassistant.components.zoneminder
|
# homeassistant.components.zoneminder
|
||||||
zm-py==0.4.0
|
zm-py==0.4.0
|
||||||
|
@ -315,7 +315,7 @@ geojson_client==0.4
|
|||||||
geopy==1.21.0
|
geopy==1.21.0
|
||||||
|
|
||||||
# homeassistant.components.geo_rss_events
|
# homeassistant.components.geo_rss_events
|
||||||
georss_generic_client==0.3
|
georss_generic_client==0.4
|
||||||
|
|
||||||
# homeassistant.components.ign_sismologia
|
# homeassistant.components.ign_sismologia
|
||||||
georss_ign_sismologia_client==0.2
|
georss_ign_sismologia_client==0.2
|
||||||
@ -636,7 +636,7 @@ pyblackbird==0.5
|
|||||||
pybotvac==0.0.17
|
pybotvac==0.0.17
|
||||||
|
|
||||||
# homeassistant.components.cloudflare
|
# homeassistant.components.cloudflare
|
||||||
pycfdns==1.1.1
|
pycfdns==1.2.1
|
||||||
|
|
||||||
# homeassistant.components.cast
|
# homeassistant.components.cast
|
||||||
pychromecast==7.5.1
|
pychromecast==7.5.1
|
||||||
@ -730,7 +730,7 @@ pylibrespot-java==0.1.0
|
|||||||
pylitejet==0.1
|
pylitejet==0.1
|
||||||
|
|
||||||
# homeassistant.components.lutron_caseta
|
# homeassistant.components.lutron_caseta
|
||||||
pylutron-caseta==0.7.0
|
pylutron-caseta==0.7.1
|
||||||
|
|
||||||
# homeassistant.components.mailgun
|
# homeassistant.components.mailgun
|
||||||
pymailgunner==1.4
|
pymailgunner==1.4
|
||||||
@ -1124,4 +1124,4 @@ zigpy-zigate==0.6.2
|
|||||||
zigpy-znp==0.2.2
|
zigpy-znp==0.2.2
|
||||||
|
|
||||||
# homeassistant.components.zha
|
# homeassistant.components.zha
|
||||||
zigpy==0.26.0
|
zigpy==0.27.0
|
||||||
|
@ -32,7 +32,7 @@ from .common import (
|
|||||||
send_attributes_report,
|
send_attributes_report,
|
||||||
)
|
)
|
||||||
|
|
||||||
from tests.async_mock import AsyncMock, MagicMock, call, patch
|
from tests.async_mock import AsyncMock, MagicMock, patch
|
||||||
from tests.common import async_capture_events, mock_coro, mock_restore_cache
|
from tests.common import async_capture_events, mock_coro, mock_restore_cache
|
||||||
|
|
||||||
|
|
||||||
@ -144,9 +144,10 @@ async def test_cover(m1, hass, zha_device_joined_restored, zigpy_cover_device):
|
|||||||
DOMAIN, SERVICE_CLOSE_COVER, {"entity_id": entity_id}, blocking=True
|
DOMAIN, SERVICE_CLOSE_COVER, {"entity_id": entity_id}, blocking=True
|
||||||
)
|
)
|
||||||
assert cluster.request.call_count == 1
|
assert cluster.request.call_count == 1
|
||||||
assert cluster.request.call_args == call(
|
assert cluster.request.call_args[0][0] is False
|
||||||
False, 0x1, (), expect_reply=True, manufacturer=None, tsn=None
|
assert cluster.request.call_args[0][1] == 0x01
|
||||||
)
|
assert cluster.request.call_args[0][2] == ()
|
||||||
|
assert cluster.request.call_args[1]["expect_reply"] is True
|
||||||
|
|
||||||
# open from UI
|
# open from UI
|
||||||
with patch(
|
with patch(
|
||||||
@ -156,9 +157,10 @@ async def test_cover(m1, hass, zha_device_joined_restored, zigpy_cover_device):
|
|||||||
DOMAIN, SERVICE_OPEN_COVER, {"entity_id": entity_id}, blocking=True
|
DOMAIN, SERVICE_OPEN_COVER, {"entity_id": entity_id}, blocking=True
|
||||||
)
|
)
|
||||||
assert cluster.request.call_count == 1
|
assert cluster.request.call_count == 1
|
||||||
assert cluster.request.call_args == call(
|
assert cluster.request.call_args[0][0] is False
|
||||||
False, 0x0, (), expect_reply=True, manufacturer=None, tsn=None
|
assert cluster.request.call_args[0][1] == 0x00
|
||||||
)
|
assert cluster.request.call_args[0][2] == ()
|
||||||
|
assert cluster.request.call_args[1]["expect_reply"] is True
|
||||||
|
|
||||||
# set position UI
|
# set position UI
|
||||||
with patch(
|
with patch(
|
||||||
@ -171,15 +173,11 @@ async def test_cover(m1, hass, zha_device_joined_restored, zigpy_cover_device):
|
|||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
assert cluster.request.call_count == 1
|
assert cluster.request.call_count == 1
|
||||||
assert cluster.request.call_args == call(
|
assert cluster.request.call_args[0][0] is False
|
||||||
False,
|
assert cluster.request.call_args[0][1] == 0x05
|
||||||
0x5,
|
assert cluster.request.call_args[0][2] == (zigpy.types.uint8_t,)
|
||||||
(zigpy.types.uint8_t,),
|
assert cluster.request.call_args[0][3] == 53
|
||||||
53,
|
assert cluster.request.call_args[1]["expect_reply"] is True
|
||||||
expect_reply=True,
|
|
||||||
manufacturer=None,
|
|
||||||
tsn=None,
|
|
||||||
)
|
|
||||||
|
|
||||||
# stop from UI
|
# stop from UI
|
||||||
with patch(
|
with patch(
|
||||||
@ -189,9 +187,10 @@ async def test_cover(m1, hass, zha_device_joined_restored, zigpy_cover_device):
|
|||||||
DOMAIN, SERVICE_STOP_COVER, {"entity_id": entity_id}, blocking=True
|
DOMAIN, SERVICE_STOP_COVER, {"entity_id": entity_id}, blocking=True
|
||||||
)
|
)
|
||||||
assert cluster.request.call_count == 1
|
assert cluster.request.call_count == 1
|
||||||
assert cluster.request.call_args == call(
|
assert cluster.request.call_args[0][0] is False
|
||||||
False, 0x2, (), expect_reply=True, manufacturer=None, tsn=None
|
assert cluster.request.call_args[0][1] == 0x02
|
||||||
)
|
assert cluster.request.call_args[0][2] == ()
|
||||||
|
assert cluster.request.call_args[1]["expect_reply"] is True
|
||||||
|
|
||||||
# test rejoin
|
# test rejoin
|
||||||
await async_test_rejoin(hass, zigpy_cover_device, [cluster], (1,))
|
await async_test_rejoin(hass, zigpy_cover_device, [cluster], (1,))
|
||||||
|
@ -113,6 +113,7 @@ async def test_devices(
|
|||||||
0,
|
0,
|
||||||
expect_reply=True,
|
expect_reply=True,
|
||||||
manufacturer=None,
|
manufacturer=None,
|
||||||
|
tries=1,
|
||||||
tsn=None,
|
tsn=None,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -323,7 +323,7 @@ async def async_test_on_off_from_hass(hass, cluster, entity_id):
|
|||||||
assert cluster.request.call_count == 1
|
assert cluster.request.call_count == 1
|
||||||
assert cluster.request.await_count == 1
|
assert cluster.request.await_count == 1
|
||||||
assert cluster.request.call_args == call(
|
assert cluster.request.call_args == call(
|
||||||
False, ON, (), expect_reply=True, manufacturer=None, tsn=None
|
False, ON, (), expect_reply=True, manufacturer=None, tries=1, tsn=None
|
||||||
)
|
)
|
||||||
|
|
||||||
await async_test_off_from_hass(hass, cluster, entity_id)
|
await async_test_off_from_hass(hass, cluster, entity_id)
|
||||||
@ -340,7 +340,7 @@ async def async_test_off_from_hass(hass, cluster, entity_id):
|
|||||||
assert cluster.request.call_count == 1
|
assert cluster.request.call_count == 1
|
||||||
assert cluster.request.await_count == 1
|
assert cluster.request.await_count == 1
|
||||||
assert cluster.request.call_args == call(
|
assert cluster.request.call_args == call(
|
||||||
False, OFF, (), expect_reply=True, manufacturer=None, tsn=None
|
False, OFF, (), expect_reply=True, manufacturer=None, tries=1, tsn=None
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -360,7 +360,7 @@ async def async_test_level_on_off_from_hass(
|
|||||||
assert level_cluster.request.call_count == 0
|
assert level_cluster.request.call_count == 0
|
||||||
assert level_cluster.request.await_count == 0
|
assert level_cluster.request.await_count == 0
|
||||||
assert on_off_cluster.request.call_args == call(
|
assert on_off_cluster.request.call_args == call(
|
||||||
False, ON, (), expect_reply=True, manufacturer=None, tsn=None
|
False, ON, (), expect_reply=True, manufacturer=None, tries=1, tsn=None
|
||||||
)
|
)
|
||||||
on_off_cluster.request.reset_mock()
|
on_off_cluster.request.reset_mock()
|
||||||
level_cluster.request.reset_mock()
|
level_cluster.request.reset_mock()
|
||||||
@ -373,7 +373,7 @@ async def async_test_level_on_off_from_hass(
|
|||||||
assert level_cluster.request.call_count == 1
|
assert level_cluster.request.call_count == 1
|
||||||
assert level_cluster.request.await_count == 1
|
assert level_cluster.request.await_count == 1
|
||||||
assert on_off_cluster.request.call_args == call(
|
assert on_off_cluster.request.call_args == call(
|
||||||
False, ON, (), expect_reply=True, manufacturer=None, tsn=None
|
False, ON, (), expect_reply=True, manufacturer=None, tries=1, tsn=None
|
||||||
)
|
)
|
||||||
assert level_cluster.request.call_args == call(
|
assert level_cluster.request.call_args == call(
|
||||||
False,
|
False,
|
||||||
@ -383,6 +383,7 @@ async def async_test_level_on_off_from_hass(
|
|||||||
100.0,
|
100.0,
|
||||||
expect_reply=True,
|
expect_reply=True,
|
||||||
manufacturer=None,
|
manufacturer=None,
|
||||||
|
tries=1,
|
||||||
tsn=None,
|
tsn=None,
|
||||||
)
|
)
|
||||||
on_off_cluster.request.reset_mock()
|
on_off_cluster.request.reset_mock()
|
||||||
@ -396,7 +397,7 @@ async def async_test_level_on_off_from_hass(
|
|||||||
assert level_cluster.request.call_count == 1
|
assert level_cluster.request.call_count == 1
|
||||||
assert level_cluster.request.await_count == 1
|
assert level_cluster.request.await_count == 1
|
||||||
assert on_off_cluster.request.call_args == call(
|
assert on_off_cluster.request.call_args == call(
|
||||||
False, ON, (), expect_reply=True, manufacturer=None, tsn=None
|
False, ON, (), expect_reply=True, manufacturer=None, tries=1, tsn=None
|
||||||
)
|
)
|
||||||
assert level_cluster.request.call_args == call(
|
assert level_cluster.request.call_args == call(
|
||||||
False,
|
False,
|
||||||
@ -406,6 +407,7 @@ async def async_test_level_on_off_from_hass(
|
|||||||
1,
|
1,
|
||||||
expect_reply=True,
|
expect_reply=True,
|
||||||
manufacturer=None,
|
manufacturer=None,
|
||||||
|
tries=1,
|
||||||
tsn=None,
|
tsn=None,
|
||||||
)
|
)
|
||||||
on_off_cluster.request.reset_mock()
|
on_off_cluster.request.reset_mock()
|
||||||
@ -445,6 +447,7 @@ async def async_test_flash_from_hass(hass, cluster, entity_id, flash):
|
|||||||
0,
|
0,
|
||||||
expect_reply=True,
|
expect_reply=True,
|
||||||
manufacturer=None,
|
manufacturer=None,
|
||||||
|
tries=1,
|
||||||
tsn=None,
|
tsn=None,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -136,7 +136,7 @@ async def test_switch(hass, zha_device_joined_restored, zigpy_device):
|
|||||||
)
|
)
|
||||||
assert len(cluster.request.mock_calls) == 1
|
assert len(cluster.request.mock_calls) == 1
|
||||||
assert cluster.request.call_args == call(
|
assert cluster.request.call_args == call(
|
||||||
False, ON, (), expect_reply=True, manufacturer=None, tsn=None
|
False, ON, (), expect_reply=True, manufacturer=None, tries=1, tsn=None
|
||||||
)
|
)
|
||||||
|
|
||||||
# turn off from HA
|
# turn off from HA
|
||||||
@ -150,7 +150,7 @@ async def test_switch(hass, zha_device_joined_restored, zigpy_device):
|
|||||||
)
|
)
|
||||||
assert len(cluster.request.mock_calls) == 1
|
assert len(cluster.request.mock_calls) == 1
|
||||||
assert cluster.request.call_args == call(
|
assert cluster.request.call_args == call(
|
||||||
False, OFF, (), expect_reply=True, manufacturer=None, tsn=None
|
False, OFF, (), expect_reply=True, manufacturer=None, tries=1, tsn=None
|
||||||
)
|
)
|
||||||
|
|
||||||
# test joining a new switch to the network and HA
|
# test joining a new switch to the network and HA
|
||||||
|
Loading…
x
Reference in New Issue
Block a user