mirror of
https://github.com/home-assistant/core.git
synced 2025-07-25 14:17:45 +00:00
Fix totalconnect AttributeError introduced in 0.107 (#33079)
* Fit git * Remove period from loggging message * Remove tests for now * Add const.py * Fix lint error
This commit is contained in:
parent
79f6d55fe8
commit
ba2558790d
@ -18,7 +18,7 @@ from homeassistant.const import (
|
|||||||
STATE_ALARM_TRIGGERED,
|
STATE_ALARM_TRIGGERED,
|
||||||
)
|
)
|
||||||
|
|
||||||
from . import DOMAIN as TOTALCONNECT_DOMAIN
|
from .const import DOMAIN
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
|
|||||||
|
|
||||||
alarms = []
|
alarms = []
|
||||||
|
|
||||||
client = hass.data[TOTALCONNECT_DOMAIN].client
|
client = hass.data[DOMAIN].client
|
||||||
|
|
||||||
for location_id, location in client.locations.items():
|
for location_id, location in client.locations.items():
|
||||||
location_name = location.location_name
|
location_name = location.location_name
|
||||||
@ -71,7 +71,7 @@ class TotalConnectAlarm(alarm.AlarmControlPanel):
|
|||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
"""Return the state of the device."""
|
"""Return the state of the device."""
|
||||||
status = self._client.get_armed_status(self._location_id)
|
self._client.get_armed_status(self._location_id)
|
||||||
attr = {
|
attr = {
|
||||||
"location_name": self._name,
|
"location_name": self._name,
|
||||||
"location_id": self._location_id,
|
"location_id": self._location_id,
|
||||||
@ -79,47 +79,36 @@ class TotalConnectAlarm(alarm.AlarmControlPanel):
|
|||||||
"low_battery": self._client.locations[self._location_id].low_battery,
|
"low_battery": self._client.locations[self._location_id].low_battery,
|
||||||
"cover_tampered": self._client.locations[
|
"cover_tampered": self._client.locations[
|
||||||
self._location_id
|
self._location_id
|
||||||
].is_cover_tampered,
|
].is_cover_tampered(),
|
||||||
"triggered_source": None,
|
"triggered_source": None,
|
||||||
"triggered_zone": None,
|
"triggered_zone": None,
|
||||||
}
|
}
|
||||||
|
|
||||||
if status in (self._client.DISARMED, self._client.DISARMED_BYPASS):
|
if self._client.locations[self._location_id].is_disarmed():
|
||||||
state = STATE_ALARM_DISARMED
|
state = STATE_ALARM_DISARMED
|
||||||
elif status in (
|
elif self._client.locations[self._location_id].is_armed_home():
|
||||||
self._client.ARMED_STAY,
|
|
||||||
self._client.ARMED_STAY_INSTANT,
|
|
||||||
self._client.ARMED_STAY_INSTANT_BYPASS,
|
|
||||||
):
|
|
||||||
state = STATE_ALARM_ARMED_HOME
|
state = STATE_ALARM_ARMED_HOME
|
||||||
elif status == self._client.ARMED_STAY_NIGHT:
|
elif self._client.locations[self._location_id].is_armed_night():
|
||||||
state = STATE_ALARM_ARMED_NIGHT
|
state = STATE_ALARM_ARMED_NIGHT
|
||||||
elif status in (
|
elif self._client.locations[self._location_id].is_armed_away():
|
||||||
self._client.ARMED_AWAY,
|
|
||||||
self._client.ARMED_AWAY_BYPASS,
|
|
||||||
self._client.ARMED_AWAY_INSTANT,
|
|
||||||
self._client.ARMED_AWAY_INSTANT_BYPASS,
|
|
||||||
):
|
|
||||||
state = STATE_ALARM_ARMED_AWAY
|
state = STATE_ALARM_ARMED_AWAY
|
||||||
elif status == self._client.ARMED_CUSTOM_BYPASS:
|
elif self._client.locations[self._location_id].is_armed_custom_bypass():
|
||||||
state = STATE_ALARM_ARMED_CUSTOM_BYPASS
|
state = STATE_ALARM_ARMED_CUSTOM_BYPASS
|
||||||
elif status == self._client.ARMING:
|
elif self._client.locations[self._location_id].is_arming():
|
||||||
state = STATE_ALARM_ARMING
|
state = STATE_ALARM_ARMING
|
||||||
elif status == self._client.DISARMING:
|
elif self._client.locations[self._location_id].is_disarming():
|
||||||
state = STATE_ALARM_DISARMING
|
state = STATE_ALARM_DISARMING
|
||||||
elif status == self._client.ALARMING:
|
elif self._client.locations[self._location_id].is_triggered_police():
|
||||||
state = STATE_ALARM_TRIGGERED
|
state = STATE_ALARM_TRIGGERED
|
||||||
attr["triggered_source"] = "Police/Medical"
|
attr["triggered_source"] = "Police/Medical"
|
||||||
elif status == self._client.ALARMING_FIRE_SMOKE:
|
elif self._client.locations[self._location_id].is_triggered_fire():
|
||||||
state = STATE_ALARM_TRIGGERED
|
state = STATE_ALARM_TRIGGERED
|
||||||
attr["triggered_source"] = "Fire/Smoke"
|
attr["triggered_source"] = "Fire/Smoke"
|
||||||
elif status == self._client.ALARMING_CARBON_MONOXIDE:
|
elif self._client.locations[self._location_id].is_triggered_gas():
|
||||||
state = STATE_ALARM_TRIGGERED
|
state = STATE_ALARM_TRIGGERED
|
||||||
attr["triggered_source"] = "Carbon Monoxide"
|
attr["triggered_source"] = "Carbon Monoxide"
|
||||||
else:
|
else:
|
||||||
logging.info(
|
logging.info("Total Connect Client returned unknown status")
|
||||||
"Total Connect Client returned unknown status code: %s", status
|
|
||||||
)
|
|
||||||
state = None
|
state = None
|
||||||
|
|
||||||
self._state = state
|
self._state = state
|
||||||
|
3
homeassistant/components/totalconnect/const.py
Normal file
3
homeassistant/components/totalconnect/const.py
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
"""TotalConnect constants."""
|
||||||
|
|
||||||
|
DOMAIN = "totalconnect"
|
Loading…
x
Reference in New Issue
Block a user