Update to Pyunifi2.0 (#6490)

* Updated pyUnifi

* Missing comma

* Security opt-out, not opt-in

* Adjust minimal values

* Update to pyUnifi 2.0
pull/6509/head
Caleb 2017-03-10 04:15:21 -06:00 committed by pvizeli
parent bdaae6f844
commit 24630b1ebe
3 changed files with 15 additions and 10 deletions

View File

@ -13,13 +13,15 @@ import homeassistant.loader as loader
from homeassistant.components.device_tracker import (
DOMAIN, PLATFORM_SCHEMA, DeviceScanner)
from homeassistant.const import CONF_HOST, CONF_USERNAME, CONF_PASSWORD
from homeassistant.const import CONF_VERIFY_SSL
# Unifi package doesn't list urllib3 as a requirement
REQUIREMENTS = ['urllib3', 'pyunifi==1.3']
REQUIREMENTS = ['pyunifi==2.0']
_LOGGER = logging.getLogger(__name__)
CONF_PORT = 'port'
CONF_SITE_ID = 'site_id'
DEFAULT_VERIFY_SSL = True
NOTIFICATION_ID = 'unifi_notification'
NOTIFICATION_TITLE = 'Unifi Device Tracker Setup'
@ -29,7 +31,8 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
vol.Optional(CONF_SITE_ID, default='default'): cv.string,
vol.Required(CONF_PASSWORD): cv.string,
vol.Required(CONF_USERNAME): cv.string,
vol.Required(CONF_PORT, default=8443): cv.port
vol.Required(CONF_PORT, default=8443): cv.port,
vol.Optional(CONF_VERIFY_SSL, default=DEFAULT_VERIFY_SSL): cv.boolean,
})
@ -42,10 +45,12 @@ def get_scanner(hass, config):
password = config[DOMAIN].get(CONF_PASSWORD)
site_id = config[DOMAIN].get(CONF_SITE_ID)
port = config[DOMAIN].get(CONF_PORT)
verify_ssl = config[DOMAIN].get(CONF_VERIFY_SSL)
persistent_notification = loader.get_component('persistent_notification')
try:
ctrl = Controller(host, username, password, port, 'v4', site_id)
ctrl = Controller(host, username, password, port, version='v4',
site_id=site_id, ssl_verify=verify_ssl)
except urllib.error.HTTPError as ex:
_LOGGER.error('Failed to connect to Unifi: %s', ex)
persistent_notification.create(

View File

@ -624,7 +624,7 @@ python-wink==1.1.1
pytrackr==0.0.5
# homeassistant.components.device_tracker.unifi
pyunifi==1.3
pyunifi==2.0
# homeassistant.components.keyboard
# pyuserinput==0.1.11
@ -737,9 +737,6 @@ uber_rides==0.2.7
# homeassistant.components.sensor.ups
upsmychoice==1.0.1
# homeassistant.components.device_tracker.unifi
urllib3
# homeassistant.components.camera.uvc
uvcclient==0.10.0

View File

@ -9,7 +9,7 @@ import voluptuous as vol
from tests.common import get_test_home_assistant
from homeassistant.components.device_tracker import DOMAIN, unifi as unifi
from homeassistant.const import (CONF_HOST, CONF_USERNAME, CONF_PASSWORD,
CONF_PLATFORM)
CONF_PLATFORM, CONF_VERIFY_SSL)
class TestUnifiScanner(unittest.TestCase):
@ -39,7 +39,8 @@ class TestUnifiScanner(unittest.TestCase):
self.assertEqual(mock_ctrl.call_count, 1)
self.assertEqual(
mock_ctrl.call_args,
mock.call('localhost', 'foo', 'password', 8443, 'v4', 'default')
mock.call('localhost', 'foo', 'password', 8443,
version='v4', site_id='default', ssl_verify=True)
)
self.assertEqual(mock_scanner.call_count, 1)
self.assertEqual(
@ -57,6 +58,7 @@ class TestUnifiScanner(unittest.TestCase):
CONF_USERNAME: 'foo',
CONF_PASSWORD: 'password',
CONF_HOST: 'myhost',
CONF_VERIFY_SSL: False,
'port': 123,
'site_id': 'abcdef01',
})
@ -66,7 +68,8 @@ class TestUnifiScanner(unittest.TestCase):
self.assertEqual(mock_ctrl.call_count, 1)
self.assertEqual(
mock_ctrl.call_args,
mock.call('myhost', 'foo', 'password', 123, 'v4', 'abcdef01')
mock.call('myhost', 'foo', 'password', 123,
version='v4', site_id='abcdef01', ssl_verify=False)
)
self.assertEqual(mock_scanner.call_count, 1)
self.assertEqual(