Skip to content

Commit

Permalink
Update amcrest and illuminance for 0.91 (#129)
Browse files Browse the repository at this point in the history
Last bits of Great Migration, and new API in haffmpeg.
  • Loading branch information
pnbruckner committed Apr 7, 2019
1 parent 8151765 commit 70f7867
Show file tree
Hide file tree
Showing 6 changed files with 48 additions and 19 deletions.
8 changes: 4 additions & 4 deletions custom_components.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"amcrest": {
"updated_at": "2019-04-01",
"version": "1.3.0",
"updated_at": "2019-04-06",
"version": "1.3.1",
"local_location": "/custom_components/amcrest/__init__.py",
"remote_location": "https://raw.githubusercontent.com/pnbruckner/homeassistant-config/master/custom_components/amcrest/__init__.py",
"visit_repo": "https://github.com/pnbruckner/homeassistant-config",
Expand Down Expand Up @@ -30,8 +30,8 @@
"changelog": "https://github.com/pnbruckner/homeassistant-config/blob/master/docs/life360.md#release-notes"
},
"sensor.illuminance": {
"updated_at": "2019-03-07",
"version": "2.0.2",
"updated_at": "2019-04-06",
"version": "2.0.3",
"local_location": "/custom_components/illuminance/sensor.py",
"remote_location": "https://raw.githubusercontent.com/pnbruckner/homeassistant-config/master/custom_components/illuminance/sensor.py",
"visit_repo": "https://github.com/pnbruckner/homeassistant-config",
Expand Down
2 changes: 1 addition & 1 deletion custom_components/amcrest/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import homeassistant.helpers.config_validation as cv


__version__ = '1.3.0'
__version__ = '1.3.1'

REQUIREMENTS = ['amcrest==1.3.0']
DEPENDENCIES = ['ffmpeg']
Expand Down
19 changes: 16 additions & 3 deletions custom_components/amcrest/camera.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

from homeassistant.components.camera import (
Camera, DOMAIN, SUPPORT_ON_OFF, CAMERA_SERVICE_SCHEMA)
try:
from homeassistant.components.camera import SUPPORT_STREAM
except ImportError:
SUPPORT_STREAM = 0
from homeassistant.components.ffmpeg import DATA_FFMPEG
from homeassistant.core import callback
from homeassistant.const import (
Expand Down Expand Up @@ -203,16 +207,25 @@ async def handle_async_mjpeg_stream(self, request):
self.hass, request, stream_coro)

# streaming via ffmpeg
from haffmpeg import CameraMjpeg
try:
from haffmpeg.camera import CameraMjpeg
use_stream_reader = True
except ImportError:
from haffmpeg import CameraMjpeg
use_stream_reader = False

streaming_url = self._camera.rtsp_url(typeno=self._resolution)
stream = CameraMjpeg(self._ffmpeg.binary, loop=self.hass.loop)
await stream.open_camera(
streaming_url, extra_cmd=self._ffmpeg_arguments)

try:
if use_stream_reader:
stream_reader = await stream.get_reader()
else:
stream_reader = stream
return await async_aiohttp_proxy_stream(
self.hass, request, stream,
self.hass, request, stream_reader,
self._ffmpeg.ffmpeg_stream_content_type)
finally:
await stream.close()
Expand Down Expand Up @@ -253,7 +266,7 @@ def assumed_state(self):
@property
def supported_features(self):
"""Return supported features."""
return SUPPORT_ON_OFF
return SUPPORT_ON_OFF | SUPPORT_STREAM

# Camera property overrides

Expand Down
33 changes: 24 additions & 9 deletions custom_components/illuminance/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,31 @@
from homeassistant.components.sensor import (
DOMAIN as SENSOR_DOMAIN, PLATFORM_SCHEMA, SCAN_INTERVAL)
try:
from homeassistant.components.sensor.darksky import (
from homeassistant.components.darksky.sensor import (
ATTRIBUTION as DSS_ATTRIBUTION)
except ImportError:
from homeassistant.components.sensor.darksky import (
CONF_ATTRIBUTION as DSS_ATTRIBUTION)
try:
from homeassistant.components.sensor.darksky import (
ATTRIBUTION as DSS_ATTRIBUTION)
except ImportError:
from homeassistant.components.sensor.darksky import (
CONF_ATTRIBUTION as DSS_ATTRIBUTION)
try:
from homeassistant.components.sensor.yr import (
from homeassistant.components.yr.sensor import (
ATTRIBUTION as YRS_ATTRIBUTION)
except ImportError:
from homeassistant.components.sensor.yr import (
CONF_ATTRIBUTION as YRS_ATTRIBUTION)
from homeassistant.components.weather.darksky import (
ATTRIBUTION as DSW_ATTRIBUTION, MAP_CONDITION as DSW_MAP_CONDITION)
try:
from homeassistant.components.sensor.yr import (
ATTRIBUTION as YRS_ATTRIBUTION)
except ImportError:
from homeassistant.components.sensor.yr import (
CONF_ATTRIBUTION as YRS_ATTRIBUTION)
try:
from homeassistant.components.darksky.weather import (
ATTRIBUTION as DSW_ATTRIBUTION, MAP_CONDITION as DSW_MAP_CONDITION)
except ImportError:
from homeassistant.components.weather.darksky import (
ATTRIBUTION as DSW_ATTRIBUTION, MAP_CONDITION as DSW_MAP_CONDITION)
from homeassistant.const import (
ATTR_ATTRIBUTION, CONF_ENTITY_ID, CONF_API_KEY, CONF_NAME,
CONF_SCAN_INTERVAL, EVENT_HOMEASSISTANT_START)
Expand All @@ -42,7 +54,7 @@
from homeassistant.helpers.sun import get_astral_event_date
import homeassistant.util.dt as dt_util

__version__ = '2.0.2'
__version__ = '2.0.3'

DEFAULT_NAME = 'Illuminance'
MIN_SCAN_INTERVAL = dt.timedelta(minutes=5)
Expand Down Expand Up @@ -96,6 +108,7 @@
_20_MIN = dt.timedelta(minutes=20)
_40_MIN = dt.timedelta(minutes=40)


async def _async_get_wu_data(hass, session, api_key, features, query):
try:
with async_timeout.timeout(9, loop=hass.loop):
Expand All @@ -112,6 +125,7 @@ async def _async_get_wu_data(hass, session, api_key, features, query):

return resp


async def async_setup_platform(hass, config, async_add_entities,
discovery_info=None):
using_wu = CONF_API_KEY in config
Expand All @@ -124,6 +138,7 @@ async def async_setup_platform(hass, config, async_add_entities,

async_add_entities([IlluminanceSensor(using_wu, config, session)], True)


class IlluminanceSensor(Entity):
def __init__(self, using_wu, config, session):
self._using_wu = using_wu
Expand Down
4 changes: 2 additions & 2 deletions custom_components_old.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
"changelog": "https://github.com/pnbruckner/homeassistant-config/blob/master/docs/life360.md#release-notes"
},
"sensor.illuminance": {
"updated_at": "2019-03-07",
"version": "2.0.2",
"updated_at": "2019-04-06",
"version": "2.0.3",
"local_location": "/custom_components/sensor/illuminance.py",
"remote_location": "https://raw.githubusercontent.com/pnbruckner/homeassistant-config/master/custom_components/illuminance/sensor.py",
"visit_repo": "https://github.com/pnbruckner/homeassistant-config",
Expand Down
1 change: 1 addition & 0 deletions docs/illuminance.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,3 +89,4 @@ Date | Version | Notes
20181028 | [2.0.0](https://github.com/pnbruckner/homeassistant-config/blob/e4fbbfe5ccc48cc08045226197c5c27767ec081e/custom_components/sensor/illuminance.py) | Add support for using Dark Sky or YR entity as source of weather conditions. For WU, no longer get sunrise/sunset data from the server, just use HA’s sun data.
20190111 | [2.0.1](https://github.com/pnbruckner/homeassistant-config/blob/be6879c5ff4c4ae67e9b082229a53fc133642d2f/custom_components/sensor/illuminance.py) | Adapt to change in Dark Sky Sensor in HA 0.85 release (see [PR #19492](https://github.com/home-assistant/home-assistant/pull/19492).)
20190307 | [2.0.2](https://github.com/pnbruckner/homeassistant-config/blob/3a5676b8108fe3aaaf6676019cb19b128e6dec07/custom_components/illuminance/sensor.py) | Adapt to change in Yr Sensor in HA 0.89 release (see [PR #21069](https://github.com/home-assistant/home-assistant/pull/21069).)
20190406 | [2.0.3]() | Adapt to last pieces of Great Migration in HA 0.91 release.

0 comments on commit 70f7867

Please sign in to comment.