mirror of
https://github.com/Koenkk/zigbee2mqtt.git
synced 2026-07-02 10:01:37 +00:00
Allow to set device and mqtt url with CLI arguments.
This commit is contained in:
@@ -1,17 +1,39 @@
|
||||
var debug = require('debug')('xiaomi-zb2mqtt')
|
||||
var util = require("util");
|
||||
var perfy = require('perfy');
|
||||
var ZShepherd = require('zigbee-shepherd');
|
||||
var mqtt = require('mqtt')
|
||||
const debug = require('debug')('xiaomi-zb2mqtt')
|
||||
const util = require("util");
|
||||
const perfy = require('perfy');
|
||||
const ZShepherd = require('zigbee-shepherd');
|
||||
const mqtt = require('mqtt')
|
||||
const ArgumentParser = require('argparse').ArgumentParser;
|
||||
|
||||
var client = mqtt.connect('mqtt://192.168.1.10')
|
||||
|
||||
var shepherd = new ZShepherd('/dev/ttyACM0', {
|
||||
net: {
|
||||
panId: 0x1a62
|
||||
}
|
||||
// Parse arguments
|
||||
const parser = new ArgumentParser({
|
||||
version: '1.0.0',
|
||||
addHelp:true,
|
||||
description: 'Xiaomi Zigbee to MQTT bridge using zigbee-shepherd'
|
||||
});
|
||||
|
||||
parser.addArgument(
|
||||
['-d', '--device'],
|
||||
{
|
||||
help: 'CC2531 USB stick location, E.G. /dev/ttyACM0',
|
||||
required: true,
|
||||
}
|
||||
);
|
||||
|
||||
parser.addArgument(
|
||||
['-m', '--mqtt'],
|
||||
{
|
||||
help: 'MQTT server URL, E.G. mqtt://192.168.1.10',
|
||||
required: true,
|
||||
}
|
||||
);
|
||||
|
||||
const args = parser.parseArgs();
|
||||
|
||||
// Setup client
|
||||
const client = mqtt.connect(args.mqtt)
|
||||
const shepherd = new ZShepherd(args.device, {net: {panId: 0x1a62}});
|
||||
|
||||
shepherd.on('ready', function() {
|
||||
console.log('Server is ready. Current devices:');
|
||||
shepherd.list().forEach(function(dev){
|
||||
|
||||
Generated
+13
@@ -9,6 +9,14 @@
|
||||
"resolved": "https://registry.npmjs.org/areq/-/areq-0.2.0.tgz",
|
||||
"integrity": "sha1-ad0ojIF8hy3HLDfp0eciayayMcU="
|
||||
},
|
||||
"argparse": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
||||
"requires": {
|
||||
"sprintf-js": "1.0.3"
|
||||
}
|
||||
},
|
||||
"async": {
|
||||
"version": "0.2.10",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
|
||||
@@ -1575,6 +1583,11 @@
|
||||
"through2": "2.0.3"
|
||||
}
|
||||
},
|
||||
"sprintf-js": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
|
||||
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
|
||||
},
|
||||
"stream-browserify": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
|
||||
|
||||
+2
-1
@@ -25,6 +25,7 @@
|
||||
"dependencies": {
|
||||
"mqtt": "*",
|
||||
"perfy": "*",
|
||||
"zigbee-shepherd": "*"
|
||||
"zigbee-shepherd": "*",
|
||||
"argparse": "*"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user