Skip to content
Permalink
Browse files

Merge branch 'dev' of https://github.com/marcogazzola/home-assistant

…into dev
  • Loading branch information...
marcogazzola committed Feb 20, 2019
1 parent bab8eba commit 0e8d53449a98fd33756397f31a891dd0d4d206ce
Showing with 1,447 additions and 99 deletions.
  1. +7 −0 .coveragerc
  2. +6 −0 CODEOWNERS
  3. +5 −0 homeassistant/components/ambient_station/__init__.py
  4. +4 −0 homeassistant/components/binary_sensor/trend.py
  5. +4 −0 homeassistant/components/device_tracker/synology_srm.py
  6. +4 −0 homeassistant/components/frontend/__init__.py
  7. +1 −1 homeassistant/components/harmony/remote.py
  8. +4 −0 homeassistant/components/homematic/__init__.py
  9. +4 −0 homeassistant/components/image_processing/opencv.py
  10. +4 −0 homeassistant/components/image_processing/tensorflow.py
  11. +20 −16 homeassistant/components/insteon/binary_sensor.py
  12. +11 −6 homeassistant/components/insteon/cover.py
  13. +21 −15 homeassistant/components/insteon/fan.py
  14. +8 −3 homeassistant/components/insteon/light.py
  15. +8 −3 homeassistant/components/insteon/sensor.py
  16. +9 −4 homeassistant/components/insteon/switch.py
  17. +9 −4 homeassistant/components/knx/binary_sensor.py
  18. +18 −13 homeassistant/components/knx/climate.py
  19. +15 −0 homeassistant/components/knx/light.py
  20. +5 −4 homeassistant/components/knx/notify.py
  21. +2 −1 homeassistant/components/knx/scene.py
  22. +4 −1 homeassistant/components/knx/sensor.py
  23. +2 −1 homeassistant/components/knx/switch.py
  24. +4 −0 homeassistant/components/light/rpi_gpio_pwm.py
  25. +3 −0 homeassistant/components/light/services.yaml
  26. +15 −0 homeassistant/components/light/yeelight.py
  27. +1 −0 homeassistant/components/raspihats/__init__.py
  28. +3 −3 homeassistant/components/raspihats/binary_sensor.py
  29. +4 −3 homeassistant/components/raspihats/switch.py
  30. +5 −0 homeassistant/components/sensor/etherscan.py
  31. +4 −0 homeassistant/components/sensor/pollen.py
  32. +4 −0 homeassistant/components/sensor/ripple.py
  33. +4 −0 homeassistant/components/sensor/sochain.py
  34. +10 −0 homeassistant/components/system_log/__init__.py
  35. +0 −9 homeassistant/components/xiaomi_miio/vacuum.py
  36. +8 −0 homeassistant/components/zha/__init__.py
  37. +48 −0 homeassistant/components/zha/binary_sensor.py
  38. +6 −0 homeassistant/components/zha/core/__init__.py
  39. +13 −0 homeassistant/components/zha/core/const.py
  40. +77 −0 homeassistant/components/zha/core/device.py
  41. +115 −0 homeassistant/components/zha/core/gateway.py
  42. +706 −0 homeassistant/components/zha/core/listeners.py
  43. +40 −0 homeassistant/components/zha/device_entity.py
  44. +39 −0 homeassistant/components/zha/entity.py
  45. +7 −7 homeassistant/components/zha/fan.py
  46. +55 −0 homeassistant/components/zha/light.py
  47. +30 −0 homeassistant/components/zha/sensor.py
  48. +23 −0 homeassistant/components/zha/switch.py
  49. +20 −0 requirements_all.txt
  50. +12 −0 requirements_test_all.txt
  51. +0 −5 tests/components/system_log/test_init.py
  52. +9 −0 tests/components/zha/conftest.py
  53. +7 −0 tests/test_core.py
