* Basic Homekit support
* Added Temperatur Sensor
* Added Window Cover
* Code refactored
* Added class HomeAccessory(Accessory)
* Added class HomeBridge(Bridge)
* Changed homekit imports to relative, to enable use in custom_components
* Updated requirements
* Added docs
* Other smaller changes
* Changed Homekit from entity to class
* Changes based on feedback
* Updated config schema
* Add only covers that support set_cover_position
* Addressed comments, updated to pyhap==1.1.5
* For lint: added files to gen_requirements_all
* Added codeowner
* Small change to Wrapper classes
* Moved imports to import_types, small changes
* Small changes, added tests
* Homekit class: removed add_accessory since it's already covered by pyhap
* Added test requirement: HAP-python
* Added test suit for homekit setup and interaction between HA and pyhap
* Added test suit for get_accessories function
* Test bugfix
* Added validate pincode, tests for cover and sensor types
* Rework Sonos media player platform for push
* Ignore play_mode from events where it is missing
* Remove unused preload helper
* Freeze SoCo version
* Updates for entity registry
* Add codeowner
* Use real soco release
* Upgrade pylint to 1.8.1
* Fix no-else-return
* Fix bad-whitespace
* Fix too-many-nested-blocks
* Fix raising-format-tuple
See https://github.com/PyCQA/pylint/blob/master/doc/whatsnew/1.8.rst
* Fix len-as-condition
* Fix logging-not-lazy
Not sure about that TEMP_CELSIUS though, but internally it's probably just like if you concatenated any other (variable) string
* Fix stop-iteration-return
* Fix useless-super-delegation
* Fix trailing-comma-tuple
Both of these seem to simply be bugs:
* Nest: The value of self._humidity never seems to be used anywhere
* Dovado: The called API method seems to expect a "normal" number
* Fix redefined-argument-from-local
* Fix consider-using-enumerate
* Fix wrong-import-order
* Fix arguments-differ
* Fix missed no-else-return
* Fix no-member and related
* Fix signatures-differ
* Revert "Upgrade pylint to 1.8.1"
This reverts commit af78aa00f125a7d34add97b9d50c14db48412211.
* Fix arguments-differ
* except for device_tracker
* Cleanup
* Fix test using positional argument
* Fix line too long
I forgot to run flake8 - shame on me... 🙃
* Fix bad-option-value for 1.6.5
* Fix arguments-differ for device_tracker
* Upgrade pylint to 1.8.2
* 👕 Fix missed no-member
* Added support for Canary live stream view
* Updated requirements
* - Fixed lint error
* Addressed PR comment
* - Disabled polling for Canary camera as suggested in PR comment
- Live session is now renewed every time camera is retrieved and min time between session renewal is 90 seconds
For example all metrics with unit % match humidity.
This generate correct metrics like this
# HELP nut_ups_battery_charge sensor.nut_ups_battery_charge
# TYPE nut_ups_battery_charge gauge
nut_ups_battery_charge{entity="sensor.nut_ups_battery_charge",friendly_name="NUT UPS Battery Charge"} 98.0
nut_ups_battery_charge{entity="sensor.nut_ups_battery_charge_2",friendly_name="NUT UPS Battery Charge"} 97.0
* Do not leave remember the milk config file behind
* Fix exception in service causing service timeout
* Change max service timeout to 9 to catch services timing out
* Fix Google Sync service test
* Update and pin test requirements
* added functionality to save/restore snapshots to monoprice platform
* renamed monoprice_snapshot, monoprice_restore to snapshot, restore
This is to simplify refactoring of snapshot/restore functionality for monoprice, snapcast and sonos in the future
Sonos Playbar and Playbase devices support Night Sound and Speech Enhancement
effects when playing from sources such as a TV. Adds a new service "sonos_set_option"
whichs accepts boolean options to control these audio features.
* Add Canary component
* Made some change to how canary data is updated and stored
* Updated to use py-canary:0.1.2
* Addressed flake8 warnings
* Import canary API locally
* Import canary API locally again
* Addressed pylint errors
* Updated requirements_all.txt
* Fixed incorrect unit of measurement for air quality sensor
* Added tests for Canary component and sensors
* Updated canary component to handle exception better when initializing
* Fixed tests
* Fixed tests again
* Addressed review comments
* Fixed houndci error
* Addressed comment about camera force update
* Addressed comment regarding timeout when fetching camera image
* Updated to use py-canary==0.2.2
* Increased update frequency to 30 seconds
* Added support for Canary alarm control panel
* Address review comments
* Fixed houndci error
* Fixed lint errors
* Updated test to only test setup component / platform
* Fixed flake error
* Fixed failing test
* Uptake py-canary:0.2.3
* canary.alarm_control_panel DISARM is now mapped to canary PRIVACY mode
* Fixed failing tests
* Removed unnecessary methods
* Removed polling in canary camera component and update camera info when getting camera image
* Added more tests to cover Canary sensors
* Address review comments
* Addressed review comment in tests
* Fixed pylint errors
* Excluded canary alarm_control_panel and camera from coverage calculation
* Added min and Events sensor types to prometheus
* Updated prometheus client and fixed invalid swith state
* Added metric to count number of times an automation is triggered
* Removed assumption that may not apply to everybody
* Fixed tests
* Updated requirements_test_all
* Fixed unit tests
* Added ability to only load Ring camera
if the Ring Protect plan is activated.
* Fixed notification for all invalid cameras
* Fixed attribute name
* Using asyncio for persistent notifications
* 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
* 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
* 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.
* 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
* 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
* 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.
* 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
* 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
* 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 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
Prometheus (https://prometheus.io/) is an open source metric and alerting
system. This adds support for exporting some metrics to Prometheus, using
its Python client library.
* 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}
```
* Revert "Update to dsmr_parser supporting v5 arguments."
This reverts commit 3567de4b90.
* Revert "Using dev branch until released upstream."
This reverts commit 53e8de112c.
* Revert "Give good example."
This reverts commit 4f90fc4be6.
* Revert "Allow configuring DSMR5 protocol."
This reverts commit 9fa0e14187.
* 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
* 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
* 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