Log and publish friendly_name on deviceLeave. https://github.com/Koenkk/zigbee2mqtt/issues/7725

This commit is contained in:
Koen Kanters
2021-06-08 15:58:10 +02:00
parent 000884b080
commit fa8593c898
3 changed files with 10 additions and 3 deletions
+3 -1
View File
@@ -266,7 +266,9 @@ class Controller {
} else {
/* istanbul ignore else */
if (type === 'deviceLeave') {
logger.warn(`Device '${name || data.ieeeAddr}' left the network`);
const settingsDevice = settings.getDevice(data.ieeeAddr);
logger.warn(`Device '${settingsDevice ? settingsDevice.friendlyName : data.ieeeAddr}' ` +
`left the network`);
this.state.remove(data.ieeeAddr);
}
}
+6 -1
View File
@@ -122,7 +122,12 @@ class Bridge extends Extension {
payload = {
friendly_name: resolvedEntity.settings.friendlyName, ieee_address: ieeeAddress,
};
} else payload = {ieee_address: ieeeAddress}; // deviceLeave
} else {
// deviceLeave
const settingsDevice = settings.getDevice(ieeeAddress);
payload = {ieee_address: ieeeAddress,
friendly_name: settingsDevice ? settingsDevice.friendlyName : null};
}
await this.mqtt.publish(
'bridge/event',
+1 -1
View File
@@ -196,7 +196,7 @@ describe('Bridge', () => {
expect(MQTT.publish).toHaveBeenCalledTimes(2);
expect(MQTT.publish).toHaveBeenCalledWith(
'zigbee2mqtt/bridge/event',
stringify({"type":"device_leave","data":{"ieee_address":"0x000b57fffec6a5b2"}}),
stringify({"type":"device_leave","data":{"ieee_address":"0x000b57fffec6a5b2","friendly_name":"bulb"}}),
{ retain: false, qos: 0 },
expect.any(Function)
);