* Improving Battery info
Improving battery status info (to reflect NetAtmo API documentation and change deprecated DeviceList for WeatherStationData
* Fixes from previous update
Fix the hound issue.
add battery_lvl, WindAngle_value, GustAngle_value, rf_status_lvl, wifi_status_lvl
* Add sensor for reading ZAMG weather conditions
* Add to coveragerc; Correct some doc style problems
* More doc fixes
* More doc fixes
* Lose license and whatever.
* Don't return UNKNOWN for unknown variables
* Verify that the configured station id is actually one in the data set.
Don't warn about unknown stations, this cannot happen any more as the configuration parser now checks that.
This could still happen if the data set is incomplete though ...
* Clean up imports
* Clarify comment on throttling interval
* Base zamg sensor on Entity, not WeatherEntity, and delete unused code
* Fix formatting nits from flake8
* Use ATTR_FRIENDLY_NAME, clean up imports, remove unnecessary indirection.
* Use {}.format() instead of "" %
* Re-add unit of measurement that got lost somehow
* Use guard clauses instead of if-matroshka.
Wrap requests.get() in try/except for RequestException.
* Huh, how did this happen? White space corrections...
* Add sensor for reading ZAMG weather conditions
* Add to coveragerc; Correct some doc style problems
* More doc fixes
* More doc fixes
* Verify that the configured station id is actually one in the data set.
Don't warn about unknown stations, this cannot happen any more as the configuration parser now checks that.
This could still happen if the data set is incomplete though ...
* Lose license and whatever.
* Don't return UNKNOWN for unknown variables
* Clean up imports
* Clarify comment on throttling interval
* Base zamg sensor on Entity, not WeatherEntity, and delete unused code
* Fix formatting nits from flake8
* Use ATTR_FRIENDLY_NAME, clean up imports, remove unnecessary indirection.
* Use {}.format() instead of "" %
* Re-add unit of measurement that got lost somehow
* Use guard clauses instead of if-matroshka.
Wrap requests.get() in try/except for RequestException.
* Huh, how did this happen? White space corrections...
* Precipitation actually is a float, good it rained today
* Logger needs no module visibility
* Do not name sensors with _ to be in line with the other weather sensor platforms.
* Remove manually set friendly_name
* comment format police
* Less comments
* Update zamg.py
* ensure_list
* CONF_ID is not required configuration for enocean lights
* Use vol.All(cv.ensure_list, [vol.Coerce(int)]) as suggested in pull request review
* Fix line too long
* Extending efergy component for get the amount of energy consumed
* Changing units from kW to kWh
* Chaning units for Instant Consumption from kWh to kW
* Adding timeout for get and removing pylint config
* Update efergy.py
* Homematic update with HomematicIP/HomematicWired support and multible connections
* fix bug in virtualkey service
* create new service & cleanups
* fix lint
* Pump pyhomematic 0.1.18
Fixes https://github.com/home-assistant/home-assistant/issues/4389
The USB address of these devices periodically changes, causing
home-assistant to fail to read the temperature data. This PR fixes this
by re-reading the available devices on failure. I've been running this
for several days and for the first time have consistent temperature
data without having to restart home-assistant.
* 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
* start nestcam support
* start nestcam support
* introduce a access_token_cache_file
* Bare minimum to get nest thermostat loading
* occaisonally the image works
* switch to nest-aware interval for testing
* Add Nest Aware awareness
* remove duplicate error logging line
* Fix nest protect support
* address baloobot
* fix copy pasta
* fix more baloobot
* last baloobot thing for now?
* Use streaming status to determine online or not. online from nest means its on the network
* Fix temperature scale for climate
* Add support for eco mode
* Fix auto mode for nest climate
* update update current_operation and set_operation mode to use constant when possible. try to get setting something working
* remove stale comment
* unused-argument already disabled globally
* Add eco to the end, instead of after off
* Simplify conditional when the hass mode is the same as the nest one
* away_temperature became eco_temperature, and works with eco mode
* Update min/max temp based on locked temperature
* Forgot to set locked stuff during construction
* Cache image instead of throttling (which returns none), respect NestAware subscription
* Fix _time_between_snapshots before the first update
* WIP pin authorization
* Add some more logging
* Working configurator, woo. Fix some hound errors
* Updated pin workflow
* Deprecate more sensors
* Don't update during access of name
* Don't update during access of name
* Add camera brand
* Fix up some syntastic errors
* Fix ups ome hound errors
* Maybe fix some more?
* Move snapshot simulator url checking down into python-nest
* Rename _ready_to_update_camera_image to _ready_for_snapshot
* More fixes
* Set the next time a snapshot can be taken when one is taken to simplify logic
* Add a FIXME about update not getting called
* Call update during constructor, so values get set at least once
* Fix up names
* Remove todo about eco, since that's pretty nest
* thanks hound
* Fix temperature being off for farenheight.
* Fix some lint errors, which includes using a git version of python-nest with updated code
* generate requirements_all.py
* fix pylint
* Update nestcam before adding
* Fix polling of NestCamera
* Lint
* Remove fixed throttle for binary_sensor.command_line and sensor.command_line since the scan_interval is configured trough YAML since #1059
* Clean up imports
* Add SCAN_INTERVAL=60 to put default scan_inteval back to 60
* Move HTTP to own folder
* Break HTTP into middlewares
* Lint
* Split tests per middleware
* Clean up HTTP tests
* Make HomeAssistantViews more stateless
* Lint
* Make HTTP setup async
* #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
* Implement WAQI sensor
* Corrections based on CI check.
* Updated requirements_all.txt for pwaqi==1.2
* Require latest version of pwaqi
* Fix lint: single argument for .exception and no more pass statement.
* Further lint fixes.
* pydocstyle fix
* Implement rate throttle.
Data on WAQI is usually updated once an hour - make it refresh every thirty minutes.
* Implement schema validation with voluptuous.
Change exception handling scope.
Move messages to debug().
* Fix lint (empty indented line).
* Sort lines correctly.
* Fix last lint issue.
* Provide additional sensor data as received from WAQI.
Easier-to-read throttle timing.
* Additional object attributes to be unrolled later.
* 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
* Refactor tellstick code for increased readability. Especially highlight if "device" is a telldus core device or a HA entity.
* Refactor Tellstick object model for increased clarity.
* Update comments. Unify better with sensors. Fix typo bug. Add debug logging.
* Refactor tellstick code for increased readability. Especially highlight if "device" is a telldus core device or a HA entity.
* Refactor Tellstick object model for increased clarity.
* Update comments. Unify better with sensors. Fix typo bug. Add debug logging.
* Fix lint issues.
* 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
* Migrate callbacks to use schedule_update_ha_state
* Migrate MQTT sensor callback to async
* Migrate wemo to not update inside schedule_update_ha_state
* Make MQTT switch async
* Fix nx584 test
* Migrate tellstick callback
* Migrate vera callback
* Alarm control panel - manual: use async callbacks
* Run the switch rest tests that work
* 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
GATEWAYS was a dict, so would overwrite item if key was the same. This
would happen when using multiple MQTT gateways, since the device id is
the same (`mqtt`).
* Fix by changing GATEWAYS from dict into list.
* Use hass data to store mysensors gateways instead of having GATEWAYS
be a global.
* Added Synology DSM Sensor
* Fixed balloobbot's comments
* Fixed mistake (should have run lint and flake8 before committing
* Fixed update mechanisme according to balloobs feedback
* Requesting retest as test failure isn't related to changes made
* 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
* Add link to docs
* Fix link
* Update line breaks
* Update ordering
* Align vera platofrm to only use add_devices
(instead od add_devices_callback)
* Remove line break
* Use consts
* Update ordering
* Update ordering
* Use const, create default name, use string formatting
* Update ordering
* Use const
* Update import style
* Update ordering and line breaks
* update line breaks
* Set default port
* Set defaults and update ordering
* Update ordering
* Minor style updates
* Update ordering, defaults, line breaks, and readability
* Use constants
* Add line breaks
* use string formatting
* Update line breaks
* Update logger
* Add new const (base)
* Use constant
* Remove second error message, use const, add attribution, add link
to docs, remove unused vars, and a little simplification
* Add quote
* Use const
* Add attribution, simplify the code, and use consts
* Fixes issue #4067 - Wunderground sensor with alerts exceeds API limits
To avoid hitting the max limit of 500 calls per day, this patch keeps weather conditions being updated each 5 minutes
and weather advisories each 15 minutes.
This formula will result the following:
conditions -> 300 seconds -> 5 minutes -> 12 req/h -> 288 req/day
alerts -> 900 seconds -> 15 minutes -> 4 req/h -> 96 req/day
* Using timedelta in minutes instead seconds
* If no weather advisories were issued, state should return 0 instead Unknown
* Updated to keep on the same if statement
* Revert "Updated to keep on the same if statement"
This reverts commit 0e6a94aa0f.
* Initial commit of the iOS component and platform
* Allow extra
* Add battery to identify, a new function to get devices, and load the upcoming sensor
* Add iOS sensor platform, currently for battery state & level
* Add discoverability for the iOS app
* Convert single quote to double quotes
* Load all required components and platforms when loading the iOS component for the best experience
* Unify quote style to double
* Change to hass_ios
* Update push URL, add support for logging based on status code, log rate limit updates
* Block iOS from coverage checks for now...
* Add Bbox Routeur bandwidth as sensors
Add possibility to monitor max and currently used bandwidth of your xdsl connection for Bbox Routeur
* Minor Fixes
Unit constant get back into the main sensor file
* Unused round removed
* 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
* #3829 - Fixed type LowHighTuple doesn't define __round__ method issue when Nest is operating in range mode
* Testing if temperature is a tuple instead int or float
By not successfully rendering unknown objects to an empty string
the caller provided error_value actually gets used.
This allows, for instance, the MQTT sensor to retain its state when an
unexpected or unwanted message (#2733/#3834) is received.
* 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
* Initial Zoneminder commit
* Fixing bug when ZM sets its function to 'None'
* Adding zoneminder to coverage
* Quick Doc fix
* Update zoneminder.py
Doc Fix
* making the url base optional
This adds a sensor component that builds sensors based on the arwn
project (https://github.com/sdague/arwn). This uses a 433mhz receiver
to collect weather data and publish it over mqtt in a well defined
schema, which home-assistant can display as sensors.
* Initial version of "haveibeenpwned" sensor component
* 2 flake8 fixes
* remove debugging error message
* Increase scan_interval as well as throttle to make sure that during initial startup of hass the request happens with 5 seconds delays and after startup with 15 minutes delays. Scan_interval is increased also to not call update as often
* update .coveragerc
* remove (ssl) verify=False
* - use dict to keep the request values with email as key
- use track_point_in_time system to make sure data updates initially at 5 seconds between each call until all sensor's email have a result in the dict.
* fix a pylint error that happend on the py35 tests
* Add discovery support for Netatmo Weather station
Only The weather information are currently supported (No battery or wifi status supported)
Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>
* Add unique_id for netatmo sensors to avoid duplicate
Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>
* Update requirements_all.txt and PEP8 fixes
Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>
* 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
* Add async_safe annotation
* More async_run_job
* coroutine -> async_save
* Lint
* Rename async_safe -> callback
* Add tests to core for different job types
* Add one more test with different type of callbacks
* Fix typing signature for callback methods
* Fix callback service executed method
* Fix method signatures for callback
* Template platforms: create_task instead of yield from
* Automation: less yielding, more create_tasking
* Helpers.script: less yielding, more create_tasking
* Deflake logbook test
* Deflake automation reload config test
* MQTT: Use async_add_job and threaded_listener_factory
* Deflake other logbook test
* lint
* Add test for automation trigger service
* MQTT client can be called from within async
* Update Command classes and device types to Sigma SDK
* Fix some pylint
* Seperate constants to file
* Flake8
* coverage and flake8 pylint
* Add services.yaml
* Service descriptions was missing
* Spelling :)
* grammar
* Remove zwave service descriptions from main
* Add ability to change Nest mode to all available options
* Make Nest state reflect current operation not current operation mode
* Update Nest sensor to use operation mode
* Fix linting
* Revert "Make Nest state reflect current operation not current operation mode"
This reverts commit 573ba028d8.
Conflicts:
homeassistant/components/climate/nest.py
* Added the ability to trigger the alarm.
* Bump version of pyenvisalink to 1.3
* Fixed an issue where the panic_type was not passed to the sub-components properly.
* Bump pyenvisalink version, and make default panic mode = police.
* Pass in event loop to pyenvisalink.
* Made the components play nicely with asyncio.
* Bump pyenvisalink to 1.6
* Bump up pyenvisalink, and better handle synchronous setup.
* 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
* Added support to Yahoo Finance to track the stock market within Home Assistant
* Fixed pylint issues
* Fixed formatting issues
* Fixed pep257 issues
* - Fixed URL link
- Added attributes for Yahoo Finance
* Removed price sales ATTR
* Fixed lint and flake8 issues. Added attribution to Yahoo! per https://developer.yahoo.com/attribution/
* Add Initial version for emoncms feeds sensor
* flake8 test fixes
* pylint test fixes
* - fix bug with include_feed_id_names not assigning the name to the element in the same postion as found in include_feed_id
- a few structure changes to have less nesting (pylint fix)
- minor other changes
* update .coveragerc
* voluptuous fixes:
- exclude_feed_id and include_feed_id Exclusive group so that only one (or none) can be specified at once
- id must be positive int
- exclude_feed_id and include_feed_id must be positive int
* Fix comment so it refers to the documentation
* use string formatting
* Remove outer try
* clean up sensors.append calls
(break them out for loop)
* multiple changes like:
- rename config value "include_feed_id" to "include_only_feed_id"
- rename config value "include_feed_id_names" to "sensor_names"
- renamed config value sensor_names is now a dictionary an can also be used when renamed config value "include_only_feed_id" is not specified
- Set default value for scan_interval using the config validation
- blank lines between default, 3rd party and own imports
- removed homeassistant.util import, it was not needed anymore
* fix extended voluptuous schema
scan_interval should not be extended to PLATFORM_SCHEMA as it was already in the schema by config_validation helper so i should not add / change it. It was also causing problems reading the value from the config.
* Use Home Assistant polling
* remove statement that can never happen
* Guard clause
* Reduce instance variables
* First version of the MiFlora sensor (not yet finished)
* First workign version
* Added some documentation
Get name from sensor, if not defined
* Ignore IOError
* Added force_update option
* Updated comments
* Renamed fertility to conductivity (what it really is)
* MiFlora library update
* Updated helper files
* Formatting
* Fixed pylint errors
* Removed default from monitored conditions
* Removed KeyError handling as a KeyError should never be raised
* Added a return when no data is received
* emoved unnecessary return statement
* Changed default name
* Changes quotes and string operation ( @Teagan42 )
* - number of samples for median calculation is now configurable
- set state to None if no data could be polled from sensor
* Bugfix in library
more logging
* Fixed miflora version number
* Added Sensor Support for KNX Devices
Added Sensor for KNX Group Addresses
- Temperature
- Wind Speed
- Illuminance(LUX)
Mostly to fetch from a KNX Wetterstation
* Some pylint,flake8 fixes
* Pydoc Fixes
* Fix Coverage Ordering
* Refactor KNX Sensor
Refactor to Idea from @usul27 and added Minimum Maximum
* Removed Measurement Untis from const.py
Removed needed Measurement Units from const.py and add it to
sensor\knx.py
* Change .coveragerc
* Add as Requested from @Teagan42 the new Type Names
Additional add CONF_MINIMUM and CONF_MAXIMUM
* Added Changes as Requested from @Teagan42
* Fixed the Merge Conflict, Hopefully i done it rigth :-)
* Fixed Styling