Skip to content
Merged

0.112.4 #37668

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion homeassistant/bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ async def _async_log_pending_setups(
remaining = [domain for domain in domains if domain in setup_started]

if remaining:
_LOGGER.info(
_LOGGER.warning(
"Waiting on integrations to complete setup: %s", ", ".join(remaining),
)

Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/denonavr/config_flow.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

DOMAIN = "denonavr"

SUPPORTED_MANUFACTURERS = ["Denon", "DENON", "Marantz"]
SUPPORTED_MANUFACTURERS = ["Denon", "DENON", "DENON PROFESSIONAL", "Marantz"]
IGNORED_MODELS = ["HEOS 1", "HEOS 3", "HEOS 5", "HEOS 7"]

CONF_SHOW_ALL_SOURCES = "show_all_sources"
Expand Down
14 changes: 13 additions & 1 deletion homeassistant/components/denonavr/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"name": "Denon AVR Network Receivers",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/denonavr",
"requirements": ["denonavr==0.9.3", "getmac==0.8.2"],
"requirements": ["denonavr==0.9.4", "getmac==0.8.2"],
"codeowners": ["@scarface-4711", "@starkillerOG"],
"ssdp": [
{
Expand All @@ -14,6 +14,10 @@
"manufacturer": "DENON",
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1"
},
{
"manufacturer": "DENON PROFESSIONAL",
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1"
},
{
"manufacturer": "Marantz",
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1"
Expand All @@ -26,6 +30,10 @@
"manufacturer": "DENON",
"deviceType": "urn:schemas-upnp-org:device:MediaServer:1"
},
{
"manufacturer": "DENON PROFESSIONAL",
"deviceType": "urn:schemas-upnp-org:device:MediaServer:1"
},
{
"manufacturer": "Marantz",
"deviceType": "urn:schemas-upnp-org:device:MediaServer:1"
Expand All @@ -38,6 +46,10 @@
"manufacturer": "DENON",
"deviceType": "urn:schemas-denon-com:device:AiosDevice:1"
},
{
"manufacturer": "DENON PROFESSIONAL",
"deviceType": "urn:schemas-denon-com:device:AiosDevice:1"
},
{
"manufacturer": "Marantz",
"deviceType": "urn:schemas-denon-com:device:AiosDevice:1"
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/dunehd/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"domain": "dunehd",
"name": "Dune HD",
"documentation": "https://www.home-assistant.io/integrations/dunehd",
"requirements": ["pdunehd==1.3.1"],
"requirements": ["pdunehd==1.3.2"],
"codeowners": ["@bieniu"],
"config_flow": true
}
2 changes: 1 addition & 1 deletion homeassistant/components/kef/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
"name": "KEF",
"documentation": "https://www.home-assistant.io/integrations/kef",
"codeowners": ["@basnijholt"],
"requirements": ["aiokef==0.2.12", "getmac==0.8.2"]
"requirements": ["aiokef==0.2.13", "getmac==0.8.2"]
}
2 changes: 1 addition & 1 deletion homeassistant/components/smappee/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"documentation": "https://www.home-assistant.io/integrations/smappee",
"dependencies": ["http"],
"requirements": [
"pysmappee==0.1.2"
"pysmappee==0.1.4"
],
"codeowners": [
"@bsmappee"
Expand Down
60 changes: 37 additions & 23 deletions homeassistant/components/smappee/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,6 @@
"total_power",
DEVICE_CLASS_POWER,
],
"total_reactive_power": [
"Total consumption - Reactive power",
None,
POWER_WATT,
"total_reactive_power",
DEVICE_CLASS_POWER,
],
"alwayson": [
"Always on - Active power",
None,
Expand Down Expand Up @@ -59,6 +52,15 @@
None,
],
}
REACTIVE_SENSORS = {
"total_reactive_power": [
"Total consumption - Reactive power",
None,
POWER_WATT,
"total_reactive_power",
DEVICE_CLASS_POWER,
]
}
SOLAR_SENSORS = {
"solar_power": [
"Total production - Active power",
Expand Down Expand Up @@ -88,48 +90,48 @@
"mdi:flash",
VOLT,
"phase_voltage_a",
["ONE", "TWO", "THREE_STAR", "THREE_DELTA"],
None,
["ONE", "TWO", "THREE_STAR", "THREE_DELTA"],
],
"phase_voltages_b": [
"Phase voltages - B",
"mdi:flash",
VOLT,
"phase_voltage_b",
["TWO", "THREE_STAR", "THREE_DELTA"],
None,
["TWO", "THREE_STAR", "THREE_DELTA"],
],
"phase_voltages_c": [
"Phase voltages - C",
"mdi:flash",
VOLT,
"phase_voltage_c",
["THREE_STAR"],
None,
["THREE_STAR"],
],
"line_voltages_a": [
"Line voltages - A",
"mdi:flash",
VOLT,
"line_voltage_a",
["ONE", "TWO", "THREE_STAR", "THREE_DELTA"],
None,
["ONE", "TWO", "THREE_STAR", "THREE_DELTA"],
],
"line_voltages_b": [
"Line voltages - B",
"mdi:flash",
VOLT,
"line_voltage_b",
["TWO", "THREE_STAR", "THREE_DELTA"],
None,
["TWO", "THREE_STAR", "THREE_DELTA"],
],
"line_voltages_c": [
"Line voltages - C",
"mdi:flash",
VOLT,
"line_voltage_c",
["THREE_STAR", "THREE_DELTA"],
None,
["THREE_STAR", "THREE_DELTA"],
],
}

Expand All @@ -151,6 +153,17 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
)
)

