Fix decora_wifi residences (#17228)

* Fix decora multiple residences

* Fix typo

* Update decora_wifi.py
This commit is contained in:
Austin 2018-11-27 15:53:28 +00:00 committed by Paulus Schoutsen
parent 7b3b7d2eec
commit 2f07e92cc2

View file

@ -40,6 +40,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
from decora_wifi import DecoraWiFiSession
from decora_wifi.models.person import Person
from decora_wifi.models.residential_account import ResidentialAccount
from decora_wifi.models.residence import Residence
email = config.get(CONF_USERNAME)
password = config.get(CONF_PASSWORD)
@ -60,10 +61,16 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
perms = session.user.get_residential_permissions()
all_switches = []
for permission in perms:
acct = ResidentialAccount(session, permission.residentialAccountId)
if permission.residentialAccountId is not None:
acct = ResidentialAccount(
session, permission.residentialAccountId)
for residence in acct.get_residences():
for switch in residence.get_iot_switches():
all_switches.append(switch)
elif permission.residenceId is not None:
residence = Residence(session, permission.residenceId)
for switch in residence.get_iot_switches():
all_switches.append(switch)
add_entities(DecoraWifiLight(sw) for sw in all_switches)
except ValueError: