This commit is contained in:
Koen Kanters
2019-11-27 22:02:49 +01:00
parent c2be95777f
commit 99fd93f9a7
6 changed files with 27 additions and 5 deletions
+6
View File
@@ -139,6 +139,12 @@ const schema = {
},
ban: {type: 'array', items: {type: 'string'}},
whitelist: {type: 'array', items: {type: 'string'}},
experimental: {
type: 'object',
properties: {
transmit_power: {type: 'number'},
},
},
advanced: {
type: 'object',
properties: {
+8 -1
View File
@@ -75,7 +75,14 @@ class Zigbee extends events.EventEmitter {
// Check if we have to turn off the led
if (settings.get().serial.disable_led) {
this.herdsman.setLED(false);
await this.herdsman.setLED(false);
}
// Check if we have to set a transmit power
if (settings.get().experimental.hasOwnProperty('transmit_power')) {
const transmitPower = settings.get().experimental.transmit_power;
await this.herdsman.setTransmitPower(transmitPower);
logger.info(`Set transmit power to '${transmitPower}'`);
}
}
+3 -3
View File
@@ -6170,9 +6170,9 @@
}
},
"zigbee-herdsman": {
"version": "0.12.12",
"resolved": "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.12.12.tgz",
"integrity": "sha512-GPH8lO1C64tW5Vr74MwOAgkCLJhNj9ifENzGaNE7zSDErmwhxVSNMDklCdgTwySucNy5Fdt6r7JuBEvbnzzdUw==",
"version": "0.12.14",
"resolved": "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.12.14.tgz",
"integrity": "sha512-lltiWte3wLE/43asybU97JdAaYNupnQQh+WvZKfFRoNamJkgoLa3bp7aL4nPNNW/B+hjsrU0kuotVc6NmAcrug==",
"requires": {
"debug": "^4.1.1",
"fast-deep-equal": "^2.0.1",
+1 -1
View File
@@ -45,7 +45,7 @@
"rimraf": "*",
"semver": "*",
"winston": "*",
"zigbee-herdsman": "0.12.12",
"zigbee-herdsman": "0.12.14",
"zigbee-herdsman-converters": "11.1.50"
},
"devDependencies": {
+8
View File
@@ -34,6 +34,7 @@ describe('Controller', () => {
expect(zigbeeHerdsman.constructor).toHaveBeenCalledWith({"network":{"panID":6754,"extendedPanID":[221,221,221,221,221,221,221,221],"channelList":[11],"networkKey":[1,3,5,7,9,11,13,15,0,2,4,6,8,10,12,13]},"databasePath":path.join(data.mockDir, "database.db"), "databaseBackupPath":path.join(data.mockDir, "database.db.backup"),"backupPath":path.join(data.mockDir, "coordinator_backup.json"),"acceptJoiningDeviceHandler": expect.any(Function),"serialPort":{"baudRate":115200,"rtscts":true,"path":"/dev/dummy"}});
expect(zigbeeHerdsman.start).toHaveBeenCalledTimes(1);
expect(zigbeeHerdsman.setLED).toHaveBeenCalledTimes(0);
expect(zigbeeHerdsman.setTransmitPower).toHaveBeenCalledTimes(0);
expect(zigbeeHerdsman.permitJoin).toHaveBeenCalledTimes(1);
expect(zigbeeHerdsman.permitJoin).toHaveBeenCalledWith(true);
expect(logger.info).toHaveBeenCalledWith(`Currently ${Object.values(zigbeeHerdsman.devices).length - 1} devices are joined:`)
@@ -176,6 +177,13 @@ describe('Controller', () => {
expect(zigbeeHerdsman.setLED).toHaveBeenCalledWith(false);
});
it('Start controller with transmit power', async () => {
settings.set(['experimental', 'transmit_power'], 14);
await controller.start();
expect(zigbeeHerdsman.setTransmitPower).toHaveBeenCalledTimes(1);
expect(zigbeeHerdsman.setTransmitPower).toHaveBeenCalledWith(14);
});
it('Start controller and stop', async () => {
await controller.start();
await controller.stop();
+1
View File
@@ -139,6 +139,7 @@ const groups = {
}
const mock = {
setTransmitPower: jest.fn(),
touchlinkFactoryReset: jest.fn(),
start: jest.fn(),
permitJoin: jest.fn(),