diff --git a/.gitignore b/.gitignore index 6aea616b8..dc70a7efb 100644 --- a/.gitignore +++ b/.gitignore @@ -60,4 +60,5 @@ typings/ # data data/database.db data/config.json -data/log*.txt \ No newline at end of file +data/log*.txt +data/hash.json \ No newline at end of file diff --git a/lib/controller.js b/lib/controller.js index 715f7e450..3309efa39 100644 --- a/lib/controller.js +++ b/lib/controller.js @@ -5,7 +5,15 @@ const settings = require('./util/settings'); const zigbeeShepherdConverters = require('zigbee-shepherd-converters'); const homeassistant = require('./homeassistant'); const objectAssignDeep = require(`object-assign-deep`); - +const data = require('./util/data'); +const pjson = require('../package.json'); +let version = `${pjson.version}`; +try { + const hjson = require(data.joinPath('hash.json')).id; + version = version + `:${hjson}`; +} catch (error) { + logger.debug('Error parsing git hash version', error); +} const mqttConfigRegex = new RegExp(`${settings.get().mqtt.base_topic}/bridge/config/\\w+`, 'g'); const mqttDeviceRegex = new RegExp(`${settings.get().mqtt.base_topic}/[\\w\\s\\d]+/set`, 'g'); const mqttDevicePrefixRegex = new RegExp(`${settings.get().mqtt.base_topic}/[\\w\\s\\d]+/[\\w\\s\\d]+/set`, 'g'); @@ -39,6 +47,7 @@ class Controller { } start() { + logger.info(`Starting ... ${version}`); this.zigbee.start(this.handleZigbeeMessage, (error) => { if (error) { logger.error('Failed to start'); diff --git a/tag.sh b/tag.sh new file mode 100755 index 000000000..fec26218b --- /dev/null +++ b/tag.sh @@ -0,0 +1,3 @@ +#!/bin/sh +echo "{\"id\": \"$(git rev-parse --short HEAD)\"}" > data/hash.json +echo "Hash version '$(git rev-parse --short HEAD)' generated successfully" \ No newline at end of file