Don’t identify Trust device as Xiaomi device. https://github.com/Koenkk/zigbee2mqtt/issues/1420

This commit is contained in:
Koen Kanters
2019-04-17 20:03:40 +02:00
parent beb2713cdd
commit 75718b360e
2 changed files with 24 additions and 1 deletions
+4 -1
View File
@@ -92,7 +92,10 @@ function getZigbee2mqttVersion(callback) {
module.exports = {
millisecondsToSeconds: (milliseconds) => milliseconds / 1000,
secondsToMilliseconds: (seconds) => seconds * 1000,
isXiaomiDevice: (device) => device.modelId !== 'lumi.router' && xiaomiManufacturerID.includes(device.manufId),
isXiaomiDevice: (device) => {
return device.modelId !== 'lumi.router' && xiaomiManufacturerID.includes(device.manufId) &&
(!device.manufName || !device.manufName.startsWith('Trust'));
},
isIkeaTradfriDevice: (device) => ikeaTradfriManufacturerID.includes(device.manufId),
isRouter: (device) => device.type === 'Router',
isBatteryPowered: (device) => device.powerSource && device.powerSource === 'Battery',
+20
View File
@@ -0,0 +1,20 @@
const utils = require('../lib/util/utils.js');
describe('Utils', () => {
describe('Is xiaomi device', () => {
it('Identify xiaomi device', () => {
const device = {type: 'Router', manufId: 4151, manufName: 'Xiaomi'};
expect(true).toBe(utils.isXiaomiDevice(device));
});
it('Identify xiaomi device without manufName', () => {
const device = {type: 'Router', manufId: 4447};
expect(true).toBe(utils.isXiaomiDevice(device));
});
it('Identify xiaomi device with different manufName', () => {
const device = {type: 'Router', manufId: 4151, manufName: 'Trust International B.V.\u0000'};
expect(false).toBe(utils.isXiaomiDevice(device));
});
});
});