Skip to content
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

0.50 #8685

Merged
merged 120 commits into from
Jul 29, 2017
Merged

0.50 #8685

Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
5581c62
Fix iFrame panel test
balloob Jul 13, 2017
ba019c7
Make deps directory persistent over upgrades (#7801)
MartinHjelmare Jul 14, 2017
4fde0ff
LIFX: support for multizone (#8399)
amelchio Jul 14, 2017
d8abef9
Add RGB support to switch.flux (#8417)
d0ugal Jul 14, 2017
9373d5e
Fix media_position for cast component (#8452)
dersger Jul 14, 2017
d473f34
Remove km from visibility, add visibility_distance (#8454)
gollo Jul 14, 2017
5829cdf
Radarr sensor fix for issue #8250 (#8456)
hoopty Jul 14, 2017
87b83f3
Accept transition for light.toggle (#8466)
amelchio Jul 14, 2017
6ca828f
Make themes API work even when themes are not defined. (#8473)
andrey-git Jul 14, 2017
543e8bb
Fix check for running inside venv (#8481)
MartinHjelmare Jul 15, 2017
23b65bf
Version bump to 0.50.0dev0
balloob Jul 16, 2017
bffa0d2
Bump to KNXIP 0.5 (#8492)
Jul 16, 2017
d3be056
Expose all components on hass [Concept] (#8490)
balloob Jul 16, 2017
d29bddd
Add bind_hass to components (#8502)
balloob Jul 16, 2017
f6c3832
Fix TP-Link device tracker regression since 0.49 (#8497)
maikelwever Jul 16, 2017
d0275c8
Persistent notification import (#8507)
balloob Jul 16, 2017
ffd3081
Added additional attributes to OwnTracks device_tracker (#8503)
Jul 16, 2017
8c95574
Update dlib_face_detect.py (#8516)
pvizeli Jul 17, 2017
40aafcd
prometheus: Convert fahrenheit to celsius (#8511)
rcloran Jul 17, 2017
f047985
Realfix for dlib (#8517)
pvizeli Jul 17, 2017
cca0d3e
Attach the `chat_id` for a callback query from a chat group (fixes #8…
azogue Jul 17, 2017
1a1571c
Added sensor state rounding (#8499)
fronzbot Jul 17, 2017
c67c20f
fix for a bug introduced with media support in #8282 (#8513)
MikeChristianson Jul 17, 2017
95e0027
Fix KeyError
fabaff Jul 17, 2017
8c9b389
handle timeout errors without logging.exception when updating hue lig…
azogue Jul 17, 2017
b83ff73
Remove deprecated automation keywords (#8510)
amelchio Jul 17, 2017
fde4a7d
Citybikes: Allow None as result for empty slots (#8528)
janLo Jul 17, 2017
dcd6f7a
Return a 0 temperature value when none is found (#8518)
phil-lavin Jul 17, 2017
4ae11c0
Fix #6469 and #6828 (#8537)
titilambert Jul 18, 2017
879c816
Update docstrings (#8536)
fabaff Jul 18, 2017
2aa89cf
Upgrade TwitterAPI to 2.4.6 (#8535)
fabaff Jul 18, 2017
2926621
Fix support for multiple Apple TVs (#8539)
postlund Jul 18, 2017
5e1ff20
Decora: Fix set brightness and improve reconnection (#8522)
titilambert Jul 18, 2017
d54a634
Update demo.py
balloob Jul 18, 2017
1a86fa5
Initial support for Google Wifi/OnHub (#8485)
fronzbot Jul 18, 2017
4ece4bf
Fix exception dlib_face_identify when image is not recognized by face…
tchellomello Jul 19, 2017
6bc0729
[media_extractor] Add support for custom stream queries for media_ext…
minchik Jul 19, 2017
42699b7
Report Harmony remote off if state is unknown (#8547)
jawilson Jul 19, 2017
c8bfcd2
Upgrade the alarmdecoder dependency library from 0.12.1 to 0.12.3. (#…
viswa-swami Jul 19, 2017
c27074e
turn_on_action and turn_off_action with script syntax (#8558)
azogue Jul 19, 2017
f1280d3
Extends Pi-hole sensor to support the new sensors: (#8549)
tchellomello Jul 19, 2017
84ebcd8
Support for Wink Switch and Light groups also fix fan speed selection…
Jul 19, 2017
54755df
Added a service to write to KNX group addressed including documentati…
Jul 20, 2017
9cc3e7e
Handle manual edits to emulated_hue_ids.json (#8560)
jawilson Jul 20, 2017
8a42e15
LIFX: assume default features for unknown products (#8553)
amelchio Jul 20, 2017
ee05a4a
Fix broken status update for lighting4 devices (#8543)
ypollart Jul 20, 2017
8d1999d
Enhance python_script to support "_getitem_" (#8541)
sdague Jul 20, 2017
49c399c
Update persistent deps dir version in config.py (#8479)
balloob Jul 20, 2017
fde291f
Add is_lighting4 to RfxtrxBinarySensor (#8563)
Danielhiversen Jul 20, 2017
bc27d17
Bump pyver to fix exception in fetching colours.
pavoni Jul 20, 2017
966809c
Merge pull request #8564 from home-assistant/bump_pyvera
pavoni Jul 20, 2017
90639d3
Xiaomi gw support (#8555)
Danielhiversen Jul 20, 2017
7189494
fix #8263 corrected Adafruit DHT library version from 1.3.0 to 1.3.2 …
namadori Jul 20, 2017
a5c0831
xiaomi bug fix (#8576)
Danielhiversen Jul 20, 2017
e63a96c
Bumped python-simplisafe version (#8578)
bachya Jul 20, 2017
4f8d2ec
Added Time Remaining and Time Elapsed sensors for octoprint (#8581)
Jul 21, 2017
f6a5e08
upgade xiaomi lib to 0.2 (#8584)
Danielhiversen Jul 21, 2017
fada6d3
Device support for different new sensors of the xiaomi aqara gateway …
syssi Jul 21, 2017
ee15306
Extends Fitbit sensors to track the device battery level (#8583)
tchellomello Jul 21, 2017
4359e0b
xiaomi binary sensor bug fix (#8586)
Danielhiversen Jul 21, 2017
06ceadf
upgrade pywebpush and PyJWT (#8588)
perosb Jul 21, 2017
dc42b63
Support for Wink oauth application authorization (#8208)
Jul 22, 2017
8d31c5f
zha: Update to bellows 0.3.4 (#8594)
rcloran Jul 22, 2017
7bea69c
update frontend
balloob Jul 22, 2017
7edf14e
Add Intent component (#8434)
balloob Jul 22, 2017
8e8ec7a
Remove code in wink.py overwriting hass.data configurator (#8595)
Jul 22, 2017
b4f392b
bump python-mirobo version for more robust protocol handling, make th…
rytilahti Jul 22, 2017
1807b45
Binary sensor ping fixed for hassio (#8573)
gollo Jul 22, 2017
2f08a91
Simplified percent conversion, better logging (#8568)
Jul 22, 2017
9043895
make attributes in the fritzdect module easier to process (#8436)
thomasklingbeil Jul 22, 2017
dac9716
Fix STATION_SCHEMA validation on longitude (#8610)
clkao Jul 23, 2017
c6bf529
Allow set_cover_position in scenes (#8613)
koenekelschot Jul 23, 2017
77d8e39
better but still not great (#8618)
cribbstechnologies Jul 23, 2017
cc2de5e
Upgrade youtube_dl to 2017.7.23 (#8617)
fabaff Jul 23, 2017
486bcc4
Upgrade mypy to 0.520 (#8616)
fabaff Jul 23, 2017
5d810da
REST binary sensor value_template optional (#8596)
philhawthorne Jul 23, 2017
3fec295
Bumped Amcrest version (#8624)
tchellomello Jul 24, 2017
1831a7d
Check if /dev/input/by-id exists (#8601)
schaal Jul 24, 2017
4b449f5
Tado Fix #8606 (#8621)
filcole Jul 24, 2017
f0293ee
prometheus: Fix zwave battery level (#8615)
rcloran Jul 24, 2017
b0b6026
ubus: Make multiple instances work again (#8571)
glance- Jul 24, 2017
f3d9086
Properly slugify switch.flux update service name (#8545)
jawilson Jul 24, 2017
a2abb4a
Update frontend
balloob Jul 24, 2017
654ad41
added onvif camera fix for non-virtual env installations (#8592)
matt2005 Jul 24, 2017
f86bd15
Cleanup old device_tracker stuff (#8627)
pvizeli Jul 24, 2017
1d31137
Update README.rst
balloob Jul 24, 2017
9d9ca64
Update README.rst
balloob Jul 24, 2017
98568b5
Add support for using credstash as a secret store (#8494)
justin8 Jul 24, 2017
ecc1429
Added support for default value when environment variable is missing …
Jul 24, 2017
cc03f7e
Manual alarm with MQTT control (#8257)
colinodell Jul 24, 2017
3b7f16f
Catch and log Lyft API errors (#8635)
emlove Jul 25, 2017
ad7370e
Update frontend
balloob Jul 25, 2017
c2828ba
Tweak conversation/intent/shopping list (#8636)
balloob Jul 25, 2017
cd2703e
Update dependencies cast + discovery (#8646)
balloob Jul 26, 2017
e83816c
Add component Light TPLink (#8643)
gollo Jul 26, 2017
7c12074
Fixes Fitbit sensor to report battery level with the expected device …
tchellomello Jul 26, 2017
81a27e7
Upgrade aiolifx (#8648)
amelchio Jul 26, 2017
fff269e
Velbus (#8076)
thomasdelaet Jul 26, 2017
abcfcdd
Yahoo Weather update, supports forecast for more days (#8626)
fanthos Jul 26, 2017
438edc5
History performance improvements for single-entity requests (#8632)
OverloadUT Jul 26, 2017
3318f02
Add transition support to light.zha (#8548)
jawilson Jul 26, 2017
3b4ea86
Add uk_transport component. (#8600)
robmarkcole Jul 26, 2017
f5eeb25
Added support for SerenaHoneycombShades to Lutron Caseta (#8662)
kfcook Jul 27, 2017
9d5c61b
MQTT Switch: add availability_topic for online/offline status (#8593)
abmantis Jul 27, 2017
1e8c00a
Adding support for mapping keys to value in statsd (#8665)
Khabi Jul 27, 2017
b59c299
Upgrade fuzzywuzzy to 0.15.1 (#8671)
fabaff Jul 27, 2017
4fcaea2
Upgrade libnacl to 1.5.2 (#8670)
fabaff Jul 27, 2017
74581b5
Upgrade sqlalchemy to 1.1.12 (#8669)
fabaff Jul 27, 2017
9e6817b
Upgrade pyhomematic to 0.1.30 (#8673)
danielperna84 Jul 27, 2017
51108b8
Hass.io: logo support / timeout handling (#8668)
pvizeli Jul 27, 2017
0ab0e35
Updated pysnmp to 4.3.9 (#8675)
bgehrich Jul 27, 2017
e8ce418
Fix COMMAND_CLASS_BARRIER_OPERATOR for dev branch of OpenZwave (#8574)
firstof9 Jul 27, 2017
0c97fe7
Version bump to 0.50
Jul 28, 2017
0a6d519
Merge remote-tracking branch 'origin/master' into release-0-50
Jul 28, 2017
828c469
Fix Lint
balloob Jul 29, 2017
56f4486
Update frontend
balloob Jul 29, 2017
f0e5f68
Shopping List: edit name / complete status (#8666)
balloob Jul 29, 2017
c376bc2
Support for Wink local control (#8607)
Jul 28, 2017
12dec93
Update frontend
balloob Jul 29, 2017
a760673
Persist shopping list + clear completed (#8697)
balloob Jul 29, 2017
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
Prev Previous commit
Next Next commit
Cleanup old device_tracker stuff (#8627)
* Cleanup old device_tracker stuff

* Fix lint
  • Loading branch information
pvizeli authored and balloob committed Jul 24, 2017
commit f86bd155801a704c9bb6a7080b603a762ce526d6
26 changes: 9 additions & 17 deletions homeassistant/components/device_tracker/actiontec.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,14 @@
import logging
import re
import telnetlib
import threading
from collections import namedtuple
from datetime import timedelta
import voluptuous as vol

import homeassistant.helpers.config_validation as cv
import homeassistant.util.dt as dt_util
from homeassistant.components.device_tracker import (
DOMAIN, PLATFORM_SCHEMA, DeviceScanner)
from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_USERNAME
from homeassistant.util import Throttle

MIN_TIME_BETWEEN_SCANS = timedelta(seconds=5)

_LOGGER = logging.getLogger(__name__)

Expand Down Expand Up @@ -54,7 +49,6 @@ def __init__(self, config):
self.host = config[CONF_HOST]
self.username = config[CONF_USERNAME]
self.password = config[CONF_PASSWORD]
self.lock = threading.Lock()
self.last_results = []
data = self.get_actiontec_data()
self.success_init = data is not None
Expand All @@ -74,7 +68,6 @@ def get_device_name(self, device):
return client.ip
return None

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

Expand All @@ -84,16 +77,15 @@ def _update_info(self):
if not self.success_init:
return False

with self.lock:
now = dt_util.now()
actiontec_data = self.get_actiontec_data()
if not actiontec_data:
return False
self.last_results = [Device(data['mac'], name, now)
for name, data in actiontec_data.items()
if data['timevalid'] > -60]
_LOGGER.info("Scan successful")
return True
now = dt_util.now()
actiontec_data = self.get_actiontec_data()
if not actiontec_data:
return False
self.last_results = [Device(data['mac'], name, now)
for name, data in actiontec_data.items()
if data['timevalid'] > -60]
_LOGGER.info("Scan successful")
return True

def get_actiontec_data(self):
"""Retrieve data from Actiontec MI424WR and return parsed result."""
Expand Down
19 changes: 5 additions & 14 deletions homeassistant/components/device_tracker/aruba.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,18 @@
"""
import logging
import re
import threading
from datetime import timedelta

import voluptuous as vol

import homeassistant.helpers.config_validation as cv
from homeassistant.components.device_tracker import (
DOMAIN, PLATFORM_SCHEMA, DeviceScanner)
from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_USERNAME
from homeassistant.util import Throttle

_LOGGER = logging.getLogger(__name__)

REQUIREMENTS = ['pexpect==4.0.1']

MIN_TIME_BETWEEN_SCANS = timedelta(seconds=10)

_DEVICES_REGEX = re.compile(
r'(?P<name>([^\s]+))\s+' +
r'(?P<ip>([0-9]{1,3}[\.]){3}[0-9]{1,3})\s+' +
Expand Down Expand Up @@ -52,8 +47,6 @@ def __init__(self, config):
self.username = config[CONF_USERNAME]
self.password = config[CONF_PASSWORD]

self.lock = threading.Lock()

self.last_results = {}

# Test the router is accessible.
Expand All @@ -74,7 +67,6 @@ def get_device_name(self, device):
return client['name']
return None

@Throttle(MIN_TIME_BETWEEN_SCANS)
def _update_info(self):
"""Ensure the information from the Aruba Access Point is up to date.

Expand All @@ -83,13 +75,12 @@ def _update_info(self):
if not self.success_init:
return False

with self.lock:
data = self.get_aruba_data()
if not data:
return False
data = self.get_aruba_data()
if not data:
return False

self.last_results = data.values()
return True
self.last_results = data.values()
return True

def get_aruba_data(self):
"""Retrieve data from Aruba Access Point and return parsed result."""
Expand Down
33 changes: 12 additions & 21 deletions homeassistant/components/device_tracker/asuswrt.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,14 @@
import re
import socket
import telnetlib
import threading
from collections import namedtuple
from datetime import timedelta

import voluptuous as vol

from homeassistant.components.device_tracker import (
DOMAIN, PLATFORM_SCHEMA, DeviceScanner)
from homeassistant.const import (
CONF_HOST, CONF_PASSWORD, CONF_USERNAME, CONF_PORT)
from homeassistant.util import Throttle
import homeassistant.helpers.config_validation as cv

REQUIREMENTS = ['pexpect==4.0.1']
Expand All @@ -32,8 +29,6 @@

DEFAULT_SSH_PORT = 22

MIN_TIME_BETWEEN_SCANS = timedelta(seconds=5)

SECRET_GROUP = 'Password or SSH Key'

PLATFORM_SCHEMA = vol.All(
Expand Down Expand Up @@ -123,8 +118,6 @@ def __init__(self, config):
self.password,
self.mode == "ap")

self.lock = threading.Lock()

self.last_results = {}

# Test the router is accessible.
Expand All @@ -145,7 +138,6 @@ def get_device_name(self, device):
return client['host']
return None

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

Expand All @@ -154,19 +146,18 @@ def _update_info(self):
if not self.success_init:
return False

with self.lock:
_LOGGER.info('Checking Devices')
data = self.get_asuswrt_data()
if not data:
return False

active_clients = [client for client in data.values() if
client['status'] == 'REACHABLE' or
client['status'] == 'DELAY' or
client['status'] == 'STALE' or
client['status'] == 'IN_ASSOCLIST']
self.last_results = active_clients
return True
_LOGGER.info('Checking Devices')
data = self.get_asuswrt_data()
if not data:
return False

active_clients = [client for client in data.values() if
client['status'] == 'REACHABLE' or
client['status'] == 'DELAY' or
client['status'] == 'STALE' or
client['status'] == 'IN_ASSOCLIST']
self.last_results = active_clients
return True

def get_asuswrt_data(self):
"""Retrieve data from ASUSWRT and return parsed result."""
Expand Down
38 changes: 13 additions & 25 deletions homeassistant/components/device_tracker/bt_home_hub_5.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
"""
import logging
import re
import threading
from datetime import timedelta
import xml.etree.ElementTree as ET
import json
from urllib.parse import unquote
Expand All @@ -19,13 +17,10 @@
from homeassistant.components.device_tracker import (
DOMAIN, PLATFORM_SCHEMA, DeviceScanner)
from homeassistant.const import CONF_HOST
from homeassistant.util import Throttle

_LOGGER = logging.getLogger(__name__)
_MAC_REGEX = re.compile(r'(([0-9A-Fa-f]{1,2}\:){5}[0-9A-Fa-f]{1,2})')

MIN_TIME_BETWEEN_SCANS = timedelta(seconds=10)

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
vol.Required(CONF_HOST): cv.string
})
Expand All @@ -46,11 +41,7 @@ def __init__(self, config):
"""Initialise the scanner."""
_LOGGER.info("Initialising BT Home Hub 5")
self.host = config.get(CONF_HOST, '192.168.1.254')

self.lock = threading.Lock()

self.last_results = {}

self.url = 'http://{}/nonAuth/home_status.xml'.format(self.host)

# Test the router is accessible
Expand All @@ -65,17 +56,15 @@ def scan_devices(self):

def get_device_name(self, device):
"""Return the name of the given device or None if we don't know."""
with self.lock:
# If not initialised and not already scanned and not found.
if device not in self.last_results:
self._update_info()
# If not initialised and not already scanned and not found.
if device not in self.last_results:
self._update_info()

if not self.last_results:
return None
if not self.last_results:
return None

return self.last_results.get(device)
return self.last_results.get(device)

@Throttle(MIN_TIME_BETWEEN_SCANS)
def _update_info(self):
"""Ensure the information from the BT Home Hub 5 is up to date.

Expand All @@ -84,18 +73,17 @@ def _update_info(self):
if not self.success_init:
return False

with self.lock:
_LOGGER.info("Scanning")
_LOGGER.info("Scanning")

data = _get_homehub_data(self.url)
data = _get_homehub_data(self.url)

if not data:
_LOGGER.warning("Error scanning devices")
return False
if not data:
_LOGGER.warning("Error scanning devices")
return False

self.last_results = data
self.last_results = data

return True
return True


def _get_homehub_data(url):
Expand Down
5 changes: 0 additions & 5 deletions homeassistant/components/device_tracker/cisco_ios.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
https://home-assistant.io/components/device_tracker.cisco_ios/
"""
import logging
from datetime import timedelta

import voluptuous as vol

Expand All @@ -14,9 +13,6 @@
DOMAIN, PLATFORM_SCHEMA, DeviceScanner)
from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_USERNAME, \
CONF_PORT
from homeassistant.util import Throttle

MIN_TIME_BETWEEN_SCANS = timedelta(seconds=5)

_LOGGER = logging.getLogger(__name__)

Expand Down Expand Up @@ -65,7 +61,6 @@ def scan_devices(self):

return self.last_results

@Throttle(MIN_TIME_BETWEEN_SCANS)
def _update_info(self):
"""
Ensure the information from the Cisco router is up to date.
Expand Down
Loading