hass-core/homeassistant/components/sensor
Greg Laabs d687bc073e Huge ISY994 platform cleanup, fixes support for 5.0.10 firmware ()
* 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 Update docstrings () 2017-05-02 09:18:47 -07:00
abode.py Abode Temp, Humidity, and Light Sensor () 2017-10-07 10:25:53 +02:00
ads.py Add ADS component () 2017-12-05 09:44:22 +01:00
airvisual.py Fixes AirVisual bug regarding incorrect location data () 2017-11-17 21:11:05 +01:00
alarmdecoder.py convert alarmdecoder interface from async to sync () 2017-12-17 00:52:59 +01:00
alpha_vantage.py Add Alpha Vantage sensor () 2017-12-03 21:34:59 +01:00
amcrest.py Protect sensitive information for Amcrest cameras () 2017-11-23 16:38:53 -08:00
android_ip_webcam.py move icon battery function from util to helpers () 2017-10-05 20:55:19 -07:00
apcupsd.py Do not call update() in constructor () 2017-08-08 20:21:33 +02:00
api_streams.py Update docstrings () 2017-05-02 22:47:20 +02:00
arduino.py Update docstrings () 2017-05-02 09:18:47 -07:00
arest.py Fix some issues for PyLint 1.7.2 () 2017-07-05 20:02:16 -07:00
arlo.py Arlo - Fixes for updated library () 2017-11-15 23:33:50 +01:00
arwn.py Fix off by one error in arwn platform () 2017-10-09 15:41:18 +02:00
bbox.py Do not call update() in constructor () 2017-08-06 10:21:55 -07:00
bh1750.py Do not call update() in constructor () 2017-08-06 10:21:55 -07:00
bitcoin.py Upgrade blockchain to 1.4.0 () 2017-09-19 10:04:11 +02:00
blink.py Blink version bump () 2017-05-12 20:30:07 -07:00
blockchain.py Sync crypto-currency platforms () 2017-06-05 13:36:39 +02:00
bloomsky.py Do not call update() in constructor () 2017-08-06 10:21:55 -07:00
bme280.py update i2csense requirement () 2017-06-29 11:03:52 +02:00
bom.py Fix pylint 1.7.2 no-else-return issues () 2017-07-05 23:30:01 -07:00
broadlink.py Do not call update() in constructor () 2017-08-06 10:21:55 -07:00
buienradar.py Prevent error when no forecast data was available () 2017-08-29 15:33:47 +02:00
canary.py Add support for Canary component and platforms () 2017-12-08 10:40:45 +01:00
cert_expiry.py Fixed cert_expiry sensor to delay firing on HA startup () 2017-08-12 23:49:15 -07:00
citybikes.py Move constant to 'const.py' and use already defined ones () 2017-10-29 17:28:07 +01:00
coinmarketcap.py Add display currency setting to CoinMarketCap sensor () 2017-10-26 18:49:17 +02:00
comed_hourly_pricing.py Increase Comed timeout since it sometimes takes a long time for the API to respond () 2017-09-25 23:43:02 -07:00
comfoconnect.py Do not call update() in constructor () 2017-08-06 10:21:55 -07:00
command_line.py Added possibilities to use template in the command_line sensor () 2017-08-10 18:52:52 +02:00
cpuspeed.py Upgrade py-cpuinfo to 3.3.0 () 2017-06-11 12:03:02 +02:00
crimereports.py Move constant to 'const.py' and use already defined ones () 2017-10-29 17:28:07 +01:00
cups.py Do not call update() in constructor () 2017-06-05 17:35:26 +02:00
currencylayer.py Added unit_of_measurement to Currencylayer () 2017-11-17 08:58:46 +01:00
darksky.py Darksky enhancements () 2017-10-14 14:45:32 -04:00
deluge.py Add Deluge Sensor () 2017-10-25 15:13:11 +02:00
demo.py Update docstrings () 2017-05-02 09:18:47 -07:00
deutsche_bahn.py Upgrade schiene to 0.19 () 2017-12-01 12:26:15 +01:00
dht.py Fix dht22 when no data was read initially () 2017-08-28 22:46:31 +03:00
discogs.py Add Discogs Sensor platform () 2017-12-18 19:10:54 +01:00
dnsip.py Update docstrings () 2017-05-02 09:18:47 -07:00
dovado.py Update docstrings () 2017-05-02 09:18:47 -07:00
dsmr.py Implement DSMR5 support. () 2017-10-04 10:20:08 +02:00
dte_energy_bridge.py Added support for the DTE Energy Bridge v2 () 2017-09-18 17:33:58 +02:00
dublin_bus_transport.py Fix some issues for PyLint 1.7.2 () 2017-07-05 20:02:16 -07:00
dwd_weather_warnings.py Added DWD WarnApp Sensor () 2017-09-05 08:40:47 -07:00
dweet.py Do not call update() in constructor () 2017-06-05 21:28:13 +02:00
dyson.py Add support to Dyson 360 Eye robot vacuum using new vacuum platform () 2017-08-06 13:08:46 +02:00
ebox.py Do not call update() in constructor () 2017-06-05 21:28:13 +02:00
ecobee.py Do not call update() in constructor () 2017-06-05 21:28:13 +02:00
eddystone_temperature.py Fix pylint 1.7.2 no-else-return issues () 2017-07-05 23:30:01 -07:00
efergy.py set default utc offset to 0 () 2017-12-13 20:03:41 -08:00
eight_sleep.py Catch divide by zero errors when a sleep type is 0 () 2017-08-03 15:58:40 +02:00
eliqonline.py Update eliqonline.py () 2017-12-03 16:48:07 +01:00
emoncms.py Use feed name assigned in EmonCMS if there is one () 2017-10-22 12:12:36 +02:00
enocean.py Update docstrings () 2017-05-02 09:18:47 -07:00
envirophat.py Fix a bunch of typos () 2017-09-23 17:15:46 +02:00
envisalink.py Cleanup and simplitfy the async state update () 2017-09-12 10:01:03 +02:00
etherscan.py Sync crypto-currency platforms () 2017-06-05 13:36:39 +02:00
fail2ban.py Add fail2ban sensor () 2017-10-23 09:20:45 +02:00
fastdotcom.py Upgrade fastdotcom to 0.0.3 () 2017-12-01 12:25:54 +01:00
fedex.py FedEx: Adds "packages" as a unit () 2017-09-27 10:44:41 -07:00
fido.py Update docstrings () 2017-05-02 09:18:47 -07:00
file.py File sensor () 2017-05-15 14:25:46 +02:00
fitbit.py Refactored to new global json saving and loading () 2017-11-19 19:47:55 -08:00
fixer.py Do not call update() in constructor () 2017-06-05 17:35:26 +02:00
fritzbox_callmonitor.py Update fritzconnection to 0.6.5 () 2017-10-18 20:58:26 +02:00
fritzbox_netmonitor.py Add transmission rate () 2017-11-22 08:39:45 +01:00
gearbest.py Gearbest sensor () 2017-12-05 12:32:43 +01:00
geizhals.py Fix Geizhals index issue when not 4 prices available () 2017-08-18 19:59:20 +02:00
geo_rss_events.py Move constant to 'const.py' and use already defined ones () 2017-10-29 17:28:07 +01:00
gitter.py Move constant to 'const.py' and use already defined ones () 2017-10-29 17:28:07 +01:00
glances.py Remove STATE_UNKNOWN () 2017-10-23 13:12:14 +02:00
google_travel_time.py Move constant to 'const.py' and use already definied ones () 2017-10-29 12:32:02 +01:00
google_wifi.py Added rounding to Google Wifi () 2017-08-06 18:29:52 +03:00
gpsd.py Fix pylint 1.7.2 no-else-return issues () 2017-07-05 23:30:01 -07:00
gtfs.py GTFS: check start/end date on services () 2017-07-06 22:22:31 -07:00
haveibeenpwned.py Use constants for HTTP headers () 2017-11-04 12:04:05 -07:00
hddtemp.py Add hddtemp sensor device even if unreachable. () 2017-11-17 09:21:27 -05:00
history_stats.py Fix pylint 1.7.2 no-else-return issues () 2017-07-05 23:30:01 -07:00
hive.py New Hive Component / Platforms () 2017-11-23 13:10:23 +01:00
homematic.py Upgrade HomeMatic, add devices () 2017-11-28 23:16:47 -08:00
hp_ilo.py Do not call update() in constructor () 2017-08-06 10:21:55 -07:00
htu21d.py update i2csense requirement () 2017-06-29 11:03:52 +02:00
hydroquebec.py Hydroquebec component use now asyncio () 2017-12-17 22:11:48 +01:00
imap.py Allow folder selection for IMAP unread sensor () 2017-10-25 11:36:00 +02:00
imap_email_content.py Do not call update() in constructor () 2017-08-06 10:21:55 -07:00
influxdb.py Upgrade influxdb to 4.1.1 () 2017-10-02 17:17:08 +02:00
ios.py move icon battery function from util to helpers () 2017-10-05 20:55:19 -07:00
irish_rail_transport.py add irish rail transport sensor () 2017-10-22 14:18:34 +02:00
isy994.py Huge ISY994 platform cleanup, fixes support for 5.0.10 firmware () 2017-12-26 09:26:37 +01:00
juicenet.py Add juicenet platform () 2017-06-05 08:39:31 -07:00
kira.py Add Kira component to sensor and remote platforms () 2017-05-12 21:12:47 -07:00
knx.py renamed add_devices to async_add_devices according to hass naming scheme (second try after failed ) () 2017-09-20 01:15:20 -04:00
kwb.py Fix pylint 1.7.2 no-else-return issues () 2017-07-05 23:30:01 -07:00
lacrosse.py Add LaCrosse sensor platform () 2017-11-03 08:59:11 +01:00
lastfm.py Upgrade pylast to 2.0.0 () 2017-10-29 11:54:11 +01:00
linux_battery.py Do not call update() in constructor () 2017-06-05 17:35:26 +02:00
london_air.py Fixes issue () 2017-11-07 18:19:54 +01:00
london_underground.py Fix doc link in header () 2017-07-03 08:30:42 +02:00
loopenergy.py Update docstrings () 2017-05-02 09:18:47 -07:00
luftdaten.py Use luftdaten module () 2017-12-12 08:09:47 +01:00
lyft.py Upgrade lyft_rides to 0.2 () 2017-09-25 22:34:48 +02:00
metoffice.py Remove km from visibility, add visibility_distance () 2017-07-13 20:01:25 -07:00
mfi.py Fix some issues for PyLint 1.7.2 () 2017-07-05 20:02:16 -07:00
mhz19.py Update docstrings () 2017-05-02 09:18:47 -07:00
miflora.py Upgrade to new miflora version 0.2.0 () 2017-12-20 11:35:03 +01:00
min_max.py Update docstrings () 2017-05-02 09:18:47 -07:00
modbus.py Fix ValueError exception () 2017-11-15 18:17:17 -05:00
modem_callerid.py Switch basicmodem and python-roku to pypi () 2017-05-09 20:23:19 -07:00
mold_indicator.py Fix some issues for PyLint 1.7.2 () 2017-07-05 20:02:16 -07:00
moon.py Fix pylint 1.7.2 no-else-return issues () 2017-07-05 23:30:01 -07:00
mopar.py fix mopar sensor () 2017-09-12 19:50:28 -07:00
mqtt.py Added force_update for REST sensor () 2017-12-09 08:18:45 +01:00
mqtt_room.py Move constant to 'const.py' and use already defined ones () 2017-10-29 17:28:07 +01:00
mvglive.py Fix pylint 1.7.2 no-else-return issues () 2017-07-05 23:30:01 -07:00
mysensors.py Refactor mysensors callback and add validation () 2017-08-25 08:58:05 -07:00
nederlandse_spoorwegen.py Update nederlandse_spoorwegen.py to include platform information () 2017-11-11 11:51:26 -08:00
nest.py Update docstrings () 2017-05-02 09:18:47 -07:00
netatmo.py Do not call update() in constructor () 2017-08-06 10:21:55 -07:00
netdata.py More netdata sensors () 2017-10-07 00:22:40 +02:00
neurio_energy.py Update docstrings () 2017-05-02 09:18:47 -07:00
nut.py Do not call update() in constructor () 2017-08-06 10:21:55 -07:00
nzbget.py Use constants for HTTP headers () 2017-11-04 12:04:05 -07:00
octoprint.py Remove logging () 2017-12-16 22:29:40 +01:00
ohmconnect.py Do not call update() in constructor () 2017-08-06 10:21:55 -07:00
onewire.py Refactoring of onewire sensor component () 2017-10-04 16:35:58 +02:00
openevse.py Do not call update() in constructor () 2017-08-06 10:21:55 -07:00
openexchangerates.py Do not call update() in constructor () 2017-08-06 10:21:55 -07:00
openhardwaremonitor.py Fix some issues for PyLint 1.7.2 () 2017-07-05 20:02:16 -07:00
opensky.py Move constant to 'const.py' and use already defined ones () 2017-10-29 17:28:07 +01:00
openweathermap.py handle OWM API error calls () 2017-10-15 10:31:34 +02:00
otp.py Cleanup and simplitfy the async state update () 2017-09-12 10:01:03 +02:00
pi_hole.py Changed Pi-hole graphs from stacked bar to line () 2017-08-08 22:57:35 +02:00
pilight.py
plex.py Bugfix: 10509 - http is hard coded in plex sensor () 2017-12-21 10:24:57 -05:00
pocketcasts.py Do not call update() in constructor () 2017-08-06 10:07:45 +02:00
pushbullet.py Upgrade pushbullet.py to 0.11.0 () 2017-07-28 23:22:35 -07:00
pvoutput.py Move 'voltage' to const () 2017-09-29 12:05:02 +02:00
pyload.py Use constants for HTTP headers () 2017-11-04 12:04:05 -07:00
qnap.py Persistent notification import () 2017-07-16 21:39:38 +02:00
radarr.py Fix Sonarr and Radarr divide by zero () 2017-10-25 11:37:08 +02:00
rainbird.py Added rainsensor () 2017-12-25 10:07:17 +01:00
raincloud.py Bump raincloudy version 0.0.3 () 2017-10-08 21:08:40 -07:00
random.py Update docstrings () 2017-05-02 09:18:47 -07:00
rest.py Added force_update for REST sensor () 2017-12-09 08:18:45 +01:00
rflink.py Correct spelling of aliases, deprecate old config options. () 2017-07-06 15:59:54 +02:00
rfxtrx.py Update docstrings () 2017-05-02 09:18:47 -07:00
ring.py Fixed update() method and removed ding feature from stickupcams/floodlight () 2017-11-09 01:01:20 +01:00
ripple.py update pyripple () 2017-12-13 21:21:14 +01:00
sabnzbd.py Adding Queue count sensor () 2017-11-21 15:35:23 +01:00
scrape.py Add support for HTTP Basic/Digest authentication 2017-10-23 17:48:51 +02:00
season.py Support for season sensor () 2017-08-29 16:18:36 +02:00
sensehat.py Do not call update() in constructor () 2017-08-08 20:21:33 +02:00
serial.py Add debug () 2017-11-27 21:25:00 +01:00
serial_pm.py
shodan.py Upgrade shodan to 1.7.7 () 2017-12-11 16:44:14 +01:00
skybeacon.py Block dependencies that depend on enum34 () 2017-08-04 23:06:10 -07:00
skybell.py Skybell () 2017-10-08 20:14:39 +02:00
sleepiq.py Update docstrings () 2017-05-02 09:18:47 -07:00
sma.py Update docstrings () 2017-05-02 09:18:47 -07:00
snmp.py Upgrade pysnmp to 4.4.2 () 2017-11-13 09:24:07 -08:00
sonarr.py Fix Sonarr and Radarr divide by zero () 2017-10-25 11:37:08 +02:00
speedtest.py Upgrade speedtest-cli to 1.0.7 () 2017-10-20 20:28:11 +02:00
statistics.py Fix statistics sensor mean and median when only one sample is available. () 2017-12-18 21:21:27 +01:00
steam_online.py Proper Steam game names and small fixes () 2017-12-20 22:32:33 -05:00
supervisord.py Catch ConnectionRefusedError () 2017-08-06 10:08:00 +02:00
swiss_hydrological_data.py Do not call update() in constructor () 2017-08-08 20:21:33 +02:00
swiss_public_transport.py Upgrade python_opendata_transport to 0.0.3 () 2017-10-27 08:01:12 +02:00
synologydsm.py Move constant to 'const.py' () 2017-10-31 13:31:12 +01:00
systemmonitor.py Upgrade psutil to 5.4.2 () 2017-12-11 13:52:43 +01:00
sytadin.py Sytadin default value must be a list () 2017-10-31 08:32:26 +01:00
tado.py Move constant to 'const.py' and use already defined ones () 2017-10-29 17:28:07 +01:00
tahoma.py Tahoma platform for Somfy Covers and Sensors () 2017-11-19 21:35:13 +01:00
tank_utility.py Add Tank Utility sensor () 2017-08-30 22:21:54 +02:00
tcp.py
ted5000.py Update docstrings () 2017-05-02 09:18:47 -07:00
tellduslive.py Added sensor types from telldus server src () 2017-11-27 10:11:00 +01:00
tellstick.py tellstick fix DEPENDENCIES and update tellcore-net () 2017-11-30 21:13:18 +01:00
temper.py Upgrade temperusb to 1.5.3 () 2017-05-04 07:46:43 +02:00
template.py Add entity_picture_template options to Template Cover, Template Light, Template Sensor, and Template Switch () 2017-10-30 09:28:37 -07:00
tesla.py Set percent unit for battery level so that history displays properly; edited variable name for consistency () 2017-12-04 08:34:42 +01:00
thethingsnetwork.py Use constants for HTTP headers () 2017-11-04 12:04:05 -07:00
thinkingcleaner.py Clean up requirements () 2017-05-02 09:15:02 -07:00
tibber.py update tibber library () 2017-11-08 11:18:35 +01:00
time_date.py Fix for time_date sensor () 2017-11-19 19:41:30 -08:00
toon.py Fix PEP8 and PEP257 issues () 2017-10-24 18:36:08 +02:00
torque.py Cleanup and simplitfy the async state update () 2017-09-12 10:01:03 +02:00
tradfri.py Update pytradfri to 4.1.0 () 2017-11-22 09:37:20 +00:00
transmission.py Better error handling () 2017-12-25 17:46:42 +01:00
travisci.py Introducing support to Travis-CI () 2017-10-07 11:02:40 +02:00
twitch.py Do not call update() in constructor () 2017-06-05 17:35:26 +02:00
uber.py Upgrade uber_rides to 0.6.0 () 2017-09-17 13:40:58 +02:00
uk_transport.py Move constant to 'const.py' and use already definied ones () 2017-10-29 12:32:02 +01:00
upnp.py Upnp properties () 2017-06-18 21:32:39 -07:00
ups.py Fixes UPS MyChoice exception () 2017-09-27 10:44:32 -07:00
uptime.py Added minutes to uptime sensor 2017-10-23 14:38:16 -04:00
usps.py fix usps? () 2017-09-24 08:28:11 +02:00
vasttrafik.py Do not call update() in constructor () 2017-08-06 10:03:57 +02:00
vera.py Added Vera scenes () 2017-12-07 07:47:19 +01:00
verisure.py WIP: Verisure app api () 2017-06-26 22:30:25 +02:00
version.py Add version sensor () 2017-08-12 08:52:56 +02:00
viaggiatreno.py New sensor viaggiatreno. () 2017-11-15 22:07:16 -08:00
volvooncall.py Volvo on call: Optional use of Scandinavian miles. Also add average fuel consumption property () 2017-12-10 13:57:44 -08:00
vultr.py Add platform and sensors for Vultr VPS () 2017-11-05 14:10:14 +01:00
waqi.py Update waqi sensor () 2017-07-07 07:55:58 -07:00
whois.py Refactored WHOIS sensor to resolve assumed key errors () 2017-12-01 11:36:15 -05:00
wink.py Additional Wink lock features () 2017-05-13 14:09:00 -04:00
worldclock.py Do not call update() in constructor () 2017-06-05 17:35:26 +02:00
worldtidesinfo.py fix worldtidesinfo () 2017-08-29 08:28:40 +02:00
worxlandroid.py renamed add_devices to async_add_devices according to hass naming scheme (second try after failed ) () 2017-09-20 01:15:20 -04:00
wsdot.py
wunderground.py Fix WUnderground error handling, rework entity methods () 2017-11-25 15:19:52 -05:00
xbox_live.py Don't use len(SEQUENCE) as condition value () 2017-04-23 20:41:09 -07:00
xiaomi_aqara.py fix gateway illumination sensor value () 2017-10-23 08:02:20 +02:00
yahoo_finance.py Do not call update() in constructor () 2017-06-05 21:28:13 +02:00
yr.py Improvements (configuration and validation) () 2017-08-02 14:51:09 +02:00
yweather.py Temporarily fix yahoo weather API issue and add unit test. () 2017-11-23 12:45:56 -08:00
zabbix.py Update docstrings () 2017-05-02 22:47:20 +02:00
zamg.py Use constants for HTTP headers () 2017-11-04 12:04:05 -07:00
zha.py zha: Update to bellows 0.4.0 () 2017-10-15 21:41:16 -07:00
zigbee.py Update docstrings () 2017-05-02 22:47:20 +02:00
zoneminder.py Update docstrings () 2017-05-02 22:47:20 +02:00
zwave.py Fix pylint 1.7.2 no-else-return issues () 2017-07-05 23:30:01 -07:00