if service_location.has_reactive_value:
for reactive_sensor in REACTIVE_SENSORS:
entities.append(
SmappeeSensor(
smappee_base=smappee_base,
service_location=service_location,
sensor=reactive_sensor,
attributes=REACTIVE_SENSORS[reactive_sensor],
)
)

# Add solar sensors
if service_location.has_solar_production:
for sensor in SOLAR_SENSORS:
Expand Down Expand Up @@ -180,17 +193,18 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
)
)

# Add phase- and line voltages
for sensor_name, sensor in VOLTAGE_SENSORS.items():
if service_location.phase_type in sensor[4]:
entities.append(
SmappeeSensor(
smappee_base=smappee_base,
service_location=service_location,
sensor=sensor_name,
attributes=sensor,
# Add phase- and line voltages if available
if service_location.has_voltage_values:
for sensor_name, sensor in VOLTAGE_SENSORS.items():
if service_location.phase_type in sensor[5]:
entities.append(
SmappeeSensor(
smappee_base=smappee_base,
service_location=service_location,
sensor=sensor_name,
attributes=sensor,
)
)
)

# Add Gas and Water sensors
for sensor_id, sensor in service_location.sensors.items():
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/sonarr/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"name": "Sonarr",
"documentation": "https://www.home-assistant.io/integrations/sonarr",
"codeowners": ["@ctalkington"],
"requirements": ["sonarr==0.2.2"],
"requirements": ["sonarr==0.2.3"],
"config_flow": true,
"quality_scale": "silver"
}
22 changes: 11 additions & 11 deletions homeassistant/components/wake_on_lan/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,23 +31,23 @@ async def send_magic_packet(call):
mac_address = call.data.get(CONF_MAC)
broadcast_address = call.data.get(CONF_BROADCAST_ADDRESS)
broadcast_port = call.data.get(CONF_BROADCAST_PORT)

service_kwargs = {}
if broadcast_address is not None:
service_kwargs["ip_address"] = broadcast_address
if broadcast_port is not None:
service_kwargs["port"] = broadcast_port

_LOGGER.info(
"Send magic packet to mac %s (broadcast: %s, port: %s)",
mac_address,
broadcast_address,
broadcast_port,
)
if broadcast_address is not None:
await hass.async_add_job(
partial(
wakeonlan.send_magic_packet,
mac_address,
ip_address=broadcast_address,
port=broadcast_port,
)
)
else:
await hass.async_add_job(partial(wakeonlan.send_magic_packet, mac_address))

