diff --git a/lib/extension/frontend.js b/lib/extension/frontend.js index 41a5862f5..9fa1b4669 100644 --- a/lib/extension/frontend.js +++ b/lib/extension/frontend.js @@ -109,6 +109,10 @@ class Frontend extends Extension { payload.last_seen = utils.formatDate(resolvedEntity.device.lastSeen, lastSeen); } + if (resolvedEntity.device.linkquality !== undefined) { + payload.linkquality = resolvedEntity.device.linkquality; + } + ws.send(stringify({topic: resolvedEntity.name, payload})); } } diff --git a/test/frontend.test.js b/test/frontend.test.js index 2fed86bf8..deaf8fba4 100644 --- a/test/frontend.test.js +++ b/test/frontend.test.js @@ -6,6 +6,7 @@ const settings = require('../lib/util/settings'); const Controller = require('../lib/controller'); const stringify = require('json-stable-stringify-without-jsonify'); const flushPromises = () => new Promise(setImmediate); +const zigbeeHerdsman = require('./stub/zigbeeHerdsman'); jest.spyOn(process, 'exit').mockImplementation(() => {}); const mockHTTP = { @@ -87,6 +88,11 @@ describe('Frontend', () => { settings.set(['experimental'], {new_api: true}); settings.set(['frontend'], {port: 8081}); settings.set(['homeassistant'], true); + zigbeeHerdsman.devices.bulb.linkquality = 10; + }); + + afterEach(async() => { + delete zigbeeHerdsman.devices.bulb.linkquality; }); it('Start/stop', async () => {