Add device availability functionality for HASS based on router devices ping and attribute reporting also available on battery-powered devices (#761)

* Discovery on HASS restart and last_message attribute added

- On restarting Home Assistant, resending device discovery information
- Add timestamp on receiving message from Zigbee

* Add option: add_timestamp in settings

* typo

* Update homeassistant.js

* Update homeassistant.js

* Update homeassistant.js

* Update controller.js

* Update zigbee.js

* Add files via upload

* Update zigbee.js

* Update deviceAvailabilityHandler.js

* Update deviceAvailabilityHandler.js

* Update deviceAvailabilityHandler.js

* Update deviceAvailabilityHandler.js

* Update deviceAvailabilityHandler.js

* Update deviceAvailabilityHandler.js

* Update deviceAvailabilityHandler.js

* Update homeassistant.js

* Update deviceAvailabilityHandler.js

* Update deviceAvailabilityHandler.js

* Update homeassistant.js

* Fix checkonline callback.

* Refactor.

* Refactor.
This commit is contained in:
Gergely Markics
2018-12-29 19:55:59 +01:00
committed by Koen Kanters
parent 2a197a4ba8
commit afeed4f372
7 changed files with 138 additions and 8 deletions
+7
View File
@@ -17,6 +17,7 @@ const ExtensionDeviceReceive = require('./extension/deviceReceive');
const ExtensionMarkOnlineXiaomi = require('./extension/markOnlineXiaomi');
const ExtensionBridgeConfig = require('./extension/bridgeConfig');
const ExtensionGroups = require('./extension/groups');
const DeviceAvailability = require('./extension/deviceAvailability');
class Controller {
constructor() {
@@ -53,6 +54,12 @@ class Controller {
this.zigbee, this.mqtt, this.state, this.publishDeviceState
));
}
if (settings.get().experimental.availablility_timeout) {
this.extensions.push(new DeviceAvailability(
this.zigbee, this.mqtt, this.state, this.publishDeviceState
));
}
}
onMQTTConnected() {