Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better climate support for HASS #48

Closed
Julius2342 opened this issue Aug 1, 2017 · 121 comments
Closed

Better climate support for HASS #48

Julius2342 opened this issue Aug 1, 2017 · 121 comments

Comments

@Julius2342
Copy link
Collaborator

Julius2342 commented Aug 1, 2017

3/4 of all feedback i got wished better climate support. Looks like we need better climate support.

I suggest the following configuration:

climate:
   - platform: xknx
     name: Kitchen.Temperature
     temperature_address: '6/2/1'
     setpoint_address: '6/2/2'

     frost_protection_address: '6/2/3'
     comfort_address: '6/2/4'
     night: '6/2/5'
     standby: '6/2/6'
     operating_mode: ''6/2/7'

Within HASS [frost,comfort,night,address] will show up as dropdown for "operation_modes".

@mag2bue
Copy link

mag2bue commented Aug 1, 2017

for each mode -> comfort, frost and away, I have a seperate KNX adress

@resoai
Copy link

resoai commented Aug 1, 2017

http://www.knx.org/fileadmin/template/documents/downloads_support_menu/KNX_tutor_seminar_page/Advanced_documentation/Heating_E1211a.pdf

According to this document there are following operating modes:

  • Frost/heat protection
  • Comfort
  • Night
  • Standby

To be honest I would think that relevant controls should simply appear if there is an "address" set in order to not over-complicate things. This would make a config for my place with 18 thermostats controls barely readable.

@Julius2342
Copy link
Collaborator Author

hmmm.... :) you are about to convince me....

@resoai
Copy link

resoai commented Aug 1, 2017

To be honest I know very little about how thermostats work in KNX and am simply making assumptions :) Perhaps we could have a look at the implementation in OpenHAB? I'm sure they have it figured out.

@Julius2342
Copy link
Collaborator Author

Julius2342 commented Aug 1, 2017

is there any knx representation of "away" ?

And do these modes exclude each other? (So can it be "night" and "comfort" in parallel ?) [Just realized p. 18 explains this ... ]

@Julius2342
Copy link
Collaborator Author

The problem i have, i do not fully understand this setpoint thing within KNX.

As far as i see it:

  • There is a setpoint temperature, which is the temperature under normal conditions. (Sometimes also referred as "basis-setpoint?" )
  • But then there are some "modifiers" like comfort which makes it warmer without changing the setpoint?

@resoai
Copy link

resoai commented Aug 1, 2017

Yes, they exclude each other, the mode can only be set to one of them. I could not find any mention of "away". Please have a look at the operating manual for a Jung room controller, maybe this would help.

en_4093KRMTSD_V02_10052016_td.pdf

@resoai
Copy link

resoai commented Aug 1, 2017

Setpoint shift is basically the deviation (plus or minus) from the base temperature appropriate (set) for the particular operating mode. This is how I understand it.

@Julius2342
Copy link
Collaborator Author

what a terrible concept ...

@Julius2342
Copy link
Collaborator Author

so we should add group addresses for each state and add the exclusiveness-logic on top. Will do :)

@resoai
Copy link

resoai commented Aug 1, 2017

It makes a lot of sense actually. You can set the operating mode for the whole house yet you want to keep one room always colder. I know it feels very wrong at first and it took me some time to get used to it.

@resoai
Copy link

resoai commented Aug 1, 2017

Unfortunately I don't have ETS software but from I can see from the files left for me from the installer, the "operating mode" is just one address.

@Julius2342
Copy link
Collaborator Author

probably you can encode the modes also in several bits of the same byte

@resoai
Copy link

resoai commented Aug 1, 2017

While reading in the KNX manual they call it "Enumerated Types":

05_Interworking_E1209.pdf

Enumerations are used for datapoints with a clearly limited number of values and no
precise hierarchical order. If a datapoint uses an enumerated data type, all possible
states shall be described. If invalid / undefined values are sent, no malfunctions may
occur.
Examples are: Toggling between “Comfort”, “Standby” and “Night” operating modes in
room thermostats.

Perhaps the attached file could help (4.20 Common HVAC Datapoint types)

05_Interworking_E1209.pdf

@mag2bue
Copy link

mag2bue commented Aug 2, 2017

To manage it, we need 3 optional switches. (1bit 0 or 1)

e.g. see page 45-47
German: http://www.mdt.de/download/MDT_THB_Heizungsaktor_02.pdf
English: http://www.mdt.de/download/MDT_TM_Heating_Actuator_02.pdf

In ETS, I need for each 1bit address to put ON/OFF

  • comfort
  • night
  • frost
    -> standby is a status of all -> OFF

@Julius2342
Copy link
Collaborator Author

see my updated suggestion.

@mag2bue
Copy link

mag2bue commented Aug 2, 2017

perfect! :-)

@mag2bue
Copy link

mag2bue commented Aug 2, 2017

@Julius2342

I have technical question:

drop-down: if I select e.g. night - > only "address of night" will be switched ON, all the other are to OFF?
what is the technical background for "operating_mode" heating or cooling?

Or you control it by DPT HVAC Mode 20.102 ? see page 47/48

@resoai
Copy link

resoai commented Aug 2, 2017

Guys, this is the actuator you are talking about here, not the RTR which a climate component is. Climate component has to provide a level of abstraction, meaning that user sets a temperature/operating mode/setpoint shift and KNX figures the rest. I have a bunch of actuators for heated floors and KNX decides on the position of the valves etc.

@mag2bue
Copy link

mag2bue commented Aug 2, 2017

correct, totally I control already 16 heaters with OpenHab. The topic about we are talking it not to set the setpoint (This works already perfect in HA) I talking about, is to swich between the status. Like ON / OFF

@resoai
Copy link

resoai commented Aug 2, 2017

Setpoint temperature works but not setpoint shift :) I was under the impression that for heaters (ON/OFF) you just use a switch component.

@mag2bue
Copy link

mag2bue commented Aug 2, 2017

the setpoint switch e.g. modus "standby" -5k, "night -3k" you have to setup in ETS.

But we need a solution to change the modus ... in my case, I can setup this in ETS by a simple ON /OFF 1bit or HVAC Mode.

@resoai
Copy link

resoai commented Aug 2, 2017

Yes, changing modus (operating_mode) via HVAC mode is a must.

@Julius2342
Copy link
Collaborator Author

Lets also add a group address for AC on/off and Heating on/off

@resoai
Copy link

resoai commented Aug 2, 2017

Surely we can do anything but it would be nice to perhaps stick with some sort of standard appropriate to KXN room controller?

@mag2bue
Copy link

mag2bue commented Aug 2, 2017

Standard is perfect. -> HVAC
Sorry, maybe there was as well a misunderstanding from my site.

Looking forward to test the functions

@resoai
Copy link

resoai commented Aug 2, 2017

Perhaps I am also not (completely) right since I'm still trying to fully understand how KNX climate works and I don't actually have ETS software. One other (offtopic) cool thing would be to enable multiple group addresses for one switch/light.

OpenHab's implementation is messy yet very flexible.

http://docs.openhab.org/addons/bindings/knx1/readme.html

@Julius2342
Copy link
Collaborator Author

@resoai : KNX itself is just a bus (without any active logic). The control of the valves/etc. is done within climate devices (or thermostats). I for example have GIRA Touch Sensor 3 plus: http://www.gira.com/produkte/abbildungen/zoom1/001223_1384961308.jpg

My original idea was to be open to control the valves via hass itself - e.g. via a complete new component. This then could be much smarter than the small devices on the wall. But the current approach of syncing the flags/values with the climate control, we do at least nothing wrong.

@Julius2342
Copy link
Collaborator Author

Julius2342 commented Aug 8, 2017

@mag2bue : I need your help with these binary states.

@resoai @firefrei : Controlling operation modes via HASS with a combined KNX operation mode object (FrostProtection/Night/Standby/Comfort) already works in my environment. Yay :)

Operation Modes

Did i get this right:

  • so you have binary addresses for comfort, frost and away.
  • You don't have an dedicated address for standby (i assume this is just all other states switched off).
  • For switching to away, i would switch off frost, comfort and switch on away.
  • For switching to frost, i would switch off away, comfort and switch on frost.
  • For switching to comfort, i would switch off away, frost and switch on comfort.
  • For switching to standby i would switch off away, frost and comfort.

Setpoint/Target temperature

Do you (like i have) have also two addresses:

  • basis set point address. Read/Write for setting the set point in comfort mode.
  • target temperature. Read only, calculated from basis set point and operation mode.

@TinusK
Copy link

TinusK commented Oct 17, 2017

If I change the config to:

  - platform: xknx
    name: mf_living
    temperature_address: 3/0/70
    target_temperature_address: 3/1/80
    setpoint_address: 3/2/81
    setpoint_shift_address: 3/2/80
    setpoint_shift_state_address: 3/2/80
    operation_mode_address: 3/3/80
    operation_mode_state_address: 3/3/81

I get this in the error log:
2017-10-17 12:08:48 WARNING (MainThread) [xknx.log] Could not read value of <Climate name="mf_living" temperature="<Address str="3/0/70" />/None/<DPTArray value="[0xd,0x0]" />/25.6" target_temperature="<Address str="3/1/80" />/None/<DPTArray value="[0xc,0x33]" />/21.5" setpoint="<Address str="3/2/81" />/None/None/None" setpoint_shift="<Address str="3/2/80" />/<Address str="3/2/80" />/None/None" group_address_operation_mode="<Address str="3/3/80" />" group_address_operation_mode_state="<Address str="3/3/81" />" group_address_controller_status="None" group_address_controller_status_state="None" /> 3/2/81

@TinusK
Copy link

TinusK commented Oct 17, 2017

With the setpoint_shift addresses set, it looks better:
image
21.5 degrees is my current setpoint. But what is the 23 degrees? Target Temperature? But the target temperature is 21.5 degrees right? Or do I interpret something different/wrong? Changing the target temperature uses steps of 0.5 degrees which is good but starts at 23 degrees but should actually start at 21.5 degrees....

@resoai
Copy link

resoai commented Oct 17, 2017 via email

@Julius2342
Copy link
Collaborator Author

Should we do a session on discord this evening (Europe time) to address these issues?

(I was in Canada last week at the tor meeting, so could not really proceed. These things may be addressed within XKNX directly, so it would only be a version bump within HASS)

@TinusK
Copy link

TinusK commented Oct 17, 2017

I'm not at home at the moment... I do not know if I'm available this evening.

@TinusK
Copy link

TinusK commented Oct 17, 2017

What is ment with Temperature High and Temperature Low?

@Julius2342
Copy link
Collaborator Author

lets check, ill be around on discord :)

@Julius2342
Copy link
Collaborator Author

@TinusK , @resoai , @twistermcneal : Yesterday evening i started to modify the implementation that it no longer depends on the setpoint address. The setpoint shift will be calculated out of the current target-temperature and the current setpoint shift.

@twistermcneal : we discussed last week if this might cause race conditions, esp when changing operation modes. At least my device immediately sends out a new target temperature after switching modes. We should at least try out - and decide later if we need some fancy "blocking" mechanism which tries to detect if device and component are not in sync.

The new implementation will be:

    @asyncio.coroutine
    def set_target_temperature(self, target_temperature):
        """Calculate setpoint shift shift and send it to  KNX bus."""

        [... removed some checks ...] 

        temperature_delta = target_temperature-self.target_temperature.value
        setpoint_shift_delta = int(temperature_delta/self.setpoint_step)
        setpoint_shift = self.setpoint_shift.value + setpoint_shift_delta
        yield from self.setpoint_shift.set(setpoint_shift)

