* Update pylaunches dependency to 0.2.0
Update launch library to use pylaunches 0.2.0 as a dependency. launch_time sensor attribute will now be passed in ISO format, allowing for templating/easier automating with this attribute.
* Update pylaunches to 0.2.0
* add hub- and device-info
* attempt to make I/O outside event loop
* add_executer_job
* coroutines
* async_get_hubs
Co-Authored-By: fredrike <fredrik.e@gmail.com>
* asyncio fixes
* do device_info IO when device is discovered
* it's called async_add_executor_job
* nicer unique_id
* add comment
* it's called `async_add_executor_job`
* hub always contains 'name'
* await each new device
* add comment to why gather is bad
* Remove timer logic from sensor class
Proposed fix for issue #10500
* Updating the tests to remove timer logic
* Removing unecessary dependancy
* Fixing requested changes
* Commit to try to fix the CLA ?
* Disable creating port mappings from UI, add discovery from component
* Remove unused constant
* Upgrade to async_upnp_client==0.13.6 and use manufacturer from device
* Upgrade to async_upnp_client==0.13.7
In HomeAssistant 0.84.3, the range filter would not work due to the unexpected precision filter parameter.
The default range scheme has been edited to remove the unexpected precision parameter.
Verified and tested.
* added new sensor platform to expose Islamic prayer times
* added new sensor platform to expose Islamic prayer times
* updated tests according to feedback
* make prayer_times_info a public attribute
* remove stale comments
* Implement async_configure() method for ZHA entities.
Allow attribute reporting configuration to be stored as dict of zha
entity.
* Update ZHA platform to use new attribute reporting configuration.
* Use const declaration instead of magic numbers.
* Add support for manufacturer_id in ZCL attribute reporting configuration.
* Refactor async_configure() method.
Rename attribute reporting dict to zcl_reporting_config.
* Adding sensor for SolarEdge Monitoring API support
* Adding support for Rova garbage calendar
* Update solaredge to pass lint and flake8
* Added solaredge.py to .coveragerc
* Added extend for Voluptuous schema
* Fixed styling issues
* Removed rova.py for later feature
* Replaced API requests with python pip package
* Fixed styling issues
* Updated to new async syntax
Added async_update to sensor class
Added Throttle to SolarEdge data update
Added CONF_NAME to platform settings
Added credentials check for api
Minor code style changes
* Remove unnecessary debug logging
* Updated dict keys
* Added SCAN_INTERVAL
Updated platform setup
* Remove DOMAIN variable
Correct import for PLATFORM_SCHEMA
* Change some debug to error messages
Correct return statements
Remove initial update call
* Fix pylint and flake8 errors
* complete(?)
* fixed linting
* update requirements
* added to coveragerc
* fixed linting
* added ability to set custom name
* fixed linting
* added filter
* spacing
* Added list of possible fuels
* Minor updates
In HomeAssistant 0.84.3, the range filter would not work due to the unexpected precision filter parameter.
The default range scheme has been edited to remove the unexpected precision parameter.
Verified and tested.
* added gtt sensor
* removed trailing space
* updated requirements_all
* fixed two errors in the code style
* fixed imperative in docstring
* disabled pylint false positive
* fixed description on top of the file
* added files to .coveragerc
* fixes
* linting
* fixed linting 👍
* left a trailing space, now it's gone.
* fix
* Provide charging indicator for mychevy
This expands the mychevy sensor for the battery level to also know if
the system is currently charging to get the correct icon.
* address review feedback
* Added brottsplatskartan sensor
* Update brottsplatskartan sensor
* Remove redundant configuration checks.
* Set attributes during initialization.
* Setup brottsplatskartan module in setup_platform().
* Just do a simple return, no need for returning false.
* Remove file that was used during testing
* Better variable name and remove excessive newline.
* More updates to brottsplatskartan
* Import uuid at the top of the module.
* Use sensor as domain.
* Don't fire custom events.
* Remove period from logging message.
* Adding validation for area parameter
* Validate empty area configuration
* Fixing indentation.
* Fixing the config schema
* Adding ambient_station.py sensor and updating requirements file
* Cleaning up code and fixing flake8 warnings
* Fixing flake8 and pylint warnings
* Adding ambient_station.py sensor and updating requirements file
* Cleaning up code and fixing flake8 warnings
* Fixing flake8 and pylint warnings
* Fixing bug, things are working well now
* removing nosetests file
* Adding changes as requested in pull request #18551
* Updating with more change requests from PR code review
* Removing SCAN_INTERVAL from PLATFORM_SCHEMA
* Removing unused import
* Adding platform schema validation for monitored_conditions and conf_units
* Updating link to documentation in doc-string. File already named in doc repo
* Only setup platform if component can successfully communicate with API
* Inverting check for platform setup success
* Add custom component to core
* Add pyrail to reqs
* Format & lint
* Sort nmbs.py into place on coveragerc
* Only set up station live if provided
* Only set up sensor if config is provided
* Fix line too long linting error
* PR Remarks
* Add docstrings
* Fix hound line to long error
* Fix quotes
* Rebase coveragerc
* PR Review
* Init empty attrs
* Dont include delay if there is none
* PR review
* Safer check
* Rebase reqs
* Generate req
* Update homeassistant/components/sensor/nmbs.py
Co-Authored-By: thibmaek <thibault.maekelbergh@iCloud.com>
* PR remarks
This works by adding `?check_same_thread=False` to the sqlite
connection string, as suggested by robbiet480@.
It upgrades pygtfs from homeassitant's forked 0.1.3 version to 0.1.5.
Fixes#15725
* Automatically detect if ipv4/ipv6 is used for cert_expiry
Fixes#18818
Python sockets use ipv4 per default. If the domain which should be checked
only has an ipv6 record, socket creation errors out with
`[Errno -2] Name or service not known`
This fix tries to guess the protocol family and creates the socket
with the correct family type
* Fix line length violation
* move component to a package
* move TelldusLiveEntry to separate file
* refactor
* move entities from a shared container
* using the dispatch helper instead for communication between component and platforms
* updated covereagerc and codeowners
* suggestions from MartinHjelmare
* don't make update async
* "Strip is good!"
* netatmo: make module type identification more consistent
For the interpretation of voltage values the different types of netatmo
modules need to be distinguished. This is currently done by selecting
the second character of the modules '_id'. The _id-field actually
contains a mac address. This is an undocumented way of identifying the
module_type.
The netatmo API also delivers a field called 'type' which provides a
more consistent way to differentiate the fields. This commit introduces
a differentiation which uses this provided type. This should improve
readability.
Also the field module_id is renamed to module_type which should better
resemble what it actually represents.
* netatmo: reintroduce unique_id using actual module mac address
Each netatmo module features a unique MAC-Address. The base station uses
an actual assigned MAC Address it also uses on the Wifi it connects to.
All other modules have unique MAC Addresses which are only assigned and
used by Netatmo on the internal Wireless-Network. All theses Addresses
are exposed via the API. So we could use the combination
MAC-Address-Sensor_type as unique_id.
In a previous commit this had already been tried but there was a
misunderstanding in what the 'module_id' represented. It was actually
only a module_type representation so it clashed when two modules of the
same type where used.
* Netatmo: fixed line length
* Added Entur departure information sensor.
* Fixed houndci-bot comments.
* Removed tailing whitespace.
* Fixed some comments from tox lint.
* Improved docstring, i think.
* Fix for C1801
* Unit test for entur platform setup
* Rewritten entur component to have pypi dependecy.
* Propper client id for api usage.
* Minor cleanup of usage of constants.
* Made location output configurable.
* Cleaned up usage of constants.
* Moved logic to be contained within setup or update methods.
* Moved icon consts to root in module.
* Using config directly in test
* Minor changes
Add the following sensors that provide interesting data when using a variable speed geothermal system:
* Compressor Power
* Fan Power
* Aux Power
* Loop Pump Power
* Compressor Speed
* Fan Speed
* Fix statistics for binary sensor
-) Binary sensors have 'on' and 'off' for state resulting in issue as numbers were expected. Fixed so that it works with non-numeric states as well.
-) Added check to skip unknown states.
-) Updates test so that binary sensor test will use non-numeric values for states.
* Using guard clause and changed debug to error
Changed to use a guard clause for state unknown.
Writing error on value error instead of debug.
* Add docstring
* Restore states through a JSON store
* Accept entity_id directly in restore state helper
* Keep states stored between runs for a limited time
* Remove warning
* Awair Sensor Platform
This commit adds a sensor platform for Awair devices, by accessing
their beta API. Awair heavily rate-limits this API, so we throttle
updates based on the number of devices found. We also allow for the
user to bypass API device listing entirely, because the device list
endpoint is limited to only 6 calls per day. A crashing or restarting
server would quickly hit that limit.
This sensor platform uses the python_awair library (also written
as part of this PR), which is available for async usage.
* Disable pylint warning for broad try/catch
It's true that this is generally not a great idea, but we really don't
want to crash here. If we can't set up the platform, logging it and
continuing is the right answer.
* Add space to satisfy the linter
* Awair platform PR feedback
- Bump python_awair to 0.0.2, which has support for more granular exceptions
- Ensure we have python_awair available in test
- Raise PlatformNotReady if we can't set up Awair
- Make the 'Awair score' its own sensor, rather than exposing it other ways
- Set the platform up as polling, and set a sensible default
- Pass in throttling parameters to the underlying data class, rather
than use hacky global variable access to dynamically set the interval
- Switch to dict access for required variables
- Use pytest coroutines, set up components via async_setup_component,
and test/modify/assert in generally better ways
- Commit test data as fixtures
* Awair PR feedback, volume 2
- Don't force updates in test, instead modify time itself and let
homeassistant update things "normally".
- Remove unneeded polling attribute
- Rename timestamp attribute to 'last_api_update', to better reflect
that it is the timestamp of the last time the Awair API servers
received data from this device.
- Use that attribute to flag the component as unavailable when data
is stale. My own Awair device periodically goes offline and it really
hardly indicates that at all.
- Dynamically set fixture timestamps to the test run utcnow() value,
so that we don't have to worry about ancient timestamps in tests
blowing up down the line.
- Don't assert on entities directly, for the most part. Find desired
attributes in ... the attributes dict.
* Patch an instance of utcnow I overlooked
* Switch to using a context manager for timestream modification
Honestly, it's just a lot easier to keep track of patches. Moreover,
the ones I seem to have missed are now caught, and tests seem to
consistently pass.
Also, switch test_throttle_async_update to manipulating time more
explicitly.
* Missing blank line, thank you hound
* Fix pydocstyle error
I very much need to set up a script to do this quickly w/o tox, because
running flake8 is not enough!
* PR feedback
* PR feedback
* Added Fibaro omcponents
Added cover, light, sensor and switch components
* Improvements based on code review
Improvements based on code review
* Fixes based on code review
Fixes based on code review
* Changes to light behavior based on code review
Changes to light behavior based on code review
* Internal changes
Changed how brightness is represented internally.
It should have no impact on functionality.
Dark Sky Sensor didn't expose conditions for day 0 (today forecast) that
had the same name as current conditions. With this change all conditions
form day 0 (today) forecast are exposed the same way as conditions for
the rest of the days (1..7): as `dark_sky_<condition>_<day>`. As a
consequence, conditions for day 0 that were already exposed now have
`_0` suffix. This actually improves the code by removing most of
special handling, based on condition name.
To get day 0 conditions the user now has to add `- 0` to `forecast`
configuration parameter.
Conditions, for which suffix `_0` appeared: `precip_accumulation`,
`temperature_high`, `temperature_low`, `apparent_temperature_high`,
`apparent_temperature_low`, `precip_intensity_max`, `moon_phase`.
This is a breaking change!
Closes#18205
Show excited, happy, neutral, sad, dead emoticon, or biohazard icon,
based on air pollution level.
Also, fix a small typo and change air quality index icon to
`mdi:chart-line`. Seems a bit more logical.
* Initial stuff
* More work in place
* Starting with tests
* Device registry in place
* Hound
* Linting
* Member comments (including extracting device registry)
* Member comments (plus I forgot cleanup!)
* Hound
* More Hound
* Removed old import
* Adding config entry test to coverage
* Updated strings
* Update query to include maxAge
Updated the query from recorded to include MaxAge if set; reducing the amount of records retrieved that would otherwise be purged anyway for the sensor.
* Initialization upon HASS start
Register the state listener and read previous information from recorder once HASS is started.
* Updated test_statistics.py for HASS start
Updated test_statistics.py to start HASS and wait it is completed before running test.
* Added newline in docstring
Added newline in docstring.
* Added start of HASS to test_initialize_from_database_with_maxage
Added start of HASS to new test test_initialize_from_database_with_maxage.
* Updates based on review
Following updates based on review:
-) Removed self._hass and passing hass
-) Changed async_add_job to async_create_task
-) For state update, calling async_schedule_update_ha_state
* Fix and improvment of Swiss Hydrological Data component
* changed component to get data from a REST API rather than from crawling the website
* fixed several issues and lint errors
* Fix and improvment of Swiss Hydrological Data component
* Minor changes
- Simplify the sensor configuration (expose value as attributes rather than sensor)
- Make the setup fail if station is not available
- Add unique ID
- Prepare for config flow
* Update query to include maxAge
Updated the query from recorded to include MaxAge if set; reducing the amount of records retrieved that would otherwise be purged anyway for the sensor.
* Added newline in docstring
Added newline in docstring.
* Add test + small fix
Added test to ensure query works correctly
Query should be greater then or equal instead of greater then. Fixed.
* Fixed lint issue
Fixed lint issue.
* Add srp_energy
* Update message on TypeError. Add check for None state.
* Add check for none in history
* Add srpenergy to Test requirements.
* Add srpenergy to requirments.
* Change = to ==.
* Change import for srpenergy
* Fix Flak8 errors
* Add srp to gen requirements script
* Change config name.
* Add daily usage test
* Add test for daily usage.
* Fix Flake8 message.
* Remove blank after docstring.
* Add srpenergy to coverage
* Bump requires version to srpenergy
* Fix type in coverage. Import from Sensor. Use dict.
* Update to 1.0.5. Check credentials on setup. Standalone test.
* Fix formating.
* Remove period. Rename _ variables.
* Fix rebase merge
* Add rebase requirement
* Improve Mock Patching.
* Add new launch sensor to keep track of space launches.
* Added attribution to Launch Library.
* Adds data class and throtle, reuse aiohttp session.
* Add one extra blank line before the new class..
* Change throttle to simpler SCAN_INTERVAL.
* Remove the usage of the LaunchData class.
* Bump pylaunches, remove . from log, fix line breaker for agency_country_code, remove CONF_ from ATTRIBUTION.
* Adds upload and download sensors for asuswrt and makes it a component.
* Rebase
* removes warnings
* Fixing review issues
* More robust connection phase
* Generate dependencies
* Not needed try catch
* Rename sensors
* Revorked tests so they can be turned on again
* Using component setup
* Test through correct setup
* Forgot we dont need to worry about older py
In 0.7.x the API to HDate was cleaned up so as to move logic from homeassistant to
the HDate external library.
This commit removes all the superfluous code, updates the required tests and changes the
requirement from version 0.6.5 to 0.7.5
* Validate value against valid list
* Show correct name
Constants in alphabetical order.
Added default name when not showing the local/current version.
* Add icon
Icon was already defined but not set
* Unnecessary "elif" after "return" (no-else-return)
* Add Norwegian Public Transportation sensor (Ruter).
* Corrected typo.
* change stopid to stop_id, actually use attributes, changed logging, corrected link, removed unused variable.
* Change to RuterSensor for the class, and move logic to me more readable.
* Use correct sensor class.
* Add return if blank list, remove else
* Add keepalive support
- adds keepalive support
- adds debug messages
- corrects CONF_PHONEBOOK and CONF_PREFIXES constants
* Add keepalive config constant
* Fix default value
* More visual indentation
* move to platform
* Move to platform
* Make keepalive default and remove option
* Forgot a few lines
Added debug log information for when records are purged and added entity_id to existing debug information to identify the entity the debug information is for.
* Adds Tautulli as a sensor platform.
* Remove blank last line.
* Rewrite the platform to comply with review.
* Linting issues.
* Remove tailing newline.
* Corrected typo
* Correcte check_connection, removed wierd defaults, added line in imports, removed unused var, use the correct user list.
* Use dict[key] for required config options.
* Minor changes
* Added error handling for sense API timeouts
* Moved imports in function
* Moved imports to more appropriate function
* Change exception to custom package version
* Updated sense_energy library to 0.4.2
* Added binary sensors for individual devices
* Whitespace updates
* Split into component, sensors, binary sensors
* Fixed whitespace
* Fixed whitespace
* Moved time constant into sensor file
* Regenerated requirements
* Fixed whitespace
* Updated component dependency
* Fixed whitespace
* Code cleanup
* High and low target temps are also supported if target is supported
* Revert "High and low target temps are also supported if target is supported"
This reverts commit 66b33dc2b8.
* Added all sense components to .coveragerc
* Added check authentication exception
* binary/sensor platforms loaded in setup
* Changed to add all detected devices
* Changed to add all sensors on setup
* Code cleanup
* Whitespace
* Whitespace
* Added sense as requirement for platform
* pylint fixes
* Whitespace
* Switched requirement to dependency
* Made non-class function
* Whitespace
* Removed unneeded checks
* Increased API delay to 60 seconds
* Added guard clause for discovery_info
* Tidy code
* Whitespace
* Add a component for GreenEye Monitor
[GreenEye Monitor](http://www.brultech.com/greeneye/) is an energy
monitor that can monitor emergy usage of individual circuits, count pulses
from things like water or gas meters, and monitor temperatures. This component
exposes these various sensors in Home Assistant, for both data tracking and
automation triggering purposes.
* Consolidate sensors
* lint
* .coveragerc
* - cv.ensure_list
- DOMAIN, where appropriate
- defaults to schema
- single invocation of async_load_platform
- async_create_task instead of async_add_job
- fail if no sensors
- monitors required
- async_add_entities
- call add_devices once
- remove unused schema
- use properties rather than set fields
- move _number and unique_id to GEMSensor
- remove unnecessary get(xxx, None)
- keep params on one line when possible
- new-style string format
* Fix `ensure_list` usage, log message
* Pass config through
* Added functionality to the version sensor.
* Corrected typo.
* Change default name to not cause a breaking change.
* Use vol.lower in the schema.
* Add missing blank line.
* Change order of cv.string and vol.Lower.
* Change date at sunset
* Fix tests to actually run and add fix to component
* Make tests pass
* Use get_astral_event_next instead of get_astral_event_date
* Revert to using get_astral_event_date
* Make tox happy: reset state on tearDown
* Reverse out change #14234 BOM Weather throttle fix
Reverted back to original throttle code to ensure sensors are updated on time.
* Fixed lint issues
* Review as a commit
* Use last_updated for attributes
* lint
* lint
* 🌧 Meteo France rain forecast
* do not fail on wrong config
* Update name of sensor class
* do not show sensor if not working
* Update .coveragerc
* ability to submit insee location code without final 0 needed by meteo-france
* Lynting
* more lynting
* update comment
* block comment linting
* reducing length of long lines
* linting
* Update météo-france platform
Now work with pypi package and monitored conditions
* remove error log
* Update requirements_all.txt
* Increase scan interval to 5 minutes
* Update meteo_france according to review
* better error handling of location missing some monitored conditions
* fix lint error
* moving error log
Errors are now catched at sensor initialization and state is set when updating the data
* Update updating of sensor
* Raise PlatformNotReady if API not available
* Delete whitespaces
* Revert unwanted breaking changes
* Revert deleted line
* Update homeassistant/components/sensor/rmvtransport.py
* Use await asyncio.wait
* New rtorrent sensor
* Fix lint issue
* Fix another lint issue
* Fix pylint issue
* how many python linters do you guys use
* Cleanup code
* python linting
* newline
* Fix linky sensor login error
* Make platform fail-safe
Adding following enhancements:
* Make sure the platform loads correctly by making the first API request in setup_platform.
* Close the session after each API call.
* Use timeout parameter everywhere.
* Fix Hound CI error: line too long.
* Update pylinky library
* Remove LinkyClient from update()
* Add OpenTherm Gateway sensor platform.
* Add OTGW_ variables to list of supported sensors.
* Order imports.
* Add OpenTherm Gateway binary sensor support.
* Revert "Add OpenTherm Gateway binary sensor support."
This reverts commit 115acaa912.
* Import COMP_SENSOR from sensor component rather than defining it.
* Update opentherm_gw sensor platform docs url.
* Update dependency to v0.2b1
Old version had incorrect variable names for some of the sensors
* Update requirements_all.txt
* Address review findings.
* Update .coveragerc
* Initial changes to resolve issue 16733
Added logic to ensure that if the state is unknown during startup that the error about being unable to parse the value is not logged.
Further, also ensured that if an attribute is set to None it does not try to convert the None value to Fahrenheit as that will cause an error.
* Cleaned up and added few comments
Cleaned up some lines based on flake8 and pylint.
Added some comment lines on the items added.
* Changed to async and using async_added_to_hass
Changed sensor to use async.
Registering state tracking for sensors and initial setup is now done upon the home assistant start event.
* Updated test and small fix
Updated test to handle unavailable state of sensor and return of None for attributes when data is unavailable.
Ensured that atributes are set to None when state is unavailable due to incorrect data.
* Fixed some flake8 issues in test
Fixed some flake8 issues in test_moldindicator.py.
* Updates based on review
Updates based on review from MartinHjelmare
* Added sensor entity_id to logger errors
Added sensor entity_id to logger error messages
Update test to use constant STATE_UNKNOWN instead of fixed string.
* Updgrae blinkpy to 0.10.0
- Remove status sensor (API endpoint unreliable for this)
- Wifi strength reports in wifi bars rather than dBm (result of new API
endpoint)
- Added unique ids based on serial number
* Update requirements
* Add device_registry support for sensor and switch domains
* Add device_registry support for light
* Add device registry to binary_sensor, climate, cover
* Add device registry to zwave fan
* Fix test for config entry loading
* lint
* revert erroneous modification
* Revert device_registry.py change
* Fix rangefilter
RangeFilter would break for lower or upper bounds of 0, evaluating to False and thus not being handled correctly as bounds
* Add test for zero bounds
* Enable BMW component to be unit system aware
* lint fixes
* use constants for config entries
* remove configuration from component and rely only on HA config of unit_system
* remove unused import
* update code to reflect feedback
* lint fixes
* remove unnecessary comments
* rework return statement to satisfy pylint
* more lint fixes
* add tests for volume utils
* lint fixes
* more lint fixes
* remove unnecessary comments
* Made it possible to define multiple octoprint printers
* style fix
* Added configuration option for octoprint port
* SSL support in octoprint platform configuration
* Octoprint component now auto loads sensor and binary_sensor platforms
* preliminary support for auto discovery of octoprint servers
* Moved sensors and binary sensors configuration into main octoprint configuration
* Using base_url as the key for storing api in the octoprint component
* made sure to not supersede the platforms' domains
* bugfix: continue setting up other printers if one fails
* flake8 style correction
* Added icons to sensors
* Fail platform setup if no printers were successfully added
* Simplified custom validator
* Add support for monitoring the temperature of a thermoworks smoke thermometer.
* Use string formatting.
* Add line break.
* Add error handling for authentication.
* Fix linting errors.
* Fix quotes.
* Bump thermoworks_smoke library version.
* Review changes for @MartinHjelmare
* Add unique id attribute and change battery attribute to the standard "battery_level".
* requested changes to snake case and monitored conditions
* fix lint error
* exclude firmware from state attrs. rename original_unit to unit_of_min_max so it's more clear what it is for.
* add device_info
* add regex validator for exclude
* undo device info stuff
* remove serial number from attributes even though other components are allowed to have it...
* exclude firmware
* Using new methods for blink camera
- Refactored blink platform (breaking change)
- Camera needs to be uniquely enabled in config from now on
- Added motion detection enable/disable to camera platform
* Fix motion detection
- bumped blinkpy to 0.8.1
- Added wifi strength sensor
* Added platform schema to sensor
- Added global variables for brand and attribution to main platform
* Removed blink binary sensor
* Add alarm control panel
* Fixed dependency, added alarm_home
* Update requirements
* Fix lint errors
* Updated throttle times
* Add trigger_camera service (replaced snap_picture)
* Add refresh after camera trigger
* Update blinkpy version
* Wait for valid camera response before returning image
- Motion detection now working!
* Updated for new blinkpy 0.9.0
* Add refresh control and other fixes for new blinkpy release
* Add save video service
* Pushing to force bot to update
* Changed based on first review
- Pass blink as BLINK_DATA instead of DOMAIN
- Remove alarm_arm_home from alarm_control_panel
- Re-add discovery with schema for sensors/binar_sensors
- Change motion_detected to a binary_sensor
- Added camera_armed binary sensor
- Update camera device_state_attributes rather than state_attributes
* Moved blink.py to own folder. Added service hints.
* Updated coveragerc to reflect previous change
* Register services with DOMAIN
- Change device add for loop order in binary_sensor
* Fix lint error
* services.async_register -> services.register
* Initial commit
* Sockets have been moved to separate component
* Sockets have been moved to separate component
* Fix const PLATFORM_SCHEMA
* Fix unique id
* Fix async_create_task
* Fix PLATFORM_SCHEMA
* Fix typo
* Remove pylint disable
* Updates to GitLab Sensor
* Updates to GitLab_CI sensor.
* Added GitLab_CI sensor.
* Updated interval to a more appropriate 300 seconds.
* Added GitLab_CI.py to ommitted files.
* Initial refactor to use python-gitlab PyPI module.
* Fixes to dict parsing.
* Updated required packages for GitLab_CI requirements.
* Updates and refactoring to more closely align with Home-Assistant standards.
* Moved import to init, removed unreachable requests exception.
* Removed references to STATE_UNKNOWN and replaced with None
* Removed extra whitespace
* Changed PLATFORM_SCHEMA and renamed add_devices.
Changed PLATFORM_SCHEMA to use SCAN_INTERVAL and add_devices to add_entities
* Added configurable name, changed logger and removed cruft.
* Removed _status to use _state instead, as both held same value.
* Fixed ATTR_BUILD_BRANCH, removed more extraneous cruft.
* Changed required config keys to dict[key] format.
* Removed extraneous CONF_SCAN_INTERVAL as it's already defined.
* Refactored units and icons for the Dyson sensors
* Adapted unit tests to the new device names and unit of measurements
* Use None as empty unit of measurement
* Unrelated overall improvements following code review
* Adapted tests to new constructors as per previous commit
* Make sure the sensors have their `hass` attribute set in the test environment
* create binary sensor even if initial update fails
* fixed broken test assertion
* fixed broken test assertion
* avoid fetching resource twice - manually in the setup_platform and then through add_devices
* raising PlatformNotReady instead of creating the sensor if the initial rest call fails; throttling the update to avoid fetching the same resource again immediately after setting up sensor
* rolled back throttling of the rest update call; can still avoid updating the binary sensor's rest resoure twice; fixed tests
* typo
* Added Logi Circle platform, camera and sensor
* Integrated with Logo Circle API’s feature detection to exclude sensors not supported by device. Added services for recording livestream and taking a snapshot from the livestream.
* Migrated livestream snapshot and recording functionality out of home assistant components and into the logi circle API wrapper. Added services.yaml entries for logi services.
* Added new Logi sensor types, updated to latest version of `logi_circle` and tidy up in preparation for pull request.
- Renamed `logi_set_mode` to `logi_set_config`.
- Live stream recording and snapshot methods now respect whitelisted path configuration.
- Added `streaming_mode` and `speaker_volume` sensors.
- Moved model-specific turn on/off logic to `logi_circle` library.
* Renamed `logi` component domain to `logi_circle`.
* Updates based on PR feedback
* Added timeout of 15s to logi_circle initial setup requests (login and grabbing cameras).
* Added unique ID (uses MAC address for camera platform, MAC address + sensor type for sensor platform).
* Added battery level and battery charging attributes to camera.
* Removed static attributes from device_state_attributes.
* Replaced STATE_UNKNOWN with None, replaced ‘on’ & ‘off’ with STATE_ON and STATE_OFF.
* Removed redundant SCAN_INTERVAL in sensor, removed redundant hass param from async_setup_platform in camera and sensor.
* Style tweaks.
* Replaced `asyncio.wait_for` with `async_timeout` to be consistent with other components.
* Sensor values to be updated only when required (only after the train has crossed).
Looking at the documentation on https://transport.opendata.ch/docs.html, delay information is available only on stationboard, so no need to query often if there is no "real"time info.
* Bumping up version of python_opendata_transport to 0.1.4 in order to catch client errors like throttling rejection (HTTP 429)
* pleasing the hound
* bumping python_opendata_transport to 0.1.4
* Initial commit for jewish calendar sensor
* Make check for logging errors into it's own function
* Can't use f-strings as we need to support python3.5
* Implement basic functionality: printing of date
* Update requirements_all.txt
* Allow user to specify date for sensor
* Add hdate to test requirements
* Update to match pull request
* Support date output in hebrew
* Limit languages to english and hebrew
* Add name back to sensor
* Change icon to be calendar-today
* Add multiple sensors
* Fix tests
* Make Hound happy, remove unused imported class
* hdate expects datetime.date not datetime.datetime
* Return sensor name
* Times should be returned as time object, not datetime
* Add myself to codeowners for jewish calendar component
* Return actual reading, not index
* Add more tests. Currently failing.
Will need to update hdate API and version before continuing.
* Fix weekly portion test
* Make all tests pass
* Make travis happy and add a test so it doesnt happen again
* Remove defaults in __init__ method
* Change sensor state variable to local variable in update() method
* Minor changes
* Add bunch of RouterData tests
* Avoid raising AttributeError from RouterData.__getitem__
* Use new style string formatting
* Use {key: value} instead of dict(key=value)
* Migrating out the zoneminder platform (and camera.zoneminder) to a new library
* Clean up the global variable ZM usage
* Modify camera.zoneminder to use the new Monitor class implementation
* Refactor camera.zoneminder after latest refactor in zm-py
* Implementing changes to switch.zoneminder to use zm-py native methods
* Complete migrating over sensor.zoneminder to the zm-py library
* Tweaking ZoneMinder components from code review
* Linting fixes for the zoneminder components
* Directly assign value when turning on/off in switch.zoneminder
* Added support for multiple tag managers. Fixed typo for signal strength.
* Corrected broken merge.
* Fixed flake8/pylint error.
* Improved docstring.