Log zigbee2mqtt version information to bridge/config (#1267)

* add coordinator_firmware to bridge/config

* Add zigbee2mqtt version and commit

* Whoops
This commit is contained in:
Oli
2019-03-17 20:04:51 +01:00
committed by Koen Kanters
parent 1043053812
commit a2a90bcdbd
4 changed files with 43 additions and 26 deletions
+3 -19
View File
@@ -5,6 +5,7 @@ const logger = require('./util/logger');
const settings = require('./util/settings');
const zigbeeShepherdConverters = require('zigbee-shepherd-converters');
const objectAssignDeep = require('object-assign-deep');
const utils = require('./util/utils');
// Extensions
const ExtensionNetworkMap = require('./extension/networkMap');
@@ -180,25 +181,8 @@ class Controller {
}
startupLogVersion(callback) {
const git = require('git-last-commit');
const packageJSON = require('../package.json');
const version = packageJSON.version;
git.getLastCommit((err, commit) => {
let commitHash = null;
if (err) {
try {
commitHash = require('../.hash.json').hash;
} catch (error) {
commitHash = 'unknown';
}
} else {
commitHash = commit.shortHash;
}
logger.info(`Starting zigbee2mqtt version ${version} (commit #${commitHash})`);
utils.getZigbee2mqttVersion((info) => {
logger.info(`Starting zigbee2mqtt version ${info.version} (commit #${info.commitHash})`);
callback();
});
}
+12 -6
View File
@@ -1,6 +1,7 @@
const settings = require('../util/settings');
const logger = require('../util/logger');
const zigbeeShepherdConverters = require('zigbee-shepherd-converters');
const utils = require('../util/utils');
const configRegex = new RegExp(`${settings.get().mqtt.base_topic}/bridge/config/\\w+`, 'g');
const allowedLogLevels = ['error', 'warn', 'info', 'debug'];
@@ -240,13 +241,18 @@ class BridgeConfig {
}
publish() {
const topic = `bridge/config`;
const payload = {
log_level: logger.transports.console.level,
permit_join: this.zigbee.getPermitJoin(),
};
utils.getZigbee2mqttVersion((info) => {
const topic = `bridge/config`;
const payload = {
version: info.version,
commit: info.commitHash,
coordinator_firmware: this.zigbee.getFirmwareVersion(),
log_level: logger.transports.console.level,
permit_join: this.zigbee.getPermitJoin(),
};
this.mqtt.publish(topic, JSON.stringify(payload), {retain: true, qos: 0}, null);
this.mqtt.publish(topic, JSON.stringify(payload), {retain: true, qos: 0}, null);
});
}
}
+23
View File
@@ -67,6 +67,28 @@ function getEndpointByEntityID(zigbee, entityID, epName) {
return endpoint;
}
function getZigbee2mqttVersion(callback) {
const git = require('git-last-commit');
const packageJSON = require('../../package.json');
const version = packageJSON.version;
git.getLastCommit((err, commit) => {
let commitHash = null;
if (err) {
try {
commitHash = require('../.hash.json').hash;
} catch (error) {
commitHash = 'unknown';
}
} else {
commitHash = commit.shortHash;
}
callback({commitHash, version});
});
}
module.exports = {
millisecondsToSeconds: (milliseconds) => milliseconds / 1000,
secondsToMilliseconds: (seconds) => seconds * 1000,
@@ -76,4 +98,5 @@ module.exports = {
toLocalISOString: (dDate) => toLocalISOString(dDate),
getPostfixes: () => postfixes,
getEndpointByEntityID,
getZigbee2mqttVersion,
};
+5 -1
View File
@@ -87,10 +87,14 @@ class Zigbee {
logStartupInfo() {
logger.info('zigbee-shepherd started');
logger.info(`Coordinator firmware version: '${this.shepherd.info().firmware.revision}'`);
logger.info(`Coordinator firmware version: '${this.getFirmwareVersion()}'`);
logger.debug(`zigbee-shepherd info: ${JSON.stringify(this.shepherd.info())}`);
}
getFirmwareVersion() {
return this.shepherd.info().firmware.revision;
}
softReset(callback) {
this.shepherd.reset('soft', callback);
}