* 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 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.
* 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.
* 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
* 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.
* 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
* 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 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
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.
* Added possibilities to use template in the command_line sensor
* Minor style guideline conforms
* Minor style guideline conforms
* Added new test for template rendering
* Minor style guideline conforms
* Minor style guideline conforms
* Fixed failing testcases
* Fix style violations
* fix code pretty
* Fixed issue with routers in bridge mode
- Router in brdige mode apparently don't report all of the stats
- Re-wrote the data_format function so it's a bit easier to follow and able to log keys that aren't supported by a router in a given mode
- Changed config so that it properly ignores conditions when not explicitly listed
- Added tests to check for the above and also to verify we log that a key doesn't exist rather than throwing an exception
* Mistakenly was calling MONITORED_CONDITIONS in data_format
- Changed to be the actual config values to prevent log error
* Initial support for Google Wifi/OnHub
* Moved state logic to update function of API class
- Throttle added to update
- State logic implementation is cleaner
- Modified tests to work with the new throttle on update
* Add tube_state
Add tube_state sensor
* Final cleanup
* Make corrections
Correct PLATFORM_SCHEMA
* Fix space
* Make test pass
* Correct format of test
Test still failing, don’t understand why
* correct description
* Make test pass
Preferred method below returns None
state = self.hass.states.get('sensor.london_overground')
* Format for hound
* indent
* Make requested changes to test, not working
Test fails with:
AssertionError: assert 0 > 0
where 0 = len([])
Surely I need tube_state.setup_platform ?
* Fixed test
Config was wrong
* Change component name to london_tube
* Update name to london_underground
Make consistent
* cleanup
* Open Hardware Monitor sensor
Platform which is able to connect to the JSON API of Open Hardware Monitor and adds sensors for the devices.
* Remove copyright in header, not needed.
* - Removed old code
- Fixed typo’s in comments
- Removed log spamming
- Removed code that was unnecessary
- Use requests instead of urllib
- Moved sensor update functionality to data handler, to remove unwanted constructor parameters
* Fixed typo in comment
Added tests
* Added default fixture, to stabilize tests
* - Fix for values deeper than 4 levels, no longer relies on fixed level
- Fixed tests
* Removed timer in preference of helper methods
* Moved update functionality back to Entity….
Updated SCAN INTERVAL
* Added timeout to request
Removed retry when Open Hardware Monitor API is not reachable
Fixed naming of sensors
Flow optimalisations
Fixed tests to use states
* Remove unused import
* Value of 0 should not be considered `unknown`.
* Reflect disconnect state in entity states.
* Due to adding unknown state on disconnect, the amount of reconnects can sometimes be more. Test for at least 2 reconnect attempts.
* Fix#6783, remove a test that makes no sense anymore
* Fix#6784
* Fix typo in docstring
* Fix handling of known->unknown state, extended test, fix lint errors
* Better handling of mismatch in unit of measurement.
Set state to "unkown" and unit of measurement to "ERR" if unit of measurement differs between aggregatet states.
Add entity_id to logged warning.
* Make icon configurable
* Fix typo
* Fix lint
* Fix lint
* Fix lint
* Add option to set entity_id on min_max sensor
* Fix lint logging-not-lazy
* Revert "Add option to set entity_id on min_max sensor"
This reverts commit 4685f26647.
* Revert "Make icon configurable"
This reverts commit fe45aec82d.
* Fixes
* - Introduced Ring binary_sensor.
- Added unittest for Ring binary_sensor.
- Bumped ring_doorbell 3rd party module.
* Updated requirements
* Added correct file for unittest
* - Introduced Ring binary_sensor.
- Added unittest for Ring binary_sensor.
- Bumped ring_doorbell 3rd party module.
* Updated requirements
* Added correct file for unittest
* Added extra sensors last_ding and last_motion
* Modified Ring binary_sensor and sensor to inherit DOMAIN configuration
* Moved static to top ring.py
* Fixed requirements
* Bump version ring_doorbell to 0.1.2
* testing unittests
* Use hass.data dict instead GLOBALS
* Fixed unittests
* Bump ring_doorbell to 0.1.3
* Updated unittest and coverted to use decorator @requests_mock.Mocker()
* Updated ring_session with lower case
* Adding expire_after to mqtt sensor to expire outdated values
* Extending test case
* mqtt: refactoring expire_after to use timed events instead of polling; lint
* refactor to reset unused trigger
* Fix: handler must be set to None after execution or removal to avoid warning
* Commenting out non-working test
* Fix lint
* Commit to trigger new build
* Commit to trigger new build
* Make testcase work
* Undo unnecessary change
* Remove default value, add extra check
* Added support for multiple efergy sensors in the same household.
Also added inital tests for the efergy platform.
* Fixed current_values units.
Changed name to include efergy_ prefix.
* Restore states
* feedback
* Remove component move into recorder
* space
* helper
* Address my own comments
* Improve test coverage
* Add test for light restore state
* Add new sensor/history_stats component
* Add real unit tests
* Code style changes requested for pull request
* Remove time aliases & allow datetime values
* Reformat unit tests
* Remove all async behavior in history_stats
* Change duration format
* Initial sketches of rflink component.
* Add requirement.
* Properly load configuration.
* Bump rflink for graceful parse errors and protocol callback.
* Cleanup, documentation and linting.
* More documentation, first sensor implementation (temp & hum).
* Add brightness/dim support for newkaku protocol.
* Use separate class for dimmables.
* Make sure non-dimmable newkaku devices are turned on.
* Move some code around, add switches. Support loading from config.
* Fix bug in ignoring devices.
* Fix initial state assumption.
* Improve reliability on invalid conditions.
* Allow configuration of group for new devices.
* Sensor icons.
* Fix parsing negative numbers.
* Correct icon.
* Allow sending commands serial.
* Pluralize.
* Allow adding sensors from config.
* Fix ignoring devices and bugs in previous commit.
* Share know devices so devices from configuration don't get added as lights.
* Lookup unit from value_key.
* Remove debug.
* Start implementing event protocol in place of packet protocol.
- Added first test suite for sensors.
- This currently breaks light and switch.
* Refactor switch component to fit new rflink changes. Add test suite.
* Fix style.
* Refactor and test lights. Bring coverage to 100%.
* Use non-broken and production tested rflink module.
* Update requirements.
* Bump for logging.
* Improve readability.
* Do not use global variable but keep known device state in intended place.
* Improve docs.
* Make icon support generic.
* Disable overriding icons in config, as it belongs in customization. Only keep custom icon for entities that are able to detect a icon based on the thing they represent (sensors in this case).
* Implement configuration schema, overall refactor of magic values.
* Fix bug in config/test wait_for_ack.
* Small refactors.
* Move command logic into separate class.
* Convert command sending logic to class based pattern instead of using the event bus.
* Start not using bus for rflink event propagation to platforms.
* Do not use event bus for all entity types.
* Fire an event on the bus for every switch incoming rflink command.
* Resolve lint errors, remove some old code.
* Known devices no longer need to be registered separately.
* Log bus events.
* Event callback is a..... callback.
* Use full entity id for events.
* Move event sending to entity.
* Log incoming events.
* Make firing events optional inline with rfxtrx.
* Add foundation for signal repetition.
* Add signal repetition config and tests.
* Make plain switchable type explicitly configurable.
* Enable default entity settings for automatically added entities as well.
* Prevent default configuration leaking accross entities.
* Make sure device defaults don't get overwritten by defaults further down.
* Don't let fast state switching and repetitions turn your house into a disco.
* Make repetitions more responsive.
* Disable on/off fallback on dimmables as it currently doesn't play nice with repetitions.
* Use rflink that allows send_command_ack to be safely cancelled.
* Reduce duplication and make repeat work for non-ack.
* Implement reconnection logic.
* Improve reconnection logic.
* Also cancel repetitions when entity state is changed due to external command.
* Update requirements.
* Fix linting.
* Fix spelling.
* Don't lie.
* Fix lint.
* Support for automatically creating protocol translation (fixes spaces in device names).
* Returned support for dimmable and on/off entity.
* Duplicate code to fix linting issues with inheritance.
* Allow overriding unit of measurement from config.
* Added forecast support to DarkSky
modified: homeassistant/components/sensor/darksky.py
modified: tests/components/sensor/test_darksky.py
* Fix async_volume_up / async_volume_down (#5249)
async_volume_up / async_volume_down should be async versions of
volume_up / volume_down, not a async version of the default variants of
volume_up / volume_down.
The previous code always called into the mediaplayers set_volume_level,
and never into volume_up / volume_down.
Signed-off-by: Anton Lundin <glance@acc.umu.se>
* adding a default icon "blind" to a PowerView blinds scene. (#5210)
* adding a default icon "blind" to a PowerView blinds scene.
* Adding icon property to define blind icon. Removed it from the state attributes dict.
* fixing lint error
* Added forecast support to DarkSky
modified: homeassistant/components/sensor/darksky.py
modified: tests/components/sensor/test_darksky.py
* Use SHA hash to make token harder to guess (#5258)
* Use SHA hash to make token harder to guess
Use hashlib SHA256 to encode object id instead of using it directly.
* Cache access token
Instead of generating a token on the fly cache it in the constructor.
* Fix lint
* Bugfix async device_tracker see callback (#5259)
* Add support for NAD receivers (#5191)
* Add support for NAD receivers
* remove self.update() in various methods
* remove setting attributes in various methods
* Change import to hass style
* Updated Config Validation, extended daily forecast to all supported types
* Fix style errors from previous commit, fix test since adding daily for all supported types
* Removed temperature from daily as it isn't supported
* Added forecast support to DarkSky
modified: homeassistant/components/sensor/darksky.py
modified: tests/components/sensor/test_darksky.py
* Updated Config Validation, extended daily forecast to all supported types
* Fix style errors from previous commit, fix test since adding daily for all supported types
* Removed temperature from daily as it isn't supported
* Revert "Bugfix camera streams (#5306)"
This reverts commit 4b43537801.
Revert "Version bump for kodi dependency (#5307)"
This reverts commit 6abad6b76e.
Revert "Add HMWIOSwitch to sensor, binary (#5304)"
This reverts commit 2c3f55acc4.
Revert "Remove GTFS default name & string change"
This reverts commit 6000c59bb5.
Revert "Update pyhomematic 1.19 & small cleanups (#5299)"
This reverts commit a30711f1a0.
Revert "[sensor] Add Dublin bus RTPI sensor (#5257)"
This reverts commit 1219ca3c3b.
Revert "Bugfix group reload (#5292)"
This reverts commit baa8e53e66.
Revert "Support for TrackR device trackers (#5010)"
This reverts commit f7a1d63d52.
Revert "Bump pywemo version."
This reverts commit dc937cc8cf.
Revert "Upgrade to voluptuous to 0.9.3 (#5288)"
This reverts commit d12decc471.
Revert "Upgrade distro to 1.0.2 (#5291)"
This reverts commit 64800fd48c.
Revert "Don't build Adafruit_BBIO - doesn't work on all platforms. (#5281)"
This reverts commit 9a3c0c8cd3.
Revert "Convert flic to synchronous platform. (#5276)"
This reverts commit eb9b95c292.
Revert "Upgrade to aiohttp 1.2 (#4964)"
This reverts commit e68e29e03e.
Revert "Fix TCP sensor to correctly use value_template (#5211)"
This reverts commit 1cf9ae5a01.
Revert "Cleanup language support on TTS (#5255)"
This reverts commit 3f3a3bcc8a.
Revert "Add last triggered to script (#5261)"
This reverts commit 467cb18625.
Revert "Bump flux_led version and make use of PyPi package (#5267)"
This reverts commit 34a9fb01ac.
Revert "Add support for NAD receivers (#5191)"
This reverts commit 3b59e169f1.
Revert "Bugfix async device_tracker see callback (#5259)"
This reverts commit 71fddd26eb.
Revert "Use SHA hash to make token harder to guess (#5258)"
This reverts commit 922308bc1f.
* Revert "Revert "Bugfix camera streams (#5306)""
This reverts commit 2ee8c44021.
* Update darksky.py
* Spread the traffic to yr.no servers and remove yr.no from the default config
* use unique address for yr.no
* update yr tests
* Wait 10 min extra before requesting new data
* Update config.py
* Update yr.py
* Add exception handling to request call to prevent
failure in setup_platform if host is down
* update for comments
* update test for state being none
* remove unused import
* #4421 - Forced icons to be displayed via SSL to avoid Mixed Content warnings
* Fixed houndci-bot whitespace
* Using regex to replace http:// for https://
* Created assert test to verify https translation
* Removed raise statement to don't polute the user log.
Only the error message should be displayed.
Nov 22 11:28:32 tchellopi hass[20138]: 16-11-22 11:28:32 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Nov 22 11:28:32 tchellopi hass[20138]: Traceback (most recent call last):
Nov 22 11:28:32 tchellopi hass[20138]: File "/usr/local/lib/python3.5/asyncio/tasks.py", line 241, in _step
Nov 22 11:28:32 tchellopi hass[20138]: result = coro.throw(exc)
Nov 22 11:28:32 tchellopi hass[20138]: File "/home/hass/.virtualenvs/home_assistant/lib/python3.5/site-packages/homeassistant/helpers/entity_component.py", line 386, in _update_entity_states
Nov 22 11:28:32 tchellopi hass[20138]: yield from update_coro
Nov 22 11:28:32 tchellopi hass[20138]: File "/home/hass/.virtualenvs/home_assistant/lib/python3.5/site-packages/homeassistant/helpers/entity.py", line 213, in async_update_ha_state
Nov 22 11:28:32 tchellopi hass[20138]: yield from self.hass.loop.run_in_executor(None, self.update)
Nov 22 11:28:32 tchellopi hass[20138]: File "/usr/local/lib/python3.5/asyncio/futures.py", line 361, in __iter__
Nov 22 11:28:32 tchellopi hass[20138]: yield self # This tells Task to wait for completion.
Nov 22 11:28:32 tchellopi hass[20138]: File "/usr/local/lib/python3.5/asyncio/tasks.py", line 296, in _wakeup
Nov 22 11:28:32 tchellopi hass[20138]: future.result()
Nov 22 11:28:32 tchellopi hass[20138]: File "/usr/local/lib/python3.5/asyncio/futures.py", line 274, in result
Nov 22 11:28:32 tchellopi hass[20138]: raise self._exception
Nov 22 11:28:32 tchellopi hass[20138]: File "/usr/local/lib/python3.5/concurrent/futures/thread.py", line 55, in run
Nov 22 11:28:32 tchellopi hass[20138]: result = self.fn(*self.args, **self.kwargs)
Nov 22 11:28:32 tchellopi hass[20138]: File "/home/hass/.homeassistant/custom_components/sensor/wunderground.py", line 187, in update
Nov 22 11:28:32 tchellopi hass[20138]: self.rest.update()
Nov 22 11:28:32 tchellopi hass[20138]: File "/home/hass/.virtualenvs/home_assistant/lib/python3.5/site-packages/homeassistant/util/__init__.py", line 296, in wrapper
Nov 22 11:28:32 tchellopi hass[20138]: result = method(*args, **kwargs)
Nov 22 11:28:32 tchellopi hass[20138]: File "/home/hass/.homeassistant/custom_components/sensor/wunderground.py", line 222, in update
Nov 22 11:28:32 tchellopi hass[20138]: ["description"])
Nov 22 11:28:32 tchellopi hass[20138]: ValueError: you must supply a key
* Updated unittest since we are just printing the error instead raising
* Initial implemenation of DSMR component.
* Fix linting
* Remove protocol V2.2 support until merged upstream.
* Generate requirements using script.
* Use updated dsmr-parser with protocol 2.2 support.
* Add tests.
* Isort and input validation.
* Add entities for gas and actual meter reading. Error handling. Use Throttle.
* Implement non-blocking serial reader.
* Improve logging.
* Merge entities into one, add icons, fix tests for asyncio.
* Add error logging for serial reader.
* Refactoring and documentation.
- refactor asyncio reader task to make sure it stops with HA
- document general principle of this component
- refactor entity reading to be more clear
- remove cruft from split entity implementation
* Use `port` configuration key.
* DSMR V2.2 seems to conflict in explaining which tariff is high and low.
http://www.netbeheernederland.nl/themas/hotspot/hotspot-documenten/?dossierid=11010056&title=Slimme%20meter&onderdeel=Documenten
> DSMR v2.2 Final P1
>> 6.1: table vs table note
Meter Reading electricity delivered to client normal tariff) in 0,01 kWh - 1-0:1.8.1.255
Meter Reading electricity delivered to client (low tariff) in 0,01 kWh - 1-0:1.8.2.255
Note: Tariff code 1 is used for low tariff and tariff code 2 is used for normal tariff.
* Refactor to use asyncio.Protocol instead of loop+queue.
* Fix requirements
* Close transport when HA stops.
* Cleanup.
* Include as dependency for testing (until merged upstream.)
* Fix style.
* Update setup.cfg
* Add sonarr sensor and tests for sensor
* Fixed some linting errors and removed unused import
* Add SSL option for those who use SSL from within Sonarr
* Add requirements to all requirements, and sensor to coveragerc
* remove unused variable
* move methods to functions, and other lint fixes
* linting fixes
* linting is clean now
* Remove double requirement
* fix linting for docstrings, this should probably be a part of the script/lint and not just travis
* new config parameter to specify number of digits for rounding average value
* fixed two `line too long` errors
* added three new tests for the mean sensor including test for precision of mean value
* Added some extra options to Weather Underground component
* Added Location and Elevation options
* Fixed if statement
* Fixed lint
* Updated tests including elevation and location
* Update wunderground.py
* Lazy initialise the worker pool
* Minimize pool initialization in core tests
* Fix tests on Python 3.4
* Remove passing in thread count to mock HASS
* Tests: Allow pool by default for threaded, disable for async
* Remove JobPriority for thread pool
* Fix wrong block_till_done
* EmulatedHue: Remove unused test code
* Zigbee: do not touch hass.pool
* Init loop in add_job
* Fix core test
* Fix random sensor test
* Pilight daemon expects JSON serializable data. Thus dict is needed and not a mapping proxy.
* Add explanation why dict as message data is needed
* Use pytest-caplog and no unittest.TestCase
If a mock's assert_called_once_with method is misspelled (e.g. asert_called_once_with) then the test will appear as passing. Therefore, this commit removes all instances of assert_called_once_with calls and replaces them with two assertions:
self.assertEqual(mock.call_count, 1)
self.assertEqual(mock.call_args, mock.call(call_args))
* Added the ability to Weather Underground to track severe weather alerts
* * Added message on the advisory attr
* Updated tests
* * Making use of guard clause
* Checking multiple_alerts prior loop
* Using a better way to create dict
* Fixed issue to set to None only the object that failed
* Added unittest
* Split update() method to different calls with their one throttle control to minimize API calls
* Updated unittest and make sure the alert sensor will not return 'unknown' status'
* Removed update() method from state property
* Branch rebased and include Weather Underground attribution
* Update wunderground.py
* Rename Forecast.io platform to Dark Sky
* Upgrade to python-forecastio to 1.3.5
* Update to reflect name change (Forecast.io -> Dark Sky)
* Rename forecast to darksky
* Skip RFXtrx tests unless RFXTRX=RUN
* Remove my previous hacks to slightly speed up rfxtrx
* Exclude RFXTRX tests from coverage
* Remove unused import in rfxtrx tstt
* Add close connection back to RFXtrx tests
* Typo
* Added email component
* added email sensor component
* added doc string to test class
* fixed lint error
* fixed lint error
* rename of email component
* added another block as test fails on CI
* added retry to multi email test
* added delay to retry
* added to .coveragerc
* removed sleep from tests and fixed up stale comments
* Add event loop to the core
* Add block_till_done to HA core object
* Fix some tests
* Linting core
* Fix statemachine tests
* Core test fixes
* fix block_till_done to wait for loop and queue to empty
* fix test_core for passing, and correct start/stop/block_till_done
* Fix remote tests
* Fix tests: block_till_done
* Fix linting
* Fix more tests
* Fix final linting
* Fix remote test
* remove unnecessary import
* reduce sleep to avoid slowing down the tests excessively
* fix remaining tests to wait for non-threadsafe operations
* Add async_ doc strings for event loop / coroutine info
* Fix command line test to block for the right timeout
* Fix py3.4.2 loop var access
* Fix SERVICE_CALL_LIMIT being in effect for other tests
* Fix lint errors
* Fix lint error with proper placement
* Fix slave start to not start a timer
* Add asyncio compatible listeners.
* Increase min Python version to 3.4.2
* Move async backports to util
* Add backported async tests
* Fix linting
* Simplify Python version check
* Fix lint
* Remove unneeded try/except and queue listener appproriately.
* Fix tuple vs. list unorderable error on version compare.
* Fix version tests
If mFi sensors are identified but not fully assigned they can
have no tag value, and mficlient throws a ValueError to signal this.
This patch handles that case by considering such devices to always
be STATE_OFF.
* Stick version numbers
* Move elevation to core config
* Migrate forecast test to requests-mock
* Migrate YR tests to requests-mock
* Add requests_mock to requirements_test.txt
* Move conf code from bootstrap to config
* More config fixes
* Fix some more issues
* Add test for set config and failing auto detect
* Adds MoldIndicator sensor platform
This sensor may be used to get an indication for possible mold growth in rooms.
It calculates the humidity at a pre-calibrated indoor point (wall, window).
* Automatic conversion to Fahrenheit for mold_indicator
* Minor change to critical temp label
* Fixed docstrings and styles
* Minor changes to MoldIndicator implementation
* Added first (non-working) implementation for mold_indicator test
* Small style changes
* Minor improvements to mold_indicator
* Completed unit test for mold indicator
* Fix to moldindicator initialization
* Adds missing period. Now that really matters..
* Adds test for sensor_changed function
The default configuration of the mFi controller generates self-signed
certificates which are valid for short periods of time, and which are
regnerated on start or as needed. This makes requests mad. Since most
people will be using the self-signed certificates anyway, add options
to let them choose non-TLS, or unverified connections if they want/need.
This bumps the mficlient requirement to 0.3.0 for proper handling of
verify=False.
The exception we were catching incorrectly referenced the client variable
in local scope instead of the module. Also, if we fail to connect we can
get a requests exception, so catch and handle that as well.