diff --git a/README.md b/README.md
index 3a63d92..ca1fb38 100644
--- a/README.md
+++ b/README.md
@@ -40,6 +40,7 @@ key | type | description
* published: The time and date the video was published
* stream: If the video was streamed live
* live: If the video is live now
+* channel_live: If any video on the channel is currently live
***
diff --git a/custom_components/youtube/sensor.py b/custom_components/youtube/sensor.py
index 331bf46..f97ed26 100644
--- a/custom_components/youtube/sensor.py
+++ b/custom_components/youtube/sensor.py
@@ -1,130 +1,148 @@
-"""
-A platform which give you info about the newest video on a channel.
-
-For more details about this component, please refer to the documentation at
-https://github.com/custom-components/youtube
-"""
-
-import html
-import logging
-import async_timeout
-import voluptuous as vol
-import homeassistant.helpers.config_validation as cv
-from homeassistant.helpers.aiohttp_client import async_create_clientsession
-from homeassistant.components.sensor import PLATFORM_SCHEMA
-from homeassistant.helpers.entity import Entity
-
-CONF_CHANNEL_ID = 'channel_id'
-
-ICON = 'mdi:youtube'
-
-BASE_URL = 'https://www.youtube.com/feeds/videos.xml?channel_id={}'
-
-PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
- vol.Required(CONF_CHANNEL_ID): cv.string,
-})
-
-_LOGGER = logging.getLogger(__name__)
-
-
-async def async_setup_platform(
- hass, config, async_add_entities, discovery_info=None): # pylint: disable=unused-argument
- """Setup sensor platform."""
- channel_id = config['channel_id']
- session = async_create_clientsession(hass)
- try:
- url = BASE_URL.format(channel_id)
- async with async_timeout.timeout(10, loop=hass.loop):
- response = await session.get(url)
- info = await response.text()
- name = html.parser.HTMLParser().unescape(
- info.split('