J. Nick Koston
29f50ddc9c
Fix z-wave brightness off by one ( #34170 )
...
Z-wave would drop the floating point by calling
int() instead of round() which would result in
the brightness being off by one in many cases.
2020-04-13 17:51:35 -05:00
springstan
02c9e47db8
Use ENERGY_KILO_WATT_HOUR constant ( #33962 )
2020-04-10 20:21:29 +02:00
Franck Nijhof
98a2efcbab
Collection of random (mainly) test improvements ( #33733 )
2020-04-06 12:51:48 +02:00
Ziv
5711c0882f
Fix exception in zwave test ( #33711 )
...
would be better to not have it in there but mock has all attributes
2020-04-05 15:17:24 -07:00
Paulus Schoutsen
aef06a3544
Directly call write state 2 ( #33513 )
...
* Directly call async_write_ha_state pt2
* Directly call async_write_ha_state pt2
* Fix mock
* Address comments
2020-04-03 09:34:50 +02:00
David F. Mulcahey
8b0a0ee521
Don't write storage to disk while stopping ( #33456 )
...
* Don't write storage to disk while stopping
* rework change
* lint
* remove delay save and schedule final write at stop
* update tests
* fix test component using private methods
* cleanup
* always listen
* use stop in restore state again
* whitelist JSON exceptions for later
* review comment
* make zwave tests use mock storage
2020-04-02 10:25:28 -07:00
Paulus Schoutsen
eac1f029e5
Allow string values on zwave.set_node_value ( #31061 )
...
* Allow string values on zwave.set_node_value
This allows for:
* Accessing longer value_ids. In some cases, value ids in z-wave nodes are very large (17 digits in my case). Passing them as int does not seem to work well (python probably truncates the number), but passing them as string works fine
* Changing color values, which are represented as hex string
reformat test
* update services.yaml with string set_node_value
2020-03-04 17:40:58 -08:00
springstan
f1a0ca7cd3
Add and use percentage constant ( #32094 )
...
* Add and use percentage constant
* Fix pylint error and broken test
2020-02-28 11:46:48 -08:00
Christian Clauss
df7d2b3aeb
Fix typos found by codespell ( #31243 )
...
* Fix typos found by codespell
* Fix typos found by codespell
* codespell: Furture ==> Future
* Update test_config_flow.py
* Update __init__.py
* Spellcheck: successfull ==> successful
* Codespell: unsuccesful ==> unsuccessful
* Codespell: cant ==> can't
* Codespell: firware ==> firmware
* Codespell: mimick ==> mimic
2020-01-31 08:33:00 -08:00
Ville Skyttä
fa4fa30461
Various string cleanups ( #30435 )
...
* Remove some unnecessary string concatenations
* Replace some simple str.formats with f-strings
* Replace some string concatenations with f-strings
2020-01-03 14:47:06 +01:00
Paulus Schoutsen
bb14a083f0
Store capabilities and supported features in entity registry, restore registered entities on startup ( #30094 )
...
* Store capabilities and supported features in entity registry
* Restore states at startup
* Restore non-disabled entities on HA start
* Fix test
* Pass device class from entity platform
* Clean up restored entities from state machine
* Fix Z-Wave test?
2019-12-31 14:29:43 +01:00
Andrew Onyshchuk
bfafa77016
Fix support for legacy Z-Wave thermostats ( #29955 )
...
This brings back support for Z-Wave thermostats
of SETPOINT_THERMOSTAT specific device class.
Such devices don't have COMMAND_CLASS_THERMOSTAT_MODE
and are now handled separately.
2019-12-15 20:02:18 -05:00
Bas Nijholt
16a7408f23
Sort imports according to PEP8 for zwave ( #29658 )
2019-12-09 12:29:12 +01:00
Andrew Onyshchuk
f5c01cc30d
Improve z-wave thermostat support ( #27040 )
...
* Improve z-wave thermostat support
Discover thermostat using COMMAND_CLASS_THERMOSTAT_MODE
so that it is a single entitiy in case there are multiple
setpoints. z-wave docs mention it is always present.
Add support for single/range target temperature depending
on the current thermostat mode.
* Remove debug print
* Refactor Z-Wave dynamic setpoint(s) selection
- use explicit mapping between modes and setpoints as defined in
Z-Wave specs
- add tests for away (2 setpoints) and heat eco (1 setpoint) modes
* Add non-standard thermostat mode aliases
2019-11-25 16:32:37 -08:00
Franck Nijhof
04ab20846a
Bump black to 19.10b0 ( #28310 )
2019-10-28 23:32:34 -07:00
Andrew Onyshchuk
eeffd090a3
Add support for Z-Wave battery level ( #26943 )
...
* Add support for Z-Wave battery level
* Improve coverage
2019-09-27 10:21:04 -07:00
lifeisafractal
5d5102e1a2
Add zwave application version ( #26205 )
...
* Set application version in zwave
* update tests for more coverage
2019-09-09 23:59:40 +02:00
Robert Svensson
a2589f56e1
Add system options to config entries ( #25926 )
...
* Add system options to config entries
* For feedback
* Follow most of balloobs comments
* Fix balloobs comments
* Improvements
* Fix second round of Balloobs comments
* Fix third round
* Add system options to mock config entry
* Fix integration tests
* Fix the last failing tests
* Fix disabled string
* Fix failing disabled_by tests
* New tests
* Config entry WS API tests
* Fix comments
2019-08-17 21:34:11 -07:00
jaminh
5e00b546eb
Zwave Climate: Fan state attribute missing ( #25287 ) ( #25573 )
...
Add fan state back in to device state attributes
Change fan state to fan action
2019-08-05 12:25:48 +02:00
Charles Garwood
0a87a4bfda
Add usb_path to Z-Wave network_status websocket response ( #25617 )
...
* Add usb stick path to zwave network_status websocket response
* Move to separate websocket command
* Return additional config options
* add tests
2019-08-04 17:21:37 -06:00
Santobert
944cd70753
Feature zwave preset modes ( #25537 )
...
* 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
2019-08-02 10:00:33 +02:00
Paulus Schoutsen
4de97abc3a
Black
2019-07-31 12:25:30 -07:00
Pascal Vizeli
84cf76ba36
Climate 1.0 ( #23899 )
...
* Climate 1.0 / part 1/2/3
* fix flake
* Lint
* Update Google Assistant
* ambiclimate to climate 1.0 (#24911 )
* Fix Alexa
* Lint
* Migrate zhong_hong
* Migrate tuya
* Migrate honeywell to new climate schema (#24257 )
* Update one
* Fix model climate v2
* Cleanup p4
* Add comfort hold mode
* Fix old code
* Update homeassistant/components/climate/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/components/climate/const.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* First renaming
* Rename operation to hvac for paulus
* Rename hold mode to preset mode
* Cleanup & update comments
* Remove on/off
* Fix supported feature count
* Update services
* Update demo
* Fix tests & use current_hvac
* Update comment
* Fix tests & add typing
* Add more typing
* Update modes
* Fix tests
* Cleanup low/high with range
* Update homematic part 1
* Finish homematic
* Fix lint
* fix hm mapping
* Support simple devices
* convert lcn
* migrate oem
* Fix xs1
* update hive
* update mil
* Update toon
* migrate deconz
* cleanup
* update tesla
* Fix lint
* Fix vera
* Migrate zwave
* Migrate velbus
* Cleanup humity feature
* Cleanup
* Migrate wink
* migrate dyson
* Fix current hvac
* Renaming
* Fix lint
* Migrate tfiac
* migrate tado
* Fix PRESET can be None
* apply PR#23913 from dev
* remove EU component, etc.
* remove EU component, etc.
* ready to test now
* de-linted
* some tweaks
* de-lint
* better handling of edge cases
* delint
* fix set_mode typos
* apply PR#23913 from dev
* remove EU component, etc.
* ready to test now
* de-linted
* some tweaks
* de-lint
* better handling of edge cases
* delint
* fix set_mode typos
* delint, move debug code
* away preset now working
* code tidy-up
* code tidy-up 2
* code tidy-up 3
* address issues #18932 , #15063
* address issues #18932 , #15063 - 2/2
* refactor MODE_AUTO to MODE_HEAT_COOL and use F not C
* add low/high to set_temp
* add low/high to set_temp 2
* add low/high to set_temp - delint
* run HA scripts
* port changes from PR #24402
* manual rebase
* manual rebase 2
* delint
* minor change
* remove SUPPORT_HVAC_ACTION
* Migrate radiotherm
* Convert touchline
* Migrate flexit
* Migrate nuheat
* Migrate maxcube
* Fix names maxcube const
* Migrate proliphix
* Migrate heatmiser
* Migrate fritzbox
* Migrate opentherm_gw
* Migrate venstar
* Migrate daikin
* Migrate modbus
* Fix elif
* Migrate Homematic IP Cloud to climate-1.0 (#24913 )
* hmip climate fix
* Update hvac_mode and preset_mode
* fix lint
* Fix lint
* Migrate generic_thermostat
* Migrate incomfort to new climate schema (#24915 )
* initial commit
* Update climate.py
* Migrate eq3btsmart
* Lint
* cleanup PRESET_MANUAL
* Migrate ecobee
* No conditional features
* KNX: Migrate climate component to new climate platform (#24931 )
* Migrate climate component
* Remove unused code
* Corrected line length
* Lint
* Lint
* fix tests
* Fix value
* Migrate geniushub to new climate schema (#24191 )
* Update one
* Fix model climate v2
* Cleanup p4
* Add comfort hold mode
* Fix old code
* Update homeassistant/components/climate/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/components/climate/const.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* First renaming
* Rename operation to hvac for paulus
* Rename hold mode to preset mode
* Cleanup & update comments
* Remove on/off
* Fix supported feature count
* Update services
* Update demo
* Fix tests & use current_hvac
* Update comment
* Fix tests & add typing
* Add more typing
* Update modes
* Fix tests
* Cleanup low/high with range
* Update homematic part 1
* Finish homematic
* Fix lint
* fix hm mapping
* Support simple devices
* convert lcn
* migrate oem
* Fix xs1
* update hive
* update mil
* Update toon
* migrate deconz
* cleanup
* update tesla
* Fix lint
* Fix vera
* Migrate zwave
* Migrate velbus
* Cleanup humity feature
* Cleanup
* Migrate wink
* migrate dyson
* Fix current hvac
* Renaming
* Fix lint
* Migrate tfiac
* migrate tado
* delinted
* delinted
* use latest client
* clean up mappings
* clean up mappings
* add duration to set_temperature
* add duration to set_temperature
* manual rebase
* tweak
* fix regression
* small fix
* fix rebase mixup
* address comments
* finish refactor
* fix regression
* tweak type hints
* delint
* manual rebase
* WIP: Fixes for honeywell migration to climate-1.0 (#24938 )
* add type hints
* code tidy-up
* Fixes for incomfort migration to climate-1.0 (#24936 )
* delint type hints
* no async unless await
* revert: no async unless await
* revert: no async unless await 2
* delint
* fix typo
* Fix homekit_controller on climate-1.0 (#24948 )
* Fix tests on climate-1.0 branch
* As part of climate-1.0, make state return the heating-cooling.current characteristic
* Fixes from review
* lint
* Fix imports
* Migrate stibel_eltron
* Fix lint
* Migrate coolmaster to climate 1.0 (#24967 )
* Migrate coolmaster to climate 1.0
* fix lint errors
* More lint fixes
* Fix demo to work with UI
* Migrate spider
* Demo update
* Updated frontend to 20190705.0
* Fix boost mode (#24980 )
* Prepare Netatmo for climate 1.0 (#24973 )
* Migration Netatmo
* Address comments
* Update climate.py
* Migrate ephember
* Migrate Sensibo
* Implemented review comments (#24942 )
* Migrate ESPHome
* Migrate MQTT
* Migrate Nest
* Migrate melissa
* Initial/partial migration of ST
* Migrate ST
* Remove Away mode (#24995 )
* Migrate evohome, cache access tokens (#24491 )
* add water_heater, add storage - initial commit
* add water_heater, add storage - initial commit
delint
add missing code
desiderata
update honeywell client library & CODEOWNER
add auth_tokens code, refactor & delint
refactor for broker
delint
* Add Broker, Water Heater & Refactor
add missing code
desiderata
* update honeywell client library & CODEOWNER
add auth_tokens code, refactor & delint
refactor for broker
* bugfix - loc_idx may not be 0
more refactor - ensure pure async
more refactoring
appears all r/o attributes are working
tweak precsion, DHW & delint
remove unused code
remove unused code 2
remove unused code, refactor _save_auth_tokens()
* support RoundThermostat
bugfix opmode, switch to util.dt, add until=1h
revert breaking change
* store at_expires as naive UTC
remove debug code
delint
tidy up exception handling
delint
add water_heater, add storage - initial commit
delint
add missing code
desiderata
update honeywell client library & CODEOWNER
add auth_tokens code, refactor & delint
refactor for broker
add water_heater, add storage - initial commit
delint
add missing code
desiderata
update honeywell client library & CODEOWNER
add auth_tokens code, refactor & delint
refactor for broker
delint
bugfix - loc_idx may not be 0
more refactor - ensure pure async
more refactoring
appears all r/o attributes are working
tweak precsion, DHW & delint
remove unused code
remove unused code 2
remove unused code, refactor _save_auth_tokens()
support RoundThermostat
bugfix opmode, switch to util.dt, add until=1h
revert breaking change
store at_expires as naive UTC
remove debug code
delint
tidy up exception handling
delint
* update CODEOWNERS
* fix regression
* fix requirements
* migrate to climate-1.0
* tweaking
* de-lint
* TCS working? & delint
* tweaking
* TCS code finalised
* remove available() logic
* refactor _switchpoints()
* tidy up switchpoint code
* tweak
* teaking device_state_attributes
* some refactoring
* move PRESET_CUSTOM back to evohome
* move CONF_ACCESS_TOKEN_EXPIRES CONF_REFRESH_TOKEN back to evohome
* refactor SP code and dt conversion
* delinted
* delinted
* remove water_heater
* fix regression
* Migrate homekit
* Cleanup away mode
* Fix tests
* add helpers
* fix tests melissa
* Fix nehueat
* fix zwave
* add more tests
* fix deconz
* Fix climate test emulate_hue
* fix tests
* fix dyson tests
* fix demo with new layout
* fix honeywell
* Switch homekit_controller to use HVAC_MODE_HEAT_COOL instead of HVAC_MODE_AUTO (#25009 )
* Lint
* PyLint
* Pylint
* fix fritzbox tests
* Fix google
* Fix all tests
* Fix lint
* Fix auto for homekit like controler
* Fix lint
* fix lint
2019-07-08 14:00:24 +02:00
Penny Wood
23dd644f4a
Update IDs for rename node/value ( #24646 )
...
* Update IDs for rename node/value
* Rename devices and entities
* Improved coverage
2019-07-01 15:54:19 -07:00
Tommaso Marchionni
cb5426c1fa
Added invert_percent configuration for zwave rollershutter ( #23101 )
...
* Added invert_percent configuration for zwave rollershutter
* Added invert_percent configuration for zwave rollershutter
* Fix typo in zwave default configuration
2019-06-17 14:44:47 -07:00
Charles Garwood
1282370ccb
Entity Cleanup on Z-Wave node removal ( #23633 )
...
* Initial groundwork for entity cleanup on node removal
* Connect node_removed to dispatcher
* update docstring
* Add node_removal test
* Address review comments
* Use hass.add_job instead of run_coroutine_threadsafe
2019-05-19 11:14:11 +02:00
Andrew Loe
dbcdc32f05
Ensure Boolean configuration values are handled correctly. ( #22810 )
2019-04-15 14:24:20 -07:00
Charles Garwood
c8375be4b1
Replace get_platform ( #23014 )
...
* Update Z-Wave to use async_get_integration
* Change load method per PR comments
* update tests
2019-04-12 12:22:56 -04:00
cgtobi
8cc5cc7f43
Add zwave network key validator ( #22785 )
...
* Add zwave network key validator
* Move validator to zwave component
* Move validator to zwave component
* Move stuff
* Move stuff
* Remove helper and replace with voluptuous method
* Add test
* Fix long line
* Improve tests
* Add more negative tests
* Remove unnecessary assertion
* Make the linter happy
* Remove print
2019-04-08 06:18:52 -07:00
Joakim Plate
c5de32e7b1
Climate const.py move ( #20945 )
...
* Move constants to const.py
* Import from const instead of climate
2019-02-14 20:34:43 +01:00
Paulus Schoutsen
49bab574b9
Clean up Z-Wave pt2 ( #20842 )
2019-02-07 17:27:31 -08:00
Paulus Schoutsen
f3b20d138e
Embed Z-Wave platforms ( #20810 )
2019-02-07 22:50:59 +01:00
Daniel Høyer Iversen
ef6b0b8e0b
Update flake8 to 3.7.5 ( #20761 )
...
* Upgrade flake8
* Upgrade flake8
* Add noqa for hound
2019-02-05 11:12:09 +01:00
Paulus Schoutsen
df21dd21f2
RFC: Call services directly ( #18720 )
...
* Call services directly
* Simplify
* Type
* Lint
* Update name
* Fix tests
* Catch exceptions in HTTP view
* Lint
* Handle ServiceNotFound in API endpoints that call services
* Type
* Don't crash recorder on non-JSON serializable objects
2018-11-30 21:28:35 +01:00
Charles Garwood
b7742999cf
Update Z-Wave Tests asyncio/yield from -> async/await ( #18599 )
...
* Update lock tests
* Update binary sensor
* Update zwave component tests
2018-11-20 14:58:03 -05:00
Charles Garwood
bcea3a9cba
Don't try to re-add existing Z-Wave entities ( #17995 )
...
* Keep track of created entities
* lint
* Update tests
2018-11-01 19:38:23 +01:00
Paulus Schoutsen
08fe7c3ece
Pytest tests ( #17750 )
...
* Convert core tests
* Convert component tests to use pytest assert
* Lint 🤷♂️
* Fix test
* Fix 3 typos in docs
2018-10-24 12:10:05 +02:00
Charles Garwood
9c52a3ce22
Z-Wave Device Registry Support ( #17291 )
...
* 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
2018-10-16 14:58:25 +02:00
Charles Garwood
cf249e3e5e
Z-Wave Config Entry Support ( #17119 )
...
* Initial Z-Wave Config Entry Support
* Use conf.get() for config import
* Uncomment test
* Re-add line breaks
* tabs -> space
* Unused import cleanup & lint fixes
* Remove unused config flow link step
* Address comments
* Remove unused import
* Fix tests
* Check for valid usb_path
* Test for Z-Stick in config flow
* Pass config dir to ZWaveOption
* Auto-generate Network Key if none provided
* Test fixes
* Address comments & more start network service registration
* add_executor_job for options.lock()
2018-10-09 16:30:55 +02:00
Jan van Helvoort
7d1960baba
Add zwave.network_complete_some_dead event ( #16894 )
...
* Add zwave.network_complete_some_dead event
* add missing comma
* typo
* Add SIGNAL_AWAKE_NODES_QUERIED_SOME_DEAD Test
* Add blank lines
* fix linter warnings
Line too long
* remove trailing whitespace
* Change test signal
* Listen to other event
2018-09-28 19:14:57 +02:00
Blake Blackshear
2cc6263092
Add new services for set/refresh Z-Wave device values ( #16638 )
...
* Add services for getting and setting indicator values for Z-Wave
* Add service to manually refresh Z-Wave node value by value_id
* Remove refresh_indicator service
* Coerce to int
* Add generic set_node_value service
* Remove set_indicator service
2018-09-27 12:34:42 +02:00
Paulus Schoutsen
4f9fc9b39f
Don't create entity registry in tests ( #16838 )
2018-09-25 10:16:30 +02:00
Glenn Waters
2a85ed7236
Streamline log messages ( #16243 )
2018-09-18 15:06:52 +02:00
Paulus Schoutsen
994b829cb4
add_devices -> add_entities ( #16171 )
...
* add_devices -> add_entities
* Lint
* PyLint
* Revert external method in scsgate
2018-08-24 16:37:30 +02:00
Paulus Schoutsen
c7f4bdafc0
Context ( #15674 )
...
* Add context
* Add context to switch/light services
* Test set_state API
* Lint
* Fix tests
* Do not include context yet in comparison
* Do not pass in loop
* Fix Z-Wave tests
* Add websocket test without user
2018-07-28 17:53:37 -07:00
Andrey
6c3e2021df
Give unknown zwave nodes a better name ( #14353 )
...
* Give unknown zwave nodes a better name
* Update util.py
2018-05-28 21:49:38 -04:00
Andrey
d1228d5cf4
Look at registry before pulling zwave config values ( #14408 )
...
* Look at registry before deciding on ID for zwave values
* Reuse the new function
2018-05-12 17:45:36 -04:00
Andrey
10505d542a
Make sure zwave nodes/entities enter the registry is proper state. ( #14251 )
...
* When zwave node's info is parsed remove it and re-add back.
* Delay value entity if not ready
* If node is ready consider it parsed even if manufacturer/product are missing.
* Add annotations
2018-05-08 15:30:28 -04:00
Andrey
f72d568374
Add unique_id to zwave node entity ( #14201 )
...
* Add unique_id to zwave node entity
* Wait 30s before adding zwave node if its unique_id is not ready
* Use only node_id in unique_id. Update name, manufacturer, and product attributes on node update.
2018-05-02 16:10:26 -04:00
John Arild Berentsen
fe56844a3a
Bugfix: Zwave Print_node to logfile instead of console ( #13302 )
...
* Print to logfile instead of console
* Review changes
* Typo
2018-04-05 11:14:15 +02:00