* Fixed a bug where changing fan speed was not possible
* Bump pymodbus version to 1.3.1 to fix issue #8285
* Changed all modbus components so that they use CONF_SLAVE from const.py
In trying to come up for some reason behind issue #6365 (which only
happens on some platforms) the best guess is that some components are
managing to get a string value all the way up to the Polymer UI for
temperature, which then an increment of +0.5 is treating as a string
concat operation instead of addition. So 20 + 0.5 becomes 200.5 hits
the max thermostat value.
This will throw an exception if the climate temp value isn't a
number. That's going to turn a soft fail into a hard fail on
potentially a number of platforms. Mysensors is one of the platforms
that was reported as having the issue. So put some explicit float
casts where that might be coming from as well.
Model CT50 has an "Auto" mode. When mode is set to auto we need to ask
what the current state is: cool or heat. Then we can query the
appropriate target temperature.
Without this fix, the target temperature shows up blank in the UI and
setting the mode fails.
* added default parameter
* zone overlay can be set with or without a temperature and with or without a duration. Duration is not supported by hass
* Fixes issue #7059 with missing sensorDataPoints
* Fixes issue #6943 added ac_mode
* ac_mode cases
* added fan modes
* changed handling of device state OFF
* fixed an error initializing a dictionary (#6943)
* changed pytado version
* activated pytado debugging
* Changed pyTado version
* mytado.com changed authentication challenge
* Fixed linelength and whitespace issues
* requirements to pytado changed
* Add Sensibo climate platform
* Force update after running a service
* Add sensibo to .coveragerc
* Use 10s timeout
* Fix schema. Remove print.
* Better handle unit conversions.
* Fixes utf-8 encoding no longer required by libopenzwave0.3.3
Removes byte encoding for values operation mode, fan mode and swing
mode.
* Fix zwave climate tests for utf-8 change
* Add link to docs and remove comments which are obvious
* Update docstrings
* Repleace conf details with link to docs
* Add link to docs
* Update docstrings
* Update import
* Update ordering
* Update ordering
* Update docstring
* Update ordering
* Update ordering
* Added tado climate component
named the component v1 because of the unsupported state of the api I
used (mytado.com)
* sensor component
* climate component which uses sensors
* main component initiating sensor and climate devices
* order of imports
* consts for username and password
* removed redundant code
* changed wrong calls and properties
* remove pylint overrides
* merged update() and push_update()
* changed wrong calls
* removed pylint overrides
* moved try..except
* renamed MyTado hass-data object
* added TadoDataStore
* moved update methods from sensor to TadoDataStore
* reorganised climate component
* use new TadoDataStore
* small change to overlay handling
* code refactoring
* removed unnessesary comments
* changed throttle to attribute
* changed suggestions from PR
* Added constant variable for string literal
* remove wrong fget() call
* changed dependencies
* Changed operation mode list
* added human readable list of operations
* removed unnecessary const
* activated update on add_devices
* droped unit
* removed unnused property
* changed temperature conversion
* removed defaults from config
changed naming of tado data const
* switched operation_list key/values
* changed the value returned as state
* added one extra line
* dropped state to use base impl.
* renamed component
* had to inplement temperature_unit
* because it is not implemented in base class
* create a copy of the sensors list
* because it can be changed by other components
* had to check for empty data object
* hass is too fast now
* Refactor zwave discovery to entity schema
* Address PR concerns
* Split DISCOVERY_SCHEMAS into separate file
* Only check cover reverse workaround once
* Integrate suggestion in #5590 by nordlead2005. This change has been
sitting in limbo for over a month, but it is a good idea. I don't
mean to step on nordlead2005's toes, but we need to make progress.
* Use defined constant for TEMPERATURE_HOLD
* Integrate handling of vacation into hold mode. Canceling vacation
hold requires an update to the external pyecobee library. Creation
of vacation is not supported (it would be straightforward in the code,
but a complex user interface would be required, similar to what is
now done in the ecobee thermostat).
* Add capability to retrieve list of defined climates from ecobee.
* The mode() method used to return the system mode in internal
representation. However, the user sees a different notation in
the ecobee thermostat. Seeing some internal name is particularly
weired with user-defined climates, where these are named "smart1",
"smart2", etc., instead of the name the user has defined. Return
the user-defined name instead. This change might break some user
interfaces but is easily remedied (e.g., use "Away" instead of
"away").
* Simplify is_away_mode_on().
* Correction of erroneously indented else statement.
* Change comment as flake8 gets confused.
* Make zwave devices listen on less network changes.
* Convert more platforms
* Remove printouts.
* Fix copy-paste
* Change default dependent list to empty list
* Create zwave devices on OZW thread and only add them during discovery.
* Read and write devices dict from loop thread.
* More async
* replace callback with coroutine
* import common function instead of callin git
* First round of not using values directly
* Round two
* lint
* Round four
* Conflict
* Round five
* Update zwave.py
* round six
* Docstring
* flakywakie
* Fetch values in constructor
* Blank line removal
* Set attributes in callback
* Docstring
* Round seven
* Ughgit add homeassistant/components/lock/zwave.py!
* Sloppy code
* Add support for the Open Energy Monitor Thermostat
* Fix linting errors
* Define an update method and local state
* fix linter
* Small tweaks.
Update oemthermostat version, default name and docstrings
* Fail to setup oem platform if connection fails.
* update requirements
* More tweaks to auth and exceptions
* Remove target temp
* Support away_mode as permanent hold and hold_mode as temporary hold.
* Add comments to explain code better. Remove indefinite hold preference
to be consistent with 'away_mode'.
* Remove redundant input validation which is already accomplished through
defined schemata.
* Rely on defined state attributes for hold mode.
* Remove misleading comment. This comment seems to assume that sleep
mode is a hold; it is a schedule instead. The code snippets in the
comment could never work.
* Remove use of constants for hold mode. Will be made irrelevant
by a planned change by nordlead2005.
* Added door bell sensors
* Initial support for AC units.
* Added new device service
* Quirky Aros AC unit support
* Use super() everywhere and error checking for token request.
* Ignore camera sensors during setup of alarms.
* Added manufacturer/device attributes to all wink devices.
* Fixed style errors
* Fixed remaining lint errors.
After _control_heating() is executed, current_operation() is correctly called but _is_device_active() still reports the old state if the heater switch, at least in my case. The resulting climate state is incorrect until the next refresh, which apparently occurs only when _sensor_changed() gets called (it can be minutes after).
I think the state of the heater switch should be forced to update at the end of _control_heating(), but I don't know how to do that...
A simple sleep() fixes it, but obviously is just a temporary workaround, I'm not really expecting this PR to be actually committed, unless there's no other solution.
* Made target temperature sensitive to auto mode
* Used current_operation instead of operation_mode
* When not in auto_mode, the temperature is sent to set_temperature
* Low and high targets are switched in the call to set_temperature.
* Missed on current_operation. Use STATE_AUTO.
* Remove incorrectly checked in directory.
* Updated set_temperature based on Martin's feedback.
* Use ATTR_TEMPERATURE from const.py
* Add mysensors notify platform
* Make add_devices optional in platform callback function.
* Use new argument structure for all existing mysensors platforms.
* Add notify platform.
* Update mysensors gateway.
* Refactor notify setup
* Enable discovery of notify platforms.
* Update and add tests for notify component and some platforms.
* Continue setup of notify platforms if a platform fails setup.
* Remove notify tests that check platform config. These tests are not
needed when config validation is used.
* Add config validation to APNS notify platform.
* Use discovery to set up mysensors notify platform.
* Add discovery_info to get_service and update tests
* Add discovery_info as keyword argument to the get_service function
signature and update all notify platforms.
* Update existing notify tests to check config validation using test
helper.
* Add removed tests back in that checked config in apns, command_line
and file platforms, but use config validation test helper to verify
config.
* Add a test for notify file to increase coverage.
* Fix some PEP issues.
* Fix comments and use more constants
* Move apns notify service under notify domain
* eq3btsmart: support modes and clean up the code to use climatedevice's features
* eq3btsmart: re-add device state attributes
adds reporting for is_locked, valve, window_open and low_battery,
exposing everything the device reports currently.
* eq3btsmart: bump version req
* eq3btsmart: fix a typo in mode name, report unknown when not initialized
* eq3btsmart: depend on newly forked python-eq3bt lib, pythonify states
* ecobee_set_fan_min_on_time: fix issue using 'entity_id' field and add service field help text
* climate.ecobee: add 'resume_program' service
* Add default value for resume_all and correct entity_id field name reference
* Updated Nest API to have logical names
* Fix NoneType not having replace method in NestSensor constructor
* Move name setting to constructor, in case zone.name causes IO.
* normalize is_online to online
* Updated python-nest API
* push is_* helpers down to python-nest, and use inheritence to implement rather than checking class name
* Update python-nest
* Ecobee autoAway Event
* Update ecobee.py
Checking if event['running'] true is pointless because if false event['type'] will equal template and when true type will only be 'hold' or 'autoAway' so I've removed this check from the statement
* Updated python-nest dependency
This sha fixes two issues:
- min and max temperatures not being set when temperature isn't locked
- fixes error when setting farenheit with a .5
* gen requirements all
* Add fix for https://github.com/home-assistant/home-assistant/issues/4731
* 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
* 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
This lets components declare their precision for temperatures. If
nothing is declared, we assume 0.1 C and whole integer precision in
F. Currently this supports only WHOLE, HALVES, and TENTHS for
precision, but adding other precision levels is pretty straight
forward.
This also uses proliphix as an example of changing the precision for a
platform.
Closes bug #4350
* Climate: more consistent units
* Prevent unnecessary conversion in entity component
* int -> round
* Disable Google tests because they connect to the internet
* Remove default conversion rounding F->C
* Add rounding of temp to weather comp
* Fix equality
* Maintain precision when converting temp in entity
* Revert "Disable Google tests because they connect to the internet"
This reverts commit b60485dc19.
* 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
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.
* #3899 - Ecobee tempoeratures
* #3899 Remove unused import
* #3899 Implement min/max_temp in ecobee.py as these temperatures have to be in F for ecobee api.
* #3899 Stale print
* #3899 Use min/max_temp from base class
* #3899 Removed unused import (again) so tests pass since changing to use super class
* #3899 Fix long lines
* #3899 Install tox locally... make it happy, commit
* #3899 Remove overridden min/max_temp and instead update __init__:min/max_temp to convert to self.temperature_unit (of the thermostat) as opposed to self.unit_of_measurement (of the system), which is wrong
* Remove unused import from ecobee
* Separate platform and presentation units in climate
* Fix unit tests
Maybe
* Fix unit tests some more
Maybe
* Rename _platform_unit_of_measurement to temperature_unit
* Fix tests for renamed attribute
* Added additional checks which hides functions which are not support (like fans / humidity / cooling)
* Fixed pylint and flake8 errors (not test file available)
* Fixed pydocstyle error
* Refactored Code and Comments as described in pull-request
* Added additional comment and requesting retest
* Upgraded to python-nest 2.11 which contains previously hidden functions
* 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
* Fixed issue #3574 - Temperature slider fixed on frontend on heat/cool mode
* Fixed target_temperature to return None when self.is_away_mode_on is True
Sep 29 00:59:22 pi hass[21333]: if self.device.measurment_scale == 'F':
Sep 29 00:59:22 pi hass[21333]: AttributeError: 'Device' object has no attribute 'measurment_scale'
* Update ecobee to use only range setpoints
* Update nest to only use range setpoints
* Update demo to use only range for ecobee test device
* Update test
* Fetch unit from ecobee
* generic_thermostat did not have state
* generic_thermostat test update
* Added Support for mysensnors Climate/HVAC device
* Added Support for mysensnors-hvac device:fix pylint error
* Added Support for mysensnors-hvac device:fix pylint error2
* Fixed Issues in code as per review comments
* Fixed Linter Errors
* Fixed Linter Errors:2
* Fixed Linter Errors:2
* Fixed Linter Errors
* Fixed Linter Errors
* Fixed Linter Errors
* Added Support for MySensors HVAC| Fixed Review Comments| Removed Additional Comments
* Added Support for MySensors HVAC| Fixed Review Comments Itr2
* Changes to correctly support devices with both high and low bound temperatures
* Changed to optimize the code
* Update Ecobee state after making changes to climate
Without this, climate and sensor state will take up to 3 minutes
(the MIN_TIME_BETWEEN_UPDATES on its update throttle) to update in
the interface, which makes it more difficult to do automation around the
state.
* Use a boolean instance variable that update can check, rather than always calling update
* If device was off set target temp would not work.
* Changed to use a workaround just for Horstmann HRT4-ZW Zwave Thermostat
* Wrong Horseman id
* style changes