* Add support for Danfoss Air HRV systems.
* Correct lint errors after initial commit of Danfoss Air HRV support.
* A couple of lint fixes for danfoss_air.
* Refactor to comply with HA standards.
* Style fix.
* Use wildcard for danfoss_air in .coveragerc.
* Remove config example from header documentation.
Correct import name for platforms.
* Add data/data_template/title to alert component
* Fix line length
* Fix tests
* Fix lint
* fix line length
* Fix tests, make title templatable
* Fix test
* Fix test
* Optimize data, make title templated
* Fix line length
* Add title template
* typo
* Fix tests
* Starting work on ecoal boiler controller iface.
* Sending some values/states to controller.
* Basic status parsing, and simple settings.
* Platform configuration.
* Temp sensors seems be working.
* Switch from separate h/m/s to datetime.
* Vocabulary updates.
* secondary_central_heating_pump -> central_heating_pump2
* Pumps as switches.
* Optional enabling pumps via config.
* requests==2.20.1 added to REQUIREMENTS.
* Optional enabling temp sensors from configuration yaml.
* autopep8, black, pylint.
* flake8.
* pydocstyle
* All style checkers again.
* requests==2.20.1 required by homeassistant.components.sensor.ecoal_boiler.
* Verify / set switches in update().
Code cleanup.
* script/lint + travis issues.
* Cleanup, imperative mood.
* pylint, travis.
* Updated .coveragerc.
* Using configuration consts from homeassistant.const
* typo.
* Replace global ECOAL_CONTR with hass.data[DATA_ECOAL_BOILER].
Remove requests from REQUIREMENTS.
* Killed .update()/reread_update() in Entities __init__()s.
Removed debug/comments.
* Removed debug/comments.
* script/lint fixes.
* script/gen_requirements_all.py run.
* Travis fixes.
* Configuration now validated.
* Split controller code to separate package.
* Replace in module docs with link to https://home-assistant.io .
* Correct component module path in .coveragerc.
More vals from const.py.
Use dict[key] for required config keys.
Check if credentials are correct during component setup.
Renamed add_devices to add_entities.
* Sensor/switch depends on ecoal_boiler component.
EcoalSwitch inherits from SwitchDevice.
Killed same as default should_poll().
Remove not neede schedule_update_ha_state() calls from turn_on/off.
* lint fixes.
* Move sensors/switches configuration to component setup.
* Lint fixes.
* Invalidating ecoal iface cache instead of force read in turn_on/off().
* Fail component setup before adding any platform entities.
Kill NOTE.
* Disallow setting entity names from config file, use code defined default names.
* Rework configuration file to use monitored_conditions like in rainmachine component.
* Killed pylint exception.
Log error when connection to controller fails.
* A few fixes.
* Linted.
* Added device tracker support for EE Brightbox 2
* removed timeago dependency
* get scanner checks and improved tests
* fixed lint issues
* removed redundant timeago from test requirements
* fixed variable naming in test
* removed unecessary blank line
* Fix type C02 to CO2 and added VOC to air quality platform
* singularized volatile_organic_compound
* Remove VOC prop
* Update __init__.py
* Update __init__.py
* Added state method to return current operating state to fix#18244 for radiotherm component.
* Changed to set the is_on property when actively heating or cooling.
* EverLights light integration. Supports single color (with color and brightness parameters) or saved pattern (with effect parameter).
* Fix pylint parameter name warning.
* Code review feedback.
* Add tests for the two helper functions of EverLights component.
* Fixes for review feedback.
* Change test style.
* Style fixes for hound.
Handle the case of async_render_with_possible_json_value's value argument
being something other than a string. This can happen, e.g., when using the
SQL sensor to extract a datetime column such as last_changed and also using
its value_template to convert that datetime to another format. This was
causing a TypeError from json.loads, but async_render_with_possible_json_value
was only catching ValueError's.
* Add binary sensor for Lutron RadioRA2 keypad buttons
Allow automations to be triggered from RadioRA2 keypads by exposing
each button as a binary sensor.
* Remove binary sensor component; fire events directly instead.
* Address comments from code review
* Added relay ports to LCN lights platform
* Exchanged validation for ports with uppercase validator. Makes interfacing with pypck enums much more simple.
* Removed supported_features property as it is correctly inherited from parent
* Removed type annotations.
* Added Search Configuration to IMAP Sensor
The IMAP sensor currently only counts unread emails in a folder. By exposing the IMAP search parameter, the sensor can be used to count other results:
- All emails in an inbox
- Emails sent from an address
- Emails matching a subject
- Other advanced searches, especially with vendor-specific extensions. Gmail in particular supports X-GM-RAW, which lets you use any Gmail search directly ("emails with X label older than 14 days with", etc)
For my use case, I just wanted total emails in a folder, to show an "X/Y" counter for total/unread. I started work on a one-off script to throw the data in, but figured I'd try to extend Home Assistant more directly, especially since this IMAP sensor correctly handles servers that push data. This is my first Home Assistant contribution, so apologies in advance if something is out of place! It's a pretty minimal modification.
* Added Server Response Checking
Looks like no library exception is thrown, so check for response text before parsing out results (previous code just counts spaces, so an error actually returns a state value of 4).
* IMAP Warning -> Error, Count Initializes to None
IMAP search response parsing throws an error instead of a warning.
Email count initializes as None instead 0.
Email count is untouched in case of failure to parse response (i.e. if server is temporarily down or throwing errors, or maybe due to user updating their authentication/login/etc).
Fixed line length on error so it fits under 80 characters.
* Fixed Indent on Logger Error
Sorry about the churn! Python is pretty far from my daily-use language. (I did run this one through pep8, at least)