-
-
Notifications
You must be signed in to change notification settings - Fork 31.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0.60 #11153
Merged
Merged
0.60 #11153
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Update requirements_all.txt * Update neato.py
* Fix issues from review * Don't use STATE_UNKNOWN
More declarative timeout syntax for manual alarm control panel
* Added support for extracting JSON attributes from RESTful values Setting the json_attributes configuration option to true on the RESTful sensor will cause the result of the REST request to be parsed as a JSON string and if successful the resulting dictionary will be used for the attributes of the sensor. * Added support for extracting JSON attributes from RESTful values Setting the json_attributes configuration option to true on the RESTful sensor will cause the result of the REST request to be parsed as a JSON string and if successful the resulting dictionary will be used for the attributes of the sensor. * Added requirement that RESTful JSON results used as attributes must be objects, not lists. * Expanded test coverage to test REFTful JSON attributes with and without a value template. * Added support for extracting JSON attributes from RESTful values Setting the json_attributes configuration option to true on the RESTful sensor will cause the result of the REST request to be parsed as a JSON string and if successful the resulting dictionary will be used for the attributes of the sensor. * Added requirement that RESTful JSON results used as attributes must be objects, not lists. * Expanded test coverage to test REFTful JSON attributes with and without a value template. * sensor.envirophat: add missing requirement (#7451) Adding requirements that is not explicitly pulled in by the library that manages the Enviro pHAT. * PyPI Openzwave (#7415) * Remove default zwave config path PYOZW now has much more comprehensive default handling for the config path (in src-lib/libopenzwave/libopenzwave.pyx:getConfig()). It looks in the same place we were looking, plus _many_ more. It will certainly do a much better job of finding the config files than we will (and will be updated as the library is changed, so we don't end up chasing it). The getConfig() method has been there for a while, but was subsntially improved recently. This change simply leaves the config_path as None if it is not specified, which will trigger the default handling in PYOZW. * Install python-openzwave from PyPI As of version 0.4, python-openzwave supports installation from PyPI, which means we can use our 'normal' dependency management tooling to install it. Yay. This uses the default 'embed' build (which goes and downloads statically sources to avoid having to compile anything locally). Check out the python-openzwave readme for more details. * Add python-openzwave deps to .travis.yml Python OpenZwave require the libudev headers to build. This adds the libudev-dev package to Travis runs via the 'apt' addon for Travis. Thanks to @MartinHjelmare for this fix. * Update docker build for PyPI openzwave Now that PYOZW can be install from PyPI, the docker image build process can be simplified to remove the explicit compilation of PYOZW. * Add datadog component (#7158) * Add datadog component * Improve test_invalid_config datadog test * Use assert_setup_component for test setup * Fix object type for default KNX port #7429 describes a TypeError that is raised if the port is omitted in the config for the KNX component (integer is required (got type str)). This commit changes the default port from a string to an integer. I expect this will resolve that issue... * Added support for extracting JSON attributes from RESTful values Setting the json_attributes configuration option to true on the RESTful sensor will cause the result of the REST request to be parsed as a JSON string and if successful the resulting dictionary will be used for the attributes of the sensor. * Added requirement that RESTful JSON results used as attributes must be objects, not lists. * Expanded test coverage to test REFTful JSON attributes with and without a value template. * Added support for extracting JSON attributes from RESTful values Setting the json_attributes configuration option to true on the RESTful sensor will cause the result of the REST request to be parsed as a JSON string and if successful the resulting dictionary will be used for the attributes of the sensor. * Added requirement that RESTful JSON results used as attributes must be objects, not lists. * Expanded test coverage to test REFTful JSON attributes with and without a value template. * Added support for extracting JSON attributes from RESTful values Setting the json_attributes configuration option to true on the RESTful sensor will cause the result of the REST request to be parsed as a JSON string and if successful the resulting dictionary will be used for the attributes of the sensor. * Added requirement that RESTful JSON results used as attributes must be objects, not lists. * Expanded test coverage to test REFTful JSON attributes with and without a value template. * Fixed breaks cause by manual upstream merge. * Added one extra blank line to make PyLint happy. * Switched json_attributes to be a list of keys rather than a boolean. The value of json_attributes can now be either a comma sepaated list of key names or a YAML list of key names. Only matching keys in a retuned JSON dictionary will be mapped to sensor attributes. Updated test cases to handle json_attributes being a list. Also fixed two minor issues arrising from manual merge with 0.58 master. * Added an explicit default value to the json_attributes config entry. * Removed self.update() from __init__() body. * Expended unit tests for error cases of json_attributes processing. * Align quotes
Channel id is now required (change in API)
* Add iAlarm support * Minor fixes to iAlarm * Rename ialarmpanel to ialarm and add a check for the host value * corrections in the value validation of ialarm * add a missing period on ialarm
* Correction of Samsung Power OFF behaviour Addition of a delay after powering OFF a Samsung TV, this avoid status update from powering the TV back ON. Deletion of update() return statement, return value not used. * Rename self._end_of_power_off_command into self._end_of_power_off * Removal of unused line break in Samsung TV component
* Add Alpha Vantage sensor * Remove data object * Remove unused vars and change return * Fix typo
* Added min and Events sensor types to prometheus * Updated prometheus client and fixed invalid swith state * Added metric to count number of times an automation is triggered * Removed assumption that may not apply to everybody * Fixed tests * Updated requirements_test_all * Fixed unit tests
* Fixed icon path, added dynamic icon * Addressing requested changes * Using DEFAULT_ICON * Using CONF_ICON from const * Getting hass_frontend path via import * Lint * Using embedded 1px transparent icon * woof -.- * Lint
* Sort coveragerc * Add climate.honeywell and vacuum.xiaomi_miio to coveragerc
* check for none * fix error from no store being set * typo * Lint * fix default as per notes. Lint fix and make closest store None not False * update default
* Report availability of TP-Link smart sockets * Changes according to our style guide
… edited variable name for consistency (#10932)
* Export climate metrics to Prometheus. This adds climate_state and temperature_c metrics for each climate device. * Add more climate states to state_as_number
* Ignore devices without temperatures * Typo * Linting * Removing return false * Another typo. :( * Spelling received correctly
As per issue #8638, the class wasn't inheriting from DeviceScanner, this commit patches it up.
* add ads hub, light and switch * add binary sensor prototype * switch: use adsvar for connection * fix some issues with binary sensor * fix binary sensor * fix all platforms * use latest pyads * fixed error with multiple binary sensors * add sensor * add ads sensor * clean up after shutdown * ads component with platforms switch, binary_sensor, light, sensor add locking poll sensors at startup update state of ads switch and light update ads requirements remove update() from constructors on ads platforms omit ads coverage ads catch read error when polling * add ads service * add default settings for use_notify and poll_interval * fix too long line * Fix style issues * no pydocstyle errors * Send and receive native brightness data to ADS device to prevent issues with math.floor reducing brightness -1 at every switch * Enable non dimmable lights * remove setting of self._state in switch * remove polling * Revert "remove polling" This reverts commit 7da420f. * add service schema, add links to documentation * fix naming, cleanup * re-remove polling * use async_added_to_hass for setup of callbacks * fix comment. * add callbacks for changed values * use async_add_job for creating device notifications * set should_poll to False for all platforms * change should_poll to property * add service description to services.yaml * add for brigthness not being None * put ads component in package * Remove whitespace * omit ads package
* reload closest store on api request * revert change from debugging
* Added Gearbest Sensor * Updated required files * Fixed houndci-bout findings * Fix tox lint errors * Changed code according to review Implemented library version 1.0.5 * Fixed houndci-bot findings * Fixed tox lint issues * Updated item schema to use has_at_least_one_key Added conf constants * Remove CONF_ constants and import them from homeassistant.const * Removed CurrencyConverter from hass Fixed couple of issues found by MartinHjelmare
When refactoring the Hue support we lost a check for HASS bridges; restore that.
The current code relies on the assumption that the first invocation will never specify no_throttle=True. However that puts us in a pickle when writing unit tests: if we had a fictitious: def setup_platform(): update() @Throttle(MIN_TIME_BETWEEN_SCANS) def update(): pass Then given multiple tests, the second and some of subsequent tests would be throttled (depending on timing). But we also can't change that code to call `update(no_throttle=True)' because that's not currently accepted. This diff shouldn't change the visibile behavior of any component, but allows this extra flexibility.
* Allow using more than one keyboard remote This sets up one thread per keyboard remote, listening for events. * Remove enclosing block in keyboard_remote * Remove unnecessary semantic check for keyboard_remote
* Fire events for ISY994 control events This allows hass to react directly to Insteon button presses (on switches and remotes), including presses, double-presses, and long holds * Move change event subscription to after entity is added to hass The event handler method requires `self.hass` to exist, which doesn't have a value until the async_added_to_hass method is called. Should eliminate a race condition. * Overhaul binary sensors in ISY994 to be functional "out of the box" We now smash all of the subnodes from the ISY994 in to one Hass binary_sensor, and automatically support both paradigms of state reporting that Insteon sensors can do. Sometimes a single node's state represents the sensor's state, other times two nodes are used and only "ON" events are sent from each. The logic between the two forunately do not conflict so we can support both without knowing which mode the device is in. This also allows us to handle the heartbeat functionality that certain sensors have - we simply store the timestamp of the heartbeat as an attribute on the sensor device. It defaults to Unknown on bootup if and only if the device supports heartbeats, due to the presence of subnode 4. * Parse the binary sensor device class from the ISY's device "type" Now we automatically know which sensors are moisture, motion, and openings! (We also reverse the moisture sensor state, because Insteon reports ON for dry on the primary node.) * Code review tweaks The one material change here is that the event subscribers were moved to the `async_added_to_hass` method, as the handlers depend on things that only exist after the entity has been added. * Handle cases where a sensor's state is unknown When the ISY first boots up, if a battery-powered sensor has not reported in yet (due to heartbeat or a change in state), the state is unknown until it does. * Clean up from code review Fix coroutine await, remove unnecessary exception check, and return None when state is unknown * Unknown value from PyISY is now -inf rather than -1 * Move heartbeat handling to a separate sensor Now all heartbeat-compatible sensors will have a separate `binary_sensor` device that represents the battery state (on = dead) * Add support for Unknown state, which is being added in next PyISY PyISY will report unknown states as the number "-inf". This is implemented in the base ISY994 component, but subcomponents that override the `state` method needed some extra logic to handle it as well. * Change a couple try blocks to explicit None checks * Bump PyISY to 1.1.0, now that it has been published! * Remove -inf checking from base component The implementation of the -inf checking was improved in another branch which has been merged in to this branch already. * Restrict negative-node and heartbeat support to known compatible types Not all Insteon sensors use the same subnode IDs for the same things, so we need to use different logic depending on device type. Negative node and heartbeat support is now only used for leak sensors and open/close sensors. * Use new style string formatting * Add binary sensor detection for pre-5.x firmware Meant to do this originally; writing documentation revealed that this requirement was missed!
* Update pyhomematic * Update pyhomematic
fabaff
requested review from
andrey-git,
Danielhiversen,
rytilahti and
a team
as code owners
December 15, 2017 09:07
2 tasks
Any chance PR #10765 can get merged? Thank you for considering it! |
* Fix X10 commands for mochad light turn on This commit attempts to address issues that a lot of people are having with the x10 light component. Originally this was written to use the xdim (extended dim) X10 command. However, not every X10 dimmer device supports the xdim command. Additionally, it turns out the number of dim/brighness levels the X10 device supports is device specific and there is no way to detect this (given the mostly 1 way nature of X10) To address these issues, this commit removes the usage of xdim and instead relies on using the 'on' command and the 'dim' command. This should work on all x10 light devices. In an attempt to address the different dim/brightness levels supported by different devices this commit also adds a new optional config value, 'brightness_levels', to specify if it's either 32, 64, or 256. By default 32 levels are used as this is the normal case and what is documented by mochad. Fixes #8943 * make code more readable * fix style * fix lint * fix tests
* Cleanup logic & New gen of HomeMatic * fix lint * cleanup * fix coverage * cleanup * name consistenc * fix lint * Rename ip * cleanup wrong property * fix bug * handle callback better * fix lint * Running now
* Final touch for cloud component * Fix test
* convert alarmdecoder interface from async to sync * Convert he rest of alarmdecoder rom async to sync * Update alarmdecoder.py * Update alarmdecoder.py * Update alarmdecoder.py * Update alarmdecoder.py * Update alarmdecoder.py * Update alarmdecoder.py * Update alarmdecoder.py * Update alarmdecoder.py * Update alarmdecoder.py * Update alarmdecoder.py * Update alarmdecoder.py * Update alarmdecoder.py
An error was being log that seems more like debug info
…cement. (#10765) Sonos Playbar and Playbase devices support Night Sound and Speech Enhancement effects when playing from sources such as a TV. Adds a new service "sonos_set_option" whichs accepts boolean options to control these audio features.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The biggest change for 0.60 will be covered in a separate blog post. Thus, we will keep it short here. Just one thing: This is the last release in 2017. We will be back to our bi-weekly release cycle in 2018.
WebDav calendar
Thanks to @maxlaverse Home Assistant support now WebDav calendars.
TwinCAT
With the brand-new ADS (automation device specification) component by @stlehmann allows you to hook Home Assistant into this fieldbus independent interface which is often used between Beckhoff devices running with TwinCAT.
Tracking prices
With the new
gearbest
sensor there is now an additional sensor available to track the price of a product.Financial details
Yahoo! has discontinued their financial service. To fill this gap we have now the
alpha_vantage
sensor which is intruded in this release and allows you to monitor the stock market.New Platforms
Breaking Changes
If you need help...
...don't hesitate to use our very active forums or join us for a little chat. The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
Reporting Issues
Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.
All changes
OSError: [WinError 193]
on Windows debuggers (i.e. PyCharm) (@tringler - #11034)