8000 0.49.1 by balloob · Pull Request #8625 · home-assistant/core · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

0.49.1 #8625

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 18 commits into from
Jul 24, 2017
Merged

0.49.1 #8625

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/components/amcrest.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from homeassistant.helpers import discovery
import homeassistant.helpers.config_validation as cv

REQUIREMENTS = ['amcrest==1.2.0']
REQUIREMENTS = ['amcrest==1.2.1']
DEPENDENCIES = ['ffmpeg']

_LOGGER = logging.getLogger(__name__)
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/apple_tv.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from homeassistant.loader import get_component
import homeassistant.helpers.config_validation as cv

REQUIREMENTS = ['pyatv==0.3.2']
REQUIREMENTS = ['pyatv==0.3.4']

_LOGGER = logging.getLogger(__name__)

Expand Down
21 changes: 10 additions & 11 deletions homeassistant/components/binary_sensor/rfxtrx.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
entity[CONF_COMMAND_ON],
entity[CONF_COMMAND_OFF])
device.hass = hass
device.is_lighting4 = (packet_id[2:4] == '13')
sensors.append(device)
rfxtrx.RFX_DEVICES[device_id] = device

Expand Down Expand Up @@ -94,6 +95,8 @@ def binary_sensor_update(event):

pkt_id = "".join("{0:02x}".format(x) for x in event.data)
sensor = RfxtrxBinarySensor(event, pkt_id)
sensor.hass = hass
sensor.is_lighting4 = (pkt_id[2:4] == '13')
rfxtrx.RFX_DEVICES[device_id] = sensor
add_devices_callback([sensor])
_LOGGER.info("Added binary sensor %s "
Expand All @@ -111,12 +114,12 @@ def binary_sensor_update(event):
slugify(event.device.id_string.lower()),
event.device.__class__.__name__,
event.device.subtype)

if sensor.is_pt2262:
cmd = rfxtrx.get_pt2262_cmd(device_id, sensor.data_bits)
_LOGGER.info("applying cmd %s to device_id: %s)",
cmd, sensor.masked_id)
sensor.apply_cmd(int(cmd, 16))
if sensor.is_lighting4:
if sensor.data_bits is not None:
cmd = rfxtrx.get_pt2262_cmd(device_id, sensor.data_bits)
sensor.apply_cmd(int(cmd, 16))
else:
sensor.update_state(True)
else:
rfxtrx.apply_received_command(event)

Expand Down Expand Up @@ -151,6 +154,7 @@ def __init__(self, event, name, device_class=None,
self._device_class = device_class
self._off_delay = off_delay
self._state = False
self.is_lighting4 = False
self.delay_listener = None
self._data_bits = data_bits
self._cmd_on = cmd_on
Expand All @@ -170,11 +174,6 @@ def name(self):
"""Return the device name."""
return self._name

@property
def is_pt2262(self):
"""Return true if the device is PT2262-based."""
return self._data_bits is not None

@property
def masked_id(self):
"""Return the masked device id (isolated address bits)."""
Expand Down
41 changes: 24 additions & 17 deletions homeassistant/components/climate/tado.py
Original file line number Diff line number Diff line change
Expand Up @@ -273,31 +273,38 @@ def update(self):
else:
self._device_is_active = True

if self._device_is_active:
overlay = False
overlay_data = None
termination = self._current_operation
cooling = False
fan_speed = CONST_MODE_OFF
overlay = False
overlay_data = None
termination = self._current_operation
cooling = False
fan_speed = CONST_MODE_OFF

if 'overlay' in data:
overlay_data = data['overlay']
overlay = overlay_data is not None

if overlay:
termination = overlay_data['termination']['type']

if 'overlay' in data:
overlay_data = data['overlay']
overlay = overlay_data is not None
if 'setting' in overlay_data:
setting_data = overlay_data['setting']
setting = setting is not None

if overlay:
termination = overlay_data['termination']['type']
if setting:
if 'mode' in setting_data:
cooling = setting_data['mode'] == 'COOL'

if 'setting' in overlay_data:
cooling = overlay_data['setting']['mode'] == 'COOL'
fan_speed = overlay_data['setting']['fanSpeed']
if 'fanSpeed' in setting_data:
fan_speed = setting_data['fanSpeed']

if self._device_is_active:
# If you set mode manualy to off, there will be an overlay
# and a termination, but we want to see the mode "OFF"

self._overlay_mode = termination
self._current_operation = termination
self._cooling = cooling
self._current_fan = fan_speed

self._cooling = cooling
self._current_fan = fan_speed

def _control_heating(self):
"""Send new target temperature to mytado."""
Expand Down
3 changes: 2 additions & 1 deletion homeassistant/components/device_tracker/tplink.py
Original file line number Diff line number Diff line change
Expand Up @@ -391,7 +391,8 @@ def _update_info(self):
"Cache-Control": "no-cache"
}

