* Allow user to configure server id to perform speed test against
* Don't overwrite list
* Type-o
* Convert to string
* Append lists
* str(None) => 'None' did not realize that.
* Added support for serial HM-Z19 CO2 sensor
* Minor pylint bug fixes
* Added new files to .coveragerc
* Removed newline
* Changes in requirements after change of pmsensor library
* Change the implementation of default name
* Check if serial interface is working before adding the sensor
* Maximum sensor value is 5000ppm
The repository already merged the pull request adding python3 support.
root is no longer required to use the gpio.
Signed-off-by: Roi Dayan <roi.dayan@gmail.com>
* Clean-up, ordering, constants, and extend of schema
* Put REQUIREMENTS back and re-add line breaks
* Clean-up, ordering, constants, and extend of schema
* Extend platform
* Added support for name
Added name support and changed default name to "Forecast.io" since "Weather" had conflict with Yahoo weather and Open weather map
* Update forecast.py
* Add FritzBox call monitor sensor
* Correct docstrings and suppress too few public methods warning
* Remove blank lines after docstrings
* Add blank lines after class docstrings
* Remove trailing white space
* Make daemon; add reconnect on disconnect
* HP ILO component
* HP ILO component
* Add Onboard Administrator sensor
* Add Onboard Administrator sensor
* Add period to first line
Fix D400 error on line 1
* Implemented range checking for temperature and humidity. Out-of-range values will be ignored
* Removed unused import
* Use celsius_to_fahrenheit conversion method
* Add support for GPSD
* Add gpsd.py
* Check if socket is open
* Fix pylint issue
* Rename file to be a sensor
* Update for being a sensor
* Rework for being a sensor
* Update to latest Plex API, add music support.
* Fix PyLint errors.
* Update Plex sensor module to latest PlexAPI.
* Oops - update Python sensor import.
* According to PlexAPI docs, this is the new API for Plex Pass members.
* More pylint STFUs.
* Move pylint suppression.
* Use plexapi NA type directly.
* Pylint objects to short variable names.
Add unit symbol constants
Initial unit system object
Import more constants
Pydoc for unit system file
Import constants for configuration validation
Unit system validation method
Typing for constants
Inches are valid lengths too
Typings
Change base class to dict - needed for remote api call serialization
Validation
Use dictionary keys
Defined unit systems
Update location util to use metric instead of us fahrenheit
Update constant imports
Import defined unit systems
Update configuration to use unit system
Update schema to use unit system
Update constants
Add imports to core for unit system and distance
Type for config
Default unit system
Convert distance from HASS instance
Update temperature conversion to use unit system
Update temperature conversion
Set unit system based on configuration
Set info unit system
Return unit system dictionary with config dictionary
Auto discover unit system
Update location test for use metric
Update forecast unit system
Update mold indicator unit system
Update thermostat unit system
Update thermostat demo test
Unit tests around unit system
Update test common hass configuration
Update configuration unit tests
There should always be a unit system!
Update core unit tests
Constants typing
Linting issues
Remove unused import
Update fitbit sensor to use application unit system
Update google travel time to use application unit system
Update configuration example
Update dht sensor
Update DHT temperature conversion to use the utility function
Update swagger config
Update my sensors metric flag
Update hvac component temperature conversion
HVAC conversion for temperature
Pull unit from sensor type map
Pull unit from sensor type map
Update the temper sensor unit
Update yWeather sensor unit
Update hvac demo unit test
Set unit test config unit system to metric
Use hass unit system length for default in proximity
Use the name of the system instead of temperature
Use constants from const
Unused import
Forecasted temperature
Fix calculation in case furthest distance is greater than 1000000 units
Remove unneeded constants
Set default length to km or miles
Use constants
Linting doesn't like importing just for typing
Fix reference
Test is expecting meters - set config to meters
Use constant
Use constant
PyDoc for unit test
Should be not in
Rename to units
Change unit system to be an object - not a dictionary
Return tuple in conversion
Move convert to temperature util
Temperature conversion is now in unit system
Update imports
Rename to units
Units is now an object
Use temperature util conversion
Unit system is now an object
Validate and convert unit system config
Return the scalar value in template distance
Test is expecting meters
Update unit tests around unit system
Distance util returns tuple
Fix location info test
Set units
Update unit tests
Convert distance
DOH
Pull out the scalar from the vector
Linting
I really hate python linting
Linting again
BLARG
Unit test documentation
Unit test around is metric flag
Break ternary statement into if/else blocks
Don't use dictionary - use members
is metric flag
Rename constants
Use is metric flag
Move constants to CONST file
Move to const file
Raise error if unit is not expected
Typing
No need to return unit since only performing conversion if it can work
Use constants
Line wrapping
Raise error if invalid value
Remove subscripts from conversion as they are no longer returned as tuples
No longer tuples
No longer tuples
Check for numeric type
Fix string format to use correct variable
Typing
Assert errors raised
Remove subscript
Only convert temperature if we know the unit
If no unit of measurement set - default to HASS config
Convert only if we know the unit
Remove subscription
Fix not in clause
Linting fixes
Wants a boolean
Clearer if-block
Check if the key is in the config first
Missed a couple expecting tuples
Backwards compatibility
No like-y ternary!
Error handling around state setting
Pretty unit system configuration validation
More tuple crap
Use is metric flag
Error handling around min/max temp
Explode if no unit
Pull unit from config
Celsius has a decimal
Unused import
Check if it's a temperature before we try to convert it to a temperature
Linting says too many statements - combine lat/long in a fairly reasonable manner
Backwards compatibility unit test
Better doc
* Make sure values are updated regardles of manual or frontend update,
* Devices with set_switch command was not happy with fast updating.
* Binary triggersensors command was not happy with refreshed updating.
* Add power attribute to switch.
* Move device_state_attributes into base class.
* Fix imports following refactor.
* Bump pyvera version - should add contributed support for older (UI5) version dimmers and locks.
* Refactor device lookup to be based on vera classes, push category back into library.
* Add generic power attribute, fix inherited class order bug.
* Tidy.
* Allow owntracks entity for google travel times
* Added ability to use sensor state as location
* Added zone checks for google travel timesg
* Updated to use global constents and the location helper
* Fixed type in method name and removed redundant validation
* Changed domain condition to be a bit more elegant
* Updated to allow friendly name in any instance including the config
* Fixed bad python syntax and used helper methods
* Imap unread email sensor
Checks the inbox of a imap account for unread emails. Tested against
gmail.
Example config:
```
sensor:
- platform: imap
name: gmail test
user: USER
password: PASSWORD
server: imap.gmail.com
port: 993
```
* added to .coveragerc
* Code cleanup and typo fix.
* Added port range validation
* Fix lint errors
* Replace switch with lock
* Update docstrings
* Add link to docs
* Add link to docs and update docstrings
* Update docstring
* Update docstrings and fix typos
* Add link to docs
* Add link to docs
* Add link to docs and update docstrings
* Fix link to docs and update docstrings
* Remove blank line
* Add link to docs
* Support more types of 1wire sensors and bus masters
- Added support for DS18S20, DS1822, DS1825 and DS28EA00 temperature sensors
- Added support for bus masters which use fuse to mount device tree.
Mount can be specified by 'mount_dir' configuration parameter.
* Correct the lint problem
* 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
* Add support for wind, battery, radio signals
* Fix indentation error
* second indentation fix
* Fix for pylint too many statements error
* Moving "pylint: disable=too-many-statements"
* Created a new platform for envisalink-based alarm panels (Honeywell/DSC)
* Added a sensor component and cleanup
* Completed initial development.
* Fixing pylint issues.
* Fix more pylint issues
* Fixed more validation issues.
* Final pylint issues
* Final tweaks prior to PR.
* Fixed final pylint issue
* Resolved a few minor issues, and used volumptous for validation.
* Fixing final lint issues
* Fixes to validation schema and refactoring.
add option to name in config
fix const import
use plexapi
add myplex support for remote access
use first server if server not specified
use list comprehension
use dictionary comprehension
* Refactor Forecast.io
* Some more refactoring and code review workoff
* Dict switch refactor
* CamelCase for data lookup
* Fixing unit_of_measure update
* Better default return for unit_of_measurement
* Test fix
* Add mysensors IR switch device and service
* Add MySensorsIRSwitch as child class to MySensorsSwitch.
* Add platform specific service mysensors_send_ir_code. Only call
device method in service function if device is IR device.
* Add service and required attribute to state helper to support scenes.
* Move V_IR_SEND type from sensor.mysensors to switch.mysensors
platform.
* Populate switch.services.yaml with service descriptions.
* Fix check of entity_id in service function
Since multiple entity_ids can be passed as service data, and the
entity_id service attribute is forced to a list by the service
validation schema, the check in the service function should iterate
over any entity ids.
* Introducing the Netatmo component
As Netatmo is providing several type of device (sensor, camera), a new Netatmo
component needs to be created in order to centralize the Netatmo login data.
Currently this change only impacts the Netatmo Weather station
* Add new Netatmo library
This new API will provide access to the Welcome Camera
* Basic support for Netatmo Welcome camera
This change introduces support for Netatmo Welcome camera. Currently, it will
add all detected camera to Home Assistant, camera filtering (similar to the one
used for weather station modules) will be added later
* Remove useless REQUIREMENTS
* Fixes for Netatmo Welcome support
* Allow to filter Welcome cameras by name and/or home
* Update requirements for Netatmo components
* Fix multi-camera support for Welcome
* Fix pep8 error/warning
* This commit also adds improved logging for bad credentials
* Add Throttle decorator for Welcome update function
As the update function updates the data for all cameras, we should prevent this
function to be called several time during an interval
Previously experienced issues on routes where services operate in both
directions. The query picked up not just paths where service goes
from Origin -> Destination, but trips going Destination -> Origin,
and shown bogus results.
Ensure that this doesn't happen by requiring the origin station's
stop_sequence value to be lower than the destination station.
This is useful to vaoid having several graph for the same type of data
According to wikipedia:
Units derived from the bar include the megabar (symbol: Mbar),
kilobar (symbol: kbar), decibar (symbol: dbar), centibar (symbol: cbar),
and millibar (symbol: mbar or mb).
* List entity_ids in config and only react to them
This allows us to define a list of entity_ids in the config to make the
template sensor, binary sensor and switch only react to state changes of
these entities instead of listening to all state changes.
* Forgot to import the track_state_change function
* Changed test for added entity_ids to config
* Use default MATCH_ALL and remove event_listener
* Initial support for EnOcean
Tested to work with:
- Eltako FUD61 dimmer
- Eltako FT55 battery-less switch
- Permundo PSC234 (switch and power monitor)
* Rerun gen_requirements_all.py
* 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
* Update google_travel_time.py
* Update google_travel_time.py
* pylint: disable=too-many-instance-attributes
* Add the mode to the title of the sensor
* Expose the travel mode on the sensor attributes
* Big improvements to the Google Travel Time sensor. Allow passing any options that Google supports in the options dict of your configuration. Deprecate travel_mode. Change name format to show the mode
* fu farcy
* Dynamically convert departure and arrival times
* Add a warning if user provides both departure and arrival times
* Add deprecation warning for travel_mode outside options and other minor fixes
* Use a copy of options dict to not overwrite the departure/arrival times constantly.
* Remove default travel_mode, but set default options.mode to driving
* Google doesnt let us query time in the past, so if the date we generate from a time string is in the past, add 1 day
* spacing fix
* Add config validation for all possible parameters
* flake8 and pylint fixes
* Bring back the functionality that was removed in PR 1717. This includes the speedtest service and the ability to define the scan times in the configuration file. Restore default functionality of 1 scan per hour on the hour.
* remove unnecessary code.
* Add MySensorsDeviceEntity class to hold the common attributes,
properties and methods for mysensors entities.
* Inherit from MySensorsDeviceEntity class in binary_sensor, light,
sensor and switch mysensors platforms.
* Remove not needed attribute and method for const in GatewayWrapper
class. The const attribute is already set in the wrapped object.
* Clean up state property for mysensors sensor entities.
* Inherit from MySensorsLightRGB in MySensorsLightRGBW class.
* Remove use of get_component in mysensors component and platforms.
* Clean up update method in MySensorsDeviceEntity class.
* Bump version of pymysensors to 0.6, which includes the tcp gateway.
* Update requirements_all.txt.
* Replace CONF_PORT with CONF_DEVICE and ATTR_PORT with ATTR_DEVICE.
* Add tcp_port in config.
* Try to guess if tcp or serial gateway is configured, by validating
device name as an ip address. If successful setup tcp gateway, if it
fails, setup serial gateway.
* Update device_state_attributes to show correct device, ethernet or
serial.
The setup_platform function is trying to get CONF_LATITUDE and CONF_LONGITUDE,
but the validation schema was not accepting these.
Also moved CONF_MONITORED_CONDITIONS and CONF_ELEVATION to homeassistant.const
because they are used in other places.
Calculate average download rate the same way as downloadrate
Add config option for choosing which nzbget variables to monitor, and provide a default
Pep8 fixes
Refactoring and changes based on @balloob's comments
Add nzbget.py to .coveragerc omit list. Check if there are any http
errors (like bad auth) when creating the nzbgetapi class. If there
are, the setup_platform() function will return false. Exceptions are
logged as well.
When a new sensor is created, assign the initial value from the api
instead of simply using None until the first update call.