Skip to content
Merged

0.87.0 #20794

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
228 commits
Select commit Hold shift + click to select a range
27a8171
Remove color call to set lights to black. (#20176)
boralyl Jan 17, 2019
e1b63d9
Sensibo to use HA operation modes (#20180)
balloob Jan 17, 2019
2de6a94
Embed zoneminder platforms into component (#20182)
rohankapoorcom Jan 17, 2019
136364f
Distribute reconnect (#20181)
balloob Jan 17, 2019
0fe5d56
Add command to refresh auth (#20183)
balloob Jan 17, 2019
5232df3
Add a Zoneminder availability sensor (#20184)
rohankapoorcom Jan 17, 2019
d1c6eb4
Add JSON attribute topic to MQTT cover (#20190)
emontnemery Jan 17, 2019
234f348
Add JSON attribute topic to MQTT light (#20191)
emontnemery Jan 17, 2019
f094a73
Add JSON attribute topic to MQTT switch (#20192)
emontnemery Jan 17, 2019
6800871
Log exceptions thrown by signal callbacks (#20015)
emontnemery Jan 17, 2019
afa019a
Set ehendrix23 as owner for harmony platform (#20203)
ehendrix23 Jan 18, 2019
81a5208
Add platform image_processing.qrcode (#20215)
zhujisheng Jan 18, 2019
84b1fcb
Add verify_ssl to restful_command and switch.rest (#20199) (#20207)
rohankapoorcom Jan 18, 2019
63b1909
Improve Sonos discovery (#20196)
amelchio Jan 18, 2019
e80702a
Fix unused friendly name for SolarEdge sensor (#20109)
LouisMT Jan 18, 2019
440d479
Fix for issue #19086 (#20225)
JoakimLindbom Jan 19, 2019
5b8f640
Add JSON attribute topic to MQTT vacuum
emontnemery Jan 19, 2019
8000b97
Bump aioesphomeapi to 1.4.2 (#20247)
OttoWinter Jan 19, 2019
fb52f66
Use local IP to discover IGD device (#20035)
gorynychzmey Jan 19, 2019
0987219
Tibber Pulse for homes without subscriptions (#20246)
Danielhiversen Jan 19, 2019
6bf42ad
Added Search Configuration to IMAP Sensor (#19749)
mwegner Jan 19, 2019
a8d3a90
Support for relay ports for LCN light platform (#19632)
alengwenus Jan 20, 2019
7c25389
Add LCN switch platform (#20267)
alengwenus Jan 20, 2019
0e5fa01
Updated sense library to 0.6.0 (#20271)
kbickar Jan 20, 2019
fd2cff6
Fire events for Lutron RadioRA2 keypad buttons (#20090)
koreth Jan 20, 2019
2eb5ce9
Update Tibber library (#20273)
Danielhiversen Jan 20, 2019
5b8cb10
Make Netatmo battery_percent icon dynamic (#20275)
notoriousbdg Jan 20, 2019
58bb6f2
Add type hints to helpers.condition (#20266)
scop Jan 20, 2019
362ac72
Remove double logging of automation action (#20264)
amelchio Jan 20, 2019
d5dcb8f
Add discovery_info check to LCN light platform (#20280)
alengwenus Jan 20, 2019
f771667
Updated frontend to 20190120.0
balloob Jan 21, 2019
08a5795
Reduce log noise from Envisalink component (#20282)
koreth Jan 21, 2019
1218127
Fix 'all' entity_id in service call extraction (#20281)
amelchio Jan 21, 2019
62844e2
Allow 'all' entity_id in service schema (#20278)
amelchio Jan 21, 2019
e69ca81
Print a message when reconnected after a connection failure, requirem…
rytilahti Jan 21, 2019
b6e1675
Add JSON attribute topic to MQTT vacuum (#20242)
balloob Jan 21, 2019
ab4e478
Add JSON attribute topic to MQTT lock (#20241)
emontnemery Jan 21, 2019
89e9d82
Add JSON attribute topic to MQTT fan (#20240)
emontnemery Jan 21, 2019
dbba3eb
Add JSON attribute topic to MQTT climate (#20239)
emontnemery Jan 21, 2019
3fcbcd5
Add JSON attribute topic to MQTT alarm (#20238)
emontnemery Jan 21, 2019
935e5c6
Handle non-string values in JSON renderer (#20233)
pnbruckner Jan 21, 2019
5999df1
Clean up build artifacts correctly
balloob Jan 21, 2019
9482a63
Add EverLights light component (#19817)
joncar Jan 21, 2019
5c208da
Added recursive detection of functools.partial. (#20284)
andrewsayre Jan 21, 2019
ec9575a
Added Xiaomi AirPurifier 2S profile (#20285)
foxel Jan 21, 2019
e4f42d1
Update Tibber lib (#20289)
Danielhiversen Jan 21, 2019
6ca0da5
Updated frontend to 20190121.0
balloob Jan 21, 2019
c36c708
Align valid_entity_id with new slugify (#20231)
kellerza Jan 21, 2019
bb21cb6
Remove trailing slash from base_url and added ability to generate web…
andrewsayre Jan 21, 2019
4b3cdb9
Add radiotherm is_on method to return on/off (#20283)
TD22057 Jan 21, 2019
6511e11
Config Validator: schema_with_slug_keys (#20298)
kellerza Jan 22, 2019
3e056a2
Bugfix: prevent error notification when octoprint server auto detecte…
reefab Jan 22, 2019
d419471
Fix typo C02 to CO2 (#20306)
reefab Jan 22, 2019
5a30b05
Add git to the development Dockerfile (#20276)
kellerza Jan 22, 2019
a8ef7a2
Add device tracker support for EE Brightbox 2 router (#19611)
krygal Jan 22, 2019
89ba374
HomematicIP add cover FROLL and BROLL devices (#19794)
worm-ee Jan 22, 2019
f84c0ee
Upgrade python-nest to 4.1.0 (#20313)
awarecan Jan 22, 2019
9b7780e
Ecoal (esterownik.pl) static fuel boiler and pump controller (#18480)…
matkor Jan 22, 2019
e2a4fde
Update locationsharinglib to version 3.0.11 (#20322)
rolfberkenbosch Jan 22, 2019
91ef78a
Upgrade youtube_dl to 2019.01.17 (#20318)
fabaff Jan 22, 2019
5b25188
Should require the 'GATTOOL' setup extras which includes pexpect. (#2…
mitchellrj Jan 22, 2019
c87c579
Updated frontend to 20190121.1
balloob Jan 22, 2019
e964750
Fix invalid entity ID in entity registry (#20328)
balloob Jan 22, 2019
3484e50
Fix xiaomi speed attribute name clash (#20312)
syssi Jan 23, 2019
db277ad
Add data/data_template/title to alert component (#17616)
syphernl Jan 23, 2019
eaa9c4d
Remove creation of geolocation default group (#20338)
exxamalte Jan 23, 2019
07f1e2c
Add Octoprint custom path (#20302)
reefab Jan 23, 2019
e8f0e53
Update Requirement for PyISY Package in isy994 Component to v1.1.1 (#…
shbatm Jan 23, 2019
16a4180
Fix mpd logging format string field (#20333)
heytensai Jan 23, 2019
c6cee1c
Add Danfoss Air HRV support (#20138)
JonasPed Jan 23, 2019
5bf3b2d
clean up of islamic_prayer_times (#20352)
Danielhiversen Jan 23, 2019
7ca7951
Hotfix for blink initialization failure. Fixes #20335 (#20351)
fronzbot Jan 23, 2019
a396ee2
Bump homekit==0.12.2 + improve controller reliability (#20325)
Jc2k Jan 23, 2019
0300ef2
Fix entity registry comments (#20357)
balloob Jan 24, 2019
971d933
[FIX] Time reporting incorrect in sensor.gtt (#20362)
eliseomartelli Jan 24, 2019
697c331
Clean up concord232 (#20353)
Danielhiversen Jan 24, 2019
af3afb6
Fix restore state crashing invalid entity ID (#20367)
balloob Jan 24, 2019
5580bec
Calling save before load would crash Lovelace storage (#20368)
balloob Jan 24, 2019
074fcd9
Fix error when API doesn't return a forecast. (#20365)
dgomes Jan 24, 2019
1bd31e3
Change STATE_UNKOWN to None (#20337)
Danielhiversen Jan 24, 2019
7038dd4
Upgrade TwitterAPI to 2.5.9 (#20372)
fabaff Jan 24, 2019
0be922d
SongPal: do not crash if active_source is not (yet) available - fixes…
Censored3 Jan 24, 2019
2559bc4
Add yeelight start_flow service and ability to declare custom effects…
zewelor Jan 24, 2019
3b1534c
Remove logging from tibber (#20382)
Danielhiversen Jan 24, 2019
70c5807
Improve deprecation warnings (#20391)
amelchio Jan 24, 2019
68bd5f5
Upgrade emulated_roku to 0.1.8 to fix invalid encodings, fixes #20388…
mindigmarton Jan 24, 2019
c508ba1
Philips Hue - Remove unnessesary warning (#20394)
starkillerOG Jan 24, 2019
c7f5beb
history allowed to load states with invalid entity IDs (#20399)
balloob Jan 25, 2019
046683e
Upgrade numpy to 1.16.0 (#20396)
fabaff Jan 25, 2019
400aaf8
Update pyhomematic to 0.1.55 (#20397)
danielperna84 Jan 25, 2019
55943cf
Return windspeed and windgust in km/h instead of m/s. (#20340)
jvanderneutstulen Jan 25, 2019
a1da6a6
Update device registry of MQTT Switch (#19540)
emontnemery Jan 25, 2019
d84cd01
Cleanup if discovered mqtt light can't be added (#19740)
emontnemery Jan 25, 2019
ec5da05
Add character encoding to MQTT automation. (#20292)
emontnemery Jan 25, 2019
c94834d
Add LIFX listen port advanced configuration (#20299)
amelchio Jan 25, 2019
d4c7515
Add time_throttle filter to sensor.filter (#20334)
foxel Jan 25, 2019
1fcaaf9
Upgrade youtube_dl to 2019.01.24 (#20408)
jonudewux Jan 25, 2019
cea2bf9
Move homekit_controller entity types under homekit_controller platfor…
Jc2k Jan 25, 2019
d6c12e4
Fix cast platform album name property (#20411)
zewelor Jan 25, 2019
4518e6b
Fix minor homematicip cloud binary sensor issues (#20398)
coreGreenberet Jan 25, 2019
2bc7444
Fix homematicip cloud alarm_arm_home (#20321)
coreGreenberet Jan 25, 2019
76c0295
Bumps aioasuswrt (#20432)
kennedyshead Jan 25, 2019
d8e4397
Update device registry of MQTT binary_sensor
emontnemery Jan 1, 2019
6d2e7db
Update device registry of MQTT climate
emontnemery Jan 1, 2019
d397849
Fix HTTP login attempts check triggering too late (#20431)
LouisMT Jan 26, 2019
310c073
WeMo - Fix device discovery issues (#20446)
sqldiablo Jan 26, 2019
b3c3721
Add alarm type workaround zwave lock Yale YRD240 (#20438)
adrum Jan 26, 2019
e593383
Error handling for recorder purge (#20424)
amelchio Jan 26, 2019
a0b93c2
ZHA component rewrite part 1 (#20456)
dmulcahey Jan 26, 2019
a85e018
Upgrade astral to 1.8 (#20459)
fabaff Jan 26, 2019
ed6e349
Correct minor comments from PR#20138. (#20454)
JonasPed Jan 26, 2019
1d5ffe9
Utility meter (#19718)
dgomes Jan 26, 2019
f3285f9
Add Co2signal sensor (#19204)
danielsjf Jan 26, 2019
05d41bc
introduce gateway (#20460)
dmulcahey Jan 26, 2019
1d16bb2
Update device registry of MQTT fan (#20445)
emontnemery Jan 26, 2019
0e453fe
Update device registry of MQTT climate (#20444)
balloob Jan 26, 2019
09cbcb7
Merge pull request #20442 from emontnemery/mqtt_binary_sensor_update_…
balloob Jan 26, 2019
85ccd71
Update device registry of MQTT sensor (#20440)
emontnemery Jan 26, 2019
85c72fb
Update device registry of MQTT alarm (#20439)
emontnemery Jan 26, 2019
60dc337
Update device registry of MQTT cover (#20443)
emontnemery Jan 26, 2019
b9bf696
Philips Hue, include debug message for color gamut (#20455)
starkillerOG Jan 26, 2019
9920699
Upgrade sqlalchemy to 1.2.16 (#20474)
fabaff Jan 26, 2019
38b1ce3
Upgrade psutil to 5.5.0 (#20462)
fabaff Jan 26, 2019
87316c4
Warn for old slugs/entity ids (#20478)
balloob Jan 26, 2019
a368db9
Include exception details in the error log (#20461)
shaan7 Jan 26, 2019
86f5f02
Bumped version to 0.87.0.dev0
balloob Jan 26, 2019
38c33bd
Fix linting error (#20488)
rohankapoorcom Jan 27, 2019
239c60c
Use HASS latitude/longitude as defaults for Lyft (#20491)
bachya Jan 27, 2019
d82e5ec
Upgrade zm-py to 0.3.1 (#20489)
rohankapoorcom Jan 27, 2019
7368c62
Split out dovado to a component and sensor platform (#20339)
rohankapoorcom Jan 27, 2019
10e3698
Add homekit_controller tests (#20457)
Jc2k Jan 27, 2019
2aab646
Upgrade to async-upnp-client==0.14.3 (#20502)
StevenLooman Jan 27, 2019
ae84a91
Upgrade tibber library (#20504)
Danielhiversen Jan 27, 2019
1f93984
Update device registry of MQTT Lock (#20501)
emontnemery Jan 27, 2019
8804f55
Update device registry of MQTT Vacuum (#20500)
emontnemery Jan 27, 2019
648adcc
Small cleanup of MQTT platforms (#20503)
emontnemery Jan 27, 2019
f91ff76
Upgrade mill library (#20514)
Danielhiversen Jan 27, 2019
7412d0f
Add nilu air_quality platform (#19674)
hfurubotten Jan 27, 2019
3d4f292
Add Iliad Italy (Mobile Telephony Provider) Sensor (#19645)
eliseomartelli Jan 27, 2019
f575d1d
Load/unload geofency entities correctly between component and platfor…
rohankapoorcom Jan 27, 2019
0c87fb4
Load/unload locative entities correctly between component and platfor…
rohankapoorcom Jan 27, 2019
d179686
Load/unload gpslogger entities correctly between component and platfo…
rohankapoorcom Jan 27, 2019
29984ef
Use more up-to-date version of pyfoscam library (#20419)
davidlie Jan 28, 2019
f33e432
Reset Brottsplatskartan incident types every day (#20117)
chrillux Jan 28, 2019
995758b
Add more HomeKit controller tests (#20515)
Jc2k Jan 28, 2019
41c1997
Homekit controller BLE groundwork (#20538)
Jc2k Jan 28, 2019
abeb875
Homekit controller BLE groundwork (part 2) (#20548)
Jc2k Jan 28, 2019
2c70608
Make Ambient PWS async and cloud-push (#20332)
bachya Jan 28, 2019
bd335e1
Area registry (#20435)
Kane610 Jan 28, 2019
bb4ca1f
Cleanup if discovered mqtt vacuum can't be added (#20549)
emontnemery Jan 28, 2019
d7ba2aa
Add COMPONENT_SCHEMA and use it in alarm_control_panel (#20224)
emontnemery Jan 29, 2019
bb1583c
Add discovery update support to MQTT camera (#20529)
emontnemery Jan 29, 2019
34090bd
ZHA component rewrite part 3 - update helpers (#20463)
dmulcahey Jan 29, 2019
717a0c2
fix #20387 devices without model/protocol (#20530)
fredrike Jan 29, 2019
3f48422
Add missing switch for motion_detect (#20540)
perosb Jan 29, 2019
f353d51
Add check to validate gamut (#20518)
starkillerOG Jan 29, 2019
3ee3acd
Update device registry of MQTT light (#20441)
emontnemery Jan 29, 2019
cc74035
Move CONF_UPDATE_INTERVAL to homeassistant.const (#20526)
rohankapoorcom Jan 29, 2019
e22802a
Add support for HomeKit motion sensor devices (#20555)
Jc2k Jan 29, 2019
b0ff51b
Add an Integration sensor (#19703)
dgomes Jan 29, 2019
73a0c66
Allow usernames to be case-insensitive (#20558)
balloob Jan 29, 2019
6859d52
Add Synology SRM device tracker (#20320)
aerialls Jan 29, 2019
a7c7415
Treat each player as a 'device' for non-client devices. (#20074)
mitchellrj Jan 29, 2019
6ff4ea1
Add Recollect Waste (#20121)
stealthhacker Jan 29, 2019
e95c50c
New Transmission component (#19230)
MatteGary Jan 29, 2019
988bcf9
Fixing the openssl issue (#20570)
kennedyshead Jan 29, 2019
e0e5b86
Homekit Motion Sensor Review feedback (#20568)
Jc2k Jan 29, 2019
48f0e83
add empy all groups view. Makes Brilliant Lightpad work (#20564)
merc1031 Jan 29, 2019
89fc3b2
Disable extra=vol.ALLOW_EXTRA for MQTT platforms. (#20562)
emontnemery Jan 29, 2019
c5c64e7
html5 notifications add VAPID support (#20415)
quazzie Jan 29, 2019
ec4495b
Bump pymodbus to 1.5.2 (#20582)
mindakas Jan 30, 2019
0ef9882
Fix map icons
bramkragten Jan 30, 2019
a011048
Change Unifi timeout (#20606)
arsaboo Jan 30, 2019
7c9597f
Fix area registry config being loaded (#20598)
balloob Jan 30, 2019
349de19
Philips Hue: add prompt to update bridge/bulb (#20590)
starkillerOG Jan 30, 2019
ed299a9
Add support for FRITZ DECT 100 (temp sensor) (#20308)
choss Jan 30, 2019
8062f48
Add remove commmand to entity registry (#20597)
balloob Jan 30, 2019
ca0ee50
Fix map icons (#20602)
balloob Jan 30, 2019
91aa874
Fix LIFX for single-zone strip extensions (#20604)
amelchio Jan 30, 2019
cb07ea0
RFC: Add system health component (#20436)
balloob Jan 30, 2019
2836ff8
Update to the newest python-wink and fix push updates! (#20594)
Jan 30, 2019
e2cc156
Add lovelace systeam health (#20592)
balloob Jan 30, 2019
542160f
Add sensor platform for Rova Garbage Collection (#18868)
GidoHakvoort Jan 30, 2019
3e98aad
Added code to Abode Alarm control panel (#20611)
arsaboo Jan 30, 2019
ed75549
ZHA component rewrite part 4 - add device module (#20469)
dmulcahey Jan 30, 2019
473bf93
Updated frontend to 20190130.1
balloob Jan 31, 2019
5a0c707
Fix duplicate luftdaten entities (#20226)
jvanderneutstulen Jan 31, 2019
69ec798
Add SmartThings component and switch platform (#20148)
andrewsayre Jan 31, 2019
c7ff8d4
fix #20571 (#20589)
dgomes Jan 31, 2019
47848e2
Merge remote-tracking branch 'origin/master' into dev
balloob Jan 31, 2019
8db2152
Bumped version to 0.87.0b0
balloob Jan 31, 2019
0400e29
Updated frontend to 20190201.0
balloob Feb 1, 2019
557b745
Fix pjlink issue (#20510)
emkay82 Feb 1, 2019
ca729b1
Fix geofency requiring a configuration.yaml entry (#20631)
balloob Feb 1, 2019
1a5028f
Upgrade blinkpy to re-enable motion detection (#20651)
fronzbot Feb 1, 2019
47660f9
Fix parsing yeelight custom effects, when not present in config (#20658)
zewelor Feb 1, 2019
c702e1e
Add PLATFORM_SCHEMA_BASE support to check_config.py (#20663)
emontnemery Feb 1, 2019
e4d76d5
InfluxDB - change connection test method (#20666)
magenbrot Feb 1, 2019
224c258
Bumped version to 0.87.0b1
balloob Feb 1, 2019
61b2f1b
Update translations
balloob Feb 2, 2019
8988ee5
Updated frontend to 20190202.0
balloob Feb 2, 2019
785b42e
Add SmartThings Light platform (#20652)
andrewsayre Feb 2, 2019
c0fd22c
Fix allow extra in locative webhook schema validation (#20657)
rohankapoorcom Feb 1, 2019
b669e14
Add SmartThings Fan platform (#20681)
andrewsayre Feb 2, 2019
4255f2c
Add entity_namespace to PLATFORM_SCHEMA (#20693)
emontnemery Feb 2, 2019
d3e011f
Add SmartThings Binary Sensor platform (#20699)
andrewsayre Feb 2, 2019
f73cb0e
Bumped version to 0.87.0b2
balloob Feb 2, 2019
e5835eb
Remove fingerprint middleware (#20682)
balloob Feb 2, 2019
e984868
Bumped version to 0.87.0b3
balloob Feb 3, 2019
e4d45bf
Test is broken
balloob Feb 2, 2019
c9f64af
fix test commented in #20678 (#20680)
dgomes Feb 2, 2019
b0200cd
Bumped version to 0.87.0b4
balloob Feb 3, 2019
5f2d209
Updated frontend to 20190203.0
balloob Feb 3, 2019
9a13aaf
Add SmartThings button support via events (#20707)
andrewsayre Feb 3, 2019
e1509bc
Fix temperature unit conversion in Ambient PWS (#20723)
bachya Feb 3, 2019
027fcf2
Revert pyfoscam back to libpyfoscam (#20727)
davidlie Feb 3, 2019
7d33478
Bumped version to 0.87.0b5
balloob Feb 3, 2019
207a050
Fix ffmpeg v4 stream issue (#20314)
awarecan Feb 4, 2019
94ab5dc
Improve cloud error handling (#20729)
balloob Feb 4, 2019
cfa03a4
Fix cloud webhook body (#20739)
pvizeli Feb 4, 2019
a8b4467
Fix the line reference in config error message (#20743)
awarecan Feb 4, 2019
7f76210
Upgrade to async_upnp_client==0.14.4 (#20751)
StevenLooman Feb 5, 2019
3d75e1c
Keep cloud tokens always valid (#20762)
balloob Feb 5, 2019
e8dfc32
Bumped version to 0.87.0b6
balloob Feb 5, 2019
a6bcb51
Fix tellduslive responsiveness (#20603)
fredrike Feb 5, 2019
58b7905
Update version for pymyq to 1.1.0
ehendrix23 Feb 4, 2019
9912e0f
Make sure Locative doesn't submit invalid device IDs (#20784)
balloob Feb 6, 2019
180689f
Bumped version to 0.87.0
balloob Feb 6, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
40 changes: 30 additions & 10 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ omit =
homeassistant/components/alarmdecoder.py
homeassistant/components/*/alarmdecoder.py

homeassistant/components/ambient_station/__init__.py
homeassistant/components/ambient_station/sensor.py

homeassistant/components/amcrest.py
homeassistant/components/*/amcrest.py

Expand Down Expand Up @@ -80,17 +83,24 @@ omit =
homeassistant/components/digital_ocean.py
homeassistant/components/*/digital_ocean.py

homeassistant/components/danfoss_air/*

homeassistant/components/dominos.py

homeassistant/components/doorbird.py
homeassistant/components/*/doorbird.py

homeassistant/components/dovado/*

homeassistant/components/dweet.py
homeassistant/components/*/dweet.py

homeassistant/components/eight_sleep.py
homeassistant/components/*/eight_sleep.py

homeassistant/components/ecoal_boiler.py
homeassistant/components/*/ecoal_boiler.py

homeassistant/components/ecobee.py
homeassistant/components/*/ecobee.py

Expand Down Expand Up @@ -163,13 +173,13 @@ omit =
homeassistant/components/hlk_sw16.py
homeassistant/components/*/hlk_sw16.py

homeassistant/components/homekit_controller/__init__.py
homeassistant/components/*/homekit_controller.py
homeassistant/components/homekit_controller/*

homeassistant/components/homematic/__init__.py
homeassistant/components/*/homematic.py

homeassistant/components/homematicip_cloud.py
homeassistant/components/homematicip_cloud/hap.py
homeassistant/components/homematicip_cloud/device.py
homeassistant/components/*/homematicip_cloud.py

homeassistant/components/homeworks.py
Expand Down Expand Up @@ -384,6 +394,9 @@ omit =

homeassistant/components/tradfri.py
homeassistant/components/*/tradfri.py

homeassistant/components/transmission.py
homeassistant/components/*/transmission.py

homeassistant/components/notify/twilio_sms.py
homeassistant/components/notify/twilio_call.py
Expand Down Expand Up @@ -443,15 +456,19 @@ omit =
homeassistant/components/zha/sensor.py
homeassistant/components/zha/switch.py
homeassistant/components/zha/api.py
homeassistant/components/zha/entities/*
homeassistant/components/zha/helpers.py
homeassistant/components/zha/entity.py
homeassistant/components/zha/device_entity.py
homeassistant/components/zha/core/helpers.py
homeassistant/components/zha/core/const.py
homeassistant/components/zha/core/device.py
homeassistant/components/zha/core/listeners.py
homeassistant/components/zha/core/gateway.py
homeassistant/components/*/zha.py

homeassistant/components/zigbee.py
homeassistant/components/*/zigbee.py

homeassistant/components/zoneminder/*
homeassistant/components/*/zoneminder.py

homeassistant/components/tuya.py
homeassistant/components/*/tuya.py
Expand All @@ -460,6 +477,7 @@ omit =
homeassistant/components/*/spider.py

homeassistant/components/air_quality/opensensemap.py
homeassistant/components/air_quality/nilu.py
homeassistant/components/alarm_control_panel/alarmdotcom.py
homeassistant/components/alarm_control_panel/canary.py
homeassistant/components/alarm_control_panel/concord232.py
Expand Down Expand Up @@ -552,6 +570,7 @@ omit =
homeassistant/components/device_tracker/sky_hub.py
homeassistant/components/device_tracker/snmp.py
homeassistant/components/device_tracker/swisscom.py
homeassistant/components/device_tracker/synology_srm.py
homeassistant/components/device_tracker/tado.py
homeassistant/components/device_tracker/thomson.py
homeassistant/components/device_tracker/tile.py
Expand All @@ -574,13 +593,15 @@ omit =
homeassistant/components/image_processing/dlib_face_identify.py
homeassistant/components/image_processing/seven_segments.py
homeassistant/components/image_processing/tensorflow.py
homeassistant/components/image_processing/qrcode.py
homeassistant/components/keyboard_remote.py
homeassistant/components/keyboard.py
homeassistant/components/light/avion.py
homeassistant/components/light/blinksticklight.py
homeassistant/components/light/blinkt.py
homeassistant/components/light/decora_wifi.py
homeassistant/components/light/decora.py
homeassistant/components/light/everlights.py
homeassistant/components/light/flux_led.py
homeassistant/components/light/futurenow.py
homeassistant/components/light/greenwave.py
Expand Down Expand Up @@ -719,7 +740,6 @@ omit =
homeassistant/components/sensor/aftership.py
homeassistant/components/sensor/airvisual.py
homeassistant/components/sensor/alpha_vantage.py
homeassistant/components/sensor/ambient_station.py
homeassistant/components/sensor/arest.py
homeassistant/components/sensor/arwn.py
homeassistant/components/sensor/bbox.py
Expand All @@ -744,7 +764,6 @@ omit =
homeassistant/components/sensor/dht.py
homeassistant/components/sensor/discogs.py
homeassistant/components/sensor/dnsip.py
homeassistant/components/sensor/dovado.py
homeassistant/components/sensor/domain_expiry.py
homeassistant/components/sensor/dte_energy_bridge.py
homeassistant/components/sensor/dublin_bus_transport.py
Expand Down Expand Up @@ -781,6 +800,7 @@ omit =
homeassistant/components/sensor/hp_ilo.py
homeassistant/components/sensor/htu21d.py
homeassistant/components/sensor/upnp.py
homeassistant/components/sensor/iliad_italy.py
homeassistant/components/sensor/imap_email_content.py
homeassistant/components/sensor/imap.py
homeassistant/components/sensor/influxdb.py
Expand Down Expand Up @@ -835,7 +855,9 @@ omit =
homeassistant/components/sensor/qnap.py
homeassistant/components/sensor/radarr.py
homeassistant/components/sensor/rainbird.py
homeassistant/components/sensor/recollect_waste.py
homeassistant/components/sensor/ripple.py
homeassistant/components/sensor/rova.py
homeassistant/components/sensor/rtorrent.py
homeassistant/components/sensor/ruter.py
homeassistant/components/sensor/scrape.py
Expand Down Expand Up @@ -874,7 +896,6 @@ omit =
homeassistant/components/sensor/time_date.py
homeassistant/components/sensor/torque.py
homeassistant/components/sensor/trafikverket_weatherstation.py
homeassistant/components/sensor/transmission.py
homeassistant/components/sensor/travisci.py
homeassistant/components/sensor/twitch.py
homeassistant/components/sensor/uber.py
Expand Down Expand Up @@ -919,7 +940,6 @@ omit =
homeassistant/components/switch/switchmate.py
homeassistant/components/switch/telnet.py
homeassistant/components/switch/tplink.py
homeassistant/components/switch/transmission.py
homeassistant/components/switch/vesync.py
homeassistant/components/telegram_bot/*
homeassistant/components/thingspeak.py
Expand Down
6 changes: 4 additions & 2 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ homeassistant/components/notify/syslog.py @fabaff
homeassistant/components/notify/xmpp.py @fabaff
homeassistant/components/notify/yessssms.py @flowolf
homeassistant/components/plant.py @ChristianKuehnel
homeassistant/components/remote/harmony.py @ehendrix23
homeassistant/components/scene/lifx_cloud.py @amelchio
homeassistant/components/sensor/airvisual.py @bachya
homeassistant/components/sensor/alpha_vantage.py @fabaff
Expand Down Expand Up @@ -152,6 +153,7 @@ homeassistant/components/weather/openweathermap.py @fabaff
homeassistant/components/xiaomi_aqara.py @danielhiversen @syssi

# A
homeassistant/components/ambient_station/* @bachya
homeassistant/components/arduino.py @fabaff
homeassistant/components/*/arduino.py @fabaff
homeassistant/components/*/arest.py @fabaff
Expand Down Expand Up @@ -234,6 +236,7 @@ homeassistant/components/*/rfxtrx.py @danielhiversen

# S
homeassistant/components/simplisafe/* @bachya
homeassistant/components/smartthings/* @andrewsayre

# T
homeassistant/components/tahoma.py @philklei
Expand Down Expand Up @@ -268,8 +271,7 @@ homeassistant/components/*/xiaomi_aqara.py @danielhiversen @syssi
homeassistant/components/*/xiaomi_miio.py @rytilahti @syssi

# Z
homeassistant/components/zoneminder/ @rohankapoorcom
homeassistant/components/*/zoneminder.py @rohankapoorcom
homeassistant/components/zoneminder/* @rohankapoorcom

# Other code
homeassistant/scripts/check_config.py @kellerza
29 changes: 25 additions & 4 deletions homeassistant/auth/providers/homeassistant.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
import base64
from collections import OrderedDict
import logging
from typing import Any, Dict, List, Optional, cast

from typing import Any, Dict, List, Optional, Set, cast # noqa: F401

import bcrypt
import voluptuous as vol
Expand Down Expand Up @@ -52,6 +53,9 @@ def __init__(self, hass: HomeAssistant) -> None:
self._store = hass.helpers.storage.Store(STORAGE_VERSION, STORAGE_KEY,
private=True)
self._data = None # type: Optional[Dict[str, Any]]
# Legacy mode will allow usernames to start/end with whitespace
# and will compare usernames case-insensitive.
# Remove in 2020 or when we launch 1.0.
self.is_legacy = False

@callback
Expand All @@ -60,7 +64,7 @@ def normalize_username(self, username: str) -> str:
if self.is_legacy:
return username

return username.strip()
return username.strip().casefold()

async def async_load(self) -> None:
"""Load stored data."""
Expand All @@ -71,17 +75,34 @@ async def async_load(self) -> None:
'users': []
}

seen = set() # type: Set[str]

for user in data['users']:
username = user['username']

# check if we have duplicates
folded = username.casefold()

if folded in seen:
self.is_legacy = True

logging.getLogger(__name__).warning(
"Home Assistant auth provider is running in legacy mode "
"because we detected usernames that are case-insensitive"
"equivalent. Please change the username: '%s'.", username)

break

seen.add(folded)

# check if we have unstripped usernames
if username != username.strip():
self.is_legacy = True

logging.getLogger(__name__).warning(
"Home Assistant auth provider is running in legacy mode "
"because we detected usernames that start or end in a "
"space. Please change the username.")
"space. Please change the username: '%s'.", username)

break

Expand All @@ -103,7 +124,7 @@ def validate_login(self, username: str, password: str) -> None:

# Compare all users to avoid timing attacks.
for user in self.users:
if username == user['username']:
if self.normalize_username(user['username']) == username:
found = user

if found is None:
Expand Down
4 changes: 2 additions & 2 deletions homeassistant/components/air_quality/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

ATTR_AQI = 'air_quality_index'
ATTR_ATTRIBUTION = 'attribution'
ATTR_C02 = 'carbon_dioxide'
ATTR_CO2 = 'carbon_dioxide'
ATTR_CO = 'carbon_monoxide'
ATTR_N2O = 'nitrogen_oxide'
ATTR_NO = 'nitrogen_monoxide'
Expand All @@ -35,7 +35,7 @@
PROP_TO_ATTR = {
'air_quality_index': ATTR_AQI,
'attribution': ATTR_ATTRIBUTION,
'carbon_dioxide': ATTR_C02,
'carbon_dioxide': ATTR_CO2,
'carbon_monoxide': ATTR_CO,
'nitrogen_oxide': ATTR_N2O,
'nitrogen_monoxide': ATTR_NO,
Expand Down
Loading