@@ -669,11 +669,18 @@ omit =
homeassistant/components/zha/__init__.py
homeassistant/components/zha/api.py
homeassistant/components/zha/const.py
<<<<<<< HEAD
homeassistant/components/zha/core/channels/*
=======
>>>>>>> Merge branch 'dev' of https://github.com/marcogazzola/home-assistant into dev
homeassistant/components/zha/core/const.py
homeassistant/components/zha/core/device.py
homeassistant/components/zha/core/gateway.py
homeassistant/components/zha/core/helpers.py
<<<<<<< HEAD
=======
homeassistant/components/zha/core/listeners.py
>>>>>>> Merge branch 'dev' of https://github.com/marcogazzola/home-assistant into dev
homeassistant/components/zha/device_entity.py
homeassistant/components/zha/entity.py
homeassistant/components/zha/light.py
@@ -68,7 +68,10 @@ homeassistant/components/device_tracker/quantum_gateway.py @cisasteelersfan
homeassistant/components/device_tracker/tile.py @bachya
homeassistant/components/device_tracker/traccar.py @ludeeus
homeassistant/components/device_tracker/bt_smarthub.py @jxwolstenholme
<<<<<<< HEAD
homeassistant/components/device_tracker/synology_srm.py @aerialls
=======
>>>>>>> Merge branch 'dev' of https://github.com/marcogazzola/home-assistant into dev
homeassistant/components/history_graph/* @andrey-git
homeassistant/components/influx/* @fabaff
homeassistant/components/light/lifx_legacy.py @amelchio
@@ -267,7 +270,10 @@ homeassistant/components/*/tradfri.py @ggravlingen
homeassistant/components/unifi/* @kane610
homeassistant/components/switch/unifi.py @kane610
homeassistant/components/upcloud/* @scop
<<<<<<< HEAD
homeassistant/components/utility_meter/* @dgomes
=======
>>>>>>> Merge branch 'dev' of https://github.com/marcogazzola/home-assistant into dev
homeassistant/components/*/upcloud.py @scop

# V
@@ -339,10 +339,15 @@ def on_subscribed(data):

self.stations[station['macAddress']] = {
ATTR_LAST_DATA: station['lastData'],
<<<<<<< HEAD
ATTR_LOCATION: station.get('info', {}).get('location'),
ATTR_NAME:
station.get('info', {}).get(
'name', station['macAddress']),
=======
ATTR_LOCATION: station['info']['location'],
ATTR_NAME: station['info']['name'],
>>>>>>> Merge branch 'dev' of https://github.com/marcogazzola/home-assistant into dev
}

for component in ('binary_sensor', 'sensor'):
@@ -17,7 +17,11 @@
from homeassistant.helpers.event import async_track_state_change
from homeassistant.util import utcnow

<<<<<<< HEAD
REQUIREMENTS = ['numpy==1.16.1']
=======
REQUIREMENTS = ['numpy==1.16.0']
>>>>>>> Merge branch 'dev' of https://github.com/marcogazzola/home-assistant into dev

_LOGGER = logging.getLogger(__name__)

@@ -13,7 +13,11 @@
CONF_HOST, CONF_USERNAME, CONF_PASSWORD,
CONF_PORT, CONF_SSL, CONF_VERIFY_SSL)

<<<<<<< HEAD
REQUIREMENTS = ['synology-srm==0.0.6']
=======
REQUIREMENTS = ['synology-srm==0.0.4']
>>>>>>> Merge branch 'dev' of https://github.com/marcogazzola/home-assistant into dev

_LOGGER = logging.getLogger(__name__)

@@ -21,7 +21,11 @@

from .storage import async_setup_frontend_storage

<<<<<<< HEAD
REQUIREMENTS = ['home-assistant-frontend==20190219.0']
=======
REQUIREMENTS = ['home-assistant-frontend==20190218.0']
>>>>>>> Merge branch 'dev' of https://github.com/marcogazzola/home-assistant into dev

