Network scan stability improvement

This commit is contained in:
Koen Kanters committed 2021-01-22 19:16:35 +01:00
1 parent 1b32a46649
commit 6a33670296
3 files changed
+11 -1

No files matched your search

+1
View File
@@ -212,6 +212,7 @@ class NetworkMap extends Extension {
for (const device of devices.filter((d) => d.type != 'EndDevice')) {
failed.set(device, []);
await utils.sleep(1); // sleep 1 second between each scan to reduce stress on network.
const resolvedEntity = this.zigbee.resolveEntity(device);
try {
const result = await device.lqi();
+4
View File
@@ -206,6 +206,9 @@ function validateFriendlyName(name) {
}
return errors;
}
function sleep(seconds) {
return new Promise((resolve) => setTimeout(resolve, seconds * 1000));
}
module.exports = {
millisecondsToSeconds: (milliseconds) => milliseconds / 1000,
@@ -214,6 +217,7 @@ module.exports = {
getDependencyVersion,
objectHasProperties,
toSnakeCase,
sleep,
getObjectProperty,
getEndpointNames: () => endpointNames,
isXiaomiDevice: (device) => {
+6 -1
View File
@@ -17,10 +17,10 @@ const MQTT = require('./stub/mqtt');
const settings = require('../lib/util/settings');
const Controller = require('../lib/controller');
const flushPromises = () => new Promise(setImmediate);
const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
Date.now = jest.fn()
Date.now.mockReturnValue(10000);
const mocksClear = [MQTT.publish, logger.warn, logger.debug];
const setTimeoutNative = setTimeout;
describe('Networkmap', () => {
let controller;
@@ -43,6 +43,11 @@ describe('Networkmap', () => {
const device = zigbeeHerdsman.devices.bulb_color;
device.lastSeen = 1000;
external_converter_device.lastSeen = 1000;
global.setTimeout = (r) => r();
});
afterEach(async () => {
global.setTimeout = setTimeoutNative;
});
function mock() {