From dfa9880176d469b856a6d347d4ca9d4f939f410c Mon Sep 17 00:00:00 2001 From: Ryan Kraus Date: Sun, 15 Nov 2015 05:00:24 -0500 Subject: [PATCH 1/7] Created updater component --- homeassistant/components/updater.py | 50 +++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 homeassistant/components/updater.py diff --git a/homeassistant/components/updater.py b/homeassistant/components/updater.py new file mode 100644 index 00000000000000..e6afa518e82a82 --- /dev/null +++ b/homeassistant/components/updater.py @@ -0,0 +1,50 @@ +""" +homeassistant.components.sensor.updater +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Sensor that checks for available updates. + +For more details about this platform, please refer to the documentation at +at https://home-assistant.io/components/sensor.updater/ +""" +import logging + +import requests + +from homeassistant.const import __version__ as CURRENT_VERSION +from homeassistant.helpers import event + +_LOGGER = logging.getLogger(__name__) +PYPI_URL = 'https://pypi.python.org/pypi/homeassistant/json' +DEPENDENCIES = [] +DOMAIN = 'updater' + + +def setup(hass, config): + ''' setup the updater component ''' + + def check_newest_version(_=None): + ''' check if a new version is available and report if one is ''' + newest = get_newest_version() + if newest != CURRENT_VERSION and newest is not None: + hass.states.set( + '{}.Update'.format(DOMAIN), newest) + + event.track_time_change(hass, check_newest_version, + hour=12, minute=0, second=0) + event.track_time_change(hass, check_newest_version, + hour=0, minute=0, second=0) + + check_newest_version() + + return True + + +def get_newest_version(): + ''' Get the newest HA version form PyPI ''' + try: + req = requests.get(PYPI_URL) + except OSError: + _LOGGER.warning('Could not contact PyPI to check for updates') + return + + return req.json()['info']['version'] From 4463b69245e6ee1737a35b3ddeff433b6702bc4e Mon Sep 17 00:00:00 2001 From: Ryan Kraus Date: Sun, 15 Nov 2015 05:15:36 -0500 Subject: [PATCH 2/7] Added friendly name to updater component. --- homeassistant/components/updater.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/updater.py b/homeassistant/components/updater.py index e6afa518e82a82..8fa447183ad696 100644 --- a/homeassistant/components/updater.py +++ b/homeassistant/components/updater.py @@ -27,7 +27,8 @@ def check_newest_version(_=None): newest = get_newest_version() if newest != CURRENT_VERSION and newest is not None: hass.states.set( - '{}.Update'.format(DOMAIN), newest) + '{}.Update'.format(DOMAIN), newest, + {'friendly_name': 'Update Available'}) event.track_time_change(hass, check_newest_version, hour=12, minute=0, second=0) From 7dacf01baa9d65bbba3fb47e634514c31fafe17d Mon Sep 17 00:00:00 2001 From: Ryan Kraus Date: Sun, 15 Nov 2015 16:56:33 -0500 Subject: [PATCH 3/7] Updating fronted to latest version. --- homeassistant/components/frontend/version.py | 2 +- .../frontend/www_static/frontend.html | 45 ++++++++----------- .../www_static/home-assistant-polymer | 2 +- .../www_static/webcomponents-lite.min.js | 6 +-- 4 files changed, 23 insertions(+), 32 deletions(-) diff --git a/homeassistant/components/frontend/version.py b/homeassistant/components/frontend/version.py index 924e46ae814e4c..1435fe16c5cbf3 100644 --- a/homeassistant/components/frontend/version.py +++ b/homeassistant/components/frontend/version.py @@ -1,2 +1,2 @@ """ DO NOT MODIFY. Auto-generated by build_frontend script """ -VERSION = "75532015507fd544f46081ec0eeb5004" +VERSION = "b75e3c9ebd3de2dae0912a89499127a9" diff --git a/homeassistant/components/frontend/www_static/frontend.html b/homeassistant/components/frontend/www_static/frontend.html index 5ae7ce0b002ae8..45244493caa16a 100644 --- a/homeassistant/components/frontend/www_static/frontend.html +++ b/homeassistant/components/frontend/www_static/frontend.html @@ -1,6 +1,6 @@ -