core/homeassistant/components/fan
Greg Laabs d687bc073e Huge ISY994 platform cleanup, fixes support for 5.0.10 firmware (#11243)
* Huge ISY994 platform cleanup, fixes support for 5.0.10 firmware

# * No more globals - store on hass.data
# * Parent ISY994 component handles categorizing nodes in to Hass components, rather than each individual domain filtering all nodes themselves
# * Remove hidden string, replace with ignore string. Hidden should be done via the customize block; ignore fully prevents the node from getting a Hass entity
# * Removed a few unused methods in the ISYDevice class
# * Cleaned up the hostname parsing
# * Removed broken logic in the fan Program component. It was setting properties that have no setters
# * Added the missing SUPPORTED_FEATURES to the fan component to indicate that it can set speed
# * Added better error handling and a log warning when an ISY994 program entity fails to initialize
# * Cleaned up a few instances of unecessarily complicated logic paths, and other cases of unnecessary logic that is already handled by base classes

* Use `super()` instead of explicit base class calls

* Move `hass` argument to first position

* Use str.format instead of string addition

* Move program structure building and validation to component

Removes the need for a bunch of duplicate exception handling in each individual platform

* Fix climate nodes, fix climate names, add config to disable climate

Sensor platform was crashing when the ISY reported climate nodes. Logic has been fixed. Also added a config option to prevent climate sensors from getting imported from the ISY. Also replace the underscore from climate node names with spaces so they default to friendly names.

* Space missing in error message

* Fix string comparison to use `==`

* Explicitly check for attributes rather than catch AttributeError

Also removes two stray debug lines

* Remove null checks on hass.data, as they are always null at this point
2017-12-26 09:26:37 +01:00
..
__init__.py Fix async probs (#9924) 2017-10-19 10:56:25 +02:00
comfoconnect.py Update docstrings (#8244) 2017-06-29 11:44:35 +02:00
demo.py Additional demo fan with only speed support (#7985) 2017-06-11 22:12:56 -07:00
dyson.py Add support to Dyson 360 Eye robot vacuum using new vacuum platform (#8852) 2017-08-06 13:08:46 +02:00
insteon_local.py Refactored to new global json saving and loading (#10677) 2017-11-19 19:47:55 -08:00
isy994.py Huge ISY994 platform cleanup, fixes support for 5.0.10 firmware (#11243) 2017-12-26 09:26:37 +01:00
mqtt.py Fix for issue #9240 (#10173) 2017-10-27 16:04:18 +02:00
services.yaml Update services.yaml files (#10229) 2017-10-30 21:39:12 +01:00
velbus.py Velbus (#8076) 2017-07-26 14:03:29 +02:00
wink.py Support for Wink Switch and Light groups also fix fan speed selection (#8501) 2017-07-20 00:27:39 +02:00
xiaomi_miio.py Bump python-miio version (#11232) 2017-12-19 08:22:13 +01:00
xiaomi_miio_services.yaml Limits of the favorite level updated. Values between 0 and 16 will be accepted. (#10186) 2017-10-28 10:54:11 +02:00
zwave.py Fix typos (#7957) 2017-06-08 15:53:12 +02:00