await hass.async_add_job(
partial(wakeonlan.send_magic_packet, mac_address, **service_kwargs)
)

hass.services.async_register(
DOMAIN,
Expand Down
22 changes: 14 additions & 8 deletions homeassistant/components/wake_on_lan/switch.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,14 +96,20 @@ def name(self):

def turn_on(self, **kwargs):
"""Turn the device on."""
if self._broadcast_address:
wakeonlan.send_magic_packet(
self._mac_address,
ip_address=self._broadcast_address,
port=self._broadcast_port,
)
else:
wakeonlan.send_magic_packet(self._mac_address)
service_kwargs = {}
if self._broadcast_address is not None:
service_kwargs["ip_address"] = self._broadcast_address
if self._broadcast_port is not None:
service_kwargs["port"] = self._broadcast_port

_LOGGER.info(
"Send magic packet to mac %s (broadcast: %s, port: %s)",
self._mac_address,
self._broadcast_address,
self._broadcast_port,
)

wakeonlan.send_magic_packet(self._mac_address, **service_kwargs)

def turn_off(self, **kwargs):
"""Turn the device off if an off action is present."""
Expand Down
8 changes: 4 additions & 4 deletions homeassistant/components/withings/binary_sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
from typing import Callable, List

from homeassistant.components.binary_sensor import (
DEVICE_CLASS_PRESENCE,
DEVICE_CLASS_OCCUPANCY,
DOMAIN as BINARY_SENSOR_DOMAIN,
BinarySensorDevice,
BinarySensorEntity,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
Expand All @@ -26,7 +26,7 @@ async def async_setup_entry(
async_add_entities(entities, True)


class WithingsHealthBinarySensor(BaseWithingsSensor, BinarySensorDevice):
class WithingsHealthBinarySensor(BaseWithingsSensor, BinarySensorEntity):
"""Implementation of a Withings sensor."""

@property
Expand All @@ -37,4 +37,4 @@ def is_on(self) -> bool:
@property
def device_class(self) -> str:
"""Provide the device class."""
return DEVICE_CLASS_PRESENCE
return DEVICE_CLASS_OCCUPANCY
2 changes: 1 addition & 1 deletion homeassistant/const.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Constants used by Home Assistant components."""
MAJOR_VERSION = 0
MINOR_VERSION = 112
PATCH_VERSION = "3"
PATCH_VERSION = "4"
__short_version__ = f"{MAJOR_VERSION}.{MINOR_VERSION}"
__version__ = f"{__short_version__}.{PATCH_VERSION}"
REQUIRED_PYTHON_VER = (3, 7, 0)
Expand Down
12 changes: 12 additions & 0 deletions homeassistant/generated/ssdp.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1",
"manufacturer": "DENON"
},
{
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1",
"manufacturer": "DENON PROFESSIONAL"
},
{
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1",
"manufacturer": "Marantz"
Expand All @@ -38,6 +42,10 @@
"deviceType": "urn:schemas-upnp-org:device:MediaServer:1",
"manufacturer": "DENON"
},
{
"deviceType": "urn:schemas-upnp-org:device:MediaServer:1",
"manufacturer": "DENON PROFESSIONAL"
},
{
"deviceType": "urn:schemas-upnp-org:device:MediaServer:1",
"manufacturer": "Marantz"
Expand All @@ -50,6 +58,10 @@
"deviceType": "urn:schemas-denon-com:device:AiosDevice:1",
"manufacturer": "DENON"
},
{
"deviceType": "urn:schemas-denon-com:device:AiosDevice:1",
"manufacturer": "DENON PROFESSIONAL"
},
{
"deviceType": "urn:schemas-denon-com:device:AiosDevice:1",
"manufacturer": "Marantz"
Expand Down
Loading