mirror of
https://github.com/Koenkk/zigbee2mqtt.git
synced 2024-11-16 02:18:31 -07:00
Re-configure when device rejoins. https://github.com/Koenkk/zigbee-herdsman-converters/issues/758
This commit is contained in:
parent
fdc8fcc02b
commit
b23276f7f3
@ -45,6 +45,12 @@ class DeviceConfigure extends BaseExtension {
|
|||||||
|
|
||||||
onZigbeeEvent(type, data, mappedDevice, settingsDevice) {
|
onZigbeeEvent(type, data, mappedDevice, settingsDevice) {
|
||||||
const device = data.device;
|
const device = data.device;
|
||||||
|
|
||||||
|
if (type === 'deviceJoined' && device.meta.hasOwnProperty('configured')) {
|
||||||
|
delete device.meta.configured;
|
||||||
|
device.save();
|
||||||
|
}
|
||||||
|
|
||||||
if (this.shouldConfigure(device, mappedDevice)) {
|
if (this.shouldConfigure(device, mappedDevice)) {
|
||||||
this.configure(device, mappedDevice, settingsDevice);
|
this.configure(device, mappedDevice, settingsDevice);
|
||||||
}
|
}
|
||||||
|
@ -54,6 +54,18 @@ describe('Device receive', () => {
|
|||||||
expectRemoteConfigured();
|
expectRemoteConfigured();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('Should re-configure when device rejoins', async () => {
|
||||||
|
expectRemoteConfigured();
|
||||||
|
const device = zigbeeHerdsman.devices.remote;
|
||||||
|
const endpoint = device.getEndpoint(1);
|
||||||
|
await flushPromises();
|
||||||
|
mockClear(device);
|
||||||
|
const payload = {device};
|
||||||
|
zigbeeHerdsman.events.deviceJoined(payload);
|
||||||
|
await flushPromises();
|
||||||
|
expectRemoteConfigured();
|
||||||
|
});
|
||||||
|
|
||||||
it('Should not configure twice', async () => {
|
it('Should not configure twice', async () => {
|
||||||
expectRemoteConfigured();
|
expectRemoteConfigured();
|
||||||
const device = zigbeeHerdsman.devices.remote;
|
const device = zigbeeHerdsman.devices.remote;
|
||||||
|
Loading…
Reference in New Issue
Block a user