* Implement entity and domain exclude/include for Alexa
* Switch to using generate_filter
* Use proper domain for turn on/off calls except for groups where we must use the generic homeassistant.turn_on/off
* travis fixes
* Untangle
* Lint
* Initial scene support
* Initial fan support
* ordering
* Initial lock support
* Scenes cant be deactivated; Correct the scene display category
* Initial input_boolean support
* Support customization of Alexa discovered entities
* Initial media player support
* Add input_boolean to tests
* Add play/pause/stop/next/previous to media player
* Add missing functions and pylint
* Set manufacturerName to Home Assistant since the value is displayed in app
* Add scene test
* Add fan tests
* Add lock test
* Fix volume logic
* Add volume tests
* settup -> setup
* Remove unused variable
* Set required scene description as per docs
* Allow setting scene category (ACTIVITY_TRIGGER/SCENE_TRIGGER)
* Add alert, automation and group support/tests
* Change display categories to match docs
* simplify down the display category props into a single prop which can be used on any entity
* Fix tests to expect proper display categories
* Add cover support
* sort things
* Use generic homeassistant domain for turn on/off
* Add loglinefetch for frontend API call
* Too many blank lines
* Review changes
* review changes
* Only return a text
* Use aiohttp
* Don't do I/O in event loop
* Move lines to query and default to 0
* Small fixes
* Added logic to the alexa component for handling slot synonyms
* Moved note with long url to the top of the file
* Just made a tiny url instead of messing with Flake8
* Refactored to be more Pythonic
* Put trailing comma back
This bumps the used snapcast version to 2.0.8 and enables the new
reconnect feature that causes the component to reconnect to a server if
the connection was lost.
This fixes the ned to restart Home Assstant after a snapcast reboot, as
described in issue #10264.
Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
* add support for color temperature and color; also add some extra deviceInfo attributes
* change so that default behaviour doesn't turn off device if the action isn't handled
* add tests
* fix lint
* more lint
* use attributes were applicable
* removed debug logging
* fix unassigned if only None returned
* report more data in QUERY
* better tests for color and temperature
* fixes after dev merge
* remove deviceInfo as not part of a device state (PR #10399)
* fix after merge
* New sensor viaggiatreno.
I've messed up the previous PR so here it is in a new one.
Should include also all corrections from @pvizeli
* fixes from PR 10522
* fixed import order
* requested changes from MartinHjelmare
* Fix ValueError exception
structure = '>{:c}'.format(data_types[register.get(CONF_DATA_TYPE)][register.get(CONF_COUNT)])
give:
ValueError: Unknown format code 'c' for object of type 'str'
* Minor typo
* Unique identity
Use unique ID for generating keys and store them in config. Fallback to
old id so existing installs will still work.
* Remove Timeouts
they don't really work. this should be fixed in pytradfri I think.
* import uuid only when necessary
* more selective import
* lint
* use load_json and save_json from util.json
* remove unnecessary imports
* use async configurator functions
* async configurator calls
* thou shalt not mixup the (a)syncs
* again: no asyncs in the syncs!
last warning...
* Update tradfri.py
* Implementation of `state_template` for the Universal media_player
* add tracking to entities in state template
* use normal config_validation
* fix tests, use defaults in platform schema, remove extra keys
* and test the new option `state_template`
* lint fixes
* no need to check attributes against None
* use `async_added_to_hass` and call `async_track_state_change` from `hass.helpers`
With the default timeout of 10 seconds, the log gets filled up with "component is taking more than 10 seconds" errors.
This should probably be fixed in some other way, but for now this reduces the problem a bit.
* Better int types support
* type
* Added optional register order
* Fix white spaces
* Fix line length
* Fix line too long
* Fix trailing whitespace
* Stylistc code fixes
* Support presence detection using Hitron Coda router
* at least 2 spaces before inline comment
* Update hitron_coda.py
* rewrote authentication code, it actually works now
* make line slightly shorter to comply with hound
* Removed hardcoded IP address
* Fix string formatting, add timeout, and use generator
* Update hitron_coda.py
* Update hitron_coda.py
* Update hitron_coda.py
* typo
* update .coveragerc
* Update stale URL
* Fix and clean lametric
* Add missing DEPENDENCIES in notify platform.
* Remove not needed method in component manager class.
* Don't overwrite notify DOMAIN.
* Return consistently depending on found devices in setup of component.
* Get new token if token expired
* Add debug log for getting new token
* Clean up
* Initial commit for request_sync functionality
* Fixes for Tox results
* Fixed all tox issues and tested locally with GA
* Review comments - api_key, conditional read descriptions
* Add test for service
* telegram_bot: Support for sending videos
Telegram python library has a sendVideo function that can be used
similar to sending photos and documents.
* fix lint issue
* fix grammar
* Add attribute to show who last un/set alarm.
This allows showing the name of the SPC user who last
issued an arm/disarm command and also allows for
automations to depend on this value.
* Optimize
* Update spc.py
* Update spc.py
* fix
* Fix test.
* Fix for removed is_state_attr.
* Simplified URL expiration calculation and fixed refresh method
* Remove support from Ring from StickupCams or floodlight cameras
* Makes lint happy
* Removed unecessary attributes
* Update nederlandse_spoorwegen.py
Make departure and arrival platforms available as state attributes
* Update nederlandse_spoorwegen.py
* Update nederlandse_spoorwegen.py
* Add an option to serve ES6 JS to clients
* Rename es6 to latest
* Fixes
* Serve JS vrsions from separate dirs
* Revert websocket API change
* Update frontend to 20171110.0
* websocket: move request to constructor
* Introduce update_hass()
* Introduce media_positions
* Version bump pymusiccast
* Fix: Unnecessary "else" after "return"
* FIX D400: First line should end with a period
* Version bump
Fixes https://github.com/home-assistant/home-assistant/issues/10411
* Improve handling and logging of unsupported owntracks message types
Added generic handlers for message types that are valid but not
supported by the HA component (lwt, beacon, etc.) and for
message types which are invalid. Valid but not supported
messages will now be logged as DEBUG. Invalid messages will
be logged as WARNING.
Supporting single "waypoint" messages in addition to the
roll-up "waypoints" messages.
Added tests around these features.
* Style fixes
* add JSON processing capabilities
* format fixes
* format fixes
* Fix according to @fabaff comment
* reverting last commit to a more sane approach
* docstring...
* still docstring...
* passed script/lint
* downgrade exception
JSONDecodeError was only introduced in Python3.5
Since we are still supporting 3.4 ValueError is the parent class of
JSONDecodeError
* Fix for telegram polling. (added pausing when error occurs)
* fix pylint error.
invalid variable name ( Exception as _e)). Don't understand why as
removing the underscore fails with my local pylint..
* fixing too short variable name.
* moved logic to `check_incoming`
* fix line too long error.
* Simplify
* Simplified URL expiration calculation and fixed refresh method
* Remove support from Ring from StickupCams or floodlight cameras
* Makes lint happy
* Removed unecessary attributes
* Add baudrate option
Baudrate is essential!
* line too long
line too long (82 > 79 characters)
* trailing whitespace
* Rename const
* Fix the missing one
* Initial commit of Vultr components
Have a working Vultr hub and binary sensor which pulls down the
following attributes of your VPS:
- Date created
- Subscription id (server id)
- Cost per month (in US$)
- Operating System installed
- IPv4 address
- label (human readable name)
- region
- number of vcpus
- which storage package chosen
- IPV6 address (if applicable)
- RAM amount
Working next on sensor and then testing / coverage.
* Added Vultr sensor for pending charges and current bandwidth. Refactored binary_sensor and hub too
* Corrected is_on bases
* Added basic tests for Vultr binary & platform
* Updated require files
* Changing test fixture to highlight different cases
* Written basic test for sensor.vultr
* Resolved linting errors and broken test
* Increase test coverage and corrected docs
* Resolved hound issues
* Revert back negative binary test
* Another hound resolve
* Refactoring and adding is switch, moving over to vultr branch
* Made Vultr components more resiliant to invalid configs
* Added negetive test for vultr binary sensor
* Added better testing of vultr sensor
* Resolved vultr platform test affecting subsequent vultr tests
* Moving VULTR components to single use design
* Added in sensor name config
* Added missing sensors var
* Resolved init data setting of sensors, added in name conf to switch
* Made the Vultr component more resiliant to startup failure with better alerting
* Various Vultr component changes
- Refactored sensor, binary_sensor, and switch to reference one subscription
- Renamed CURRENT_BANDWIDTH_GB monitored condition to CURRENT_BANDWIDTH_USED
- Improved test coverage
* Resolved local tox linting issue
* Added more testing for Vultr switch
* Improved test coverage for Vultr components
* Made PR comment changes to vultr binary sensor
* Made PR comment changes to Vultr sensor
* resolved PR comments for Vultr Switch
* Resolved vultr sensor name and improved tests
* Improved Vultr switch testing (default name formatting)
* Removed vultr hub failure checking
* Refactor Neato botvac components as a vacuum
A switch is still use to enable/disable the schedule
Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>
* CI Hound fixes
* Fix lint errors
Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>
* [Neato vacumm] Add sensor attributes to vacuum
Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>
* Remove line breaks and fix docstring
* PR fixes
When lights in the hue component are used with the emulated hue component ATTR_EMULATED_HUE is still being used, which was deprecated by #9382. This updates ATTR_EMULATED_HUE to ATTR_EMULATED_HUE_HIDDEN to improve consistency and stop the deprecation warnings.
* Add sensor platform for luftdaten.info
* Add monitored conditions to platform schema
* Make monitored conditions config obligatory
* Improve inline documentation
* Import first standard libs then 3rd party libs
* Combine resource url using format
* Remove unnecessary try..except block
* Use state “None” instead of STATE_UNKNOWN
* Minor changes incl. removal of unused vars
* Add missing spaces
Value parsing in plant component throws an ValueError if values are given as floats. This commit changes int(value) to int(float(value)) to avoid this error.
* Add EntityFilter helper
* Changes in entityfilter after code review
* Convert recorder to use EntityFilter
* Fix flake/lint errors in recorder
* Update entity filter helper to return function
* Update recorder to use updated entity filter
* Better docstrings in entityfilter
* Update entityfilter.py
* MVP integration with Remember The Milk.
This version offers a service allowing you to create new issues in Remember The Milk.
* fixed pylint issue with import path
* - added files to .coveragerc as the server inerface is hard to test
- added tests for config file handling
* fixed lint error
* added missing docstrings
* removed stray edit
* fixed minor issues reported by @fabaff
* changed naming of the service, so that serveral accounts can be used
* added disclaimer
* moved service description to services.yaml
* fixed blank lines
* fixed structure of configuration
* added comment about httplib2
* renamed internal config file
* improved logging statements
* moved entry in services.yaml into separate folder.
Had to move the component itself as well.
* fixed static analysis findings
* mocked first test case
* fixed bug in config handling, fixed unit tests
* mocked second test case
* fixed line length
* fixed static analysis findings and failing test case
* also renamed file in .coveragerc
* control flow changes as requested by @balloob
* Implement adjustment
* Add color support
* fix lint
* Fix lint & use only RGB
* fix HSB + Test
* Add tests & fix bugs
* add rgb test
* add setColorTemperature
* Add color light support + tests
* Fix color temp
* use kelvin for converting
* use correct calculation
* Added timer component
* Reworked functionality a bit
* Fixed requested change
* Fixed state updates when finished
* Removing expired listeners, added events, changed services
* Added finish service
* Using timedelta parameters in start-service
* Cleanup
* Lint
* Updating state for remaining time
* Removed duration from cancel method
* Renamed service to fix disabled lint
* Some tests (incomplete)
* Relocated service descriptions
* Addressed requested changes
* Adjusted tests, added methods and events
* Added test for finish service, lint
* Code cleanp, using string states
* tzzz... one char...
* Proper usage of restore_state
* Some more cleanup
* Added ability to control when the on command is sent.
* Changed to allow only brightness command
* Code cleanup
* Added test cases for on command mode.
* Added addition test
* Changed brightness options to lower case.
* Fixed case of default value
* Remove default
This commit adds support for the odhcp DHCP server in addition to
dnsmasq. A new configuration option 'dhcp_software' has been added and
allows the user to set the server used (defaults to dnsmasq to not break
existing installations).
* OwnTracks work. Beacon logic and testcases
The existing test cases don't really make clear what is being
tested and the iBeacon / Region / Zone / Tracker thing is all
a bit confused.
I'm distinguishing a fixed-place beacon used to trigger entrance
into an HA zone (as a Region Beacon) from a beacon affixed to a
portable or mobile object (as a Mobile Beacon). The behaviors
and test cases for those usages should be different. A Region Beacon
will be named the same as a Home Assistant Zone and seeing an event
from that beacon should trigger a device tracker update related
to that zone. It would be appropriate, though unnecessary, to
configure the Region Beacon with the GPS coordinates of its static
physical location.
A Mobile Beacon is not named after any HA Zone and seeing the beacon
triggers an update in HA setting the location of the beacon to the
current device_tracker location. In this way, when my_phone sees
the beacon on my_keys, the location of my_keys is set to where
my_phone is. And when my_phone stops seeing my_keys, my_keys location
is the location of my_phone the last time it saw them.
A Mobile Beacon's GPS information should be ignored because it's
almost certain to be incorrect because the beacon moves. In fact,
beacons typcially come configured with lat/lon as 0.0/0.0 so using
the location of the beacon in an update has a nasty habit of
setting you and your keys on the bottom of the Atlantic Ocean.
Leave message handling is changed to treat mobile beacons
differently from region beacons and gps regions.
active beacons should be a set. you shouldn't end up
with multiple "active" entries for the same beacon. Let's
enforce that with the correct data structure.
Added test for real-world bug that is fixed.
A series of mobile beacon and region beacon
enter and leave events could cause a mobile
beacon to stick to the tracking device even
though it had tracked through a "leave" event.
Changed two tests to look at the size
of the 'mobile_beacons_active' structure rather
than at the object which will allow this test
to work with any sort of list, set, etc.
* Removing excess logging and unnecessary try catch.
From review on PR #10183 I've removed some info logging
that was unnecessary and I've made the suggested changes
to an if block and a try/catch.
The play_media parameters are a little bit black magic for the yamaha
platform, this explains what they are in a code comment instead of
having to go look at the yamaha platform itself.
Fixes Bug #10180
* First draft of a remove device service. Fixes https://github.com/home-assistant/home-assistant/issues/9571.
* Add device service introduced. Enables the join permission of the gateway to pair a new sub device within the next 30 seconds.
* Schema validation added and some refactoring.
* A more precise validation of the gw_mac (ffffffffffff vs. ff:ff:ff:ff:ff:ff).
* Persistent notification added to provide some feedback.
* Pylint warning disabled. The methods are used indirectly.
* CODEOWNERS reference updated.
* Add unit test for hddtemp sensor.
* Remove sample fixture and include it in the code.
* Add test to raise coverage.
* Fix bug when host is not reachable.
* Minor code cleanups.
* More code cleanups.
* Added new Clickatell SMS messaging Notify Platform
* Added new Clickatell SMS platform with layout corrections
* Added new Clickatell platform with additional layout corrections
* Added new Clickatell platform with exception handling removed
* Added new Clickatell platform with poor reference removed
* Reversed changes to dev_docker file
* Minor changes
* Add Nederlandse Spoorwegen sensor
* Remove unused 'delay' option.
* Apply requested code reviewed changes
- use constants from const.py
- ensure the configuration is a list
- verify credentials upon platform setup
- verify station input
- add True as second param to add_device
- only call add_device if at least 1 sensor was setup
* Fix: Last Played Media Title in plex would stay even when player was idle/off
Primary Fix is in the "if self._device" portion.
code in "if self._session" is a catch all but i'm not 100% if it is needed.
* Fixed lint issues with previous commit
* 1st Pass at refactoring plex refresh
Moved _media** into clearMedia() which is called in _init_ and
at start of refresh.
Removed redunant _media_* = None entries
Grouped TV Show and Music under single if rather than testing
seperately for now.
* Fixed invalid name for _clearMedia()
Removed another media_* = None entry
* Removed print() statements used for debug
* Removed unneeded "if" statement
* Added Base Support for Linode
* Removed unused Attr
* Corrected some Typos
* updated requirements & coveragerc
* added import to prevent var not declared errors in linter
* Fixed Typo
* Added Switch Component for Linode and corrected some errors if data was blank
* Updated api lib to hopefully remove dependancy on enum34
* Fixed Reference error
* fix pylint errors
* Update linode.py
* Update linode.py
* Update linode.py
* Update linode.py
* Add HTTP cache header to proxied media player images
With the resource actually being cacheable, preemptively extend the cache
buster key to prevent hash collisions.
While at it, change the hash from md5 to sha256 for consistency with the
access_token method.
* Remove lint
* Core POC support for polymer i18n
* Add gulp to build_frontend
* Remove frontend build
* Updated translations format
* Eliminate translation namespace from panel names
* Only register translations path in dev mode
* Support for different device types of MIIO switches: Xiaomi Smart WiFi Socket (called Plug), Xiaomi Smart Power Strip and Xiaomi Chuang Mi Plug V1.
* Line too long fixed.
* Trailing whitespace removed.
* Changes based on review.
* Line too long fixed.
* No blank lines allowed after function docstring fixed.
* The underlying library is called python-miio now. Imports and requirements updated.
* TODO comment removed. Travis complains about.
* Blank line removed.
* Code clean-up.
* Revert "Code clean-up."
This reverts commit 96b191c7a6.
* Unused platform constant removed.
* Add support for different display currencies in CoinMarkerCap sensor.
* Add test for CoinMarketCap sensor.
* Add test dependency to gen_requirements_all.
* Fix review comments: use string formatting and less string case chanes.
* Recorder exception catch for long state string
* Revert - Recorder exception catch for long state string
* Validate state length at core level
* Revert - this reverts commit 9d6bd017d9.
* Revert - Recorder exception catch for long state string
* Fix state TypeError
* Test for long state exception
* Trend sensor now uses linear regression to calculate trend
* Added numpy to trend sensor test requirements
* Added trendline tests
* Trend sensor now has max_samples attribute
* Trend sensor uses utcnow from HA utils
* Trend sensor now completes setup in async_added_to_hass
* Fixed linter issues
* Fixed broken import
* Trend tests make use of max_samples
* Added @asyncio.coroutine decorator to trend update callback
* Update trend.py
* Initial support for SNMP switch
Supports setting integer values
* Resolves styling issues
* Updates requirements
* Remove commented out import
* Changes default community to private. Fixes linting errors.
* More linter fixes and bugfix in #state()
* Refactors the code to make it simpler.
* Add Google Domains component
* Fixes for hound
* Add Google Domains tests
* Fixes for hound
* Clean up Google Domains
* Add timeout to Google Domains
* Remove whitespace from blank lines
* Update google_domains.py
* Update google_domains.py
* Fix: Last Played Media Title in plex would stay even when player was idle/off
Primary Fix is in the "if self._device" portion.
code in "if self._session" is a catch all but i'm not 100% if it is needed.
* Fixed lint issues with previous commit
* 1st Pass at refactoring plex refresh
Moved _media** into clearMedia() which is called in _init_ and
at start of refresh.
Removed redunant _media_* = None entries
Grouped TV Show and Music under single if rather than testing
seperately for now.
* Fixed invalid name for _clearMedia()
Removed another media_* = None entry
* Removed print() statements used for debug
* Removed unneeded "if" statement
* Changes
* Updated Requests to 2.18.4
* Updated plexapi to 3.0.3
* Removed function to convert_NA_to_None
* Removed function get_thumb_url
Type changes
* _session.player is now a list players
* na_type deprecated and to be removed
* plexapi has change na to None
Known Issues:
* Player controls currently broken
* Last location (library) stays while player idle
* Username is now Usernames and a list
* Fix for broken controls
* Removed errant print statement
* Removed depecrated na_type
* Updated Plex Sensor to use plexapi 3.0.3
Added support for Token to be used in sensor
Known Issues:
Username and Password broken for Plex Sensor use Token instead for now
* removed TODOs
* Fixes for private access violations
* Removed need for _local_client_fix
* Removed unused import and fixed parens
* Async rewrite
* Device and events now working with async core
* More async than before
* Methods have moved
* Remove check if parameter serial number is available since library handles reconnection anyway and we can expect user to set up configuration correctly
* Async rewrite
* Device and events now working with async core
* More async than before
* Methods have moved
* Remove check if parameter serial number is available since library handles reconnection anyway and we can expect user to set up configuration correctly
* Serial number is the only unique identifier, checks are still needed
* No async for setup_device
* Bump axis to 13 in preparation of friday the 13th
* Fix review comments
* Removed async after some discussions with @armills.
It wasn't possible to get past that aiohttp doesnt support digest auth, which makes it impossible to convert the full library at this point in time.
* Xiaomi Air Purifier 2 integration
* Flake8 errors fixed.
Changes based on review.
* Service domain ("fan") updated and services properly prefixed by xiaomi_miio.
* The underlying library is called python-miio now. Imports and requirements updated.
* Version bumped. The underlying library is called python-miio now.
* Fixes#10030. Extented Network Exceptions handling.
* Remove unused import. Replace ex.reason to ex.message to use custom exception instead of HTTPError
* Init commit of new whois sensor
* Updated requirements
* Resolved updated showing expired, added expired attr
* Added missing attribute in init, added whois to coveragerc
* Various PR comment changes
- Now more resiliant to invalid hostnames
- Removed various assumed STATE_UNKOWN setting
- Upfront check for valid hostname preventing the sensor starting with dud
- Resolved unit of measurement Day, Days, None issue
- Datetime formatting now done to iso 8601 standard
- Removed all expired usage, not really that useful
- Unused hass assignment
* More PR comment resolutions
- Resolved the dilemma with hosts / single host per sensor. Now running
single domain per sensor.
- Renamed host(s) to domain
* Moved coveragerc sensor location
* Re-phrased the expiration_date warning
* Resolved assumed updated_date existence
* Resolved missing indent
* Resolved discover_info typo
* Update whois.py
* add eph ember controls
* updates based on review
* remove unused import
* update to new version of pyephember
* added myself to codeowners as requested
* make codeowners alphabetical
* run fixed gen_requirements_all
* Update ephember.py
* Do not include program data in media_title if program data is undefined (None)
* Show thumbnail of currently playing program
* async setup
* Update requirements
* Initial revision of fail2ban sensor
* Verified working, added tests
* Re-factored code so that log reading isn't called for each sensor
* Lint fixes
* Removed errant reset of last ban, added test to verify bans persist through update
* Removed for loop in read_log and replaced with regex per review request
* Refactored update to use current ban array for last ban state
- also was missing return False in timer for default behavior
* Removed CONF_SCAN_INTERVAL from PLATFORM_SCHEMA.extend
- renamed DEFAULT_SCAN_INTERVAL to SCAN_INTERVAL
* SCAN_INTERVAL changed to timedelta
* Force travis rebuild (last build timed out)
* Using compiled regex now
* fixing a typo in the old library.
Should now work with both version 1 and version 2 hub
* version bump
* fix Scene shadowing
* fix requirements. (not sure whether I should commit the other generated files as well ?)
* Test including extra data on a no data trigger
* Match any dicts for default schema for event data
* Fix indentation
* Only check schema if one was configured
The default names for the feeds created by the EmonCMS component are
like 'emoncms1_feedid_10', but
- This is the display name. The ID should be lowercase and underscored,
but the display name should be readable. The ID gets derived from it
and comes out formatted correctly.
- EmonCMS lets you assign names to feeds, so it makes sense to use those
if they exist, rather than feed IDs. The ID is pretty meaningless and
basically means you have to override every name to make it readable.
- Including the ID identifying the EmonCMS instance (i.e. the '1') makes
the name clunkier and would only be useful for people with multiple
EmonCMS instances, which is likely to be an extremely small group since
one hub can run as many feeds as you need it to.
This changes the default behavior but still uses configured 'name' if
it's set, so it won't break the configuration of people who have
customized their feed names in HA config.
* Change persistent notification to avoid long text in entity state
* Tests for changed persistent notification
* Persistent notification state
* Test for component state
* Updated RussoundRNETDevice.update() to call and enhanced function that reduces network traffic
Refer to issue #6 on the Russound project
* Updated RussoundRNETDevice.update() to invoke an enhanced function to reduce network traffic
PLease see issue #6 on the russound project
* Updated REQUIREMENTS to use version 0.1.9 of the Russound component
Please refer to issue #6 on the Russound rnet project
* Corrected some minor style details to satisfy Houndbot
* Update requirements_all.txt
* Add support for multiple disks.
* Fix LINT error.
* Make disk config optional to not break existing installations.
* Change state handling as per request by @fabaff.
* Extended Ring DoorBell to support camera playback and wifi sensors
* Bump python-ringdoorbell to version 0.1.6
* Support to camera playback via ffmpeg
* Extended ringdoorbell sensors to report WiFi attributes
* Extended unittests
* Makes lint happy
* Added support to stickup cameras and fixed logic
* Fixed unittests for stickup cameras
* Makes lint happy
* Refactored attributions and removed extra refresh method.
* Update request requirement
Update request requirement from version v2.14.2 to v2.18.4
* Fix dependency vizio integration
3rd patry packages were removed from requests. Changed dependency from requests to urllib3
* forgot =
forgot = when adding the requirement
* re-run script/gen_requirements_all.py
re-run script/gen_requirements_all.py
* Unvendoring urllib3 from requests
In v2.16.0 and newer of requests they unverdored urllib3.
* undefined name 'InsecureRequestWarning'
* Removed requirement to 'urllib3==1.22
* removed import requests
* removed urllib3.exceptions.InsecureRequestWarning
removed urllib3.exceptions.InsecureRequestWarning travis lint
* Added Toon support again
* Forgot about .coveragerc
* Fixed style issues
* More styling and importing fixes
* Implemented the suggestions made by @pvizeli
* The smallest fix possible
* Removed custom names for Toon states
* Fix last push with 2 outdated lines
* Removed HOME and NOT_HOME, moved to just climate states
* Bumped dependency for better handling of smartplugs that don't report power consumption
* Implemented changes as suggested by @balloob
* Rebase, gen_requirements_all.py finally working
* Add emeter attributes.
* Remove unused attributes.
* Rework supported features so it only queries the bulb once.
* Used cached supported_features, catch errors if energy usage not reported.
I noticed the steam component "game" attribute is capitalized. This should be lowercase if I'm not mistaken.
From:
return {'Game': self._game}
To:
return {'game': self._game}
Not sure if i'm doing this correctly... apologizes if I'm not!
* using defusexml ElementTree for safer parsing of untrusted XML data
* move from core dependency to platform specific dependency
* style difference: put back end of list comma in setup.py
* Fix missing timeout for Netatmo binary sensor
This fix also merges timeout and offset because there were the same thing
Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>
* Fix lint errors
* Fix style
* added implementation for monoprice 6-zone amplifier. This implementation is based on and very similar to russoun_rnet implementaion
* updated comments and cleaned up code
* updated comments and cleaned up code
* added unit tests
* removed 'name' attribute from platform schema.
* added monoprice.py to .coveragerc
* fixed lint
* fixed lint errors
* fixed lint errors
* added monoprice to requirements_all.txt
* fixed lint errors again
* implemented change requests
* fixed lint error
* added exception handling to setup_platform()
* replaced catchall with SerialException only
* added myself to CODEOWNERS
* fixed weird merge to CODEOWNERS
* Update aioimaplib from v0.7.12 to v0.7.13
Changelog v0.7.13:
[aiolib] adds a connection lost callback [test] imapserver : added APPENDUID response for APPEND cmd [test][fix] imapserver append should add to the connected user mb [test] imapserver : more accurate building of message headers (using python email module)
* run script/gen_requirements_all.py
* http: Add headers key to json[_message]
* Add google_assistant component
This component provides API endpoints for the Actions on Google Smart
Home API to interact with Google Assistant.
* google_assistant: Re-add fan support
* google_assistant: Fix Scene handling
- The way I originally wrote the MAPPING_COMPONENT and the way it's actual
used changed so the comment was updated to match that.
- Use const's in more places
- Handle the ActivateScene command correctly
* google_assistant: Fix flakey compare test
Was failing on 3.4.2 and 3.5, this is more correct anyway.
* google_assistant: Use volume attr for media_player
* Extra check to incoming connections
The incoming connection could be other than self.db_url, because
some 'custom_component' could be making these, and then, if they're not
sqlite3 connections, an error will raise because those haven't the
`dbapi_connection.isolation_level` attrib.
* lint fix
* simplify check: isinstance test only
* Fix load of components without any config from packages
- Add 'None' to the packages config schema validation, to be able to
load components without any more configuration from yaml package files,
like `wake_on_lan`, `media_extractor` and so on.
* test the ability to load components without configuration from packages
* Cloud: connect to cloud
* Fix tests in py34
* Update warrant to 0.5.0
* Differentiate errors between unknown handler vs exception
* Lint
* Respond to cloud message to logout
* Refresh token exception handling
* Swap out bare exception for RuntimeError
* Add more tests
* Fix tests py34
* Correct capitalization inconsistency in DarkSky
All two-word sensors ("Precip Intensity," "Nearest Storm Bearing," etc) in Darksky uses title case for the friendly name of the sensor, with the exception of "Dew point."
* Implement UV Index in Darksky
* Fixed whitespace for Tox compliance
* Add unit for UV Index.
Per recommendation of reviewer, added 'UV Index' as a CONST in const.py, then used that const in both DarkSky and ISY994. It looks like BloomSky might also support UV Index and it should probably be standardized.
* Added uptime sensor for homeassistant
* Fixed pylint and flake8 errors
* Made requested changes from PR
- Fixed stale docstrings
- Changed default state to None
- Added ability for user to use hours or days
* Fixed typo
* Added unit_of_measurement check to test
* Converted to async
- Changed tests to work with async
* Minor updates
* Added TODO to illustrate my intentions
* Resolved linting issue
* Resolved bool or file validation and updated tests
The tests have been updated to include mocks to assert a temp
ca cert exists as it should for the positive tests with an
additional negative test for a file not existing being tested.
* Resolved flake8 linting issues (test docstrings)
* Communication timeout support in modbus hub.
Timeout parameter are taken from configuration and passed to pymodbus constructor.
* CONF_TYPE and CONF_TIMEOUT imported from const.py
* Expose time module in Python Scripts
* Make dt_util available in Python Scripts
* Limit methods in time module
* Add time.mktime
* Limit access to datetime
* Add warning to time.sleep
* Lint
* fix for LocationParseError in netgear platform
* added unit tests for get_scanner()
* fixed houndci-bot warnings
* fixed lint warnings
* fixed lint warnings
* fixed broken test
* removed guard clause from netgear.py
removed all discovery related code from device_tracker
removed unnecessary unit test
* removed discovery related tests
* removed unused import
* removed unused import
* Xiaomi Smart WiFi Socket and Smart Power Strip integration
* Comment updated.
* Blank line removed.
* Typo fixed.
* Version of python-mirobo bumped.
* Version of python-mirobo bumped: Lightweight API changes.
* Additional API changes.
* Library version properly pinned again.
* Platform not ready behavior fixed.
Expose the device model as sensor attribute.
Device initialized log message added. Provides device model, firmware and hardware version.
* Component renamed: switch.xiaomi_plug -> switch.xiaomi_miio
* Revise based on review: Unused code removed. Filename updated.
* Initializing statistics sensor with data from database
* fixed broken test case
* usage of recorder component is now optional, thx to @andrey-git
* added test case for initialize_from_database
* New Skybell platform with components
* Added skybell components to omit.
* Preemptively fixing lint issues (hopefully).
* Removed unused variable.
* Requested changes.
* Additional CRs
* Hopefully the last of the CR's!
* bump the pyhs100 version and fix api changes
* switch.tplink: avoid I/O during __init__
* initialize _name to None in __init__
* update requirements_all.txt for the new version
* Fix: Last Played Media Title in plex would stay even when player was idle/off
Primary Fix is in the "if self._device" portion.
code in "if self._session" is a catch all but i'm not 100% if it is needed.
* Fixed lint issues with previous commit
* 1st Pass at refactoring plex refresh
Moved _media** into clearMedia() which is called in _init_ and
at start of refresh.
Removed redunant _media_* = None entries
Grouped TV Show and Music under single if rather than testing
seperately for now.
* Fixed invalid name for _clearMedia()
Removed another media_* = None entry
* Removed print() statements used for debug
* Removed unneeded "if" statement
* Introduced support to Travis CI
* Added Last Build Started sensor and simplified code
* Fixed logic error
* Simplified _LOGGER.debug statement
* Introduced support to Travis CI
* Added Last Build Started sensor and simplified code
* Fixed logic error
* Simplified _LOGGER.debug statement
* Renamed parameter since the repository_names expects a list
* Refactoring code to synchronous
* Simplified variables names
* Update to 0.12.1 and sensor implementation.
* Removing unnecessary dict gets.
* Added name property to actually use the _name variable.
* Update docstring
* arlo: Add alarm control panel component
Allows importing arlo base stations as an alarm control panel
component in HA. Lets the users configure a custom home mode since
arlo does not have a built-in home mode.
* fix lint and houndci comments
* Use async_update to update the state
Move the state updating code from state() to update() since it does
I/O.
* Do not set state in __init__
Make sure that update is called by passing the second parameter to
async_add_devices.
* Order imports and fix dos-strings
* Add recorder purge service
* Recorder test to match purge config
* Removed purge timer, move service handler to setup, add service description file
* Tests for recorder purge service
* Recorder purge timer rework, add purge service parameter, tests
* Purge service schema change
* Service description change value range
* First cleanup
* Fix name of config
* Allow configuring DSMR5 protocol.
* Give good example.
* Using dev branch until released upstream.
* Update to dsmr_parser supporting v5 arguments.
* Update to latest dmsr parser, preventing exceptions thrown where warnings would suffice.
* Update even more
* Update requirements.
* Update requirements
* * Rename input_slider to input_number
* Update input_number to optionally display slider, input box, or both
* input_number support either input box or slider mode, but not both
* input_number : change service from select_value to set_value
* input_number : add test for mode setting to tests
* Added hysteresis attribute to threshold binary sensor
* Added threshold binary sensor hysteresis test case
* Changed threshold binary sensor property name to be more self explanatory
* Pulled default hysteresis value into top level declaration
* Fixed linter errors
* Fixed additional linter errors
* Move comment to docs
* New climate platform with MQTT
* Use STATE_OFF
* Basic tests for climate.mqtt
* lint
* actualy collect coverage
* First tests and fixes
* Add possibility to receive temperature via MQTT
* Require only either sensor or mqtt topic
* Add mqtt publishing for away mode, hold mode and aux heat.
* Use configurabe on/off payloads
* Add pessimistic mode
* Initialize aux and away with False instead of None
* Remove Sensor
* Use correct scheduling method
* Move all methods to coroutines
If an event contained a datetime.datetime object it would cause an
exception in the Splunk component. Most of the media_player
components do this in their `media_position_updated_at` attribute.
Use the JSONEncoder from homeassistant.remote instead of just using the
standard json.dumps encoder.
Fixes#9590
* Fixed away_mode for Ecobee thermostat. Now away mode is properly turned on using indefinite away hold.
* fixed lint warnings
* fixed lint warnings
* - now it is possible to use float values for ecobee temperature holds
- fixed a bug that caused an exception when temperature hold was set in away mode
- added unit tests for ecobee thermostat
* fixed lint errors
* fixed lint errors
* - Rewrite synology camera by intruducing Api and SurveillanceStation classes to get cameras, motion settings, enable/disable motion detection, etc ...
- Synology camera now shows correct state based on is_recording and is_streaming flag. Also it now supports enable / disable motion detection and show the correct motion detection status
- Newly added Api and SurveillanceStation classes will be moved to a lib but it's here just for review
* - Updated how payload are merged with kwargs so it works with python <3.5
* - Fixed class name conflict
* - Addressed flake8 error
* - Addressed pylint error
* - Moved synology API related code to py-synology lib
- Added py-synology==0.1.1 requirement
- Removed hass from SynologyCamera constructor
* - Updated requirements_all.txt
* - renamed variable back to original
* - Sync call to retrieve camera image should be done in camera_image() instead
* - Sync call to update camera info should be done in update() instead
* - Removed unused import
* Introducing support to Melnor RainCloud sprinkler systems
* Make monitored_conditions optional for sub-components
* Part 1/2 - Modified attributes, added DATA_ constant and using battery helper
* Part 2/2 - Refactored self-update hub
* Fixed change requested:
- Dispatcher signal connection
- Don't send raincloud object via dispatcher_send()
- Honoring the dynamic scan_interval value on track_time_interval()
* Inherents async_added_to_hass() on all device classes
* Makes lint happy
* * Refactored RainCloud code to incorporate suggestions.
Many thanks to @pvizelli and @martinhjelmare!!
* Removed Entity from RainCloud sensor and fixed docstrings
* Update raincloud.py
* Update raincloud.py
* fix lint
* second try on rflink / cover
* no newline at end of file
* changed entity
* fixed comments from pvizeli
* removed :
* removed return 'unknown'
* Fixed comments from Rytilahti
* removed newline
* Reverted to None
* cleanup
* Cleanup
* Initial proposal for the input_datetime
* Linting
* Further linting, don't define time validation twice
* Make pylint *and* flake8 happy at the same time
* Move todos to the PR to make lint happy
* Actually validate the type of date/time
* First testing
* Linting
* Address code review issues
* Code review: Remove forgotten print()s
* Make set_datetime a coroutine
* Create contains_at_least_one_key_value CV method, use it
* Add timestamp to the attributes
* Test and fix corner case where restore data is bogus
* Add FIXME
* Fix date/time setting
* Fix Validation
* Merge date / time validation, add tests
* Simplify service data validation
* No default for initial state, allow 'unknown' as state
* cleanup
* fix schema
* IMAP Unread sensor updated for async and push
* Implement renames suggested in review
* Use async_timeout
* Keep push capability in a variable
* Reword for Hound
* allow customizable action for webos tv turn on as not all models allow for WOL
* trying to fix the houndci-bot
* last few fixes hopefully
* I guess not
* last time!
* This is a breaking change. I have removed the build-in wake-on-lan functionality and have opted for a script which can be a wake-on-lan switch. I have also removed any reference to wol.
* hoping to fix formatting
* linter errors
* Increase Comed timeout since it sometimes takes a long time for the API to respond
* Rewrite ComEd sensor to use asyncio
* Fix whitespace and build issues
* Added new statistic attributes
Added new attributes:
- Cleaning count
- Total cleaning time
- Total cleaning area
- Time left to change main brush, side brush and filter
* Code corrections
Code corrections
* Remove wronge hanging indentation
* Added new attributes
ATTR_MAIN_BRUSH_LEFT
ATTR_SIDE_BRUSH_LEFT
ATTR_FILTER_LEFT
ATTR_CLEANING_COUNT
ATTR_CLEANED_TOTAL_AREA
ATTR_CLEANING_TOTAL_TIME
* Remove trailing white space
* Corrections of the unit test for new attributes
* Hound corrections
* Init self.clean_history, self.consumable_state
* Hound correction
* - Cleaning time and total cleaning time shown in minutes
- Cleaned area and total cleaned area shown in square meters
- Main brush left, side brush left, filter left time shown in hours
- Display of the unit of measurement
* Remove trailing white spaces
* Fixed wrong continued indentation
* Fixed Hound
* Fixed Hound
* Added new statistic attributes
Added new attributes:
- Cleaning count
- Total cleaning time
- Total cleaning area
- Time left to change main brush, side brush and filter
* Code corrections
Code corrections
* Remove wronge hanging indentation
* Init self.clean_history, self.consumable_state
* Hound correction
* Remove UOM
* Merge
* Init self.clean_history, self.consumable_state
* Hound correction
* Init self.clean_history, self.consumable_state
* Hound correction
* Removed double declarations
* MQTT Cover - Add availability_topic for online/offline status
Added topic, configurable payloads, and tests.
* Merge branch 'dev' into mqtt-cover-availability
* Revert "Merge branch 'dev' into mqtt-cover-availability"
This reverts commit 46d29794ba.
* Added newline at end of test_mqtt.py
* Fixed lint issue (newline at EOF)
* Fixed lint issue (newline at EOF)
* Updated call signature for other tests
* Fixed availability message callback
* - Added support for ARM_NIGHT for manual_mqtt alarm
* - port "Add post_pending_state attribute to manual alarm_control_panel #9291" to manuql_mqtt
* - port "Fixed manual alarm not re-arm after 2nd trigger #9249" to manuql_mqtt
* - port "Add manual alarm_control_panel pending time per state #9264" to manuql_mqtt
* - Updated test_trigger_with_specific_pending to simulate real scenario e.g. arm the system then trigger
* new geo rss events sensor
* SCAN_INTERVAL instead of DEFAULT_SCAN_INTERVAL
* removed redefinition CONF_SCAN_INTERVAL
* definition of self._name not required
* removed unnecessary check and unnecessary parameter
* changed log levels
* fixed default name not used
* streamlined sensor name and entity id generation, removed unnecessary parameter
* fixed issue for entries without geometry data
* fixed tests after code changes
* simplified code
* simplified code; removed unnecessary imports
* fixed invalid variable name
* shorter sensor name and in turn entity id
* increasing test coverage for previously untested code
* fixed indentation and variable usage
* simplified test code
* merged two similar tests
* fixed an issue if no data could be fetched from external service; added test case for this case
* Add support for multi-entity recent fetch of history. Add graph component
* Rename graph to history_graph. Support fast fetch without current state.
* Address comments
With this optimization we can send a single UDP packet to the light rather
than one packet per zone (up to 80 packets for LIFX Z). This removes a
potential multi-second latency on the frontend color picker.
* MQTT Binary Sensor - Add availability_topic for online/offline status
Added topic, configurable payloads, and tests.
* Relocated state subscribe function
Moved state subscribe function to follow the state listener function.
* Add reload service
* add reload test
* Use global variable
* remove white space ....
* adjust as suggested
* remove annoying white space....
* fix travis
* fix travis, again
* rename Load_scripts to Discover_scripts
Travis complains that "Load_scripts" is an invalid name (I don't know why)
* Update python_script.py
This gets displayed when clicking on the binary sensors. It is
useful to distinguish different devices with the same name (e.g.
the room name) but different types.
The aiolifx 0.6.0 release fixes an issue where an effect color could
remain set after stopping the effect. This only affected multi-zone
lights (i.e. LIFX Z) and only if the effect was stopped by setting
the light brightness or the color (but not both).
The aiolifx 0.6.0 release also defaults end_index to start_index+7,
so we can remove that argument.
Finally, aiolifx_effects 0.1.2 adds support for aiolifx 0.6.0.
* renamed add_devices to async_add_devices according to hass naming scheme
* replaced some occurencies of async_add_entites to async_add_devices
* fixed unit test
* fixed unit test
* Bump Axis requirement to v10
Fix issues related to non JSON serializable items and recorder component (8297)
Add support to configure HTTP port (8403)
* Changed local port definition to CONF_PORT
* On request config is now sent to the camera platform as well, and in order better explain what is what the old internal config is now device_config and hass own config is the only one referenced as config
* Missed to add device_config to setup in discovered device
* Bump to V12 that has got a dependency fix
* Update requirements_all
* Add port configuration to automatically discovered devices
Allow setup to pass without Axis being configured in configuration.yaml
* Added satel_integra alarm panel and binary sensor platform
* Fixed several issues after review: import cleanup, reduced messaging levels to debug, other.
* Fixes after review: removed dead code, improved loop, sorted imports.
* Changes after review, not yet working
* Changes after review - wrapped async code, killed ensure_future, moved async_load_platform into jobs
* Updated to latest AbodePy version. Added services and events. Added new device types. Added exclude, light, and polling config options.
* Disable the event service if polling is enabled.
* Addressed all CR's
* Removed duplicated super call.
* Name config option now used. Removed deprecated DEFAULT_NAME.
* Modified partial to move event to first param.
* Configuration parameter "host" introduced. Will skip the discovery of the host.
* Provide a proper default port. Log message reformatted.
* PyXiaomiGateway version bumped: The new feature was introduced with v0.4.0.
* requirements_all.txt updated.
* Native default for config parameter used.
* Load WebComponent polyfill on header.
On Chrome 53, `document.registerElement` exists but `window.customElements` does not exist.
Fix for Tencent X5 browser on Android(Chrome 53 based).
* Move the block just before app panel loading.
Remove async for new script block.
The DTE Energy Bridge seems to return the current energy
usage randomly in either W or kW. The only way to tell the difference
is if there is a decimal or not in the result.
Also added some tests.
* Basic MQTT vacuum support
* PR feedback
* Support for fan_speed and send_command services
* Fix configurable topics
* Use configurable bools for cleaning/docked/stopped state
* Fix language in docstring
* PR feedback
* Remove duplicate vacuum/state topic defaults
* Fix incorrect template for docked value
* Move direction like default mqtt platfom/components
* fix None on templates
* fix tests
* fix int
* fix tests
* ready to merge
* rename xiaomi to xiaomi_aqara
* rename xiaomi vacuum and xiaomi phillips light to xiaomi miio
* update discovery and tests
* style
* update discovery and tests
* Still use Philips as name
* - Enhanced manual alarm_control_panel config so that you can specify different pending time for different alarm state
* - Fixed demo alaram control panel
* - Updated configuration structure for state specific pending times
* - Addressed comment
* Address code review comments
* - Fixed failing tests
- Updated demo alarm component to use new per state pending_time setting
* - Removing previously added comment which might have caused build to fail?
* - moved "copy.deepcopy(config)" out of loop so config is only copied once
* add datetime and support for unpacksequence
add datetime to builtin and support for unpacksequence
a,b = (1,2)
for a,b in [(1,2),(3,4)]
* add test for python_script
* fix test
* restore previous test
restore previous tests, removed by mistake sorry...
* fix test
* Update test_python_script.py
* fix travis
* fix test
* Update test_python_script.py
* Add files via upload
* fix travis...
* Added basic Todoist support
Creating a new platform for Todoist - https://todoist.com
* Added more robust support for creating new custom projects.
This means you can now specify things such as 'all tasks due today', 'all tasks due this week', etc.
* Changed logging from warning to info.
* Added label and comment support.
* Added support for overdue tasks.
* Changed logging to info instead of warning; fixed labels.
* Added ability to filter projects by name.
* Rename 'extra_projects' to 'custom_projects'.
* Updated code to follow proper HASS style guidelines.
* Got new_task service running.
* Update .coveragerc.
* Remove old try-catch block.
This is left over from before we validated the inputs using the service schema.
* Updated to use PLATFORM_SCHEMA.
* Updated component to use Todoist API.
* Removed commented-out code.
This also removes functionality regarding finding out how many comments a task has.
This functionality may be added back in the future.
* Clarified TodoistProjectData, removed fetching comments.
* Fixed bug where projects were grabbing all tasks.
* Fixed bug where due dates were being ignored.
* Removed debug logging.
* Fixed linter errors.
* Fixed Todoist docstring to be in line with HASS' style rules.
* Organized imports.
* Fixed voluptuous schema.
* Moved ID lookups into .
* Moved ID lookups into setup_platform.
* Cleaned up setup_platform a bit.
* Cleaned up Todoist service calls.
* Changed debug logging level.
* Fixed issue with configuration not validating.
* Changed from storing the token to storing an API instance.
* Use dict instead of Project object.
* Updated to use list comprehension where possible.
* Fixed linter errors.
* Use constants instead of literals.
* Changed logging to use old-style string formatting.
* Removed unneeded caching.
* Added comments explaining 'magic' strings.
* Fixed bug where labels were always on the whitelist.
* Fixed linter error.
* Stopped checking whitelist length explicitly.
* Update tradfri.py
## 201709013: set_hex_color() seems not to work in pytradfri api - set_rgb_color() does
## -> changed function set_hex_color() to set_rgb_color()
## tested w. IKEA tradfri GW and zigbee rgb PWM module (dresden elektronik FLS-PP lp)
* Update tradfri.py
Setup:
Home Assistant 0.53.0
pytradfri 2.2
IKEA tradfri gateway fw 1.1.0015
zigbee rgb PWM module (dresden elektronik FLS-PP lp)
Issue:
pytradfri's set_hex_color() does not work for arbitrary colors with the current IKEA tradfri gateway. Only setting rgb hex values (param 5706) of some predefined colors has the desired effect. Others will fall back to one predefined value. I assume, the GW doesn't allow for values deviating from the predefined values.
However, pytradfri's set_rgb_color() does also work for arbitrary colors. Latest pytradfri (2.2/PR51?) will convert rgb to xy and send xy thru the GW (param 5709 and 5710).
-> changed the function used from set_hex_color() to set_rgb_color() in HA's component\light\tradfri
Result:
Full RGB support with arbitrary colors with my setup.
Unfortunately I cannot test tradfri GW with other bulbs (no have hue/lightify bulbs).
___
Predefined colors from <https://github.com/ggravlingen/pytradfri/pull/51>:
this.f3891b = new HashMap();
this.f3891b.put("f5faf6", new C1386c(0.3804d, 0.3804d, "f5faf6", 0.54d));
this.f3891b.put("f1e0b5", new C1386c(0.4599d, 0.4106d, "CCT_LIGHT_NEUTRAL", 0.61d));
this.f3891b.put("efd275", new C1386c(0.5056d, 0.4152d, "efd275", 0.66d));
this.f3891b.put("dcf0f8", new C1386c(0.3221d, 0.3317d, "dcf0f8", 0.45d));
this.f3891b.put("eaf6fb", new C1386c(0.3451d, 0.3451d, "eaf6fb", 0.48d));
this.f3891b.put("f5faf6", new C1386c(0.3804d, 0.3804d, "f5faf6", 0.54d));
this.f3891b.put("f2eccf", new C1386c(0.4369d, 0.4041d, "f2eccf", 0.59d));
this.f3891b.put("CCT_LIGHT_NEUTRAL", new C1386c(0.4599d, 0.4106d, "CCT_LIGHT_NEUTRAL", 0.61d));
this.f3891b.put("efd275", new C1386c(0.5056d, 0.4152d, "efd275", 0.66d));
this.f3891b.put("ebb63e", new C1386c(0.5516d, 0.4075d, "ebb63e", 0.68d));
this.f3891b.put("e78834", new C1386c(0.58d, 0.38d, "e78834", 0.69d));
this.f3891b.put("e57345", new C1386c(0.58d, 0.35d, "e57345", 0.67d));
this.f3891b.put("da5d41", new C1386c(0.62d, 0.34d, "da5d41", 0.7d));
this.f3891b.put("dc4b31", new C1386c(0.66d, 0.32d, "dc4b31", 0.73d));
this.f3891b.put("e491af", new C1386c(0.5d, 0.28d, "e491af", 0.57d));
this.f3891b.put("e8bedd", new C1386c(0.45d, 0.28d, "e8bedd", 0.53d));
this.f3891b.put("d9337c", new C1386c(0.5d, 0.24d, "d9337c", 0.55d));
this.f3891b.put("c984bb", new C1386c(0.34d, 0.19d, "c984bb", 0.38d));
this.f3891b.put("8f2686", new C1386c(0.31d, 0.12d, "8f2686", 0.33d));
this.f3891b.put("4a418a", new C1386c(0.17d, 0.05d, "4a418a", 0.18d));
this.f3891b.put("6c83ba", new C1386c(0.2d, 0.1d, "6c83ba", 0.22d));
this.f3891b.put("a9d62b", new C1386c(0.4099999964237213d, 0.5099999904632568d, "a9d62b", 0.654d));
this.f3891b.put("d6e44b", new C1386c(0.44999998807907104d, 0.4699999988079071d, "d6e44b", 0.65d));
* Add LANG to environment variables
Some componentes, e.g. tradfri, will not work properly unless LANG is an UTF-8 environment.
* Set LC_CTYPE to UTF-8
There's a kind of duplication of functionality between NetDisco and
"xiaomi" component, the latter features its own "discovery" in addition
to general HomeAssistant discovery service, based on NetDisco. As such,
this patch is pretty simple: the only purpose of NetDisco discovery
is "plug and play", "zero configuration" discovery that Xiaomi Gateway
device is present on the local network, and triggering of "xiaomi"
component loading, which then "rediscovers" the gateway using its own
method.
* Allow multiple observations of same entity
Why:
* There may be different probabilities for multiple states of the same
entity.
This change addresses the need by:
* Keeping a list of observations for each entity to check on each state
change of the given entity.
* Adding a numeric id to each observation so that they can be
effectively added and removed from `self.current_obs`.
* Adding a test to confirm functionality.
* fix overzealous indenting
* Added support to enable/disable motion detection for foscam cameras. This support was added in 0.48.1 as a generic service for cameras. Motion detection can be enabled/disabled for foscam cameras with this code-set.
* Fixed the violation identified by hound-bot
* Fixed the comment posted by HoundCI-Bot regarding using imperative mood statement for pydocstyle
* Fixed the error that travis-ci bot found.
* As per comment from @balloob, Instead of directly using the URL to talk to foscam, used a 3rd party foscam library to communicate with it. This library already has support to enable/disable motion detection and also APIs to change the motion detection schedule etc. Need to add more support in the pyfoscam 3rd party library for checking if motion was detected or even if sound was detected. Once that is done, we can add that into HASS as well.
* Lint
* Removed the requests library import which is not used anymore
* Updating requirements_all.txt based on the code-base of home assistant that i have. Generated using the gen_requirements_all.py script
* Updating requirements_all.txt and requirements_test_all.txt generated by gen_requirements_all.py after latest pull from origin/dev
* Updated requirements_all.txt with script
* Updated the foscam camera code to fix lint errors
* Fixed houndci violation
* Updating the foscam library dependency/requirements.
* Fixing the requirements_all file. Somehow when i generated, it generated duplicate entry for the same dependency
Follow [Twitter's guidance](https://dev.twitter.com/rest/reference/post/media/upload-finalize) for media uploads: "If and (only if) the response of the FINALIZE command contains a processing_info field, it may also be necessary to use a STATUS command and wait for it to return success before proceeding to Tweet creation."
* Added support to enable/disable motion detection for foscam cameras. This support was added in 0.48.1 as a generic service for cameras. Motion detection can be enabled/disabled for foscam cameras with this code-set.
* Fixed the violation identified by hound-bot
* Fixed the comment posted by HoundCI-Bot regarding using imperative mood statement for pydocstyle
* Fixed the error that travis-ci bot found.
* As per comment from @balloob, Instead of directly using the URL to talk to foscam, used a 3rd party foscam library to communicate with it. This library already has support to enable/disable motion detection and also APIs to change the motion detection schedule etc. Need to add more support in the pyfoscam 3rd party library for checking if motion was detected or even if sound was detected. Once that is done, we can add that into HASS as well.
* Lint
* Removed the requests library import which is not used anymore
* Updating requirements_all.txt based on the code-base of home assistant that i have. Generated using the gen_requirements_all.py script
* Updating requirements_all.txt and requirements_test_all.txt generated by gen_requirements_all.py after latest pull from origin/dev
* Updated requirements_all.txt with script
* Updated the foscam camera code to fix lint errors
* Fixed houndci violation
* Updating the foscam library dependency/requirements.
* Fixing the requirements_all file. Somehow when i generated, it generated duplicate entry for the same dependency
Follow [Twitter's guidance](https://dev.twitter.com/rest/reference/post/media/upload-finalize) for media uploads: "If and (only if) the response of the FINALIZE command contains a processing_info field, it may also be necessary to use a STATUS command and wait for it to return success before proceeding to Tweet creation."
owntracks (tested on ios version 9.6.3/de_DE) publishes single waypoints under the topic owntracks/<user>/<device>/waypoint (singular).
owntrack publishes a waypoint export (publish) under the topic owntracks/<user>/<device>/waypoints (plural).
the owntracks component did not catch my waypoint export to mqtt, only single waypoint updates (i.e. after editing a waypoint or creating a new one). these single waypoints were rejected „because of missing or malformatted data“. when i changed the WAYPOINT_TOPIC to 'owntracks/{}/{}/waypoints', owntracks imported my published waypoint list, after i triggered it under Setting / Publish Waypoints.
* Added mqtt_statestream component
* Added tests for mqtt_statestream component
* mqtt_statestream: add test for valid new_state
* mqtt_statestream: Don't set initialized state
* mqtt_statestream: Switch to using async_track_state_change
* Cleanup
* Add HTTP Basic auth to RESTful Switch
* Remove redundant hass passing
* Initialize to current state
The state used to be None until the first periodic poll.
This commit refactors async_update so it can be used during setup as well,
allowing the state to start out with the correct value.
* Refactor turn_on/turn_off device communication
* Remove lint
* Fix Travis errors
* Adds the AirVisual air quality sensor platform
* Updated .coveragerc
* Removed some un-needed code
* Adding strangely-necessary pylint disable
* Removing a Python3.5-specific dict combiner method
* Restarting stuck coverage test
* Added units to AQI sensor (to get nice graph)
* Making collaborator-requested changes
* Removing unnecessary parameter from data object
* Adds the AirVisual air quality sensor platform
* Updated .coveragerc
* Removed some un-needed code
* Adding strangely-necessary pylint disable
* Removing a Python3.5-specific dict combiner method
* Restarting stuck coverage test
* Added units to AQI sensor (to get nice graph)
* Making collaborator-requested changes
* Removing unnecessary parameter from data object
* First draft of XKNX module for Home-Assistant
* XKNX does now take path of xknx.yaml as parameter
* small fix, telegram_received_callback has different signature
* changed method of registering callbacks of devices
* removed non async command lines from xknx
* telegram_received_cb not needed within HASS module
* updated requirements
* Configuration if XKNX should connect via Routing or Tunneling
* bumping version to 0.6.1
* small fix within xknx plugin
* bumped version
* XKNX-Switches are now BinarySensors and Logic from Sensor was moved to BinarySensor
* renamed Outlet to Switch
* pylint
* configuration of KNX lights via HASS config, yay!
* changed name of attribute
* Added configuration for xknx to switch component
* added support for sensors within hass configuration
* added support for climate within hass configuration
* Thermostat -> Climate
* added configuration support for binary_sensors
* renamed Shutter to Cover
* added configuration support for cover
* restructured file structure according to HASS requirements
* pylint
* pylint
* pylint
* pylint
* pylint
* pylint
* updated version
* pylint
* pylint
* pylint
* added setpoint support for climate devices
* devices are now in a different module
* more asyncio :-)
* pydocstyle
* pydocstyle
* added actions to binary_sensor
* allow more than one automation
* readded requirement
* Modifications suggested by hound
* Modifications suggested by hound
* Modifications suggested by hound
* Modifications suggested by hound
* xknx now imported as local import
* hound *sigh*
* lint
* 'fixed' coverage.
* next try for getting gen_requirements_all.py working
* removed blank line
* XKNX 0.7.1 with logging functionality, replaced some print() calls with _LOGGER
* updated requirements_all.txt
* Fixes issue https://github.com/XKNX/xknx/issues/51
* https://github.com/XKNX/xknx/issues/52 added raw access to KNX bus from HASS component.
* bumped version - 0.7.3 contains some bugfixes
* bumped version - 0.7.3 contains some bugfixes
* setting setpoint within climate device has to be async
* bumped version to 0.7.4
* bumped version
* https://github.com/XKNX/xknx/issues/48 Adding HVAC support.
* pylint suggestions
* Made target temperature and set point required attributes
* renamed value_type to type within sensor configuration
* Issue https://github.com/XKNX/xknx/issues/52 : added filter functionality for not flooding the event bus.
* suggestions by pylint
* Added notify support for knx platform.
* logging error if discovery_info is None.
* review suggestions by @armills
* line too long
* Using discovery_info to notifiy component which devices should be added.
* moved XKNX automation to main level.
* renamed xknx component to knx.
* reverted change within .coveragerc
* changed dependency
* updated docstrings.
* updated version of xknx within requirements_all.txt
* moved requirement to correct position
* renamed configuration attribute
* added @callback-decorator and async_prefix.
* added @callback decorator and async_ prefix to register_callbacks functions
* fixed typo
* pylint suggestions
* added angle position and invert_position and invert_angle to cover.knx
* typo
* bumped version within requirements_all.txt
* bumped version
* Added support for HVAC controller status
* Optionally disable ssl certificate validity check.
* Fix lines too long.
* Fix formatting.
* Force build CI
* Fix "Method could be a function (no-self-use)"
* Tado Fix#8606
Handle case where 'mode' and 'fanSpeed' are missing JSON. Based on
changes in commit
adfb608f86
* Expose hue group 0 to HA #8652
If allow_hue_groups is set expose "All Hue Lights" group for "special
group 0". This does add an additional Hue API call for every refresh
(approx 30 secs) to get the status of the special group 0 because it's
not included in the full API pull that currently occurs.
* Revert "Expose hue group 0 to HA #8652"
This reverts commit db7fe47ec7.
* Expose hue group 0 to HA #8652
If allow_hue_groups is set expose "All Hue Lights" group for "special
group 0". This does add an additional Hue API call for every refresh
(approx 30 secs) to get the status of the special group 0 because it's
not included in the full API pull that currently occurs.
* Changes per review by balloob
1) Use all_lights instead of all_lamps
2) Fix line lengths and trailing whitespace
3) Move "All Hue Lights" to GROUP_NAME_ALL_HUE_LIGHTS constant
* Make "All Hue Lights" a constant
* Fix trailing whitespace
This fixes an issue (#8554) whereby the Honeywell thermostats stopped
working after a period of hours or days. We do this by forgetting the
authorisation token that was sent back to us when we first logged in,
which causes the underlying evohomeclient library to perform the full
login procedure again.
* Bumping pythonegardia package requirement up to .18
* Updating requirements_all to reflect updated pythonegardia package .18
* Catching up with reality and updating egardia.py
Requirements_all reflects updated package requirement for python-egardia of 1.0.20
Otherwise, known services are logged, ignored are logged, but unknown -
not. Logging them is quite helpful for someone working on adding new
discovery service to NetDisco/HA, and would help to decouple NetDisco
library further: another project may use a generic NetDisco library,
and contribute new service to it, which won't be automatically supported
by HA. But logging about it would be a good hint to HA users that they
can look into supporting it.
* flux: fix for when stop_time is after midnight
* flux: fix imports
* flux: add missing check when now is after midnight
* flux: one more try; should fix all use cases now
* flux switch: fix lint
* flux switch: add new tests
* flux switch: fix tests lint
* flux switch: fix tests docstrings
* Adding ZWave CentralScene activation handler.
* Migrated CentralScene logic to node_entity.py
Removed extraneous logging
Modified scene_activated event to send the scene_id and scene_data separately
* Adding unit test for ZWave central scene activation
* Removed return to allow node statistics to update after central scene message is received
* Added configurable timeout for receiver HTTP requests | Additional AVR-X detection based on CommApiVers | Treat Marantz SR6007 - SR6010 as AVR-X device
* timeout value not passed correctly
* [light.tradfri] Support for pytradfri version supporting full white spectrum
* [light.tradfri] Checkout pytradfri master
* Developer docker image adjusted
* [light.tradfri] pytradfri 2.2 support for white spectrum bulbs
* Removed fix already included in dev
* Style adjusted
* pylint false positive overriden
* Review remarks applied (#1)
* make pylint happy
* Review remarks
* Add Tank Utility sensor
* Fix, disable Pylint errors
* Move coverage omission to single platform section
* Do not catch unknown exceptions
* Check for invalid credentials in setup
* Update tank_utility.py
* - Fixes Fitbit error when trying to refresh oauth token
The 3rd python-fitbit module requires an extra kwarg on the FitBit
constructor called refresh_cb. The value should be a function that
accepts one argument token.
This value will be a dictionary with the keys:
'access_token', 'refresh_token', 'expires_at'
This implements a lambda refresh_cb as required by the Fitbit module
to work, however the new token will always be save manually on
every update() call.
* Simplified by calling expires_at instead reading again from dict
* fix not providing device for discovered directvs
This fixes a bug introduced at 6884965c80
Discovered directv boxes would not be instantiated with a DEVICE
parameter.
Signed-off-by: Nicholas Sielicki <sielicki@yandex.com>
* directv: add discovery of RVU clients
If discovery is used with directv, also try to further discover and
configure RVU client set-top boxes by requesting information from a REST
service running on the main directv box/RVU-server.
This commit also disables discovery if any directv configuration is
supplied by the user.
Signed-off-by: Nicholas Sielicki <sielicki@yandex.com>
* components/media_player/directv.py: use hass.data
Use hass.data instead of a global to remember state.
Signed-off-by: Nicholas Sielicki <sielicki@yandex.com>
* unconditionally import requests in directv.py
Requests is a core requirement, so we're okay to import at the top of
the file rather than conditionally / in a function.
Signed-off-by: Nicholas Sielicki <sielicki@yandex.com>
* Bayesian Binary Sensor
Why:
* It would be beneficial to leverage various sensor outputs in a
Bayesian manner in order to sense more complex events.
This change addresses the need by:
* `BayesianBinarySensor` class in
`./homeassistant/components/binary_sensor/bayesian.py`
* Tests in `./tests/components/binary_sensor/test_bayesian.py`
Caveats:
This is my first time in this code-base. I did try to follow conventions
that I was able to find, but I'm sure there will be some issues to
straighten out.
* minor cleanup
* Address reviewer's comments
This change addresses the need by:
* Removing `CONF_SENSOR_CLASS` and its usage in `get_deprecated`.
* Make probability update function a static method, and use single `_`
to match project conventions.
* Address linter failures
* fix `device_class` declaration
* Address Comments
Why:
* Not validating config schema enough.
* Not following common practices for async initialization.
* Naive implementation of Bayes' rule.
This change addresses the need by:
* Improving config validation for observations.
* Moving initialization logic into `async_added_to_hass`.
* Re-configuring Bayesian updates to allow true P|Q usage.
* address linting issues
* Improve DRYness by adding `_update_current_obs` method
* update doc strings and ensure functions are set up properly for async
* Make only 1 state change handle
* fix style
* fix style part 2
* fix lint
* Updated abodepy version to 0.7.1
* Refactored to use AbodeDevice. Added Abode Lock device.
* Added push updates to abode devices.
* Upgraded to 0.7.2 after finding issue with callbacks.
* Refactored to use AbodeDevice. Added Abode Lock device.
* Added push updates to abode devices.
* Upgraded to 0.7.2 after finding issue with callbacks.
* Bumped version to 0.8.2. Modified code to work with new constants and properties. Added cover and switch.
* Fixed hound violations.
* Updated to 0.8.3 to fix small bug with standby mode. Fixed comment in cover/abode.py.
* Fix lint issues
* Removed excessive logging. Moved device callback registration to async_added_to_hass. Moved abode controller from global into hass data.
* Removed explicit None from dict.get()
* Move device class into the constructor.
* Changed constant name to platforms.
* Changes as requested.
* Removing stray blank line.
* Added blank line of which I'm not sure how it was removed.
* Updated version to 0.9.0. Fixed motion sensor. Added power_switch_meter device type.
* Update abode.py
* fix lint
* Fix and optimize digitalloggers platform
* Fix line length
* Fix hanging indentation
* Add missing docstring
* Add period to end of docstring
* Add second blank line
* Prevent error when no forecast data was available
Prevent an Error when buienradar data was available, but no forecasted data was retrieved for the requested day.
* Update buienradar.py
* Update buienradar.py
- pyrainbird 0.0.9 allows the override (if ever needed) connection retry/sleep
- Forces state towards the Entity when switching the switches. Gives better UI experience.
* Prevent iCloud exceptions in logfile
With this change ValueError exceptions in the logfile caused by this component will disappear.
These errors are caused by the iCloud API returning an HTTP 450 error and the external lib throwing a ValueError because of it.
A PR has been raised against the external library, but that fix did not yet make it into a new version of the library. This will catch the exception in the mean time.... https://github.com/picklepete/pyicloud/pull/138
* Align log messages
While waiting for a new pyfoscam release, we can fix this for users
just by changing the import. Foscam devices a pretty widely deployed,
so a regression here is definitely no fun.
Fixes Bug #8940
* Prevent iCloud exceptions in logfile
With this change ValueError exceptions in the logfile caused by this component will disappear.
These errors are caused by the iCloud API returning an HTTP 450 error and the external lib throwing a ValueError because of it.
A PR has been raised against the external library, but that fix did not yet make it into a new version of the library. This will catch the exception in the mean time.... https://github.com/picklepete/pyicloud/pull/138
* Align log messages
* Mysensors nodes can be renamed in the config file
* Replace nodes array with dict. Replace whole name of the node.
* Improved iteration on node names
While waiting for a new pyfoscam release, we can fix this for users
just by changing the import. Foscam devices a pretty widely deployed,
so a regression here is definitely no fun.
Fixes Bug #8940
* Refactor mysensors callback and add validation
* Add mysensors entity class. The mysensors entity class inherits from
a more general mysensors device class.
* Extract mysensors name function.
* Add setup_mysensors_platform for mysensors platforms.
* Add mysensors const schemas.
* Update mysensors callback and add child validation.
* Remove gateway wrapper class.
* Add better logging for mysensors callback.
* Add discover_persistent_devices function.
* Remove discovery in mysensors component setup.
* Clean up gateway storage in hass.data.
* Update all mysensors platforms.
* Add repr for MySensorsNotificationDevice.
* Fix bug in mysensors climate target temperatures.
* Clean up platforms. Child validation simplifies assumptions in
platforms.
* Remove not needed try except statements. All messages are validated
already in pymysensors.
* Clean up logging.
* Add timer debug logging if callback is slow.
* Upgrade pymysensors to 0.11.0.
* Make dispatch callback async
* Pass tuple device_args and optional add_devices
* Also return new_devices as list instead of dictionary.
* Adds support for the Xiaomi Philips LED Ball and Ceiling Lamp
* Documentation url updated.
* New component to .coveragerc added.
* Unused import removed.
* translate labeled as static method.
* Mixed parameters in log message fixed.
* Order of requirements_all.txt fixed.
* Plattform updated. It's async now.
* Simplifiable if-statement fixed.
* Some more clean-up of unneeded stuff.
* Platform schema updated.
* Component is called xiaomi_philipslight now.
* Requirements all updated.
* Initialization of some variables updated.
* Raise PlatformNotReady exception if light cannot be discovered.
* Import of math removed.
Missing space added.
* Remove unnecessary updates
* Refactor mysensors callback and add validation
* Add mysensors entity class. The mysensors entity class inherits from
a more general mysensors device class.
* Extract mysensors name function.
* Add setup_mysensors_platform for mysensors platforms.
* Add mysensors const schemas.
* Update mysensors callback and add child validation.
* Remove gateway wrapper class.
* Add better logging for mysensors callback.
* Add discover_persistent_devices function.
* Remove discovery in mysensors component setup.
* Clean up gateway storage in hass.data.
* Update all mysensors platforms.
* Add repr for MySensorsNotificationDevice.
* Fix bug in mysensors climate target temperatures.
* Clean up platforms. Child validation simplifies assumptions in
platforms.
* Remove not needed try except statements. All messages are validated
already in pymysensors.
* Clean up logging.
* Add timer debug logging if callback is slow.
* Upgrade pymysensors to 0.11.0.
* Make dispatch callback async
* Pass tuple device_args and optional add_devices
* Also return new_devices as list instead of dictionary.
* Emulate set_current_position in cover.template
* Add opportunistic mode
* Prevent another move when cover is already moving. Add tests for opotunistic/timed-delay mode
* Remove timed-move capabilities
* Set init state to unknown
* cleanup template
* Update test_template.py
* Simplisafe unknown status fix
Changed simplisafe-python requirement to 1.0.5 and changed state return
case statements to lower case
* Bump requirements_all.txt
* cast strings to integers for hsv_to_rgb conversion, fixes#6473
* remove type_checking, flake8 does not like that.
* use hsv_to_rgb to convert to correct rgb value
* Support changing the bulb color for tplink smartbulbs, related to #8766
* existence of ATTR_RGB_COLOR in kwargs, not just its existence...
* return modified supported features
* rgb-hsv conversion utils from hass return bogus values (at least for this device), so doing conversions directly with colorsys
* add typing & documentation for color model conversions
* make linters happy
* cast hsv to integer before passing it to the backend library
* make sure the bulb is on before adjusting the other settings
* allow floats as inputs for conversions, return always integers
* use typing hint in the parameter list instead of at assignment
* do not assign local color state inside turn_on, but let update handle doing it
* use forward declaration for typing, fixes travis requirements build hopefully
* rename hsv and rgb
* remove type-checking check, forward declarations should work just fine without it
* disable (broken) pylint warnings, these can be removed after astroid is updated from 1.4.9 to 1.5
* Pilight switch: restore last state after restart
This uses the restore_state helper to set the last known state to
pilight switches when the devices are initialized after a HA
restart.
Without this HA forget the state on every restart and needs to be told
the sttae by retoggling the switches. This can cause unwanted effects
as a switch toggling may emit an RF signal.
* Make hound happy
Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
* Remove entity_id generation as requested in review.
* Make hound happy again.
* fix comments
* fix lint
* Add support for offset for the workday sensor
* Update tests for workday sensor
* Changed from 'offset' to 'days_offset'
* Attributes bugfix (dictionary key variable repeated with different values)
* Add support for Prowl notifications.
* Use HA session handler.
* Simplify http request logic.
* flake
* fix double fetch data
* Remove periods from log messages
* Get full multizone state during registration
We used to rely on the periodic update to get the state of each zone, only
establishing the number of zones during registration. This resulted in errors
if the current state was needed for a partial color change before the first
async_update happened.
Now we do a full update before adding the light. Thus async_update can no
longer assume device.color_zones to be defined and must instead use the
response message to decide the total number of zones.
* Insist on getting the initial state
If a response to the initial state query is lost we used to just carry on.
This resulted in type errors when we next tried to access the undefined state.
After this commit the light is not added before we have the full state.
This scenario mostly happens when something is misbehaving and the type errors
were actually useful in figuring out what happend. So an error message is
logged in their place.
* Remove lint
* Update fitbit.py
Add variable icon for battery status, clean up formatting for resource
names and values
* Update fitbit.py and requirements_all.txt
Fix PR comments and update client
* Update fitbit.py
Add dict map for battery levels and use icon util
* Update ios.py
Clean up battery and charging icons (MDI was missing some versions),
fix minor bug when battery level = 95%
* Update ios.py
Migrated function to battery icon util
* Inital USPS Camera expansion
* Cleanup debugging, add camera change interval
* Change to local nomail image
* Explicitly pass in date
* Move camera date info to model property
* Fix copy typo
* Fix hound line-length
* Fix lint whitespace
* Fix requirements
* Bump myusps version, clarify interval, alter update scheme
* Add units
* Code cleanup, address comments
* Use built-in scan interval, remove nomail image
* Remove logging line
* Add HipChat notify service.
* Change HipChat notify service to use python-simple-hipchat-v2.
* Change HipChat notify service to use hipnotify
* Change HipChat notify service to remove redundant validation
* Update to pyenvisalink 2.2, and remove range validation on zonedump interval.
* Keep using default timer dump variable, only remove minimum check.
* Fix lint issue
* Indentation issue
* Add support for Automatic OAuth2 authentication
* Fix async conversion of configurator
* Rename method for async
* Use hass.components to get configurator component
* Fix typo
* Move session data to hidden directory
* Make configurator callback optional
* Fixed cert_expiry sensor to delay firing on HA startup
* Addressed Travis complaints
* Added imports
* Fixed cert_expiry sensor to delay firing on HA startup
* Changed comment
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.