* Initial implemenation of DSMR component.
* Fix linting
* Remove protocol V2.2 support until merged upstream.
* Generate requirements using script.
* Use updated dsmr-parser with protocol 2.2 support.
* Add tests.
* Isort and input validation.
* Add entities for gas and actual meter reading. Error handling. Use Throttle.
* Implement non-blocking serial reader.
* Improve logging.
* Merge entities into one, add icons, fix tests for asyncio.
* Add error logging for serial reader.
* Refactoring and documentation.
- refactor asyncio reader task to make sure it stops with HA
- document general principle of this component
- refactor entity reading to be more clear
- remove cruft from split entity implementation
* Use `port` configuration key.
* DSMR V2.2 seems to conflict in explaining which tariff is high and low.
http://www.netbeheernederland.nl/themas/hotspot/hotspot-documenten/?dossierid=11010056&title=Slimme%20meter&onderdeel=Documenten
> DSMR v2.2 Final P1
>> 6.1: table vs table note
Meter Reading electricity delivered to client normal tariff) in 0,01 kWh - 1-0:1.8.1.255
Meter Reading electricity delivered to client (low tariff) in 0,01 kWh - 1-0:1.8.2.255
Note: Tariff code 1 is used for low tariff and tariff code 2 is used for normal tariff.
* Refactor to use asyncio.Protocol instead of loop+queue.
* Fix requirements
* Close transport when HA stops.
* Cleanup.
* Include as dependency for testing (until merged upstream.)
* Fix style.
* Update setup.cfg
* Implement WAQI sensor
* Corrections based on CI check.
* Updated requirements_all.txt for pwaqi==1.2
* Require latest version of pwaqi
* Fix lint: single argument for .exception and no more pass statement.
* Further lint fixes.
* pydocstyle fix
* Implement rate throttle.
Data on WAQI is usually updated once an hour - make it refresh every thirty minutes.
* Implement schema validation with voluptuous.
Change exception handling scope.
Move messages to debug().
* Fix lint (empty indented line).
* Sort lines correctly.
* Fix last lint issue.
* Provide additional sensor data as received from WAQI.
Easier-to-read throttle timing.
* Additional object attributes to be unrolled later.
* used MindrustUK's version ( https://github.com/MindrustUK/python-lightify/commits/master/osramlightify.py ) from Oct 2, 2016 and changed the REQUIRMENTS line to use the fixed lightify component with thread safety fixes
* reformatted long lines
* updated osramlightify requirements in requirements_all.txt
* ran script gen_requirements_all.py
* rerun requirements gen script on linux
* fixed some inspection warnings
* zip file points to a specific commit
* no requests to lights in properties, instead instance variables are update in update method
* regenerated requirements_all.txt
* removed call to update from is_on() property
pyvera 0.2.21 fixes the fact that use of requests.get was not using a
timeout. Some times (after a few days of use) the pyvera poll loop
would hang indefinitely on a requests.get of the event interface. This
would cause the pyvera thread to hang completely. It would also
prevent graceful shutdown, as pyvera does a thread join.
The new version uses a timeout, so that we won't lock up any more.
* Add keypress & output control services to Envisalink component
Add services to allow sending custom keypresses and activating
programmable outputs on an alarm control panel.
Implemented for the Envisalink alarm, and moving to new version of
pyenvisalink to support this.
Replicated the service handler mapping code from Cover component into
Alarm Control Panel to allow handling alternative schemas if required
by new services.
* Update requirements_all.txt
* Updated services.yaml
* Removed requirement to enter code in HA UI
Incorporated changes suggested by @sriram
https://github.com/srirams/home-assistant/commit/2f8deb70cb5f3621a69b6b9
acb72f8e29123650c
Including pending state for exit/entry delay
Clarified services to use the code passed to them as a first priority,
otherwise use the code from configuration
Swapped back to using NotImplementedError for the service definitions
* - Add support for alarm_keypress to manual alarm (functions like a standard alarm keypad where entering the code disarms or arms the alarm)
- Add tests for alarm_keypress to manual alarm
- Style corrections (too many returns, comment & whitespace issues)
* Removed alarm_output_control service as unable to incorporate in the demo/test in a meaningful way
* Add keypress & output control services to Envisalink component
Add services to allow sending custom keypresses and activating
programmable outputs on an alarm control panel.
Implemented for the Envisalink alarm, and moving to new version of
pyenvisalink to support this.
Replicated the service handler mapping code from Cover component into
Alarm Control Panel to allow handling alternative schemas if required
by new services.
* Update requirements_all.txt
* Updated services.yaml
* Removed requirement to enter code in HA UI
Incorporated changes suggested by @sriram
https://github.com/srirams/home-assistant/commit/2f8deb70cb5f3621a69b6b9
acb72f8e29123650c
Including pending state for exit/entry delay
Clarified services to use the code passed to them as a first priority,
otherwise use the code from configuration
Swapped back to using NotImplementedError for the service definitions
* - Add support for alarm_keypress to manual alarm (functions like a standard alarm keypad where entering the code disarms or arms the alarm)
- Add tests for alarm_keypress to manual alarm
- Style corrections (too many returns, comment & whitespace issues)
* Removed alarm_output_control service as unable to incorporate in the demo/test in a meaningful way
* Moved the Alarm_Keypress service into Envisalink component out of the generic
* Update envisalink.py
* Update services.yaml
This makes it so that media playback support for inputs is dynamically
fetched from the receiver, instead of assuming that all playback
commands work for all inputs.
Tests are added for this, using a FakeYamaha class, which has some
sample data stubbed in for key methods that need to be called. We also
include an example of the desc.xml needed to dynamically parse these
features for these tests (as this is done in platform init).
* Fix "argument of type 'NoneType' is not iterable" during discovery
When yamaha receivers are dynamically discovered, there config is
empty, which means that we need to set zone_ignore to [] otherwise the
iteration over receivers fails.
* Bump rxv library version to fix play_status bug
rxv version 0.3 will issue the play_status command even for sources
that don't support it, causing stack traces during updates when
receivers are on HDMI inputs.
This was fixed in rxv 0.3.1. Bump to fix bug #4226.
* Don't discovery receivers that we've already configured
The discovery component doesn't know anything about already configured
receivers. This means that specifying a receiver manually will make it
show up twice if you have the discovery component enabled.
This puts a platform specific work around here that ensures that if
the media_player is found, we ignore the discovery system.
* Added Synology DSM Sensor
* Fixed balloobbot's comments
* Fixed mistake (should have run lint and flake8 before committing
* Fixed update mechanisme according to balloobs feedback
* Requesting retest as test failure isn't related to changes made
* Added support for Philips Tvs with JointSpace API
* Flake + Lint fixes
* Lint be like "lol fu"
* Changes as requested by reviewers, except lib-requirement
* Switched to library-usage
* lint... newline-bingo...
* Initial submission of LiteJet integration.
* Add LiteJet switch pressed automation trigger. (State changes are too slow to catch a press-release.)
Add LiteJet scene, replacing commented out code that treated these as lights.
Include LiteJet numbers in the device state so that it is easy to lookup entity -> number.
* Fix missing global.
* Allow light's brightness to be set explicitly.
* Support optional 'ignore' key to ignore prefixes of loads, switches, and scenes that weren't configured for use in the LiteJet system.
* Fix lint errors and warnings.
* Cleanup header comments.
Default to not creating LiteJet switches as these are generally not useful.
* Lint fixes.
* Fixes from pull request feedback.
* Use hass.data instead of globals for data storage.
* Fix lint warnings.
* Sonos responsiveness improvements (async_ coroutines, event based updating, album art caching) + Better radio station information
* Docstring fixes.
* Docstring fixes.
* Updated SoCo dependency + fixed file permissions.
* Only fetch speaker info if needed.
* PEP8 fixes
* Fixed SoCoMock.get_speaker_info to get test to pass.
* Regenerated requirements_all.txt + async fetching of album art with caching + added http_session to HomeAssistant object.
* Unit test fixed.
* Add blank line as per flake8
* Fixed media image proxy unit test.
* Removed async stuff.
* Removed last remnants of async stuff.