DOMAIN = 'frontend'
DEPENDENCIES = ['api', 'websocket_api', 'http', 'system_log',
@@ -17,7 +17,7 @@
from homeassistant.exceptions import PlatformNotReady
from homeassistant.util import slugify

REQUIREMENTS = ['aioharmony==0.1.8']
REQUIREMENTS = ['aioharmony==0.1.5']

_LOGGER = logging.getLogger(__name__)

@@ -14,7 +14,11 @@
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity import Entity

<<<<<<< HEAD
REQUIREMENTS = ['pyhomematic==0.1.56']
=======
REQUIREMENTS = ['pyhomematic==0.1.55']
>>>>>>> Merge branch 'dev' of https://github.com/marcogazzola/home-assistant into dev

_LOGGER = logging.getLogger(__name__)

@@ -16,7 +16,11 @@
from homeassistant.core import split_entity_id
import homeassistant.helpers.config_validation as cv

<<<<<<< HEAD
REQUIREMENTS = ['numpy==1.16.1']
=======
REQUIREMENTS = ['numpy==1.16.0']
>>>>>>> Merge branch 'dev' of https://github.com/marcogazzola/home-assistant into dev

_LOGGER = logging.getLogger(__name__)

@@ -12,7 +12,11 @@
from homeassistant.helpers import template
import homeassistant.helpers.config_validation as cv

<<<<<<< HEAD
REQUIREMENTS = ['numpy==1.16.1', 'pillow==5.4.1', 'protobuf==3.6.1']
=======
REQUIREMENTS = ['numpy==1.16.0', 'pillow==5.4.1', 'protobuf==3.6.1']
>>>>>>> Merge branch 'dev' of https://github.com/marcogazzola/home-assistant into dev

_LOGGER = logging.getLogger(__name__)

@@ -1,26 +1,29 @@
"""Support for INSTEON dimmers via PowerLinc Modem."""
"""
Support for INSTEON dimmers via PowerLinc Modem.
For more details about this component, please refer to the documentation at
https://home-assistant.io/components/binary_sensor.insteon/
"""
import logging

from homeassistant.components.binary_sensor import BinarySensorDevice
from homeassistant.components.insteon import InsteonEntity

_LOGGER = logging.getLogger(__name__)

DEPENDENCIES = ['insteon']

SENSOR_TYPES = {
'openClosedSensor': 'opening',
'ioLincSensor': 'opening',
'motionSensor': 'motion',
'doorSensor': 'door',
'wetLeakSensor': 'moisture',
'lightSensor': 'light',
'batterySensor': 'battery',
}
_LOGGER = logging.getLogger(__name__)

SENSOR_TYPES = {'openClosedSensor': 'opening',
'ioLincSensor': 'opening',
'motionSensor': 'motion',
'doorSensor': 'door',
'wetLeakSensor': 'moisture',
'lightSensor': 'light',
'batterySensor': 'battery'}


async def async_setup_platform(
hass, config, async_add_entities, discovery_info=None):
async def async_setup_platform(hass, config, async_add_entities,
discovery_info=None):
"""Set up the INSTEON device class for the hass platform."""
insteon_modem = hass.data['insteon'].get('modem')

@@ -29,7 +32,7 @@
state_key = discovery_info['state_key']
name = device.states[state_key].name
if name != 'dryLeakSensor':
_LOGGER.debug("Adding device %s entity %s to Binary Sensor platform",
_LOGGER.debug('Adding device %s entity %s to Binary Sensor platform',
device.address.hex, device.states[state_key].name)

new_entity = InsteonBinarySensor(device, state_key)
@@ -55,7 +58,8 @@ def is_on(self):
"""Return the boolean response if the node is on."""
on_val = bool(self._insteon_device_state.value)

if self._insteon_device_state.name in ['lightSensor', 'ioLincSensor']:
if self._insteon_device_state.name in ['lightSensor',
'ioLincSensor']:
return not on_val

return on_val
@@ -1,20 +1,25 @@
"""Support for Insteon covers via PowerLinc Modem."""
"""
Support for Insteon covers via PowerLinc Modem.
For more details about this component, please refer to the documentation at
https://home-assistant.io/components/cover.insteon/
"""
import logging
import math

from homeassistant.components.cover import (
ATTR_POSITION, SUPPORT_CLOSE, SUPPORT_OPEN, SUPPORT_SET_POSITION,
CoverDevice)
from homeassistant.components.insteon import InsteonEntity
from homeassistant.components.cover import (CoverDevice, ATTR_POSITION,
SUPPORT_OPEN, SUPPORT_CLOSE,
SUPPORT_SET_POSITION)

_LOGGER = logging.getLogger(__name__)

DEPENDENCIES = ['insteon']
SUPPORTED_FEATURES = SUPPORT_OPEN | SUPPORT_CLOSE | SUPPORT_SET_POSITION


async def async_setup_platform(
hass, config, async_add_entities, discovery_info=None):
async def async_setup_platform(hass, config, async_add_entities,
discovery_info=None):
"""Set up the Insteon platform."""
if not discovery_info:
return
@@ -1,28 +1,34 @@
"""Support for INSTEON fans via PowerLinc Modem."""
"""
Support for INSTEON fans via PowerLinc Modem.
For more details about this component, please refer to the documentation at
https://home-assistant.io/components/fan.insteon/
"""
import logging

from homeassistant.components.fan import (
SPEED_HIGH, SPEED_LOW, SPEED_MEDIUM, SPEED_OFF, SUPPORT_SET_SPEED,
FanEntity)
from homeassistant.components.insteon import InsteonEntity
from homeassistant.components.fan import (SPEED_OFF,
SPEED_LOW,
SPEED_MEDIUM,
SPEED_HIGH,
FanEntity,
SUPPORT_SET_SPEED)
from homeassistant.const import STATE_OFF

_LOGGER = logging.getLogger(__name__)
from homeassistant.components.insteon import InsteonEntity

DEPENDENCIES = ['insteon']

SPEED_TO_HEX = {
SPEED_OFF: 0x00,
SPEED_LOW: 0x3f,
SPEED_MEDIUM: 0xbe,
SPEED_HIGH: 0xff,
}
SPEED_TO_HEX = {SPEED_OFF: 0x00,
SPEED_LOW: 0x3f,
SPEED_MEDIUM: 0xbe,
SPEED_HIGH: 0xff}

FAN_SPEEDS = [STATE_OFF, SPEED_LOW, SPEED_MEDIUM, SPEED_HIGH]

_LOGGER = logging.getLogger(__name__)


async def async_setup_platform(
hass, config, async_add_entities, discovery_info=None):
async def async_setup_platform(hass, config, async_add_entities,
discovery_info=None):
"""Set up the INSTEON device class for the hass platform."""
insteon_modem = hass.data['insteon'].get('modem')

@@ -1,4 +1,9 @@
"""Support for Insteon lights via PowerLinc Modem."""
"""
Support for Insteon lights via PowerLinc Modem.
For more details about this component, please refer to the documentation at
https://home-assistant.io/components/light.insteon/
"""
import logging

from homeassistant.components.insteon import InsteonEntity
@@ -12,8 +17,8 @@
MAX_BRIGHTNESS = 255


async def async_setup_platform(
hass, config, async_add_entities, discovery_info=None):
async def async_setup_platform(hass, config, async_add_entities,
discovery_info=None):
"""Set up the Insteon component."""
insteon_modem = hass.data['insteon'].get('modem')

@@ -1,4 +1,9 @@
"""Support for INSTEON dimmers via PowerLinc Modem."""
"""
Support for INSTEON dimmers via PowerLinc Modem.
For more details about this component, please refer to the documentation at
https://home-assistant.io/components/sensor.insteon/
"""
import logging

from homeassistant.components.insteon import InsteonEntity
@@ -9,8 +14,8 @@
_LOGGER = logging.getLogger(__name__)


async def async_setup_platform(
hass, config, async_add_entities, discovery_info=None):
async def async_setup_platform(hass, config, async_add_entities,
discovery_info=None):
"""Set up the INSTEON device class for the hass platform."""
insteon_modem = hass.data['insteon'].get('modem')

@@ -1,4 +1,9 @@
"""Support for INSTEON dimmers via PowerLinc Modem."""
"""
Support for INSTEON dimmers via PowerLinc Modem.
For more details about this component, please refer to the documentation at
https://home-assistant.io/components/switch.insteon/
"""
import logging

from homeassistant.components.insteon import InsteonEntity
@@ -9,8 +14,8 @@
_LOGGER = logging.getLogger(__name__)


async def async_setup_platform(
hass, config, async_add_entities, discovery_info=None):
async def async_setup_platform(hass, config, async_add_entities,
discovery_info=None):
"""Set up the INSTEON device class for the hass platform."""
insteon_modem = hass.data['insteon'].get('modem')

@@ -20,7 +25,7 @@

state_name = device.states[state_key].name

_LOGGER.debug("Adding device %s entity %s to Switch platform",
_LOGGER.debug('Adding device %s entity %s to Switch platform',
device.address.hex, device.states[state_key].name)

new_entity = None
@@ -5,10 +5,12 @@
PLATFORM_SCHEMA, BinarySensorDevice)
from homeassistant.components.knx import (
ATTR_DISCOVER_DEVICES, DATA_KNX, KNXAutomation)
from homeassistant.const import CONF_ADDRESS, CONF_DEVICE_CLASS, CONF_NAME
from homeassistant.const import CONF_NAME
from homeassistant.core import callback
import homeassistant.helpers.config_validation as cv

CONF_ADDRESS = 'address'
CONF_DEVICE_CLASS = 'device_class'
CONF_SIGNIFICANT_BIT = 'significant_bit'
CONF_DEFAULT_SIGNIFICANT_BIT = 1
CONF_AUTOMATION = 'automation'
@@ -30,7 +32,10 @@
vol.Required(CONF_ACTION): cv.SCRIPT_SCHEMA,
})

AUTOMATIONS_SCHEMA = vol.All(cv.ensure_list, [AUTOMATION_SCHEMA])
AUTOMATIONS_SCHEMA = vol.All(
cv.ensure_list,
[AUTOMATION_SCHEMA]
)

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
vol.Required(CONF_ADDRESS): cv.string,
@@ -43,8 +48,8 @@
})


async def async_setup_platform(
hass, config, async_add_entities, discovery_info=None):
async def async_setup_platform(hass, config, async_add_entities,
discovery_info=None):
"""Set up binary sensor(s) for KNX platform."""
if discovery_info is not None:
async_add_entities_discovery(hass, discovery_info, async_add_entities)
Oops, something went wrong.

0 comments on commit 0e8d534

Please sign in to comment.
You can’t perform that action at this time.