mirror of
https://github.com/Koenkk/zigbee2mqtt.git
synced 2026-10-25 07:12:45 +00:00
Refactor remove device & remove from home assistant
This commit is contained in:
1 parent
7c53e9bb15
commit
884e3aa475
4 files changed
+66
-33
No files matched your search
+10
-15
@@ -108,30 +108,25 @@ class Zigbee {
|
||||
return this.shepherd.list().filter((device) => device.type !== 'Coordinator');
|
||||
}
|
||||
|
||||
removedevice(deviceID) {
|
||||
this.shepherd.remove(deviceID, (err) => {
|
||||
if (err) {
|
||||
logger.warn(`Failed to remove ${deviceID}`);
|
||||
this.forceRemove(deviceID);
|
||||
removeDevice(deviceID, callback) {
|
||||
this.shepherd.remove(deviceID, (error) => {
|
||||
if (error) {
|
||||
logger.warn(`Failed to remove '${deviceID}', trying force remove...`);
|
||||
this._forceRemove(deviceID, callback);
|
||||
} else {
|
||||
logger.info(`Successfully removed ${deviceID}`);
|
||||
callback(null);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
forceRemove(deviceID) {
|
||||
_forceRemove(deviceID, callback) {
|
||||
const device = this.shepherd._findDevByAddr(deviceID);
|
||||
// force
|
||||
|
||||
if (device) {
|
||||
return this.shepherd._unregisterDev(device, (err) => {
|
||||
if (err) {
|
||||
logger.warn(`Failed to force remove ${deviceID}`);
|
||||
} else {
|
||||
logger.info(`Successfully removed by force ${deviceID}`);
|
||||
}
|
||||
});
|
||||
return this.shepherd._unregisterDev(device, (error) => callback(error));
|
||||
} else {
|
||||
logger.warn(`Could not find ${deviceID} for force removal`);
|
||||
callback(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user