diff --git a/homeassistant/components/alarm_control_panel/manual.py b/homeassistant/components/alarm_control_panel/manual.py index 0a79d74d686077..0bbbd0689e2665 100644 --- a/homeassistant/components/alarm_control_panel/manual.py +++ b/homeassistant/components/alarm_control_panel/manual.py @@ -310,7 +310,15 @@ def device_state_attributes(self): async def async_added_to_hass(self): """Run when entity about to be added to hass.""" + await super().async_added_to_hass() state = await self.async_get_last_state() if state: - self._state = state.state - self._state_ts = state.last_updated + if state.state == STATE_ALARM_PENDING and \ + hasattr(state, 'attributes') and \ + state.attributes['pre_pending_state']: + # If in pending state, we return to the pre_pending_state + self._state = state.attributes['pre_pending_state'] + self._state_ts = dt_util.utcnow() + else: + self._state = state.state + self._state_ts = state.last_updated