Commit Graph

46 Commits (bb14239d91d6734fff5d9fd055c4bdd30d8cee09)

Author SHA1 Message Date
Paulus Schoutsen 231656916c Address last comments 2016-08-04 22:44:37 -07:00
Teagan M. Glenn 26526ca57a Add unit system support
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
2016-08-04 22:02:19 -07:00
Dan e1db639317 add hvac mode support to radiotherm (#2442)
* add hvac mode support to radiotherm

off/cool/heat/auto modes are supported

* Moved STATE_AUTO to thermostat component, fix lint

Moved STATE_AUTO to thermostat platform. Fixed lint error.
2016-07-12 21:43:49 -07:00
Paulus Schoutsen 68df3deee0 ABC consistent not implemented behavior (#2359) 2016-06-24 21:27:40 -07:00
devdelay 1f7792678b Add service set_hvac_mode (#2303)
* set hvac_mode

* Update __init__.py

* Update __init__.py
2016-06-18 10:20:39 -07:00
Paulus Schoutsen 30f74bb3ca Migrate to generic discovery method (#2271)
* Migrate to generic discovery method

* Add tests for discovery
2016-06-11 17:43:13 -07:00
Paulus Schoutsen 2e79e9d5bb Correct celcius to celsius (#1860) 2016-04-19 20:30:44 -07:00
Jan Harkes 730514cea8 Service validation for the thermostat component. 2016-04-13 12:35:07 -04:00
Josh Wright 24257fe4a3 Don't round values in Thermostat internal state (#1782)
Since all values coming out of the Thermostat component pass though the
_convert_for_display() method (which handles any necessary rounding),
there is no need to round values that only exist in the internal state
of the thermostat device. It serves no purpose and risks rounding
errors/precision loss.
2016-04-10 10:41:13 -07:00
Josh Wright 29fb6faa40 Use whole degrees fahrenheit for thermostats
Users of fahrenheit generally expect to see whole degrees. The fahreneit

scale is suffiently precise that decimals aren't really useful in terms

of temperatures humans care about.



This change rounds fahrenheit values to whole degrees and celsius values

to one decimal place. It also renames the ThermostatDevice._convert()

method to _convert_for_display(), making its purpose more clear. It is

not useful for the min_temp() and max_temp() methods, as those relate to

the internal state of the ThermostatDevice object, and may use different

units. Adding optional source and target units to _convert() would have

added needless complexity, it's cleaner to just use convert() in those

methods.
2016-04-06 11:54:50 -07:00
Kai 4fba89b789 Add Z-Wave thermostat
based on @coteyr work and with a help from @turbokongen
2016-04-02 20:01:03 -07:00
Paulus Schoutsen 5baa98b79f Add initial config validation 2016-03-28 23:46:12 -07:00
MartinHjelmare 4e4b24fcff Log error for servicecall without required data
* Log error for services called without required attributes, in
	media_player, notify and thermostat platforms.
* Add fan property and methods in thermostat demo component.
* Add tests for notify file and thermostat demo component.
* Increase coverage of tests for media_player, notify and thermostat
	platforms.
* Fix some PEP issues, but not all. Tests still have old linting
	errors.
2016-03-19 08:06:57 +01:00
Fabian Affolter 095dd70391 Fix PEP257 issues 2016-03-07 22:44:35 +01:00
Paulus Schoutsen f08b77dc4c Clean up state_attributes vs device_state_attributes 2016-02-06 22:34:24 -08:00
Michael Auchter df94c909f7 thermostat: add service to control fan mode 2016-01-24 12:47:21 -06:00
Michael Auchter a0ed469aa2 thermostat: move fan attribute up to thermostat 2016-01-24 12:47:20 -06:00
Michael Auchter afa4fc4ef5 thermostat: split up services 2016-01-24 12:47:20 -06:00
Sean Dague 4fc0163139 round min / max values for temperature
In order for the polymer thermostat component to have sensible step
values the min / max values have to be round numbers. The current code
only does that for systems running in degrees C. For those of us in
silly land that still function in degrees F, this causes some
oddities in the UI.

Always round mix / max values to make it good no matter what
fundamental units we are in.
2016-01-13 21:22:56 -05:00
Paulus Schoutsen 1146d6e58d Allow thermostat temperatures with decimal numbers 2015-11-28 01:18:02 -08:00
Paulus Schoutsen bbfeba0fe4 Merge branch 'pr/635' into dev
Conflicts:
	requirements_all.txt
2015-11-28 00:50:18 -08:00
Paulus Schoutsen fabd0ced3f Make DEPENDENCIES optional for components 2015-11-26 13:11:59 -08:00
nkgilley@gmail.com cc196d9888 fixed sensors and thermostat. discovery working for both now. 2015-11-23 11:15:19 -05:00
Fabian Affolter 97f9f8aa49 Update link to docs (Jekyll 3 update) 2015-11-09 13:12:18 +01:00
Paulus Schoutsen 3d972abdab Clean up the heat control thermostat 2015-10-22 22:04:37 -07:00
Paulus Schoutsen bf1970b78c Make thermostat more robust 2015-10-11 18:16:55 -07:00
Paulus Schoutsen 4e3bd5f2a9 Add service descriptions 2015-09-26 23:17:04 -07:00
Paulus Schoutsen 51dd718282 Fix broken thermostat demo and prevent happening again 2015-09-13 08:08:46 -07:00
zyell de89de890f Move state constants to __init__ for all thermostats 2015-09-12 07:27:05 -07:00
zyell 21812ba717 Bug fixes and state adjustment for initial thermostat range support 2015-09-10 15:42:34 -07:00
zyell 2d54fdd979 Initial code for generic thermostat range support and nest compliance 2015-09-10 15:11:59 -07:00
zyell e15eb90b33 Have thermostat class make all necessary unit conversions 2015-08-25 17:52:40 -07:00
Daniel Hoyer Iversen be937a795a Min max temp for thermostat 2015-07-23 22:15:17 +02:00
Daniel Hoyer Iversen cbb390a918 Custom min/max temperature for thermostat 2015-07-23 18:13:46 +02:00
Paulus Schoutsen bbfd97e2b8 Migrate components to use EntityComponent 2015-03-21 19:37:18 -07:00
Paulus Schoutsen a9324ba9d4 Update components to use Entity instead of Device 2015-03-21 19:16:13 -07:00
Paulus Schoutsen 9b643d57f0 ps: Add a global config object to Home Assistant 2015-03-18 23:02:58 -07:00
Paulus Schoutsen 3e15742875 Move device ABCs to separate helper file 2015-03-05 23:18:22 -08:00
Paulus Schoutsen 68668fc658 Light/Switch/Thermostat: use new extract_from_service helper 2015-03-05 23:17:05 -08:00
Paulus Schoutsen 89100d14c8 Refactored device components 2015-03-01 01:35:58 -08:00
Paulus Schoutsen 8bd803601f Devices can now be polling or push 2015-02-28 22:33:44 -08:00
Paulus Schoutsen bbe19cbbb0 Add more info card for thermostat. Fixes #28 2015-02-28 08:48:33 -08:00
Danielhiversen a7c6413d07 Custom thermostat 2015-02-17 19:12:27 +01:00
Paulus Schoutsen ff230cefe3 Disable pylint unused-argument check 2015-01-19 23:40:51 -08:00
Paulus Schoutsen aea6042fe1 Getting thermostat component ready for release 2015-01-11 21:21:18 -08:00
Paulus Schoutsen 8f3a3f89a7 Refactor nest component into thermostat component 2015-01-06 00:10:33 -08:00