* Use standard entity_ids for zwave entities
* Include temporary opt-in for new entity ids
* Update link to blog post
* Update tests
* Add old entity_id as state attribute
* Expose ZWave value details
* Update tests
* Also show new_entity_id
* Just can't win with this one
* Setup to send component data is option is enabled
* testcases, as well as moved to a single boolean, passed to the function
* fixed pep8 failures
* Clarify config option.
* Allow device tracker platforms to specify picture
* Allow device tracker to specify icon during discovery
* Clean up and add tests
* Fix lint
* Fix test
* Make percentage string values as floats in InfluxDB
Currently Z-wave and other compontents report an attributes battery
level as an integer, for example
```yaml
{
"is_awake": false,
"battery_level": 61,
}
```
However, some other components like Vera add the battery level as a
string
```yaml
{
"Vera Device Id": 25,
"device_armed": "False",
"battery_level": "63%",
"device_tripped": "False",
}
```
By removing any % signs in the field, this will send the value to
InfluxDB as an int, which can then be used to plot the data in graphs
correctly, like other percentage fields.
* Add tests and remove all trailing non digits
Adds tests and now removes all trailing non-numeric characters for
better use
* Update variable name for InfluxDB digit checks
Updates the variable used for the regex to remove trailing non digits
* Fix linting errors for InfluxDB component
Fixes a small linting error on the InfluxDB component
* dismiss service for persistent notifications
Unnecessary notifications can now be removed automatically. Added a
dismiss service to remove persistent notifications via script and/or
automation.
* removed unnecessary loop
loop removed
* Add color_util.color_hsv_to_RGB
* Use helper functions for LIFX conversions
The LIFX API uses 16 bits for saturation/brightness while HA uses 8 bits.
Using helper functions makes the conversion a bit nicer and less prone
to off-by-one issues.
The colorsys library uses 0.0-1.0 but we can avoid that by using the HA
color_util converters instead.
* Add initial version
* Fix requirements
* Prefer logging over printing
* Set executor thread name on >Py36 only
* Add tests
* Lint
* Add restrictedpython to test dependencies
* Create python_script.py
From doc:
```
However, an empty dict ({}) is treated as is. If you want to specify a list that can contain anything, specify it as dict:
>>> schema = Schema({}, extra=ALLOW_EXTRA) # don't do this
>>> try:
... schema({'extra': 1})
... raise AssertionError('MultipleInvalid not raised')
... except MultipleInvalid as e:
... exc = e
>>> str(exc) == "not a valid value"
True
>>> schema({})
{}
>>> schema = Schema(dict) # do this instead
>>> schema({})
{}
>>> schema({'extra': 1})
{'extra': 1}
```
* Add support for Vanderbilt SPC alarm panels.
* Arm/disarm + read state
* Autodiscover and add motion sensors
* Fix code formatting.
* Use asyncio.async for Python < 3.4.4.
* Fix for moved aiohttp exceptions.
* Add docstrings.
* Fix tests and add docstrings.
* Fix#7758 subscription expiration/removal
Removes a subscription after receiving an HTTP 410 response when trying to send a new message.
* Fix tests failing due to additional call
* Fix code style
* Lint
* Start of migration framework, to allow moving of files in the config directory to be hidden, ios.conf used as the first one to undergo this change.
* Update const.py
* Update test_config.py
* improvement to syntax
* Remove setting up an hbmqtt broker
* Don't pass loop to web.Application in tests
* Use .query instead of deprecated .GET for aiohttp requests
* Fix closing file resource
* Do not use asyncio mark
* Notify.html5 - PyJWT: Use options to disable verify
* Yamaha: Test was still using deprecated ip
* Remove pytest-asyncio
* starting light template component
* linting/flaking
* starting unit tests from copypasta
* working on unit testing
* forgot to commit the test
* wrapped up unit testing
* adding remote back
* updates post running tox
* Revert "adding remote back"
This reverts commit 852c87ff96.
* adding submodule back from origin
* updating submodule
* removing a line to commit
* re-adding line
* trying to update line endings
* trying to fix line endings
* trying a different approach
* making requested changes, need to fix tests
* flaking
* union rather than intersect; makes a big difference
* more tests passing, not sure why this one's failing
* got it working
* most of the requested changes
* hopefully done now
* sets; the more you know
* Added new commands and functionality to the harmony remote component.
-This includes the ability to optionally specify a number of times to repeat a specific command, such as pressing the volume button multiple times.
-Also added a new command that allows you to send multiple commands to the harmony at once, such as sending a set of channel numbers.
-Updated the unit tests for these changes.
* Fix flake8 coding violations
* Remove send_commands command and make send_command handle a single or list of commands
* Remove send_commands tests
* Update itach and kira remotes for new send_command structure. Fix pyharmony version in requirements_all.txt
* Fix incorrect variable name
* Fix a couple minor issues with remote tests
* Make ssh and telnet connections continuous in asuswrt
* Refactored SSH and Telnet connections into respective classes.
* Fixed several copy-paste typos and errors.
* More typos fixed.
* Small changes to arguments, to pass automated tests.
* Removed unsupported named arguments.
* Fixed a couple of mistakes in Telnet, and other lint errors.
* Added Telnet tests, and added lint exceptions.
* Removed comments from tests, as they irritated the hound.
* Ignore attribute changes in automation trigger from/to
* Quote names in deprecation warnings
This makes it somewhat easier to read if the suggestion happens to be
named "to".
* Add test with same state, new attribute value
* Remove global hass
* Http.auth test no longer spin up server
* Remove server usage from http.ban test
* Remove setupModule from test device_sun_light_trigger
* Update common.py
* # This is a combination of 3 commits.
# The first commit's message is:
Add seperate zwave panel
# The 2nd commit message will be skipped:
# unused import
# The 3rd commit message will be skipped:
# Use get for config
* Add seperate zwave panel
* Modify set_config_parameter to accept setting string values
* descriptions
* Tweaks
* Tweaks
* Tweaks
* Tweaks
* lint
* Fallback if no config parameteres are available
* Update services.yaml
* review changes
* Refactor color profiles to a class
* Refactor into preprocess_turn_on_alternatives
* LIFX: use light.preprocess_turn_on_alternatives
This avoids the color_name duplication and gains support for profile.
* Add kelvin parameter to light.turn_on
* Add brightness_pct parameter to light.turn_on
* LIFX: accept brightness_pct in effects
* Add test of kelvin/brightness_pct conversions
* Add sonos alarm clock update service
* Add tests and break lines
* Fix style errors
* Make test work with python<3.6
* Fix last two pylint errors
* fix new line to long errors
* SMTP notify enhancements: HTML emails and customization options
- Send full HTML emails, with or without inline attached images.
- Custom `timeout`.
- Custom `product_name` identifier for the `FROM` and `X-MAILER` email headers.
- New HTML email test
* `sender_name` instead of product_name
- Change `sender_name` instead of `product_name`.
- No changes in `X-Mailer` header.
- `From` header as always unless you define the new `sender_name` parameter.
* No longer require pyunify during tests
* No longer require cast during tests
* No longer required dependency for tests
* No longer require pymochad for tests
* Astral is a core dependency
* Avoid having to install datadog dependency during tests
* CMUS test doesn't test anything
* Frontier Silicon doesn't test anything
* No longer require mutagen
* Update requirements_test_all.txt
* Remove stale comment
* Support adding different server locations
* Rename variables and move CONF_ const into component as requested in review
* Fix unittests
* Forgot to add tests for microsoft_face_identify
* Generate a new updateDate with every call
This should fix#7459
Tests need to be updated in another commit.
* Replace STATIC_TIME with datetime object check
Removing the "DATE" argument from the Alexa component's configuration (because it is now dynamically generated) requires this commit's changes to the test cases to check that the updateDate data is a datetime type rather than a specific hardcoded value ('2016-10-10T19:51:42.0Z').
* Fix brackets
* # This is a combination of 3 commits.
# The first commit's message is:
Add seperate zwave panel
# The 2nd commit message will be skipped:
# unused import
# The 3rd commit message will be skipped:
# Use get for config
* Add seperate zwave panel
* more info
* Add usercodeview
* Improve api
* Improve api
* Separate api into own file.
* disable missing import
* review changes
* Tests 1
* Verify that we fetch data from groups
* Tests groups
* config 1
* usercode 1
* Api mods
* Tweak API
* docstrings
* 100% api testing
* Refactor sun component for correctness
* Convert datetimes to dates for astral
* Fix tests for updated code
* Fix times now that calcs are fixed
* Move sun functions to helpers
* Fix flake on new file
* Additional tweaks from review
* Update requirements
* Convert automatic device tracker to push updates
* Update test
* Add to coveragerc
* Fire hass events when automatic update received
* Change brace indentation
* correct MQTT subscription filter
* wildcard handling (#) fixed
* wildcard handling (#) fixed
* added tests for topic subscription like +/something/#
* function names changed (line too long)
* using raw strings for regular expression
import order changed
* add support for shuffle toggling on Spotify component.
this also required adding support for shuffle on the
media_player component.
* lint
* Use ATTR_MEDIA_SHUFFLING for service handler param
* Line too long fix
* fix tests
* add shuffle set to demo mediaplayer
* rename shuffle attribute
* new implementation without mqtt
* fixed lint findings
* fixed more lint findings
* fixed final flak8 error
* added unit tests for platform "plant"
* - changed status to "OK" / "problem"
- added attribute "problem" with details on the problems
- removed unused constant
- setting icon to "?" until we have meaningful data
* reformatted code to meet line length requirements
* binary_sensor.workday: fix handling of states vs provinces
* Add test cases for workday sensor with states
* remove redundant assignment
* Repair unit test to improve coverage
Patch from Wolf-Bastian Pöttner
* Fix handling of invalid states/provinces
* fix indentation to satisfy pylint
* Remove global limit on white light temperature
Here are the supported temperatures of some popular bulbs:
Philips Hue: 2000K-6500K (the current 500-154 mired range)
LIFX Color 1000: 2500K-9000K
IKEA TRÅDFRI: 2200K, 2700K, 4000K
Obviously, Home Assistant cannot enforce a global limit and work properly
with all of these bulbs. So just remove the limit and leave it up to each
platform to work it out.
This commit updates the existing users and adds a clamp to Hue (where the
limit appears to have originated). It does not attempt to update other
platforms that might need extra handling of the larger range that is now
possible.
* Add min_mireds/max_mireds state attributes to lights
* Support min_mireds/max_mireds with LIFX lights
This makes more sense because the input and output brightness is the same.
We currently convert through RGB which does contain a brightness so we supply
an arbitrary value as input and discard the output.
* Allow InfluxDB to blacklist domains
This adds an option to InfluxDB to blacklist whole domains. This is
useful for domains like automation or script, where no statistic data
is needed.
Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
* Add unittest for InfluxDB domain blacklist
Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
* Use common include/exclude config for InfluxDB.
Its now the same syntax as it is for recorder.
Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
* Add unittests for InfluxDB include whitelist.
There where no tests for that feature before.
Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
* rss_feed_template initial checking
* lint
* Remove use of deprecated cgi-escape()
* Switching back to chardet==2.3 (resolve failing tests with 3.0)
* Code and test improvments
* Option 'requires_api_password', default is True
* Fixes utf-8 encoding no longer required by libopenzwave0.3.3
Removes byte encoding for values operation mode, fan mode and swing
mode.
* Fix zwave climate tests for utf-8 change
* ready for PR
* minor fix
* another minor fix
* new platform mqtt_json
* using ATTR constants
* voluptuous check on JSON payload
* voluptuous check on JSON payload
* Value of 0 should not be considered `unknown`.
* Reflect disconnect state in entity states.
* Due to adding unknown state on disconnect, the amount of reconnects can sometimes be more. Test for at least 2 reconnect attempts.
* exposed content_type in rest_command, which allows for manually specifying the content_type for more-strict api endpoints
* fixed up column length
Length was 86 chars, and it needed to be 79
* double import of HTTP_HEADER_CONTENT_TYPE
Removed the accidental double-import of HTTP_HEADER_CONTENT_TYPE
* moved rest_command-specific config value into component
* if no content_type, default to None
* unit test
* newline
* unused CONTENT_TYPE_TEXT_PLAIN
* removed the http-agnostic abstraction hass provided in favor of aiohttps hdrs constant
* Always return True/False from is_state and is_state_attr
These functions are documented to always return True/False but the
short-circuit evaluation would return None if the entity_id did not exist.
* Reword into a single statement
* Make Tradfri discoverable
* Fix lint errors
* Fix bugs and clean up calls to light_control
* Add more color util tests
* Add coap client to dockerfile
* After rebase and all fixes
* Added color_rgb_to_hex to util.color
* Added test_color_rgb_to_hex
* Changed reference to color_rgb_to_hex
* Bumped to pytradfri 0.5, having support for retry
* Bumped to pytradfri 0.5, having support for retry
* Bumped to pytradfri 0.5, having support for retry
* Bumped to pytradfri 0.5, having support for retry
* Rolled back to 0.4
* Rolled back to 0.4
* Managing binary payloads
Hello,
background: I wrote a HA camera component that gets the image from a binary payload. I'm testing it with Zanzito (https://play.google.com/store/apps/details?id=it.barbaro.zanzito) and it works apparently well: it gets the image and correctly displays it in the front-end.
But I had to make the changes I'm proposing here: the message was being blocked because the utf-8 decoding failed.
As far as I know, the utf-8 encoding is required for the topic, not for the payload. What I did here was try the utf-8 decoding, but even if unsuccessful, it dispatches the message anyway.
Is there anything else I'm missing?
thanks
Gianluca
* Update __init__.py
* Update __init__.py
* Update __init__.py
* git test - ignore
* Should work
* minor fixes
* updated mqtt/services.yaml
* added two tests, modified threaded subscribe
* removing polymer
* requested changes
* requested changes - minor fix
* security wrap around payload_file_path
* services.yaml updated
* removed file publishing
* minor fix
* Fix#6783, remove a test that makes no sense anymore
* Fix#6784
* Fix typo in docstring
* Fix handling of known->unknown state, extended test, fix lint errors
* Better handling of mismatch in unit of measurement.
Set state to "unkown" and unit of measurement to "ERR" if unit of measurement differs between aggregatet states.
Add entity_id to logged warning.
* Make icon configurable
* Fix typo
* Fix lint
* Fix lint
* Fix lint
* Add option to set entity_id on min_max sensor
* Fix lint logging-not-lazy
* Revert "Add option to set entity_id on min_max sensor"
This reverts commit 4685f26647.
* Revert "Make icon configurable"
This reverts commit fe45aec82d.
* Fixes