Paul Annekov 3417c6ad8d Checking Xiaomi Aqara devices unavailability states (#11631)
* added unavailability tracker, updated sensor component

* change hass argument position according to position in binary_sensor

* added hass argument to binary_sensor, updated is_on(), it can be UNAVAILABLE now

* updated switch component to support unavailability feature

* updated light component to support unavailability feature

* updated cover component to support unavailability feature

* set _hass property

* added unavailability tracker, updated sensor component

* change hass argument position according to position in binary_sensor

* added hass argument to binary_sensor, updated is_on(), it can be UNAVAILABLE now

* updated switch component to support unavailability feature

* updated light component to support unavailability feature

* updated cover component to support unavailability feature

* set _hass property

* fixed error with wrong arguments number during callback call

* reset unavailability state on new message received from device

* use locks to fix race condition during managing _state property

* overriden state() method for some components to check for STATE_UNAVAILABLE and return it instead e.g. STATE_OFF

* fixed linter

* removed blank line

* use available() method instead of changing _state

* filter motion sensors 'heartbeat', was removed from PyXiaomiGateway

* remove self._hass, use self.hass set by HA on attach

* self.push_data now running in the event loop, use async_schedule_update_ha_state()

* merge fix

* removed accidentally added home-assistant-polymer

* bump PyXiaomiGateway version to 0.8.0

* bump PyXiaomiGateway to 0.8.0

* updated methods names and annotations
2018-01-23 10:22:43 +01:00
..
2017-05-02 09:18:47 -07:00
2018-01-20 22:35:38 -08:00
2018-01-20 22:35:38 -08:00
2017-05-02 22:47:20 +02:00
2017-05-02 09:18:47 -07:00
2017-05-12 20:30:07 -07:00
2017-06-29 11:03:52 +02:00
2018-01-22 23:51:52 -08:00
2017-10-14 14:45:32 -04:00
2018-01-20 22:35:38 -08:00
2017-10-25 15:13:11 +02:00
2017-05-02 09:18:47 -07:00
2017-05-02 09:18:47 -07:00
2017-05-02 09:18:47 -07:00
2017-10-04 10:20:08 +02:00
2018-01-20 22:35:38 -08:00
2017-12-13 20:03:41 -08:00
2017-12-03 16:48:07 +01:00
2017-05-02 09:18:47 -07:00
2017-09-23 17:15:46 +02:00
2017-10-23 09:20:45 +02:00
2017-05-15 14:25:46 +02:00
2018-01-18 21:48:21 +01:00
2017-10-23 13:12:14 +02:00
2018-01-15 14:24:12 -08:00
2017-06-29 11:03:52 +02:00
2018-01-20 16:29:50 +01:00
2018-01-20 22:35:38 -08:00
2017-10-02 17:17:08 +02:00
2017-06-05 08:39:31 -07:00
2018-01-20 22:35:38 -08:00
2018-01-20 22:35:38 -08:00
2018-01-20 22:35:38 -08:00
2018-01-15 14:25:00 -08:00
2018-01-20 22:35:38 -08:00
2017-05-02 09:18:47 -07:00
2017-09-25 22:34:48 +02:00
2017-05-02 09:18:47 -07:00
2017-11-15 18:17:17 -05:00
2018-01-20 22:35:38 -08:00
2018-01-08 17:07:39 +01:00
2017-05-02 09:18:47 -07:00
2017-10-07 00:22:40 +02:00
2017-05-02 09:18:47 -07:00
2017-12-16 22:29:40 +01:00
2018-01-03 19:28:43 +01:00
2017-09-29 12:05:02 +02:00
2017-07-16 21:39:38 +02:00
2017-12-25 10:07:17 +01:00
2018-01-16 12:32:08 +01:00
2018-01-20 22:35:38 -08:00
2017-12-13 21:21:14 +01:00
2017-11-21 15:35:23 +01:00
2017-08-29 16:18:36 +02:00
2017-11-27 21:25:00 +01:00
2017-12-11 16:44:14 +01:00
2017-10-08 20:14:39 +02:00
2017-05-02 09:18:47 -07:00
2017-05-02 09:18:47 -07:00
2018-01-06 19:54:15 +01:00
2017-05-02 09:18:47 -07:00
2017-05-04 07:46:43 +02:00
2018-01-20 22:35:38 -08:00
2017-11-08 11:18:35 +01:00
2017-11-19 19:41:30 -08:00
2017-10-24 18:36:08 +02:00
2017-11-22 09:37:20 +00:00
2017-12-25 17:46:42 +01:00
2017-09-17 13:40:58 +02:00
2017-06-18 21:32:39 -07:00
2017-09-27 10:44:32 -07:00
2017-10-23 14:38:16 -04:00
2018-01-20 22:35:38 -08:00
2017-12-07 07:47:19 +01:00
2017-06-26 22:30:25 +02:00
2017-08-12 08:52:56 +02:00
2018-01-20 22:35:38 -08:00
2018-01-20 22:35:38 -08:00
2017-07-07 07:55:58 -07:00
2018-01-20 22:35:38 -08:00
2018-01-20 22:35:38 -08:00
2017-05-02 22:47:20 +02:00
2017-10-15 21:41:16 -07:00
2017-05-02 22:47:20 +02:00