* - Change how we extract the metrics for sensors
- Add component filtering as seen in influxdb
- Add metric override as seen in influxdb
- Add more unit tests with actual device data
* Extract sensor metric logic to separate handlers
* Update prometheus dependency
* Format using black
* Format using black
* Fix flake8
* Move sensor metric handler list to init
* Use f strings instead of .format
* initial working version
* support configured unit system and convert distance automatically
* properly unloading integration when removed and stopping refreshes
* ran isort
* fixed pylint
* introduced time filter of seven days into past
* adding unit tests
* fixed lint
* removed unused code
* added test case
* added test case for config flow
* fixed lint
* fixed comment
* removed unused test code
* increased test coverage
* fixed filtering by time
* changed wording in config flow
* reformatted with black
* removed unused logger
* fixed black
* changed default mmi
* reduced the options in the config flow form; fixed a few schema options and processing of data
* moved unsubscribing signals
* fixed minimum magnitude and modified tests
* fixed radius in imperial unit system
* increased test coverage
* simplified code
* fixed lint
* changed string formatting; simplified code
* removed unused strings
* added translation
* Fix 64-bit modbus sensor register reads
When reading four 16-bit modbus registers as a sensor value,
slave output is stored first as 64-bit integer, but before returning
that value is converted to double precision floating point. This
causes rounding errors for integer values bigger than 2^53.
After this change floating point conversion is done only if user
has configured scaling or offset using floating points.
* Formatting
* Review fixes
* add initial traccar webhook support
* remove unused import
* add tests but disabled atm
* remove translations
* add timestamp parameter
* use post for tests
* rename config_flow
* format using black
* format tests using black
* Use str instead of float
* fix most comments
* check id
* add two device test
* reformat
* fix failuers
* Update tests/components/traccar/test_init.py
Co-Authored-By: Martin Hjelmare <marhje52@kth.se>
* Update tests/components/traccar/test_init.py
Co-Authored-By: Martin Hjelmare <marhje52@kth.se>
* Update tests/components/traccar/test_init.py
Co-Authored-By: Martin Hjelmare <marhje52@kth.se>
* Update tests/components/traccar/test_init.py
Co-Authored-By: Martin Hjelmare <marhje52@kth.se>
* black
* Factor out code getting requirements for integration
* Have process requirements raise an exception
* One more lint fix
* Blackify
* Catch new exception
* Let RequirementsNotFound be a HomeAssistantError
* Correct another test
* Split catching of exceptions and avoid complete log
* Updater Component is always available and shows on/off wether an update is available
* Use == instead of is to compare strings
* Edit log message when local version is newer
* One more commit to trigger CI
* Add binary sensor
* Remove ATTR
* Use dispatcher
* Use callback instead of async
* Make flake happy
* Fix callback
* discover binary sensor
* flake
* Fix discovery
* prepared tests, TODO
* Fix tests
* Test release notes
* Add one more test
* Add another test
* Add docstring
* Revert "Add another test"
This reverts commit 3f896a4e3b.
* Remove unused file
* Update docstrings
* mock time
* Test renaming entity
* Add test_rename_entity
* Improve test_rename_entity
* Add missing abbreviations
* Move abbreviations to own file, add script to find missing abbreviations
* Move check from script to test case
* Lint
* Rewrite to use pathlib
* Lint
* Move ZIGBEE_CHANNEL_REGISTRY to ZHA core registries.
* Refactor more ZHA Core registries to use decorator.
* Cleanup.
* Use relative imports for component.
* Flake8.
* Make pylint happy again.
* Add in a switch platform to ring.
* Changes following code review
* remove tests for now
* remove the request to call update
* support the new type of test
* update after running black
* fix comment
* fixes following code review
* Remove ring cache file
* patch out io code
* Move the patches to within a fixture
* missing period
* Move ZCL report configs to ZHA core channels.
* Refactor ZCL report configuratopm and cluster binding.
* Tests for ZHA channel configuration.
* Update tests.
* Remove INPUT_BIND_ONLY_CLUSTER ZHA core registry.
We always need bind a cluster, but not always need to configure
attribute reporting. No reporting is done on ZCL "client" clusters.
* Lint
* Black
* Initial commit
* Add some more code
* Local tests passing
* Remove unnecessary line
* Add preset attributes to __init__
* Remove some more debugger lines
* Add some tests
* Fix comparision to None
* Improve test coverage
* Use unknown modes as presets
* Bugfixes and test improvements
* Add tests for unknown preset modes
* linting
* Improve mappings
* Move PRESET_MANUFACTURER_SPECIFIC to zwave
* Replace isinstance with cast
* Add test for hvac_action
* hvac_mode is never None
* Improved mapping of current mode to hvac/preset modes
* Fix bugs where hvac_mode is None
* Add default hvac mode
* Fixed default hvac mode
* Fix linting
* Make flake happy
* Another linting
* Make black happy
* Complete list of default hvac modes
* Add mapping to heat/cool eco
* Fixed another bug where mapping goes wrong
* Convert sensor setup to async
* Improve sensor unique ids
* Save some indent levels, use f-string formatting
* Require getmac in tests
* Fix RouterData init in tests
* Make discovery_info optional in async_setup_platform signature
* Add in a switch to control lights and sirens
* Improve the way sensors are updated
* fixes following flake8
* remove light platform, and fix breaking test.
* Resolve issues with tests
* add tests for the switch platform
* fix up flake8 errors
* fix the long strings
* fix naming on private method.
* updates following p/r
* further fixes following pr
* removed import
* add additional tests to improve code coverage
* forgot to check this in
* Fix Ecobee HVAC action + available presets
* Update python-ecobee-api to 0.0.21
* Include proper operation list.
* Allows pass on preset to set_climate_hold
* Remove aux heat as a preset
* Fix test
* Initial work on config_flow
* Finish config flow
* Pylint checks, make sure the import only happens once
* Added support for unloading, small fixes
* Check in the hassfest output files
* Flake8 fixes
* pylint mistake after flake8 fixes
* Work on comments
* Abort the import if it is already imported
* More comments resolved
* Added testcases for velbus config flow
* Fix pylint and flake8
* Added connection test to the config flow
* More sugestions
* renamed the abort reason
* excluded all but the config_flow.py from the velbus component in coveragerc
* Rewrote testcases with a patched version of _test_connection
* Docstyle fixes
* Updated the velbus testcases
* just yield
* flake8 fixes
* Stub for polling from a central location
* Allow connection to know the entity objects attached to it
* Move polling logic to connection
* Don't poll if no characteristics selected
* Loosen coupling between entity and HKDevice
* Disable track_time_interval when removing entry
* Revert self.entities changes
* Use @callback for async_state_changed
* Split out unload and remove and add a test
* Test that entity is gone and fix docstring
* Reformat saved media data/ fix load + save helpers
* Add url constant
* Reformat saved media data
* Add tests for media data
* Refactor
* Revert deleted lines
* Set attrs after checking for lock
* Patch load games.
* remove unneeded imports
* fix tests
* Correct condition
* Handle errors with loading games
* Correct condition
* Fix select source
* add test
* Remove unneeded vars
* line break
* cleanup loading json
* remove test
* move check for dict
* Set games to {}
* Add severe weather alert sensor to Dark Sky
* fixup test case
* address review comments and fixup testcases
* address comments, fix assertion order
* remove extra line
* remove index increment
* Move device tracker to use config entry
* Remove monitored conditions attributes based on ADR0003
* Add support for import of device tracker config to be backwards compatible
* Remove unnecessary configuration options from device tracker
* Add component configuration support
* Added code to support entity and domain filters in the config for splunk component, and the code to enforce the filter.
* * Moved code for posting splunk request to separate function, primarily to more easily write a test case where I can mock the point where the post would occur and validate that filtering is working correctly.
* Test cases created for full config check and to test the filtering
* Correcting static check errors/issues
* Correcting flake8 static check issue (introduced when addressing prior static check issues)
* Removing unused parameter to setup function - cleanup from reviewer request.
* Correct google calendar test name
* Rewrite calendar component
* Save component in hass.data.
* Rename device_state_attributes to state_attributes.
* Remove offset attribute from base state_attributes.
* Extract offset helpers to calendar component.
* Clean imports.
* Remove stale constants.
* Remove name and add async_get_events.
* Add normalize_event helper function. Copied from #21495.
* Add event property to base entity.
* Use event property for calendar state.
* Ensure event start and end.
* Remove entity init.
* Add comment about event data class.
* Temporary keep old start and end datetime format.
* Convert demo calendar
* Convert google calendar
* Convert google calendar.
* Clean up google component.
* Keep offset feature by using offset helpers.
* Convert caldav calendar
* Clean up caldav calendar.
* Update caldav cal on addition.
* Bring back offset to caldav calendar.
* Copy caldav event on update.
* Convert todoist calendar
Persons are now threated the same as device trackers, so the logbook states
"<name> is at <location>" or "<name> is away" instead of "<name> changed to <location|not_home>"
Binary sensors now show phrases that relate to their device_class attribute.
So "Front door is closed" instead of "Front door turned off" or "Hallway PIR detected movement"
instead of "Hallway PIR turned on"