password_md5 = hashlib.md5(self.password).hexdigest().upper()
password_md5 = hashlib.md5(
self.password.encode('utf')).hexdigest().upper()

# create a session to handle cookie easier
session = requests.session()
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/device_tracker/ubus.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,8 @@ def get_device_name(self, device):

return self.mac2name.get(device.upper(), None)

@Throttle(MIN_TIME_BETWEEN_SCANS)
@_refresh_on_acccess_denied
@Throttle(MIN_TIME_BETWEEN_SCANS)
def _update_info(self):
"""Ensure the information from the Luci router is up to date.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@

_LOGGER = logging.getLogger(__name__)

ATTR_LOCATION = 'location'


def setup_platform(hass, config, add_devices, discovery_info=None):
"""Set up the Dlib Face detection platform."""
Expand Down Expand Up @@ -68,4 +70,7 @@ def process_image(self, image):
image = face_recognition.load_image_file(fak_file)
face_locations = face_recognition.face_locations(image)

face_locations = [{ATTR_LOCATION: location}
for location in face_locations]

self.process_faces(face_locations, len(face_locations))
25 changes: 15 additions & 10 deletions homeassistant/components/keyboard_remote.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,20 +94,25 @@ def __init__(self, hass, config):
if self.dev is not None:
_LOGGER.debug("Keyboard connected, %s", self.device_id)
else:
id_folder = '/dev/input/by-id/'
device_names = [InputDevice(file_name).name
for file_name in list_devices()]
_LOGGER.debug(
'Keyboard not connected, %s.\n\
Check /dev/input/event* permissions.\
Possible device names are:\n %s.\n \
Possible device descriptors are %s:\n %s',
self.device_id,
device_names,
id_folder,
os.listdir(id_folder)
Check /dev/input/event* permissions.',
self.device_id
)

id_folder = '/dev/input/by-id/'

if os.path.isdir(id_folder):
device_names = [InputDevice(file_name).name
for file_name in list_devices()]
_LOGGER.debug(
'Possible device names are:\n %s.\n \
Possible device descriptors are %s:\n %s',
device_names,
id_folder,
os.listdir(id_folder)
)

threading.Thread.__init__(self)
self.stopped = threading.Event()
self.hass = hass
Expand Down
10 changes: 8 additions & 2 deletions homeassistant/components/light/lifx.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,12 +159,18 @@ def cleanup(event):

def lifxwhite(device):
"""Return whether this is a white-only bulb."""
return not aiolifx().products.features_map[device.product]["color"]
features = aiolifx().products.features_map.get(device.product, None)
if features:
return not features["color"]
return False


def lifxmultizone(device):
"""Return whether this is a multizone bulb/strip."""
return aiolifx().products.features_map[device.product]["multizone"]
features = aiolifx().products.features_map.get(device.product, None)
if features:
return features["multizone"]
return False


def find_hsbk(**kwargs):
Expand Down
6 changes: 6 additions & 0 deletions homeassistant/components/prometheus.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
TEMP_CELSIUS, TEMP_FAHRENHEIT)
from homeassistant import core as hacore
from homeassistant.helpers import state as state_helper
from homeassistant.util.temperature import fahrenheit_to_celsius

_LOGGER = logging.getLogger(__name__)

Expand Down Expand Up @@ -198,6 +199,8 @@ def _handle_sensor(self, state):
metric = self._metric(*metric)
try:
value = state_helper.state_as_number(state)
if unit == TEMP_FAHRENHEIT:
value = fahrenheit_to_celsius(value)
metric.labels(**self._labels(state)).set(value)
except ValueError:
pass
Expand All @@ -213,6 +216,9 @@ def _handle_switch(self, state):
value = state_helper.state_as_number(state)
metric.labels(**self._labels(state)).set(value)

def _handle_zwave(self, state):
self._battery(state)


class PrometheusView(HomeAssistantView):
"""Handle Prometheus requests."""
Expand Down
5 changes: 5 additions & 0 deletions homeassistant/components/remote/apple_tv.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,11 @@ def name(self):
"""Return the name of the device."""
return self._name

@property
def unique_id(self):
"""Return an unique ID."""
return self._atv.metadata.device_id

@property
def is_on(self):
"""Return true if device is on."""
Expand Down
11 changes: 2 additions & 9 deletions homeassistant/components/rfxtrx.py
Original file line number Diff line number Diff line change
Expand Up @@ -247,10 +247,8 @@ def get_pt2262_device(device_id):
"""Look for the device which id matches the given device_id parameter."""
for dev_id, device in RFX_DEVICES.items():
try:
if (device.is_pt2262 and
device.masked_id == get_pt2262_deviceid(
device_id,
device.data_bits)):
if device.masked_id == get_pt2262_deviceid(device_id,
device.data_bits):
_LOGGER.info("rfxtrx: found matching device %s for %s",
device_id,
get_pt2262_deviceid(device_id, device.data_bits))
Expand Down Expand Up @@ -414,11 +412,6 @@ def should_fire_event(self):
"""Return is the device must fire event."""
return self._should_fire_event

@property
def is_pt2262(self):
"""Return true if the device is PT2262-based."""
return False

@property
def is_on(self):
"""Return true if device is on."""
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/sensor/citybikes.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@
vol.Required(ATTR_FREE_BIKES): cv.positive_int,
vol.Required(ATTR_EMPTY_SLOTS): cv.positive_int,
vol.Required(ATTR_LATITUDE): cv.latitude,
vol.Required(ATTR_LONGITUDE): cv.latitude,
vol.Required(ATTR_LONGITUDE): cv.longitude,
vol.Required(ATTR_ID): cv.string,
vol.Required(ATTR_NAME): cv.string,
vol.Required(ATTR_TIMESTAMP): cv.string,
Expand Down
4 changes: 3 additions & 1 deletion homeassistant/components/switch/flux.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
from homeassistant.const import CONF_NAME, CONF_PLATFORM
from homeassistant.helpers.event import track_time_change
from homeassistant.helpers.sun import get_astral_event_date
from homeassistant.util import slugify
from homeassistant.util.color import (
color_temperature_to_rgb, color_RGB_to_xy,
color_temperature_kelvin_to_mired)
Expand Down Expand Up @@ -111,7 +112,8 @@ def update(call=None):
"""Update lights."""
flux.flux_update()

hass.services.register(DOMAIN, name + '_update', update)
service_name = slugify("{} {}".format(name, 'update'))
hass.services.register(DOMAIN, service_name, update)


class FluxSwitch(SwitchDevice):
Expand Down
2 changes: 2 additions & 0 deletions homeassistant/components/telegram_bot/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -581,6 +581,8 @@ def _get_message_data(self, msg_data):
data[ATTR_FROM_LAST] = msg_data['from']['last_name']
if 'chat' in msg_data:
data[ATTR_CHAT_ID] = msg_data['chat']['id']
elif ATTR_MESSAGE in msg_data and 'chat' in msg_data[ATTR_MESSAGE]:
data[ATTR_CHAT_ID] = msg_data[ATTR_MESSAGE]['chat']['id']

return True, data

Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/zha/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from homeassistant.helpers import discovery, entity
from homeassistant.util import slugify

REQUIREMENTS = ['bellows==0.3.2']
REQUIREMENTS = ['bellows==0.3.4']

DOMAIN = 'zha'

Expand Down
2 changes: 1 addition & 1 deletion homeassistant/const.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"""Constants used by Home Assistant components."""
MAJOR_VERSION = 0
MINOR_VERSION = 49
PATCH_VERSION = '0'
PATCH_VERSION = '1'
__short_version__ = '{}.{}'.format(MAJOR_VERSION, MINOR_VERSION)
__version__ = '{}.{}'.format(__short_version__, PATCH_VERSION)
REQUIRED_PYTHON_VER = (3, 4, 2)
Expand Down
6 changes: 3 additions & 3 deletions requirements_all.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ aiopvapi==1.4
alarmdecoder==0.12.1.0

# homeassistant.components.amcrest
amcrest==1.2.0
amcrest==1.2.1

# homeassistant.components.media_player.anthemav
anthemav==1.1.8
Expand Down Expand Up @@ -92,7 +92,7 @@ batinfo==0.4.2
beautifulsoup4==4.6.0

# homeassistant.components.zha
bellows==0.3.2
bellows==0.3.4

# homeassistant.components.blink
blinkpy==0.6.0
Expand Down Expand Up @@ -519,7 +519,7 @@ pyasn1-modules==0.0.9
pyasn1==0.2.3

# homeassistant.components.apple_tv
pyatv==0.3.2
pyatv==0.3.4

# homeassistant.components.device_tracker.bbox
# homeassistant.components.sensor.bbox
Expand Down
0