diff --git a/lib/controller.js b/lib/controller.js index 447f8bf0e..29d06effd 100644 --- a/lib/controller.js +++ b/lib/controller.js @@ -541,7 +541,7 @@ class Controller { } }; - this.zigbee.publish(deviceID, message.cid, message.cmd, message.zclData, ep, callback); + this.zigbee.publish(deviceID, message.cid, message.cmd, message.zclData, ep, message.type, callback); published.push({message: message, converter: converter}); }); diff --git a/lib/zigbee.js b/lib/zigbee.js index 6a813ebba..bfe50d4b2 100644 --- a/lib/zigbee.js +++ b/lib/zigbee.js @@ -183,7 +183,7 @@ class Zigbee { return this.shepherd.find(device.ieeeAddr, 1); } - publish(deviceID, cid, cmd, zclData, ep, callback) { + publish(deviceID, cid, cmd, zclData, ep, type, callback) { const device = this._findDevice(deviceID, ep); if (!device) { logger.error(`Zigbee cannot publish message to device because '${deviceID}' not known by zigbee-shepherd`); @@ -191,7 +191,8 @@ class Zigbee { } logger.info(`Zigbee publish to '${deviceID}', ${cid} - ${cmd} - ${JSON.stringify(zclData)} - ${ep}`); - device.functional(cid, cmd, zclData, (error) => { + + device[type](cid, cmd, zclData, (error) => { if (error) { logger.error( `Zigbee publish to '${deviceID}', ${cid} - ${cmd} - ${JSON.stringify(zclData)} - ${ep} ` +