(I also removed target temperature high/low from HASS component.

At the moment i'm fixing unit tests. Will push a version to a new branch later today.

@TinusK
Copy link

TinusK commented Oct 18, 2017

We discussed this last night... I do hope you got some sleep 😁

spektren added a commit to spektren/home-assistant that referenced this issue Oct 19, 2017
* Upgrade async_timeout to 1.4.0 (home-assistant#9488)

* Bump version of abodepy (home-assistant#9491)

* Upgrade coinmarketcap to 4.1.1 (home-assistant#9490)

* Upgrade blockchain to 1.4.0 (home-assistant#9489)

* Solve Recorder component failing when using Axis component  (home-assistant#9293)

* Bump Axis requirement to v10
Fix issues related to non JSON serializable items and recorder component (8297)
Add support to configure HTTP port (8403)

* Changed local port definition to CONF_PORT

* On request config is now sent to the camera platform as well, and in order better explain what is what the old internal config is now device_config and hass own config is the only one referenced as config

* Missed to add device_config to setup in discovered device

* Bump to V12 that has got a dependency fix

* Update requirements_all

* Add port configuration to automatically discovered devices
Allow setup to pass without Axis being configured in configuration.yaml

* switch to pypi for xiaomi gw (home-assistant#9498)

* renamed add_devices to async_add_devices according to hass naming scheme (home-assistant#9485)

* renamed add_devices to async_add_devices according to hass naming scheme

* replaced some occurencies of async_add_entites to async_add_devices

* fixed unit test

* fixed unit test

* Revert "renamed add_devices to async_add_devices according to hass naming scheme (home-assistant#9485)" (home-assistant#9503)

This reverts commit a5a9707.

* LIFX: fix multi-zone color restore after effects (home-assistant#9492)

The aiolifx 0.6.0 release fixes an issue where an effect color could
remain set after stopping the effect. This only affected multi-zone
lights (i.e. LIFX Z) and only if the effect was stopped by setting
the light brightness or the color (but not both).

The aiolifx 0.6.0 release also defaults end_index to start_index+7,
so we can remove that argument.

Finally, aiolifx_effects 0.1.2 adds support for aiolifx 0.6.0.

* renamed add_devices to async_add_devices according to hass naming scheme (second try after failed home-assistant#9485) (home-assistant#9505)

* Xiaomi pycryptodome (home-assistant#9511)

* Switch to use pycryptodome for xiaomi_gw

* Bumped pyhomematic, additional device support (home-assistant#9506)

Add an optional extended description…

* abode: Bump abodepy dependency to 0.11.7 (home-assistant#9504)

* abode: Bump abodepy dependency to 0.11.7

Fixes cases where one's abode account has a nest thermostat
linked (MisterWil/abodepy#17).

* abode: Bump abodepy dependency to 0.11.7

Fixes cases where one's abode account has a nest thermostat
linked (MisterWil/abodepy#17).

* update requirements_all.txt

* abode: Set device_type in state attributes (home-assistant#9515)

This gets displayed when clicking on the binary sensors. It is
useful to distinguish different devices with the same name (e.g.
the room name) but different types.

* update xiaomi aqara lib (home-assistant#9520)

* added services.yaml integration for input_boolean (home-assistant#9519)

* added services.yaml integration to input_boolean

* added services integration for input_boolean

* removed trailing spaces

* Add reload service to python_script (home-assistant#9512)

* Add reload service

* add reload test

* Use global variable

* remove white space ....

* adjust as suggested

* remove annoying white space....

* fix travis

* fix travis, again

* rename Load_scripts to Discover_scripts

Travis complains that "Load_scripts" is an invalid name (I don't know why)

* Update python_script.py

* MQTT Binary Sensor - Add availability_topic for online/offline status (home-assistant#9507)

* MQTT Binary Sensor - Add availability_topic for online/offline status

Added topic, configurable payloads, and tests.

* Relocated state subscribe function

Moved state subscribe function to follow the state listener function.

* Fix typo within cover/knx XKNX/xknx#64 (home-assistant#9527)

* LIFX: improve performance of setting multi-zone lights to a single color (home-assistant#9526)

With this optimization we can send a single UDP packet to the light rather
than one packet per zone (up to 80 packets for LIFX Z). This removes a
potential multi-second latency on the frontend color picker.

* Update frontend

* Version bump to 0.54

* Version bump to 0.55.0.dev0

* flux led lib 0.20 (home-assistant#9533)

* Update AbodePy to 0.11.8 (home-assistant#9537)

* Update requirements_all.txt

* Update abode.py

* Bump python_openzwave to 0.4.0.35 (home-assistant#9542)

* Bump python_openzwave to 0.4.0.35

* Cleanup

* update usps (home-assistant#9540)

* update usps

* fix syntax issue

* Update AbodePy to 0.11.8 (home-assistant#9537)

* Update requirements_all.txt

* Update abode.py

* update usps (home-assistant#9540)

* update usps

* fix syntax issue

* Bump python_openzwave to 0.4.0.35 (home-assistant#9542)

* Bump python_openzwave to 0.4.0.35

* Cleanup

* Bugfix Homematic hub object (home-assistant#9544)

* Bugfix Homematic hub object

* fix hass instance

* fix state unknow if 0 states

* Fix a bunch of typos (home-assistant#9545)

s/Addres /Address /
s/Chnage/Change/
s/Converion/Conversion/
s/Supressing/Suppressing/
s/agains /against /
s/allready/already/
s/analagous/analogous/
s/aquired/acquired/
s/arbitray/arbitrary/
s/argment/argument/
s/aroung/around/
s/attibute/attribute/
s/auxillary/auxiliary/
s/befor /before /
s/commmand/command/
s/conatin/contain/
s/conection/connection/
s/coresponding/corresponding/
s/entites/entities/
s/enviroment/environment/
s/everyhing/everything/
s/expected expected/expected/
s/explicity/explicitly/
s/formated/formatted/
s/incomming/incoming/
s/informations/information/
s/inital/initial/
s/inteface/interface/
s/interupt/interrupt/
s/mimick/mimic/
s/mulitple/multiple/
s/multible/multiple/
s/occured/occurred/
s/occuring/occurring/
s/overrided/overridden/
s/overriden/overridden/
s/platfrom/platform/
s/positon/position/
s/progess/progress/
s/recieved/received/
s/reciever/receiver/
s/recieving/receiving/
s/reponse/response/
s/representaion/representation/
s/resgister/register/
s/retrive/retrieve/
s/reuqests/requests/
s/segements/segments/
s/seperated/separated/
s/sheduled/scheduled/
s/succesfully/successfully/
s/suppport/support/
s/targetting/targeting/
s/thats/that's/
s/the the/the/
s/unkown/unknown/
s/verison/version/
s/while loggin out/while logging out/

* Catch no longer existing process in systemmonitor (home-assistant#9535)

* Catch no longer existing process in systemmonitor

* Update log message

* Again line length

* Upgrade pyasn1 to 0.3.6 (home-assistant#9548)

* Add history_graph component (home-assistant#9472)

* Add support for multi-entity recent fetch of history. Add graph component

* Rename graph to history_graph. Support fast fetch without current state.

* Address comments

* GeoRSS sensor (home-assistant#9331)

* new geo rss events sensor

* SCAN_INTERVAL instead of DEFAULT_SCAN_INTERVAL

* removed redefinition CONF_SCAN_INTERVAL

* definition of self._name not required

* removed unnecessary check and unnecessary parameter

* changed log levels

* fixed default name not used

* streamlined sensor name and entity id generation, removed unnecessary parameter

* fixed issue for entries without geometry data

* fixed tests after code changes

* simplified code

* simplified code; removed unnecessary imports

* fixed invalid variable name

* shorter sensor name and in turn entity id

* increasing test coverage for previously untested code

* fixed indentation and variable usage

* simplified test code

* merged two similar tests

* fixed an issue if no data could be fetched from external service; added test case for this case

* Fixed bug with all switch devices being excluded (home-assistant#9555)

* fix usps? (home-assistant#9557)

* Added support for ARM_NIGHT for manual_mqtt alarm (home-assistant#9358)

* - Added support for ARM_NIGHT for manual_mqtt alarm

* - port "Add post_pending_state attribute to manual alarm_control_panel home-assistant#9291" to manuql_mqtt

* - port "Fixed manual alarm not re-arm after 2nd trigger home-assistant#9249" to manuql_mqtt

* - port "Add manual alarm_control_panel pending time per state home-assistant#9264" to manuql_mqtt

* - Updated test_trigger_with_specific_pending to simulate real scenario e.g. arm the system then trigger

* Various AirVisual bugfixes (home-assistant#9554)

* Various AirVisual bugfixes

* Updating requirements

* Added better logging for failed data retrieval

* Updated Arlo cameras with new attributes (home-assistant#9565)

* Allow specifying multiple ports for UPNP component (home-assistant#9560)

* Update UPNP component

* Bump dep

* Fix flakiness in test

* Update yeelight to 0.3.3. (home-assistant#9561)

Fixes basic light control in case complex transition effects were defined
on a light (possibly, externally to Home Assistant):
https://gitlab.com/stavros/python-yeelight/issues/17

* Add test cases and fix for device_defaults fire_event option. (home-assistant#9567)

* Add test cases and fix for device_defaults fire_event option.

* Also for light.

* Change docstring mood.

* Use simplepush module, enable event, and allow encrypted communication (home-assistant#9568)

* Use simplepush module, enable event, and allow encrypted communication

* Fix check

* Add DuckDNS component (home-assistant#9556)

* Add DuckDNS component

* Address comments

* Clean up OwnTracks (home-assistant#9569)

* Clean up OwnTracks

* Address comments

* MQTT Cover: Add availability topic and configurable payloads (home-assistant#9445)

* MQTT Cover - Add availability_topic for online/offline status

Added topic, configurable payloads, and tests.

* Merge branch 'dev' into mqtt-cover-availability

* Revert "Merge branch 'dev' into mqtt-cover-availability"

This reverts commit 46d2979.

* Added newline at end of test_mqtt.py

* Fixed lint issue (newline at EOF)

* Fixed lint issue (newline at EOF)

* Updated call signature for other tests

* Fixed availability message callback

* Upgrade dsmr_parser to 0.11 (home-assistant#9576)

* Added new statistic attributes (home-assistant#9433)

* Added new statistic attributes

Added new attributes:
  - Cleaning count
  - Total cleaning time
  - Total cleaning area
  - Time left to change main brush, side brush and filter

* Code corrections

Code corrections

* Remove wronge hanging indentation

* Added new attributes

ATTR_MAIN_BRUSH_LEFT
ATTR_SIDE_BRUSH_LEFT
ATTR_FILTER_LEFT
ATTR_CLEANING_COUNT
ATTR_CLEANED_TOTAL_AREA
ATTR_CLEANING_TOTAL_TIME

* Remove trailing white space

* Corrections of the unit test for new attributes

* Hound corrections

* Init self.clean_history, self.consumable_state

* Hound correction

* - Cleaning time and total cleaning time shown in minutes
- Cleaned area and total cleaned area shown in square meters
- Main brush left, side brush left, filter left time shown in hours
- Display of the unit of measurement

* Remove trailing white spaces

* Fixed wrong continued indentation

* Fixed Hound

* Fixed Hound

* Added new statistic attributes

Added new attributes:
  - Cleaning count
  - Total cleaning time
  - Total cleaning area
  - Time left to change main brush, side brush and filter

* Code corrections

Code corrections

* Remove wronge hanging indentation

* Init self.clean_history, self.consumable_state

* Hound correction

* Remove UOM

* Merge

* Init self.clean_history, self.consumable_state

* Hound correction

* Init self.clean_history, self.consumable_state

* Hound correction

* Removed double declarations

* Upgrade youtube_dl to 2017.9.24 (home-assistant#9575)

* Upgrade lyft_rides to 0.2 (home-assistant#9578)

* Increase Comed timeout since it sometimes takes a long time for the API to respond (home-assistant#9536)

* Increase Comed timeout since it sometimes takes a long time for the API to respond

* Rewrite ComEd sensor to use asyncio

* Fix whitespace and build issues

* Allow customizable turn on action for LG WebOS tv (home-assistant#9206)

* allow customizable action for webos tv turn on as not all models allow for WOL

* trying to fix the houndci-bot

* last few fixes hopefully

* I guess not

* last time!

* This is a breaking change. I have removed the build-in wake-on-lan functionality and have opted for a script which can be a wake-on-lan switch. I have also removed any reference to wol.

* hoping to fix formatting

* linter errors

* IMAP Unread sensor updated for async and push (home-assistant#9562)

* IMAP Unread sensor updated for async and push

* Implement renames suggested in review

* Use async_timeout

* Keep push capability in a variable

* Reword for Hound

* Replace emulated_hue: with emulated_hue_hidden: for consistency. (home-assistant#9382)

* Update __init__.py

* fix lint errors

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

Lint errors

* use get_deprecated instead to log old attr

* Updated tests to hide fan.ceiling_fan

* remove space fix lint

* Upgrade Sphinx to 1.6.4 (home-assistant#9584)

* Bump pyatv to 0.3.5 (home-assistant#9586)

* New Wink services. pair new device, rename, and delete, add new lock key code. Add water heater support (home-assistant#9303)

* Pair new device, rename, delete, and lock key code services. Also add water heater support.

* Fixed tox

* Fixes UPS MyChoice exception (home-assistant#9587)

* Fixes UPS MyChoice exception

* Added unit of measurement

* Collaborator-requested changes

* FedEx: Adds "packages" as a unit (home-assistant#9588)

* Adds "packages" as a unit

* Collaborator-requested changes

* Cleanup entity & remove warning (home-assistant#9606)

* Cleanup entity & remove warning

* Update comment

* Add OwnTracks over HTTP (home-assistant#9582)

* Add OwnTracks over HTTP

* Fix tests

* upgrade python-ecobee-api (home-assistant#9612)

* Change TP-Link Switch power statistics attribute names (home-assistant#9607)

* Migrate Alexa smart home to registry (home-assistant#9616)

* Migrate Alexa smart home to registry

* Fix tests

* Add an input_datetime (home-assistant#9313)

* Initial proposal for the input_datetime

* Linting

* Further linting, don't define time validation twice

* Make pylint *and* flake8 happy at the same time

* Move todos to the PR to make lint happy

* Actually validate the type of date/time

* First testing

* Linting

* Address code review issues

* Code review: Remove forgotten print()s

* Make set_datetime a coroutine

* Create contains_at_least_one_key_value CV method, use it

* Add timestamp to the attributes

* Test and fix corner case where restore data is bogus

* Add FIXME

* Fix date/time setting

* Fix Validation

* Merge date / time validation, add tests

* Simplify service data validation

* No default for initial state, allow 'unknown' as state

* cleanup

* fix schema

* Cover component for RFlink (home-assistant#9432)

* second try on rflink / cover

* no newline at end of file

* changed entity

* fixed comments from pvizeli

* removed :

* removed return 'unknown'

* Fixed comments from Rytilahti

* removed newline

* Reverted to None

* cleanup

* Cleanup

* Introducing support to Melnor RainCloud sprinkler systems (home-assistant#9287)

*  Introducing support to Melnor RainCloud sprinkler systems

* Make monitored_conditions optional for sub-components

*  Part 1/2 - Modified attributes, added DATA_ constant and using battery helper

* Part 2/2 - Refactored self-update hub

* Fixed change requested:
- Dispatcher signal connection
- Don't send raincloud object via dispatcher_send()
- Honoring the dynamic scan_interval value on track_time_interval()

* Inherents async_added_to_hass() on all device classes

* Makes lint happy

* * Refactored RainCloud code to incorporate suggestions.
  Many thanks to @pvizelli and @MartinHjelmare!!

* Removed Entity from RainCloud sensor and fixed docstrings

* Update raincloud.py

* Update raincloud.py

* fix lint

* Rewrite synology camera by using py-synology package (home-assistant#9583)

* - Rewrite synology camera by intruducing Api and SurveillanceStation classes to get cameras, motion settings, enable/disable motion detection, etc ...
- Synology camera now shows correct state based on is_recording and is_streaming flag. Also it now supports enable / disable motion detection and show the correct motion detection status
- Newly added Api and SurveillanceStation classes will be moved to a lib but it's here just for review

* - Updated how payload are merged with kwargs so it works with python <3.5

* - Fixed class name conflict

* - Addressed flake8 error

* - Addressed pylint error

* - Moved synology API related code to py-synology lib
- Added py-synology==0.1.1 requirement
- Removed hass from SynologyCamera constructor

* - Updated requirements_all.txt

* - renamed variable back to original

* - Sync call to retrieve camera image should be done in camera_image() instead

* - Sync call to update camera info should be done in update() instead

* - Removed unused import

* yeelight: allow turn_off transitions, fixes home-assistant#9602 (home-assistant#9605)

* Move 'voltage' to const (home-assistant#9621)

* Yamaha MusicCast: check known_hosts (home-assistant#9580)

* Yamaha MusicCast: check known_hosts

- pymusiccast: Version bump

* Update requirements

* Fixed away_mode for Ecobee thermostat. (home-assistant#9559)

* Fixed away_mode for Ecobee thermostat. Now away mode is properly turned on using indefinite away hold.

* fixed lint warnings

* fixed lint warnings

* - now it is possible to use float values for ecobee temperature holds
- fixed a bug that caused an exception when temperature hold was set in away mode
- added unit tests for ecobee thermostat

* fixed lint errors

* fixed lint errors

* Switched VeraSensor to use category ids (home-assistant#9624)

* splunk: Handle datetime objects in event payload (home-assistant#9628)

If an event contained a datetime.datetime object it would cause an
exception in the Splunk component. Most of the media_player
components do this in their `media_position_updated_at` attribute.

Use the JSONEncoder from homeassistant.remote instead of just using the
standard json.dumps encoder.

Fixes home-assistant#9590

* MQTT climate platform [continuation of home-assistant#8750] (home-assistant#9589)

* New climate platform with MQTT

* Use STATE_OFF

* Basic tests for climate.mqtt

* lint

* actualy collect coverage

* First tests and fixes

* Add possibility to receive temperature via MQTT

* Require only either sensor or mqtt topic

* Add mqtt publishing for away mode, hold mode and aux heat.

* Use configurabe on/off payloads

* Add pessimistic mode

* Initialize aux and away with False instead of None

* Remove Sensor

* Use correct scheduling method

* Move all methods to coroutines

* wunderground: fix supported language codes home-assistant#9631 (home-assistant#9633)

* removed PU, added TR language code (https://www.wunderground.com/weather/api/d/docs?d=language-support&MR=1), fixes home-assistant#9631

* add myself to codeowners (home-assistant#9642)

* raspihats: unmet dependency fix (home-assistant#9638)

* raspihats: update to 2.2.3 (deps fix)

Raspihats platform update, upstream fixed enum34 requirements, added smbus dependency
Fixes home-assistant#9547

* raspihats: update to 2.2.3, smbus-cffi dependency

Raspihats platform update, upstream fixed enum34 requirements, added smbus dependency
Fixes home-assistant#9547

* raspihats: update to 2.2.3

* raspihats: update to 2.2.3, smbus-cffi dependency

* raspihats: update to 2.2.3, smbus-cffi dependency

* raspihats: update to 2.2.3 (deps fix)

Raspihats platform update, upstream fixed enum34 requirements, added smbus dependency
Fixes home-assistant#9547

* raspihats: update to 2.2.3, smbus-cffi dependency

* Fixes broken source links in API docs (home-assistant#9636)

* Fixes broken source links in API docs

* Removes illegal blank line

* Move group services into their own YAML (home-assistant#9597)

* Move group services into their own YAML

* Fix lint

* Move persistent notification to package

* Facebook Messenger notify component: add support for sending messages to specific page user IDs (home-assistant#9643)

* arlo: Add battery level sensor (home-assistant#9637)

* arlo: Add battery level sensor

Adds a battery level sensor that monitors the battery level on
Arlo cameras.

* Fix lint issue

* Add hysteresis attribute to threshold binary sensor (home-assistant#9596)

* Added hysteresis attribute to threshold binary sensor

* Added threshold binary sensor hysteresis test case

* Changed threshold binary sensor property name to be more self explanatory

* Pulled default hysteresis value into top level declaration

* Fixed linter errors

* Fixed additional linter errors

* Move comment to docs

* Upgrade numpy to 1.13.3 (home-assistant#9646)

* Upgrade youtube_dl to 2017.10.01 (home-assistant#9647)

* Upgrade discord.py to 0.16.12 (home-assistant#9648)

* Upgrade netdisco to 1.2.2 (home-assistant#9649)

* Upgrade influxdb to 4.1.1 (home-assistant#9652)

* Upgrade influxdb to 4.1.1

* Upgrade influxdb to 4.1.1

* Upgrade googlemaps to 2.5.1 (home-assistant#9653)

* mqtt_statestream: Add options to publish attributes/timestamps (home-assistant#9645)

* Fixed bugs related to exception handling in pythonegardia. Updating package requirement accordingly (home-assistant#9663)

* Update google-api-python-client to 1.6.4 (home-assistant#9658)

* Bump abode to 0.11.9 (home-assistant#9660)

* Unit tests to improve core coverage (home-assistant#9659)

* Code coverage of logging util

* Improve async util coverage

* Add test coverage for restore_state

* get_random_string test

* Upgrade pyitachip2ir to 0.0.7 (home-assistant#9669)

* Fix typo in cancel_command description (home-assistant#9671)

"wasn't going to use it"

* Rename input_slider to input_number and add numeric text box option (home-assistant#9494)

* * Rename input_slider to input_number
* Update input_number to optionally display slider, input box, or both

* input_number support either input box or slider mode, but not both

* input_number : change service from select_value to set_value

* input_number : add test for mode setting to tests

* Properly handle an invalid end_time (home-assistant#9675)

* Support new feature to push API data to hassio (home-assistant#9679)

* Support new featuer to push API data to hassio

* Add tests & services

* Adding ignore capability to Egardia component (home-assistant#9676)

* Fix Google Calendar/oauth2client warning (home-assistant#9677)

* Fixes oauth2client warning.

* Fix permission.

* Implement DSMR5 support. (home-assistant#9686)

* Allow configuring DSMR5 protocol.

* Give good example.

* Using dev branch until released upstream.

* Update to dsmr_parser supporting v5 arguments.

* Update to latest dmsr parser, preventing exceptions thrown where warnings would suffice.

* Update even more

* Update requirements.

* Update requirements

* Add Tibber sensor (home-assistant#9661)

* Add Tibber sensor

* remove extra space

* Add recorder purge service, rework purge timer (home-assistant#9523)

* Add recorder purge service

* Recorder test to match purge config

* Removed purge timer, move service handler to setup, add service description file

* Tests for recorder purge service

* Recorder purge timer rework, add purge service parameter, tests

* Purge service schema change

* Service description change value range

* First cleanup

* Fix name of config

* Fix restore state by filter out null value row from DB query (home-assistant#9690)

* Updating clicksendaudio component based on feedback (home-assistant#9692)

* Updating clicksendaudio component based on feedback

* Updating .coveragerc - forgot to add new file clicksendaudio.py

* Refactoring of onewire sensor component (home-assistant#9691)

* HassIO replace config changes (home-assistant#9695)

* Update flow

* fix tests

* Update hassio.py

* Fixed typo in opencv (home-assistant#9697)

* [light.tradfri] async support with resource observation. (home-assistant#7815)

* [light.tradfri] Initial support for observe

* Update for pytradfri 2.0

* Fix imports

* Fix missing call

* Don't yield from add devices

* Fix imports

* Minor fixes to async code.

* Imports, formatting

* Docker updates, some minor async code changes.

* Lint

* Lint

* Update pytradfri

* Minor updates for release version

* Build fixes

* Retry observation if failed

* Revert

* Additional logging, fix returns

* Fix rename

* Bump version

* Bump version

* Support transitions

* Lint

* Fix transitions

* Update Dockerfile

* Set temp first

* Observation error handling

* Lint

* Lint

* Lint

* Merge upstream changes

* Fix bugs

* Fix bugs

* Fix bugs

* Lint

* Add sensor

* Add sensor

* Move sensor attrs

* Filter devices better

* Lint

* Address comments

* Pin aiocoap

* Fix bug if no devices

* Requirements

* RFC: Create a secrets file and enable HTTP password by default (home-assistant#9685)

* Create a secret and enable password by default

* Comment out api password secret

* Lint/fix tests

* Support for The Things Network (home-assistant#9627)

* Support for The Things network's Data Storage

* Rename platform and other changes (async and dict)

* Rename sensor platform and remove check for 200

* Update frontend

* fixed duplicate words (home-assistant#9705)

* move icon battery function from util to helpers (home-assistant#9708)

* Fix coap commit (home-assistant#9712)

* Deprecate Python 3.4 support (home-assistant#9684)

* Deprecate Python 3.4 support

* Update text

* Updating helper's icon_for_battery_level location (home-assistant#9594)

* Upgrade pyhomematic, add path setting and HM-CC-VG-1 support (home-assistant#9707)

* Bump pyhomematic, add path setting, HM-CC-VG-1 support

* Added requirement

* bump the version and catch all exceptions to avoid showing backtraces… (home-assistant#9720)

* bump the version and catch all exceptions to avoid showing backtraces but a more sane error message

* catch only BTLEExceptions, fix logging strings

* More netdata sensors (home-assistant#9719)

* Added more netdata sensors

* Changed precision on counts, packets, and uptime

* Upgrade pysnmp to 4.3.10 (home-assistant#9722)

* arlo: Add alarm control panel component (home-assistant#9711)

* arlo: Add alarm control panel component

Allows importing arlo base stations as an alarm control panel
component in HA. Lets the users configure a custom home mode since
arlo does not have a built-in home mode.

* fix lint and houndci comments

* Use async_update to update the state

Move the state updating code from state() to update() since it does
I/O.

* Do not set state in __init__

Make sure that update is called by passing the second parameter to
async_add_devices.

* Order imports and fix dos-strings

* Abode Temp, Humidity, and Light Sensor (home-assistant#9709)

* Update to 0.12.1 and sensor implementation.

* Removing unnecessary dict gets.

* Added name property to actually use the _name variable.

* Update docstring

* Arlo clean-up (home-assistant#9725)

* Fix remaining isses from home-assistant#9711

* More clean-up

* Introducing support to Travis-CI (home-assistant#9701)

* Introduced support to Travis CI

* Added Last Build Started sensor and simplified code

* Fixed logic error

* Simplified _LOGGER.debug statement

* Introduced support to Travis CI

* Added Last Build Started sensor and simplified code

* Fixed logic error

* Simplified _LOGGER.debug statement

* Renamed parameter since the repository_names expects a list

* Refactoring code to synchronous

* Simplified variables names

* Add show_on_map config option to AirVisual (home-assistant#9654)

* Removed lat/long attributes

* Linting

* Revised PR to focus on show_on_map configuration

* Move 'show_on_map' to const (home-assistant#9727)

* Bump release to 0.56.0dev (home-assistant#9726)

* [light.tradfri] Clone all of aiocoap to ensure pinned commit will be present (home-assistant#9713)

* Add andrey-git to codeowners (home-assistant#9718)

* Fix: Last Played Media Title persists in plex (home-assistant#9664)

* Fix: Last Played Media Title in plex would stay even when player was idle/off
     Primary Fix is in the "if self._device" portion.
     code in "if self._session" is a catch all but i'm not 100% if it is needed.

* Fixed lint issues with previous commit

* 1st Pass at refactoring plex refresh
Moved _media** into clearMedia() which is called in _init_ and
at start of refresh.

Removed redunant _media_* = None entries

Grouped TV Show and Music under single if rather than testing
seperately for now.

* Fixed invalid name for _clearMedia()
Removed another media_* = None entry

* Removed print() statements used for debug

* Removed unneeded "if" statement

* Event trigger nested conditions (home-assistant#9732)

* Test to supported nested event triggers

* Update event trigger to allow nested data tests

* Rewrite Alexa Smart-Home skill to v3 (home-assistant#9699)

* Rewrite Alexa Smart-Home skill to v3

* add discovery & fix brigness

* Rewrite Tests

* fix lint

* fix lint p2

* fix version

* fix tests

* fix test message generator

* Update smart_home.py

* fix test

* fix set bug

* fix list

* fix response name for discovery

* fix flucky tests

* Fix I/O in event loop by Arlo alarm control panel (home-assistant#9738)

* Make Arlo battery_level icon dynamic (home-assistant#9747)

* Make Arlo battery_level icon dynamic

* makes lint happy

* Fix for TypeError in synology camera (home-assistant#9754)

* switch.tplink, light.tplink: bump the pyhs100 version and adapt to api changes (home-assistant#9454)

* bump the pyhs100 version and fix api changes

* switch.tplink: avoid I/O during __init__

* initialize _name to None in __init__

* update requirements_all.txt for the new version

* RFC: Use bind_hass for helpers (home-assistant#9745)

* Add Helpers bind_hass functionality

* Update other helpers

* Skybell (home-assistant#9681)

* New Skybell platform with components

* Added skybell components to omit.

* Preemptively fixing lint issues (hopefully).

* Removed unused variable.

* Requested changes.

* Additional CRs

* Hopefully the last of the CR's!

* add myself to yeelight owners, too (home-assistant#9759)

* Update CODEOWNERS (home-assistant#9760)

* Adding my contributions (home-assistant#9761)

* Initializing statistics sensor with data from database (home-assistant#9753)

* Initializing statistics sensor with data from database

* fixed broken test case

* usage of recorder component is now optional, thx to @andrey-git

* added test case for initialize_from_database

* Match test requirements by full package name. (home-assistant#9764)

* yeelight: implement min_mireds and max_mireds, fixes home-assistant#9509 (home-assistant#9763)

* yeelight: implement min_mireds and max_mireds, fixes home-assistant#9509

thanks to @amelchio for pointing this out!

* remove typing infos

* Bump raincloudy version 0.0.3 (home-assistant#9767)

* Bump raincloudy version 0.0.3

* Fix logic for raincloudy status binary_sensor

* Simplified binary_sensor logic

* Simplify

* Xiaomi Smart WiFi Socket and Smart Power Strip integration (home-assistant#9138)

* Xiaomi Smart WiFi Socket and Smart Power Strip integration

* Comment updated.

* Blank line removed.

* Typo fixed.

* Version of python-mirobo bumped.

* Version of python-mirobo bumped: Lightweight API changes.

* Additional API changes.

* Library version properly pinned again.

* Platform not ready behavior fixed.
Expose the device model as sensor attribute.
Device initialized log message added. Provides device model, firmware and hardware version.

* Component renamed: switch.xiaomi_plug -> switch.xiaomi_miio

* Revise based on review: Unused code removed. Filename updated.

* fix for LocationParseError in netgear platform (home-assistant#9683)

* fix for LocationParseError in netgear platform

* added unit tests for get_scanner()

* fixed houndci-bot warnings

* fixed lint warnings

* fixed lint warnings

* fixed broken test

* removed guard clause from netgear.py
removed all discovery related code from device_tracker
removed unnecessary unit test

* removed discovery related tests

* removed unused import

* removed unused import

* Expose time module in Python Scripts (home-assistant#9736)

* Expose time module in Python Scripts

* Make dt_util available in Python Scripts

* Limit methods in time module

* Add time.mktime

* Limit access to datetime

* Add warning to time.sleep

* Lint

* Add notification platform for Rocket.Chat. (home-assistant#9553)

* Add notification platform for Rocket.Chat.

* Changes to Rocket.Chat notification platform based on feedback.

* Implement better error handling for Rocket.Chat platform.

* Return None if Rocket.Chat notify platform init fails.

* Refactor Rocket.Chat notifications.

Refactor Rocket.Chat notification platform to remove async and
simplify error handling.

* fix url

* Updating pythonegardia package requirement to .22 because of fixed bug in passing default value for parameter SSL for egardiaserver (home-assistant#9770)

* Adding myself as codeowner for egardia alarm control panel. (home-assistant#9772)

Adding jeroenterheerdt as codeowner for egardia alarm control panel.

* WIP: Fix Arlo Camera blocking IO (home-assistant#9758)

* WIP: Fix Arlo Camera blocking IO

* Accidental undo

* Linting issues

* Owner-requested changes

* Bumped pyarlo version and added Throttle

* Fix

* Update requirements_all.txt

* Tesla bug fixes. (home-assistant#9774)

* Tesla bug fixes.

* Added myself to CODEOWNERS for tesla.

* Fix off by one error in arwn platform (home-assistant#9781)

There is an off by one error that causes period exceptions. Fix this.

* missing is_closed ( rflink cover fix ) (home-assistant#9776)

* Added is_closed

* whitespaces --

* removed whitespace

* Wink dome siren support (home-assistant#9667)

* Support for Wink Dome siren/chimes

* Bump rxv library to 0.5.1 (home-assistant#9784)

This fixes some bugs with interfacing with yamaha receivers, including
closing bug home-assistant#5209.

* Communication timeout support in modbus hub. (home-assistant#9780)

* Communication timeout support in modbus hub.

Timeout parameter are taken from configuration and passed to pymodbus constructor.

* CONF_TYPE and CONF_TIMEOUT imported from const.py

* [light.tradfri] Fix transition time (home-assistant#9785)

* Fix transition time, set a default

* Wrong default

* Use int for safety

* Revert default.

* OwnTracks: Fix handler is None checking (home-assistant#9794)

* OwnTracks: Fix handler is None checking

* Update owntracks.py

* Simplify track_same_state (home-assistant#9795)

* Optimize event matcher (home-assistant#9798)

* Optimize event matcher

* Tweak order of checks

* Add a benchmark for time_changed helper

* Add state change benchmark

* fix lint

* Resolving bug that prevents ssl_verify option for Unifi device_tracker (home-assistant#9788)

* Added TODO to illustrate my intentions

* Resolved linting issue

* Resolved bool or file validation and updated tests

The tests have been updated to include mocks to assert a temp
ca cert exists as it should for the positive tests with an
additional negative test for a file not existing being tested.

* Resolved flake8 linting issues (test docstrings)

* Upgrade pyasn1 to 0.3.7 and pyasn1-modules to 0.1.5 (home-assistant#9810)

* Split map panel out into its own component (home-assistant#9814)

* Restore home-assistant-polymer pointer from home-assistant#9720 (home-assistant#9825)

* Fix ISY994 fan platform overwriting state property (home-assistant#9817)

* ISY994 platform overwrote state

* Update isy994.py

* Update isy994.py

* Wait_template - support for 'trigger.entity_id' and data_template values (home-assistant#9807)

* *Added support for use of 'trigger.entity_id' and service->data_template->script in wait_template

* * Fixed style violations

* * Fixed regular expression (_RE_GET_POSSIBLE_ENTITIES)

* * combined 'extract_entities' and 'extract_entities_with_variables'
* fixed regular expression

* * Added first test for extract_entities_with_variables

* * Added Unittests (tests/helpers/test_template.py test_extract_entities_with_variables)

* * Added Unittests (tests/helpers/test_script.py test_wait_template_variables)

* * Added Unittests (tests/components/automation/test_template.py test_wait_template_with_trigger)

* * Added Unittests (tests/components/automation/test_state.py test_wait_template_with_trigger)

* * Added Unittests (tests/components/automation/test_numeric_state.py test_wait_template_with_trigger)

* * Fixed style violations

* * Fixed style violations

* * Fixed style violations

* * Fixed style violations

* * Fixed style violations

* * Fixed style violations

* * Updated regular expression and delete whitespaces

* Adds image attribute to html5 notify (home-assistant#9832) (home-assistant#9835)

* OwnTracks: Handle lwt message (home-assistant#9831)

* OwnTracks: Handle lwt message

* Update owntracks.py

* Upgrade libnacl (home-assistant#9769)

* Upgrade libnacl to 1.6.0

* Small style updates

* Fixed reporting of vera UV sensors (home-assistant#9838)

* Update CODEOWNERS */axis.py (home-assistant#9823)

Add code owner for */axis.py

* fix climate services (missing indentation, wrongly formatted example) (home-assistant#9805)

* Run initial generation for development mode (home-assistant#9826)

* Run initial generation for development mode

* Use yarn dev

* Add service descriptions (home-assistant#9806)

* Added descriptions for services under homeassistant domain

* lint fixes

* Fixing file permissions

* Bugfix: Include MQTT schema (home-assistant#9802)

* Bugfix/9811 jinja autoescape (home-assistant#9842)

* Added autoescape kwarg to Jinja environment

* Removed extra comma

* Changed yaml.load into yaml.safe_load (home-assistant#9841)

* New PR (home-assistant#9787)

* Do not auto-install credstash (home-assistant#9844)

* Add namecheap DNS component (home-assistant#9821)

* Add namecheap DNS component

* Updates for pull-request

* remove unused import in test file

* Update .coveragerc

* Remove namecheap dns service (home-assistant#9845)

* Use the Last Seen attribute in unify (home-assistant#8998)

* Uses the Last Seen attribute in unify

* Update unifi.py

fix format

* Update unifi.py

formatting again

* update test_unifi to call CONF_CONSIDER_HOME

Updated.

* Update test_unifi.py

* Update test_unifi.py

* More unit test test

* Update where consider_home comes from.

* Update test_unifi.py

* Update unifi.py

* Update unifi.py

* Update test_unifi.py

* Update unifi.py

* Update unifi.py

* Update test_unifi.py

* fix hound

* Update test_unifi.py

* Update test_unifi.py

* Update unifi.py

* Update unifi.py

* Update test_unifi.py

* Update unifi.py

* Update unifi.py

* Update test_unifi.py

* Update unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update unifi.py

* Update unifi.py

* Update unifi.py

* Update unifi.py

* Update test_unifi.py

Fix the butcher of tests.

* Update unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update unifi.py

* Update unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update unifi.py

* Update test_unifi.py

* Update unifi.py

* Update unifi.py

* Update unifi.py

* Update unifi.py

* Add CAPSman master to mikrotik presence detection (home-assistant#9729)

* Add CAPSman master to mikrotik presence detection

Automatically prefer caps-man registered clients over locally connected

* Remove blank line

* Trailing whitespace removed

* File permissions fix (home-assistant#9847)

* Fixing file permissions

* Fixing file permissions

* HassIO - TimeZone / Host services (home-assistant#9846)

* HassIO - TimeZone / Host services

* Update hassio.py

* Update test_hassio.py

* Changing name of clicksendaudio component to clicksend_tts (home-assistant#9859)

* Upgrade youtube_dl to 2017.10.12 (home-assistant#9862)

* Uptime sensor (home-assistant#9856)

* Added uptime sensor for homeassistant

* Fixed pylint and flake8 errors

* Made requested changes from PR

- Fixed stale docstrings
- Changed default state to None
- Added ability for user to use hours or days

* Fixed typo

* Added unit_of_measurement check to test

* Converted to async

- Changed tests to work with async

* Minor updates

* Darksky enhancements (home-assistant#9851)

* Correct capitalization inconsistency in DarkSky

All two-word sensors ("Precip Intensity," "Nearest Storm Bearing," etc) in Darksky uses title case for the friendly name of the sensor, with the exception of "Dew point."

* Implement UV Index in Darksky

* Fixed whitespace for Tox compliance

* Add unit for UV Index.

Per recommendation of reviewer, added 'UV Index' as a CONST in const.py, then used that const in both DarkSky and ISY994. It looks like BloomSky might also support UV Index and it should probably be standardized.

* Upgrade psutil to 5.4.0 (home-assistant#9869)

* minimal fixes in the owntracks mqtt device tracker (home-assistant#9866)

* fix UnboundLocalError when unable to parse payload, and show bad topics that cannot be parsed ok

* Update owntracks.py

* Cloud connection via aiohttp (home-assistant#9860)

* Cloud: connect to cloud

* Fix tests in py34

* Update warrant to 0.5.0

* Differentiate errors between unknown handler vs exception

* Lint

* Respond to cloud message to logout

* Refresh token exception handling

* Swap out bare exception for RuntimeError

* Add more tests

* Fix tests py34

* handle OWM API error calls (home-assistant#9865)

* Upgrade paho-mqtt to 1.3.1 (home-assistant#9874)

* Fix home-assistant#9839 (home-assistant#9880)

* Fix home-assistant#9839

* Update requirements

* Default state: STATE_UNKNOWN -> None

* Default the state to None in the constructor as well

* Upgrade python-telegram-bot to 8.1.1 (home-assistant#9882)

* update python-telegram-bot to v8.1.1

* update python-telegram-bot to v8.1.1

* Xknx improvements (home-assistant#9871)

* Issue XKNX/xknx#65 Make state_updater adjustable by config file (On/OFF)

* Issue XKNX/xknx#48 updated home assistant plugin: added support for setpoint shift

* bumped version

* added missing docstrings.

* Bumped version.

* Fixed requirements_all.txt

* added new options to PLATFORM_SCHEMA

* zha: Update to bellows 0.4.0 (home-assistant#9890)

Fixes: home-assistant#8822

* Changing clicksendaudio to clicksend_tts in .coveragerc (home-assistant#9900)

* Added super attributes to Wink binary sensors (home-assistant#9824)

* Added super attributes to Wink binary sensors

* Removed unused import.

* Dependemcy version bump. (home-assistant#9899)

Closes home-assistant#8213.
Closes home-assistant#7575.

* Update osramlightify.py (home-assistant#9905)

* Fixes (home-assistant#9912)

* Fix load of components without any config from packages (home-assistant#9901)

* Fix load of components without any config from packages

- Add 'None' to the packages config schema validation, to be able to
load components without any more configuration from yaml package files,
like `wake_on_lan`, `media_extractor` and so on.

* test the ability to load components without configuration from packages

* Fixes (home-assistant#9911)

* add last_action for xiaomi cube (home-assistant#9897)

* Added support for Denon AVR-4810. (home-assistant#9887)

* Recorder: Extra check to incoming connections which could be not sqlite3 ones (home-assistant#9867)

* Extra check to incoming connections

The incoming connection could be other than self.db_url, because
some 'custom_component' could be making these, and then, if they're not
sqlite3 connections, an error will raise because those haven't the
`dbapi_connection.isolation_level` attrib.

* lint fix

* simplify check: isinstance test only

* Fix the resource naming in the UI (home-assistant#9916)

Use proper English for the UI representation without breaking the component.

* Update xiaomi_aqara.py (home-assistant#9920)

* Fix the resource naming in the UI (home-assistant#9927)

Use proper English for the UI representation without breaking the component.

* Add transmission sensor: number of active torrents (home-assistant#9914)

* Add transmission sensor: number of active torrents

* Make variable name shorter

* Google Actions for Assistant (home-assistant#9632)

* http: Add headers key to json[_message]

* Add google_assistant component

This component provides API endpoints for the Actions on Google Smart
Home API to interact with Google Assistant.

* google_assistant: Re-add fan support

* google_assistant: Fix Scene handling

- The way I originally wrote the MAPPING_COMPONENT and the way it's actual
  used changed so the comment was updated to match that.
- Use const's in more places
- Handle the ActivateScene command correctly

* google_assistant: Fix flakey compare test

Was failing on 3.4.2 and 3.5, this is more correct anyway.

* google_assistant: Use volume attr for media_player

* Allow flexible relayer url (home-assistant#9939)

* update async_timeout from v1.4.0 tp v2.0.0 (home-assistant#9938)

* Bump py-synology to 0.1.5 (home-assistant#9932)

*  Update aioimaplib from v0.7.12 to v0.7.13 (home-assistant#9930)

* Update aioimaplib from v0.7.12 to v0.7.13

Changelog v0.7.13:
[aiolib] adds a connection lost callback [test] imapserver : added APPENDUID response for APPEND cmd [test][fix] imapserver append should add to the connected user mb [test] imapserver : more accurate building of message headers (using python email module)

* run script/gen_requirements_all.py

* A new platform for controlling Monoprice 6-Zone amplifier (home-assistant#9662)

* added implementation for monoprice 6-zone amplifier. This implementation is based on and very similar to russoun_rnet implementaion

* updated comments and cleaned up code

* updated comments and cleaned up code

* added unit tests

* removed 'name' attribute from platform schema.

* added monoprice.py to .coveragerc

* fixed lint

* fixed lint errors

* fixed lint errors

* added monoprice to requirements_all.txt

* fixed lint errors again

* implemented change requests

* fixed lint error

* added exception handling to setup_platform()

* replaced catchall with SerialException only

* added myself to CODEOWNERS

* fixed weird merge to CODEOWNERS

* Align away state tag with device_trackers (home-assistant#9884)

* Add serial sensor (home-assistant#9861)

* Add serial sensor

* Rename config variable and cancel

* Fix missing timeout for Netatmo binary sensor (home-assistant#9850)

* Fix missing timeout for Netatmo binary sensor

This fix also merges timeout and offset because there were the same thing

Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>

* Fix lint errors

* Fix style

* Xiaomi config validation (home-assistant#9941)

* validate xiaomi config

* Update xiaomi_aqara.py

* check for valid config

* use consts

* using defusedxml ElementTree for safer parsing of untrusted XML data (home-assistant#9934)

* using defusexml ElementTree for safer parsing of untrusted XML data

* move from core dependency to platform specific dependency

* style difference: put back end of list comma in setup.py

* notify.xmpp - Add support for MUC (home-assistant#9931)

* Add support for MUC

* Fix two spaces before inline comment

* FFmpeg 1.8 (home-assistant#9944)

* Update requirements_all.txt

* Update requirements_test_all.txt

* Update ffmpeg.py

* Update ffmpeg.py

* Update yi.py

* Update onvif.py

* Update yi.py

* Changed returned attribute from "Game" to "game" (home-assistant#9945)

I noticed the steam component "game" attribute is capitalized. This should be lowercase if I'm not mistaken.

From:
        return {'Game': self._game}
To:
        return {'game': self._game}

Not sure if i'm doing this correctly... apologizes if I'm not!

* Move 'lights' to const.py (home-assistant#9929)

* Update directpy to 0.2 (home-assistant#9948)

* Update enocean to 0.40 (home-assistant#9949)

* Update hikvision to 1.2 (home-assistant#9953)

* Update fritzhome to 1.0.3 (home-assistant#9951)

* Update fritzconnection to 0.6.5 (home-assistant#9950)

* Upgraded pyhomematic (home-assistant#9956)

* Add emeter attributes (home-assistant#9903)

* Add emeter attributes.

* Remove unused attributes.

* Rework supported features so it only queries the bulb once.

* Used cached supported_features, catch errors if energy usage not reported.

* Use default clientsession to stream synology video (home-assistant#9959)

* Update requirements_test_all.txt

* Update ffmpeg.py

* Update ffmpeg 1.9 (home-assistant#9963)

* Improve SSL certs used by aiohttp (home-assistant#9958)

* Improve SSL certs used by aiohttp

* Add certifi package

* Lint

* Fix async probs (home-assistant#9924)

* Update entity.py

* Update entity_component.py

* Update entity_component.py

* Update __init__.py

* Update entity_component.py

* Update entity_component.py

* Update entity.py

* cleanup entity

* Update entity_component.py

* Update entity_component.py

* Fix names & comments / fix tests

* Revert deadlock protection

* Add tests for entity

* Add test fix name

* Update other code

* Fix lint

* Remove restore state from template entities

* Lint

* Add Toon support (home-assistant#9483)

* Added Toon support again

* Forgot about .coveragerc

* Fixed style issues

* More styling and importing fixes

* Implemented the suggestions made by @pvizeli

* The smallest fix possible

* Removed custom names for Toon states

* Fix last push with 2 outdated lines

* Removed HOME and NOT_HOME, moved to just climate states

* Bumped dependency for better handling of smartplugs that don't report power consumption

* Implemented changes as suggested by @balloob

* Rebase, gen_requirements_all.py finally working
Julius2342 added a commit that referenced this issue Oct 19, 2017
@zimgui
Copy link

zimgui commented Nov 3, 2017

Hi Julius2342, congratulations for your amazing job.
I have a Zennio z38i device to control my climate but is not allowed to read/write in the same setpoint_adress.
Would you create a separate identifier for setpoint_adress_status? That would be great. Thanxs and apologies for my english, is very basic ans rusty.

@Julius2342
Copy link
Collaborator Author

@zimgui : The newest version does no longer need a setpoint. It calculates the new setpoint shift out of the current setpoint shift and the current target temperature.

@zimgui
Copy link

zimgui commented Nov 4, 2017

That sounds great! I'd wait for 0.57 being released in HASSIO platform to test it. Thanks a lot.

@Julius2342
Copy link
Collaborator Author

I made a pull request in HASS. I will close this issue now, if any new problems (bugs/feature requests) arise, please open a new ticket.

pvizeli pushed a commit to home-assistant/core that referenced this issue Nov 9, 2017
* Added myself to codeowners

* Improved climate support with setpoint shift for KNX. (XKNX/xknx#48)

* requirements_all.txt

* typo

* flake

* Changes requested by @pvizeli
mateuszdrab added a commit to mateuszdrab/home-assistant that referenced this issue Dec 10, 2017
* Add heal_node and test_node services. (home-assistant#10369)

* Add heal_node and test_node services.

* lint

* Addition of new binary sensor class 'plug' (home-assistant#10336)

* Addition of new binary sensor class 'plug'

* use term "unplugged"

* add the entry to the right place

* Fix tradfri problem with brightness (home-assistant#10359)

* Fix problem with brightness

* Fix typo

* Typo

* Update frontend to 20171105.0

* Update version to 0.57.2

* Upgrae simplepush to 1.1.4 (home-assistant#10365)

* Update frontend

* Update aiohttp to 2.3.1 (home-assistant#10139)

* Update aiohttp to 2.3.1

* set timeout 10sec

* fix freeze with new middleware handling

* Convert middleware auth

* Convert mittleware ipban

* convert middleware static

* fix lint

* Update ban.py

* Update auth.py

* fix lint

* Fix tests

* Device model identification of the Xiaomi Philips Ceiling Lamp fixed. (home-assistant#10401)

* Zwave save cache to file now. (home-assistant#10381)

* Add save config

* Add API to save Z-Wave cache to file immediatley.

* lint

* remove none assignment

* docstring

* Bump to 0.12.2 to fix urllib3 dependency (home-assistant#10420)

* Remove extra info from zwave entity states (home-assistant#10413)

* Remove extra info from zwave entity states

* Show initializing for nodes that haven't completed queries

* Fixes issue home-assistant#10425 (home-assistant#10426)

Fixes an error reported resulting from Hammersmith no longer supplying
data.

* Add baudrate option to Serial sensor (home-assistant#10439)

* Add baudrate option

Baudrate is essential!

* line too long

line too long (82 > 79 characters)

* trailing whitespace

* Rename const

* Fix the missing one

* Remove model info from state (home-assistant#10399)

* update tibber library (home-assistant#10460)

* update pywebpush==1.3.0 (home-assistant#10374)

* Fix slow WOL switch test (home-assistant#10455)

* Fix recorder stop on SQLite vacuuming error (home-assistant#10405)

* Fix recorder stop on SQLite vacuuming error

* Move import to function

* Add include/exclude filter to mqtt_statestream (home-assistant#10354)

* Add publish filter to mqtt_statestream

* Add tests for include/excludes in mqtt_statestream

* Upgrade to 0.1.2 (home-assistant#10348)

Fix an insecure request warning when not using verify=True. Contributed by @nalepae

* Upgrade pyatv to 0.3.6 (home-assistant#10349)

Fix string conversion for idle state

* Remove useless temp converting (home-assistant#10465)

* Fixed update() method and removed `ding` feature from stickupcams/floodlight (home-assistant#10428)

* Simplified URL expiration calculation and fixed refresh method

* Remove support from Ring from StickupCams or floodlight cameras

* Makes lint happy

* Removed unecessary attributes

* Upgrade apns2 to 0.3.0 (home-assistant#10347)

* Improvement of KNX climate component (home-assistant#10388)

* Added myself to codeowners

* Improved climate support with setpoint shift for KNX. (XKNX/xknx#48)

* requirements_all.txt

* typo

* flake

* Changes requested by @pvizeli

* Tellstick Duo acync callback fix (home-assistant#10384)

* Reverted commit 1c8f179. This fixes issue: home-assistant#10329

* convert callback to async

* fix lint

* cleanup

* cleanup

* cleanups

* optimize initial handling

* Update tellstick.py

* Update tellstick.py

* fix lint

* fix lint

* Update tellstick.py

* Fixed code errors and lint problems.

* fix bug

* Reduce logic, migrate to dispatcher

* Update tellstick.py

* Update tellstick.py

* fix lint

* fix lint

* Updated gc100 package requirement to 1.0.3a (home-assistant#10484)

* Updated gc100 package requirement to 1.0.3a

* Update requirements_all.txt

* Remove lag from Harmony remote platform (home-assistant#10218)

* Simplify kwargs handling

* Move Harmony remote to a persistent connection with push feedback

* Make default delay_secs configurable on the harmony platform

* Remove lint

* Fix delay_secs with discovery

* Temporary location for updated pyharmony

* Remove lint

* Update pyharmony to 1.0.17

* Remove lint

* Return an Optional marker

* Update pyharmony to 1.0.18

* Improve error handling. (home-assistant#10482)

* Improve error handling.

* Fix import of core requirements.

* cleanup

* Upgrade psutil to 5.4.1 (home-assistant#10490)

* Upgrade youtube_dl to 2017.11.06 (home-assistant#10491)

* Fix for telegram polling. (added pausing when error occurs) (home-assistant#10214)

* Fix for telegram polling. (added pausing when error occurs)

* fix pylint error.
invalid variable name ( Exception as _e)). Don't understand why as
removing the underscore fails with my local pylint..

* fixing too short variable name.

* moved logic to `check_incoming`

* fix line too long error.

* Simplify

* add JSON processing capabilities to sensor_serial (home-assistant#10476)

* add JSON processing capabilities

* format fixes

* format fixes

* Fix according to @fabaff comment

* reverting last commit to a more sane approach

* docstring...

* still docstring...

* passed script/lint

* downgrade exception

JSONDecodeError was only introduced in Python3.5

Since we are still supporting 3.4 ValueError is the parent class of
JSONDecodeError

* upgrade to new pylutron_caseta with TLS (home-assistant#10286)

* upgrade to new pylutron with TLS

* rename configuration options

* change more methods to coroutines

* use async_add_devices

* Bump dev to 0.58.0.dev0 (home-assistant#10510)

* OwnTracks Message Handling (home-assistant#10489)

* Improve handling and logging of unsupported owntracks message types

Added generic handlers for message types that are valid but not
supported by the HA component (lwt, beacon, etc.) and for
message types which are invalid. Valid but not supported
messages will now be logged as DEBUG. Invalid messages will
be logged as WARNING.

Supporting single "waypoint" messages in addition to the
roll-up "waypoints" messages.

Added tests around these features.

* Style fixes

*  Add support for Alexa intent slot synonyms. (home-assistant#10469)

* Introduce media progress for Yamaha Musiccast devices (home-assistant#10256)

* Introduce update_hass()

* Introduce media_positions

* Version bump pymusiccast

* Fix: Unnecessary "else" after "return"

* FIX D400: First line should end with a period

* Version bump

Fixes home-assistant#10411

* Add an option to serve ES6 JS to clients (home-assistant#10474)

* Add an option to serve ES6 JS to clients

* Rename es6 to latest

* Fixes

* Serve JS vrsions from separate dirs

* Revert websocket API change

* Update frontend to 20171110.0

* websocket: move request to constructor

* Adapt to new yarl API (home-assistant#10527)

* Update nederlandse_spoorwegen.py to include platform information (home-assistant#10494)

* Update nederlandse_spoorwegen.py

Make departure and arrival platforms available as state attributes

* Update nederlandse_spoorwegen.py

* Update nederlandse_spoorwegen.py

* Pin YARL to 0.13

* Tellstick Duo acync callback fix (home-assistant#10384)

* Reverted commit 1c8f179. This fixes issue: home-assistant#10329

* convert callback to async

* fix lint

* cleanup

* cleanup

* cleanups

* optimize initial handling

* Update tellstick.py

* Update tellstick.py

* fix lint

* fix lint

* Update tellstick.py

* Fixed code errors and lint problems.

* fix bug

* Reduce logic, migrate to dispatcher

* Update tellstick.py

* Update tellstick.py

* fix lint

* fix lint

* Fixed update() method and removed `ding` feature from stickupcams/floodlight (home-assistant#10428)

* Simplified URL expiration calculation and fixed refresh method

* Remove support from Ring from StickupCams or floodlight cameras

* Makes lint happy

* Removed unecessary attributes

* Version bump to 0.57.3

* Pin yarl (home-assistant#10528)

* Pin yarl

* Update requirements

* Support configuration of region (no service url neccessary (home-assistant#10513)

* Fix import in tests (home-assistant#10525)

* Update axis.py (home-assistant#10412)

* Add attribute to show who last un/set alarm (SPC) (home-assistant#9906)

* Add attribute to show who last un/set alarm.

This allows showing the name of the SPC user who last
issued an arm/disarm command and also allows for
automations to depend on this value.

* Optimize

* Update spc.py

* Update spc.py

* fix

* Fix test.

* Fix for removed is_state_attr.

* Fixed Wink Quirky Aros bugs. (home-assistant#10533)

* Fixed Wink Quirky Aros bugs.

* Adds support for Tile® Bluetooth trackers (home-assistant#10478)

* Initial work in place

* Added new attributes + client UUID storage

* Wrapped up

* Collaborator-requested changes

* telegram_bot: Support for sending videos (home-assistant#10470)

* telegram_bot: Support for sending videos

Telegram python library has a sendVideo function that can be used
similar to sending photos and documents.

* fix lint issue

* fix grammar

* Pre-construct frontend index.html (home-assistant#10520)

* Pre-construct frontend index.html

* Cache templates

* Update frontend to 20171111.0

* Fix iframe panel test

* notify.html5: use new json save and load functions (home-assistant#10416)

* update to use new save_json and load_json

* it is no longer possible to determine if the json file contains valid or empty data.

* fix lint

* Change to device state attributes (home-assistant#10536)

* Following the suggestion of @MartinHjelmare

* Google Assistant request sync service (home-assistant#10165)

* Initial commit for request_sync functionality

* Fixes for Tox results

* Fixed all tox issues and tested locally with GA

* Review comments - api_key, conditional read descriptions

* Add test for service

* Optimize concurrent access to media player image cache (home-assistant#10345)

We now do locking to ensure that an image is only downloaded and added
once, even when requested by multiple media players at the same time.

* webostv: set current source correctly (home-assistant#10548)

* Upgrade pysnmp to 4.4.2 (home-assistant#10539)

* Fix and clean lametric (home-assistant#10391)

* Fix and clean lametric

* Add missing DEPENDENCIES in notify platform.
* Remove not needed method in component manager class.
* Don't overwrite notify DOMAIN.
* Return consistently depending on found devices in setup of component.

* Get new token if token expired

* Add debug log for getting new token

* Clean up

* Support presence detection using Hitron Coda router (home-assistant#9682)

* Support presence detection using Hitron Coda router

* at least 2 spaces before inline comment

* Update hitron_coda.py

* rewrote authentication code, it actually works now

* make line slightly shorter to comply with hound

* Removed hardcoded IP address

* Fix string formatting, add timeout, and use generator

* Update hitron_coda.py

* Update hitron_coda.py

* Update hitron_coda.py

* typo

* update .coveragerc

* Update stale URL

* Better support for int types (home-assistant#10409)

* Better int types support

* type

* Added optional register order

* Fix white spaces

* Fix line length

* Fix line too long

* Fix trailing whitespace

* Stylistc code fixes

*  Don't use the 'id' field since it can be autogenerated (fixes home-assistant#10551). (home-assistant#10554)

* pad packets to multiple of 4 characters (home-assistant#10560)

* pad packets to multiple of 4 characters

This fixes sending commands, see home-assistant#7669

* Update broadlink.py

* removed whitespace

* Move temperature display helper from components to helpers (home-assistant#10555)

* webostv: Reduce default timeout to prevent log spamming (home-assistant#10564)

With the default timeout of 10 seconds, the log gets filled up with "component is taking more than 10 seconds" errors.
This should probably be fixed in some other way, but for now this reduces the problem a bit.

* Fix lametric sound (home-assistant#10562)

* Fix sound for lametric notify

* Remove not used method

* Use a template for the Universal media player state (home-assistant#10395)

* Implementation of `state_template` for the Universal media_player

* add tracking to entities in state template

* use normal config_validation

* fix tests, use defaults in platform schema, remove extra keys

* and test the new option `state_template`

* lint fixes

* no need to check attributes against None

* use `async_added_to_hass` and call `async_track_state_change` from `hass.helpers`

* Verisure: Added option to set installation giid (home-assistant#10504)

* Added option to set installation giid

* Changed where giid config var is being checked

* Style fix

* Fix style

* Bump ring_doorbell to 0.1.7 (home-assistant#10566)

* Add code to enable discovery for mqtt cover (home-assistant#10580)

* Add code to enable discovery for mqtt cover

* Fix pylint error

* Google Assistant for climate entities: Support QUERY and respect system-wide unit_system setting. (home-assistant#10346)

* turn service call handler into coroutine (home-assistant#10576)

* Add basic backend support for a system log (home-assistant#10492)

Everything logged with "warning" or "error" is stored and exposed via
the HTTP API, that can be used by the frontend.

* Tradfri unique identities (home-assistant#10414)

* Unique identity
Use unique ID for generating keys and store them in config. Fallback to
old id so existing installs will still work.

* Remove Timeouts
they don't really work. this should be fixed in pytradfri I think.

* import uuid only when necessary

* more selective import

* lint

* use load_json and save_json from util.json

* remove unnecessary imports

* use async configurator functions

* async configurator calls

* thou shalt not mixup the (a)syncs

* again: no asyncs in the syncs!
last warning...

* Update tradfri.py

* Add panel build type (home-assistant#10589)

* Update frontend to 20171115.0

* Cloud updates (home-assistant#10567)

* Update cloud

* Fix tests

* Lint

* Upgrade youtube_dl to 2017.11.15 (home-assistant#10592)

* Fix Yahoo Weather icons over SSL (home-assistant#10602)

* Arlo - Fixes for updated library (home-assistant#9892)

* Reduce update calls to API. Add signal strength monitor.

* Fix lint errors

* Fix indent

* Update pyarlo version and review fixes

* Fix lint errors

* Remove staticmethod

* Clean up attributes

* Update arlo.py

* Do not add panel from system_log (home-assistant#10600)

The frontend will not have this panel.

* Fix ValueError exception (home-assistant#10596)

* Fix ValueError exception

structure = '>{:c}'.format(data_types[register.get(CONF_DATA_TYPE)][register.get(CONF_COUNT)])
give:
ValueError: Unknown format code 'c' for object of type 'str'

* Minor typo

* Fix Hikvision (motion) switch bug (home-assistant#10608)

* Fix Hikvision switch bug

* Added comment about last working version

* Allow unicode when dumping yaml (home-assistant#10607)

* Support script execution for Alexa (home-assistant#10517)

* Support script execution for Alexa

* Use PowerController for the script component

* bump client version (home-assistant#10610)

* New sensor viaggiatreno. (home-assistant#10522)

* New sensor viaggiatreno.

I've messed up the previous PR so here it is in a new one.
Should include also all corrections from @pvizeli

* fixes from PR 10522

* fixed import order

* requested changes from MartinHjelmare

* Modbus switch register support (home-assistant#10563)

* Update modbus.py

* Fix blank linea and whitespaces

* Fix visual indent

* Fix visual indent

* fix multiple statements on one line

* Typo

* Disable pylint check

# pylint: disable=super-init-not-called

* Fix code style

* Upgrade mypy to 0.550 (home-assistant#10591)

* Small fix to be able to use mac and vendor in "device_tracker_new_device" event. (home-assistant#10537)

* Small fix to be able to use mac and vendor in EVENT_NEW_DEVICE event

* Missed device_tracker test

* add support for color temperature and color to Google Assistant (home-assistant#10039)

* add support for color temperature and color; also add some extra deviceInfo attributes

* change so that default behaviour doesn't turn off device if the action isn't handled

* add tests

* fix lint

* more lint

* use attributes were applicable

* removed debug logging

* fix unassigned if only None returned

* report more data in QUERY

* better tests for color and temperature

* fixes after dev merge

* remove deviceInfo as not part of a device state (PR home-assistant#10399)

* fix after merge

* Cleanup old stale restore feature (home-assistant#10593)

* Cleanup old stale restore feature

* cleanup

* Update __init__.py

* Update test_demo.py

* Lint

* Correct input_datetime initial value parsing (home-assistant#10417)

* Correct input_datetime initial value parsing

* Correct input_datetime initial value parsing

* Change generic thermostat to control heating on mode change Off -> Auto (home-assistant#10601)

* Change generic thermostat to control heating on mode change Off -> Auto

* Fix typo

* Improve WUnderground config validation (home-assistant#10573)

* Fix WUnderground config validation

* Fix indentation

* update hbmqtt to 0.9.1 (home-assistant#10611)

* Allow to pass YandexTTS options via sevice call (home-assistant#10578)

* Snapcast: bump version and enable reconnect. (home-assistant#10626)

This bumps the used snapcast version to 2.0.8 and enables the new
reconnect feature that causes the component to reconnect to a server if
the connection was lost.

This fixes the ned to restart Home Assstant after a snapcast reboot, as
described in issue home-assistant#10264.

Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>

* Fix async missing decorators (home-assistant#10628)

* Alexa slot synonym fix (home-assistant#10614)

* Added logic to the alexa component for handling slot synonyms

* Moved note with long url to the top of the file

* Just made a tiny url instead of messing with Flake8

* Refactored to be more Pythonic

* Put trailing comma back

* Update frontend to 20171117.0

* Adjust logging in downloader component (home-assistant#10622)

* Added sorted() to python_script (home-assistant#10621)

* added sorted() to python_script

* fixed lint errors

* Add loglinefetch for frontend API call (home-assistant#10579)

* Add loglinefetch for frontend API call

* Too many blank lines

* Review changes

* review changes

* Only return a text

* Use aiohttp

* Don't do I/O in event loop

* Move lines to query and default to 0

* Small fixes

* Update frontend to 20171117.1

* Version bump to 0.58.0

* Added unit_of_measurement to Currencylayer (home-assistant#10598)

* Added unit_of_measurement to Currencylayer

* Updated based on comments

* Remove quote from name

* Change generic thermostat - any toggle device as heater switch (home-assistant#10597)

* Change generic thermostat - any toggle device as heater

* Heater switch state method

* Tests

* Debug log, lint

* Debug code remove, cleanup

* Change generic thermostat to control heating on mode change Off -> Auto

* Fix typo

* Review fixes, tests

* Merge and fix tests

* Add hddtemp sensor device even if unreachable. (home-assistant#10623)

* Add hddtemp sensor device even if unreachable.

* Removed old commented code.

* Move unit detection logic into update.

* Restore target temperature for generic thermostat (home-assistant#10635)

* Restore target temp for generic thermostat

* Fix lint

* Print entity type in "too slow" warnings (home-assistant#10641)

* Update entity.py

* Update entity.py

* Alexa improvements (home-assistant#10632)

* Initial scene support

* Initial fan support

* ordering

* Initial lock support

* Scenes cant be deactivated; Correct the scene display category

* Initial input_boolean support

* Support customization of Alexa discovered entities

* Initial media player support

* Add input_boolean to tests

* Add play/pause/stop/next/previous to media player

* Add missing functions and pylint

* Set manufacturerName to Home Assistant since the value is displayed in app

* Add scene test

* Add fan tests

* Add lock test

* Fix volume logic

* Add volume tests

* settup -> setup

* Remove unused variable

* Set required scene description as per docs

* Allow setting scene category (ACTIVITY_TRIGGER/SCENE_TRIGGER)

* Add alert, automation and group support/tests

* Change display categories to match docs

* simplify down the display category props into a single prop which can be used on any entity

* Fix tests to expect proper display categories

* Add cover support

* sort things

* Use generic homeassistant domain for turn on/off

* Make MQTT reconnection logic more resilient and fix race condition (home-assistant#10133)

* Update lnetatmo (home-assistant#10631)

* Support for Unifi direct access device tracker (No unifi controller software) (home-assistant#10097)

* Fixes AirVisual bug regarding incorrect location data (home-assistant#10054)

* Fixes AirVisual bug regarding incorrect location data

* Owner-requested changes

* Bump pyatv to 0.3.8 (home-assistant#10643)

Fixes AirPlay issues on newer versions of tvOS.

* Update frontend to 20171118.0

* Implement entity and domain exclude/include for Alexa (home-assistant#10647)

* Implement entity and domain exclude/include for Alexa

* Switch to using generate_filter

* Use proper domain for turn on/off calls except for groups where we must use the generic homeassistant.turn_on/off

* travis fixes

* Untangle

* Lint

* Add Facebook Notification tests (home-assistant#10642)

* test the facebook notification component

* respond to hound feedback

* remove unnecessary line breaks

* parse_qs not needed with requests_mock

* remove facebook notifier from .coveragerc

* Fixes AirVisual bug regarding incorrect location data (home-assistant#10054)

* Fixes AirVisual bug regarding incorrect location data

* Owner-requested changes

* Print entity type in "too slow" warnings (home-assistant#10641)

* Update entity.py

* Update entity.py

* Alexa improvements (home-assistant#10632)

* Initial scene support

* Initial fan support

* ordering

* Initial lock support

* Scenes cant be deactivated; Correct the scene display category

* Initial input_boolean support

* Support customization of Alexa discovered entities

* Initial media player support

* Add input_boolean to tests

* Add play/pause/stop/next/previous to media player

* Add missing functions and pylint

* Set manufacturerName to Home Assistant since the value is displayed in app

* Add scene test

* Add fan tests

* Add lock test

* Fix volume logic

* Add volume tests

* settup -> setup

* Remove unused variable

* Set required scene description as per docs

* Allow setting scene category (ACTIVITY_TRIGGER/SCENE_TRIGGER)

* Add alert, automation and group support/tests

* Change display categories to match docs

* simplify down the display category props into a single prop which can be used on any entity

* Fix tests to expect proper display categories

* Add cover support

* sort things

* Use generic homeassistant domain for turn on/off

* Make MQTT reconnection logic more resilient and fix race condition (home-assistant#10133)

* Bump pyatv to 0.3.8 (home-assistant#10643)

Fixes AirPlay issues on newer versions of tvOS.

* Implement entity and domain exclude/include for Alexa (home-assistant#10647)

* Implement entity and domain exclude/include for Alexa

* Switch to using generate_filter

* Use proper domain for turn on/off calls except for groups where we must use the generic homeassistant.turn_on/off

* travis fixes

* Untangle

* Lint

* Change some warnings to info (home-assistant#10386)

* Added cycles config option to LaMetric notifications (home-assistant#10656)

* Added cycles config option to lametric.py

Added cycles config option, changed display_time to lifetime, code cleanup

* Update lametric.py

* Update lametric.py

* Fix yweather (home-assistant#10661)

* Netatmo httperror403 fix (home-assistant#10659)

* Update lnetatmo

* updated zip

* updated zip

* Properly initialize Harmony remote (home-assistant#10665)

The delay_secs variable was not initialized if discovery was active and no
matching configuration block existed (i.e. override was None).

* Bump dev to 0.59.0.dev0 (home-assistant#10675)

* Include unit_of_measurement as InfluxDb field (home-assistant#9790)

* Tahoma platform for Somfy Covers and Sensors (home-assistant#10652)

Tahoma platform for Somfy Covers and Sensors

* Populate measurement state field for HA states like home/not_home (home-assistant#9833)

* Reorganize lint travis builds (home-assistant#10670)

* tox cleanup

* 1 tox step

* Revert pytest sugar changes

* Tox: make pylint its own task

* Bump Travis to 30 minutes timeout

* Fix for time_date sensor (home-assistant#10694)

* fix to time_date sensor

* cleaned up the code and added unit tests

* fixed lint errors

* Refactored to new global json saving and loading (home-assistant#10677)

* Refactored to new global json saving and loading

* Fixed emulated_hue tests

* Removed unnecassary error handling

* Added missing newline

* Remove unused imports

* Fixed linting error

* Moved _load_json wrapper out of the config class

* Convert configurator to use markdown (home-assistant#10668)

* index.html improvements (home-assistant#10696)

* Handle the new version of HydroQuebec website (home-assistant#10682)

* Handle the new version of HydroQuebec website

* Update requirements_all.txt

* Add Arm Custom Bypass to alarm_control_panel (home-assistant#10697)

* Fix conversation (home-assistant#10686)

* Fix conversation

* Lint

* Bump frontend to 20171121.0

* Bump frontend to 20171121.0

* Version bump to 0.58.1

* Fix yweather (home-assistant#10661)

* Properly initialize Harmony remote (home-assistant#10665)

The delay_secs variable was not initialized if discovery was active and no
matching configuration block existed (i.e. override was None).

* Handle the new version of HydroQuebec website (home-assistant#10682)

* Handle the new version of HydroQuebec website

* Update requirements_all.txt

* Fix for time_date sensor (home-assistant#10694)

* fix to time_date sensor

* cleaned up the code and added unit tests

* fixed lint errors

* Shopping list: add item HTTP API (home-assistant#10674)

* Shopping list: add item HTTP API

* Fix order of decorators

* Add presence device_class (home-assistant#10705)

* Update frontend to 20171121.1

* Fix tests

* python-miio version bumped for improved device support. (home-assistant#10720)

* Adding Queue count sensor (home-assistant#10723)

Adding another sensor to output the numeber of items in the SABnabd queue.  This is an alternative to displaying filesize, just a preference thing, as it is more meaningfull for me the way I use SABnzdb. 

Note this is my first time coding on github and I have no idea if I am doing things right, I assume that all I needed to do is add a couple of lines to the sensors available and also another line as to what to extract from the SABnzdb API, in this case I have called the sensor "queue_count" and it gets the value from the noofslots_total which as I understand - each slot is a separate download item. 

hope I did this correctly - also I don't have a separate instance of home assistant running for testing so I have no way to test this code (and I don't know how I would switch to the dev channel either).  As I said I am a newb!

* Bump pychromecast to 1.0.2 (home-assistant#10728)

Fixes home-assistant#9965

* Fix unit conversion for Sensibo A/C units (home-assistant#10692)

* Fix unit conversion for Sensibo A/C units

When the Sensibo component was released, there was a provision to not convert the temperature units unless "nativeTemperatureUnit" was returned with the API. I'm not sure if the API changed on Sensibo's side, but I do not get this key passed back with API requests.

This causes my current temperature to be returned in CELSIUS instead of FAHRENHEIT.

Removing this fixes it, and I can confirm the units are shown properly now.

* Update adding comment showing temperature is always in C

* Optimised images. Saved 80 KB out of 656 KB. 12.3% overall (up to 32.1% per file) (home-assistant#10735)

* Add transmission rate (home-assistant#10740)

* Add transmission rate

* Rename transmission rate attributes to shorter names

* Update pytradfri to 4.1.0 (home-assistant#10521)

* Use new DoorBirdPy (v0.1.0) (home-assistant#10734)

* Use new DoorBirdPy (v0.1.0)

* Update requirements_all for DoorBirdPy 0.1.0

* Add fan and reduce I/O calls in radiotherm (home-assistant#10437)

* Added fan support.  Reduced number of calls to the thermostat to a minimum

* Move temp rounding to config schema

* Fixed pep8 errors

* Fix for review comments.

* removed unneeded if block

* Added missing precision attr back

* Fixed pylint errors

* Code review fixes.  Fan support by model number.

* Defined circulate state

* New Hive Component / Platforms (home-assistant#9804)

* New Hive Component / Platforms

* New Hive Component / Platforms

* New Hive Component / Platforms

* New Hive Component / Platforms

* New Hive Component / Platforms

* New Hive Component / Platforms

* New Hive Component / Platforms

* New Hive Component / Platforms

* New Hive Component / Platforms

* New Hive Component / Platforms

* New Hive Component / Platforms

* New Hive Component / Platforms

* New Hive Component / Platforms

* New Hive Component / Platforms

* Changes

* Changes

* Changes

* changes

* Updates

* Updates

* Updates

* Updates

* Updates

* Updates

* Sensor code updates

* Sensor code updates

* Move sensors to binary sensors

* Quack

* Updates - Removed climate related sensors

* sensor fix

* binary_sensor updates

* New Hive Component / Platforms

* New Hive Component / Platforms

* New Hive Component / Platforms

* Temporarily fix yahoo weather API issue and add unit test. (home-assistant#10737)

* Temporarily fix yahoo weather API issue and add unit test.

* Add test data.

* Google assistant climate mode fix (home-assistant#10726)

* Changed supported climate modes lookup to be case insensitive by forcing to lower-case

* Fixed style errors. (Blank line and line too long)

* Protect sensitive information for Amcrest cameras (home-assistant#10569)

*  Creates a AmcresHub object to protect some private attributes on the logs

* Uses hass.data to pass AmcrestHub to components

* Prefer constants

* Removed serializer since it's using hass.data and simplified camera entity constructor

* small cleanup

* InfluxDB send retry after IOError (home-assistant#10263)

* Implement data write retry for InfluxDB

This adds an optional max_retries parameter to the InfluxDB component
to specify if and how often the component should try to send the data
if the connection failed due to an IOError.

The sending will be scheduled for a retry in 20 seconds as often as the
user specified. This can be handy for flaky getwork connections between
the DB and Homeassistant or outages like daily DSL reconnects.

Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>

* Add unittest for influx write retries

Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>

* Add RetryOnError as helper decorator in util

Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>

* Add unittests for RetryOnError

Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>

* Use RetryOnError decorator in InfluxDB

This replaces the scheduling logic in the InfluxDB component with the
RetryOnError decorator from homeassistant.util

Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>

* Make the linters happy

Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>

* Implement a queue limit for the retry decorator.

This adds a queue limit to the RetryOnError handler. It limits the
number of calls waiting for be retried. If this number is exceeded,
every new call will discard the oldest one in the queue.

* influxdb: Add the retry queue limit option.

* Make the linter happy.

* Make pylint happy

* Log exception of dropped retry

* Move RetryOnError decorator to influxdb component.

* Fix bug in logging usage

* Fix imports

* Add newlines at the end of files.

* Remove blank line

* Remove blank line

* Add Dominos Pizza platform (home-assistant#10379)

* add dominos service

* change require

* dump to log

* component fixes

* clean-up use updated library

* remove unnecessary import

* fix hound errors

* more lint fixes

* Coverage rc

* update requirements

* cleanup as per notes

* missing message

* linting...

* schema validation and reducing requests

* fixlint

* spacing

* unused variable

* fix docstrings

* update req

* notes updates, pypi package, front-end panel

* stale import

* fix constant name

* docstrings

* fix library import

* lint fixes

* pylint bug

* remove built-in panel

* Make synchronous

* unused import and use throttle

* Handle exceptions properly and update client

* Import exceptions properly

* unused import

* remove bloat from start-up, readability fixes from notes, retrieve menu on request, not on startup

* whitespace on blank line

* Fix name collision when using multiple Hue bridges (home-assistant#10486)

* Fix name collision when using multiple Hue bridges

See home-assistant#9393

* Use new style of string formatting

* Removed creating of "All Hue Lights" group

* Make shell_command async (home-assistant#10741)

* Make shell_command async

Use `asyncio.subprocess` instead of `subprocess` to make the
`shell_command` component async.

Was able to migrate over existing component and tests without too many
drastic changes.

Retrieving stdout and stderr paves the way for possibly using these in
future feature enhancements.

* Remove trailing comma

* Fix lint errors

* Try to get rid of syntaxerror

* Ignore spurious pylint error

* Update CODEOWNERS with hive Component / Platforms (home-assistant#10775)

* Bump total-connect-client version (home-assistant#10769)

* Fix scene description formatting. (home-assistant#10785)

* Fixes home-assistant#10773: Demo Alarm Broken (home-assistant#10777)

* Fixes home-assistant#10773: Demo Alarm Broken

* Added test for platform setup

* Remove unused import

* Lint fix

* Rework assert to work with python 3.5

* Load Ring camera only with Ring Protect plan activated (home-assistant#10739)

* Added ability to only load Ring camera
if the Ring Protect plan is activated.

* Fixed notification for all invalid cameras

* Fixed attribute name

* Using asyncio for persistent notifications

* system_log improvements (home-assistant#10709)

* system_log improvements

* Don't use ModuleNotFoundError which is 3.6+

* Don't use FrameSummary which was added in 3.5

* Don't trace stack for exception logs

* Handle test error in Python 3.4

* Fix WUnderground error handling, rework entity methods (home-assistant#10295)

* WUnderground sensor error handling and sensor class rework

* WUnderground error handling, avoid long state, tests

* Wunderground - add handling ValueError exception on parsing

* Changes to address review comments - part 1

* Tests lint

* Changes to address review comments - part 2

* Add away_mode_name to arlo alarm control panel (home-assistant#10796)

* Update arlo.py

Include variables for custom away mode specification

* fixed line too long style problem

* fix trailing white space

* fix sending away mode command

* Bump frontend to 20171126.0

* Add missing docstring (home-assistant#10812)

* Add missing docstring

* Revert isort change

* Bump frontend to 20171127.0

* Cloud cognito switch (home-assistant#10823)

* Allow email based cognito instance

* Fix quitting Home Assistant while reconnecting

* Lint

* Added sensor types from telldus server src (home-assistant#10787)

Added from https://github.com/telldus/tellstick-server/blob/master/telldus/src/telldus/Device.py

* Add tts.baidu platform (home-assistant#10724)

* Add tts.baidu platform

* Update baidu.py

* changed to sync

get_engine and get_tts_audio changed to sync.

* make RGB values consistent as int. fixes home-assistant#10766 (home-assistant#10782)

* make RGB consitant as int. fixes home-assistant#10766

* fix rounding and only change for hex convertion

* Single LEDs in Blinkt support (home-assistant#10581)

* Single LEDs in Blinkt support

* Review remarks

* Add debug (home-assistant#10828)

* Fix "recently pair device" (home-assistant#10832)

Noticed a minor grammar mistake.

* Fixed Yeelight's color temperature conversion to RGB (home-assistant#10831)

* Fix for Sensibo with missing temperature (home-assistant#10801)

* Fix for sensibo woth missing temperature

* Use new temperatureUnit API field

* upgrade somecomfort to 0.5.0 (home-assistant#10834)

* upgrading somecomfort to 0.5.0

* upgrade somecomfort to 0.5.0 in requirements files

* Add support for logarithm in templates (home-assistant#10824)

* Add support for logarithm in templates

This adds a 'log' filter that takes the logarithm of the given value,
with an optional base number. The base defaults to 'e' - the natural
logarithm

* Remove usage of log10 in template filter 'log'

* Add logarithm as a global

This makes it possible to write:
'{{ log(4, 2) }}'

* Changing handling for google_assistant groups to treat them as lights. (home-assistant#10111)

* Fixed aliases warning message

* Fixed test cases

* Changing handling for google_assistant groups to treat them as lights - amending to include user info.

* Enable brightness, RGB, etc for groups in Google Assistant

* Revert color/hue/temp settings

* Change servce from light to homeassistant

* Fixed config_units

* Convert from light to switch

* Change group to switch

* Update tests to switch instead of light for group

* Tellduslive update with support for auto config and Local api (home-assistant#10435)

* Add support for local api connection found in TellStick Znet Lite/Pro.
Added auto discovery support for all TelldusLive devices,
changed authentication method. Breaking change!
Upgraded tellduslive dependency
Update CODEOWNERS.

* Close any open configurator when configuration done

* Add support for Telldus Local API via config (#2)

* Updated dependency (addresses issue raised by @rasmusbe in home-assistant#10435 (comment))

* Fix requested changes

* KNX: Added config option for broadcasting current time to KNX bus. (home-assistant#10654)

* Ecobee set humidity level (home-assistant#10780)

* Add the ability to set humidity levels on ecobee thermostats

* use the latest version of python-ecobee-api

* Lint fixes

* Add device class for low battery (home-assistant#10829)

* Tellduslive: Use magic constants for battery level. Also, the previous formula for battery level was wrong. (home-assistant#10788)

* Add useragent-based detection of JS version (home-assistant#10776)

* Add useragent-based detection of JS version

* Keep es5 as default meanwhile

* Update test

* add support for multiple execution per execute request (home-assistant#10844)

* Upgrade HomeMatic, add devices (home-assistant#10845)

* Climate component: add supported_features (home-assistant#10658)

* Implement supported_features for the climate component

* Test supported features

* Convert generic thermostat to supported features

* Max / min temperature are not features

* Fix lint

* Min / max humidity are not features

* Linting

* Remove current temperature / humidity

* Move c-hacker-style constants to boring integers. Booo!

* Refactor all the climate platforms to use the new supported_features

* Force all climate platforms to implement supported_features

* Fix mistakes

* Adapt hive platform

* Move flags into a constant

* Calm the hound

* Upgrade mutagen to 1.39 (home-assistant#10851)

* Updated codeowner for Tile device tracker (home-assistant#10861)

* Revert "KNX: Added config option for broadcasting current time to KNX bus. (home-assistant#10654)" (home-assistant#10874)

This reverts commit cadd797.

As discussed within home-assistant#10708 we should chose a different implementation. Therefore we should revert this change to avoid a breaking change.

* Upgrade distro to 1.1.0 (home-assistant#10850)

* Bugfix trigger state with multible entities (home-assistant#10857)

* Bugfix trigger state with multible entities

* Fix numeric state

* fix lint

* fix dict

* fix unsub

* fix logic

* fix name

* fix new logic

* add test for state

* add numeric state test for unsub

* add test for multible entities

* Update numeric_state.py

* Update numeric_state.py

* Update state.py

* Fix logic for triple match

* Add clear to numeric state

* clear for state trigger

* tellstick fix DEPENDENCIES and update tellcore-net (home-assistant#10859)

* Update requirements_all.txt

* Update tellstick.py

* Fix DEPENDENCIES

* Update requirements_all.txt

* fix format

* fix lint

* fix lint

* Update tellstick.py

* update tellcore-net

* update tellcore-net

* besser validate

* Update frontend to 20171130.0

* Upgrade aiohttp to 2.3.5 (home-assistant#10889)

* Upgrade fastdotcom to 0.0.3 (home-assistant#10886)

* Upgrade schiene to 0.19 (home-assistant#10887)

* Xiaomi Vacuum: remove deprecated calls (home-assistant#10839)

* vacuum.xiaomi_miio: read dnd status properly instead of using imprecise dnd flag from vacuum_state

* vacuum.xiaomi_miio: use miio package instead of mirobo

* check only that wanted calls have taken place, ignore order of calls

* Fix linting issues

* Remove empty line after docstring

* Create ecobee weather platform (home-assistant#10869)

* Create ecobee weather component

* Update requirements_all for ecobee

* Fix missed lint issue

* Microsoft Text-to-speech: Fixing missing en-gb support bug (home-assistant#10429)

* Fixing missing en-gb support bug

* Microsoft TTS adding support for rate, volume, pitch and contour.

* Microsoft TTS fixing support for jp-jp.

* Fixing linting error on line 67

* make impossible things possible 🎉

* Upgrade youtube_dl to 2017.11.26 (home-assistant#10890)

* Upgrade yarl to 0.15.0 (home-assistant#10888)

* Fix tests (home-assistant#10891)

* Refactored WHOIS sensor to resolve assumed key errors (home-assistant#10662)

* Refactored WHOIS sensor to resolve assumed key errors

Altered it to now set an attribute key and value only if the attribute
is present in the WHOIS response. This prevents assumed keys (registrar)
from raising a KeyError on WHOIS lookups that don't contain registrar
information (onet.pl, wp.pl, for example).

* Removed non-used self._data

* WHOIS sensor now creates a new local attributes dict and overrides

* Corrected typos, refactored error cases to clear state adn attributes

* Resolved double return and refactored error logging

* Serve latest extra_html in dev mode (home-assistant#10863)

* Reload groups after saving a change via config API (home-assistant#10877)

* Version bump to 0.59.0

* Fix issues from review of ecobee weather component (home-assistant#10903)

* Fix issues from review

* Don't use STATE_UNKNOWN

* Bugfix home-assistant#10902 (home-assistant#10904)

* Version bump to 0.59.1

* Fix Notifications for Android TV (home-assistant#10798)

* Fixed icon path, added dynamic icon

* Addressing requested changes

* Using DEFAULT_ICON

* Using CONF_ICON from const

* Getting hass_frontend path via import

* Lint

* Using embedded 1px transparent icon

* woof -.-

* Lint

* fix ios component config generation (home-assistant#10923)

Fixes: home-assistant#19020

* Update frontend to 20171204.0 (home-assistant#10934)

* Dominos no order fix (home-assistant#10935)

* check for none

* fix error from no store being set

* typo

* Lint

* fix default as per notes. Lint fix and make closest store None not False

* update default

* Version bump to 0.59.2

* Require FF43 for latest js (home-assistant#10941)

* Require FF43 for latest js

`Array.prototype.includes` added in Firefox 43

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes

* Update __init__.py

* Fix linksys_ap.py by inheriting DeviceScanner (home-assistant#10947)

As per issue home-assistant#8638, the class wasn't inheriting from DeviceScanner, this commit patches it up.

* Upgrade tellduslive library version (closes home-assistant#10922) (home-assistant#10950)

* Reload closest store on api menu request (home-assistant#10962)

* reload closest store on api request

* revert change from debugging

* Allow chime to work for wink siren/chime (home-assistant#10961)

* Allow Wink siren/chimes to work

* Updated requirements_all.txt

* Revert pychromecast update (home-assistant#10989)

* Revert pychromecast update

* Update cast.py
@ghost
Copy link

ghost commented May 18, 2018

I can successfully decrease the tempertature. But when I increase the GUI breaks. Can any help me? I have raised the issue at https://community.home-assistant.io/t/thermostat-up-increase-button-breaks-the-control-knx/53069 . I have put my config in that as well.

@dzungpv
Copy link

dzungpv commented Jun 17, 2018

My device Zennio KLIC-DI for Daikin VRV does not have any field setpoint_shift_address
or setpoint_shift_state_address only setpoint_address.
I try to config many way but it could not set temperature.
zenioklic

@moustic999
Copy link

not sure if this has already been properly implemented, but here is some axplanation about how many devices works with setpoints :
there is 3 way to work

  • setpoint 2 bytes object

object : basic setpoint : set the basic temp for comfort mode ( ex : 21°C)
object : shift setpoint ( dpt 9.002 ) -+value in K (ex: +3K-

then the device compute the target temperature depending on the 2 values and the current mode
so in this example target temps reported by the device will be : 21 + 3 = 24

there is no need for xknx to compute any target temp.

  • setpoint 1 bit object

will increase / decrease the basic setpoint by 0.5/ 1 K for each received ( 0 decrease / 1 increase )

the new target temperature is computed by the module and does not need to be computed by xknx.

  • no setpoint shift.
    Some other device does not support this way, but need to receive the computed target temperature directly.

@moustic999
Copy link

look at this doc : file:///C:/Users/id080710/Downloads/Manual_Z41_Lite&Pro&COM_v3.1_c_EN.pdf
on page 98, explanation regarding the different shift mode ( absolute / relative 1bit /relative 2 bytes )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants