node-red-contrib-bacnet
Advanced tools
Comparing version 0.1.2 to 0.2.0-beta.1
@@ -1,2 +0,2 @@ | ||
"use strict";module.exports=function(t){var i=require("./core/bacnet-core"),n=require("@biancoroyal/bacstack");t.nodes.registerType("BACnet-Client",function(e){t.nodes.createNode(this,e),this.name=e.name,this.adpuTimeout=e.adpuTimeout||6e3,this.port=e.port||47808,this.IPAddress=e.IPAddress||null,this.broadcastAddress=e.broadcastAddress||null;var s=this;s.devices=[],s.IPAddress?(i.internalDebugLog("client with IP settings"),s.client=new n({adpuTimeout:s.adpuTimeout,port:s.port,interface:s.IPAddress,broadcastAddress:s.broadcastAddress})):(i.internalDebugLog("client without IP settings"),s.client=new n({adpuTimeout:s.adpuTimeout,port:s.port})),s.client&&(s.client.on("iAm",function(e){s.devices.push(e),i.internalDebugLog("iAm Event"),i.internalDebugLog("address: ",e.address),i.internalDebugLog("deviceId: ",e.deviceId),i.internalDebugLog("maxAdpu: ",e.maxAdpu),i.internalDebugLog("segmentation: ",e.segmentation),i.internalDebugLog("vendorId: ",e.vendorId)}),s.client.on("timeout",function(){i.internalDebugLog("timeout")}),s.client.whoIs(),s.client.on("error",function(e){s.error(e,{payload:"BACnet Client Error"}),s.client.close(),s.client=null,s.devices=[],s.client=new n({adpuTimeout:s.adpuTimeout,port:s.port,interface:s.IPAddress,broadcastAddress:s.broadcastAddress})})),s.on("input",function(e){e.devices=s.devices,s.send(e)}),s.on("close",function(e){s.client&&(s.client.close(),s.client=null),e()}),s.whoIsExplicit=function(e,t,i,n){s.devices=[];var o={lowLimit:e,highLimit:t,deviceIPAddress:i};s.client.whoIs(o),setTimeout(n,3e3)},s.whoIs=function(e){s.devices=[],s.client.whoIs(),setTimeout(e,3e3)}})}; | ||
"use strict";module.exports=function(t){var n=require("./core/bacnet-core"),i=require("node-bacnet");t.nodes.registerType("BACnet-Client",function(e){t.nodes.createNode(this,e),this.name=e.name,this.adpuTimeout=e.adpuTimeout||6e3,this.port=e.port||47808,this.IPAddress=e.IPAddress||null,this.broadcastAddress=e.broadcastAddress||null;var s=this;s.devices=[],s.IPAddress?(n.internalDebugLog("client with IP settings"),s.client=new i({adpuTimeout:s.adpuTimeout,port:s.port,interface:s.IPAddress,broadcastAddress:s.broadcastAddress})):(n.internalDebugLog("client without IP settings"),s.client=new i({adpuTimeout:s.adpuTimeout,port:s.port})),s.client&&(s.client.on("iAm",function(e){s.devices.push(e),n.internalDebugLog("iAm Event"),n.internalDebugLog("address: ",e.address),n.internalDebugLog("deviceId: ",e.deviceId),n.internalDebugLog("maxAdpu: ",e.maxAdpu),n.internalDebugLog("segmentation: ",e.segmentation),n.internalDebugLog("vendorId: ",e.vendorId)}),s.client.on("timeout",function(){n.internalDebugLog("timeout")}),s.client.whoIs(),s.client.on("error",function(e){s.error(e,{payload:"BACnet Client Error"}),s.client.close(),s.client=null,s.devices=[],s.client=new i({adpuTimeout:s.adpuTimeout,port:s.port,interface:s.IPAddress,broadcastAddress:s.broadcastAddress})})),s.on("input",function(e){e.devices=s.devices,s.send(e)}),s.on("close",function(e){s.client&&(s.client.close(),s.client=null),e()}),s.whoIsExplicit=function(e,t,n,i){s.devices=[];var o={lowLimit:e,highLimit:t,deviceIPAddress:n};s.client.whoIs(o),setTimeout(i,3e3)},s.whoIs=function(e){s.devices=[],s.client.whoIs(),setTimeout(e,3e3)}})}; | ||
//# sourceMappingURL=maps/bacnet-client.js.map |
@@ -1,2 +0,2 @@ | ||
"use strict";function _createForOfIteratorHelper(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=_unsupportedIterableToArray(e))){var t=0,n=function(){};return{s:n,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,r,i=!0,o=!1;return{s:function(){a=e[Symbol.iterator]()},n:function(){var e=a.next();return i=e.done,e},e:function(e){o=!0,r=e},f:function(){try{i||null==a.return||a.return()}finally{if(o)throw r}}}}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}module.exports=function(t){var i=require("./core/bacnet-core"),c=require("@biancoroyal/bacstack"),s=require("underscore");t.nodes.registerType("BACnet-Command",function(e){t.nodes.createNode(this,e),this.name=e.name,this.commandType=e.commandType,this.timeDuration=e.timeDuration||0,this.enableDisable=e.enableDisable||c.enum.EnableDisable.ENABLE,this.deviceState=e.deviceState||c.enum.ReinitializedState.COLDSTART,this.isUtc=e.isUtc||!0,this.lowLimit=e.lowLimit||null,this.highLimit=e.highLimit||null,this.credentials=e.credentials,this.device=t.nodes.getNode(e.device),this.deviceIPAddress=this.device.deviceAddress||"127.0.0.1",this.connector=t.nodes.getNode(e.server);var r=this;r.status({fill:"green",shape:"dot",text:"active"}),r.on("input",function(a){r.connector||r.error(new Error("Client Not Ready To Read"),a),i.internalDebugLog("Command");var e=a.payload.commandType||r.commandType,t=a.payload.options||null;switch(t?a.payload.options.password||(a.payload.options.password=r.credentials.password):t={maxSegments:c.enum.MaxSegmentsAccepted.SEGMENTS_65,maxAdpu:c.enum.MaxApduLengthAccepted.OCTETS_1476,invokeId:null,password:r.credentials?r.credentials.password:null},e){case"deviceCommunicationControl":r.connector.client.deviceCommunicationControl(a.payload.deviceIPAddress||r.deviceIPAddress,a.payload.timeDuration||r.timeDuration,a.payload.enableDisable||r.enableDisable,t,function(e,t){if(e){var n=i.translateErrorMessage(e);i.internalDebugLog(n),r.error(n,a)}else i.internalDebugLog("value: ",t),a.input=a.payload,a.payload=t});break;case"reinitializeDevice":r.connector.client.reinitializeDevice(a.payload.deviceIPAddress||r.deviceIPAddress,a.payload.deviceState||r.deviceState,t,function(e,t){if(e){var n=i.translateErrorMessage(e);i.internalDebugLog(n),r.error(n,a)}else i.internalDebugLog("value: ",t),a.input=a.payload,a.payload=t});break;case"timeSync":a.payload.isUtc||r.isUtc?r.connector.client.timeSyncUTC(a.payload.deviceIPAddress||r.deviceIPAddress,a.payload.syncDateTime||new Date):r.connector.client.timeSync(a.payload.deviceIPAddress||r.deviceIPAddress,a.payload.syncDateTime||new Date);break;case"whoIsExplicit":r.connector.whoIsExplicit(a.payload.lowLimit||r.lowLimit,a.payload.highLimit||r.highLimit,a.payload.deviceIPAddress||r.deviceIPAddress,function(){a.input=a.payload,a.payload=r.connector.devices,r.send(a)});break;case"whoIs":r.connector.whoIs(function(){a.input=a.payload,a.payload=r.connector.devices,r.send(a)});break;default:i.internalDebugLog("Unknown Command Type Selected "+e)}a.devices=r.connector.devices,r.send(a)})}),t.httpAdmin.get("/bacnet/BacnetEnableDisable",t.auth.needsPermission("bacnet.CMD.read"),function(e,t){var n,a,r=c.enum.EnableDisable,i=[],o=_createForOfIteratorHelper(s.toArray(s.invert(r)));try{for(o.s();!(a=o.n()).done;)n=a.value,i.push({typeValue:r[n],label:n})}catch(e){o.e(e)}finally{o.f()}t.json(i)}),t.httpAdmin.get("/bacnet/BacnetReinitializedStates",t.auth.needsPermission("bacnet.CMD.read"),function(e,t){var n,a,r=c.enum.ReinitializedState,i=[],o=_createForOfIteratorHelper(s.toArray(s.invert(r)));try{for(o.s();!(a=o.n()).done;)n=a.value,i.push({typeValue:r[n],label:n})}catch(e){o.e(e)}finally{o.f()}t.json(i)})}; | ||
"use strict";function _createForOfIteratorHelper(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=_unsupportedIterableToArray(e))){var t=0,n=function(){};return{s:n,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,r,i=!0,o=!1;return{s:function(){a=e[Symbol.iterator]()},n:function(){var e=a.next();return i=e.done,e},e:function(e){o=!0,r=e},f:function(){try{i||null==a.return||a.return()}finally{if(o)throw r}}}}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}module.exports=function(t){var i=require("./core/bacnet-core"),d=require("node-bacnet"),c=require("underscore");t.nodes.registerType("BACnet-Command",function(e){t.nodes.createNode(this,e),this.name=e.name,this.commandType=e.commandType,this.timeDuration=e.timeDuration||0,this.enableDisable=e.enableDisable||d.enum.EnableDisable.ENABLE,this.deviceState=e.deviceState||d.enum.ReinitializedState.COLDSTART,this.isUtc=e.isUtc||!0,this.lowLimit=e.lowLimit||null,this.highLimit=e.highLimit||null,this.credentials=e.credentials,this.device=t.nodes.getNode(e.device),this.deviceIPAddress=this.device.deviceAddress||"127.0.0.1",this.connector=t.nodes.getNode(e.server);var r=this;r.status({fill:"green",shape:"dot",text:"active"}),r.on("input",function(a){r.connector||r.error(new Error("Client Not Ready To Read"),a),i.internalDebugLog("Command");var e=a.payload.commandType||r.commandType,t=a.payload.options||null;switch(t?a.payload.options.password||(a.payload.options.password=r.credentials.password):t={maxSegments:d.enum.MaxSegmentsAccepted.SEGMENTS_65,maxAdpu:d.enum.MaxApduLengthAccepted.OCTETS_1476,invokeId:null,password:r.credentials?r.credentials.password:null},e){case"deviceCommunicationControl":r.connector.client.deviceCommunicationControl(a.payload.deviceIPAddress||r.deviceIPAddress,a.payload.timeDuration||r.timeDuration,a.payload.enableDisable||r.enableDisable,t,function(e,t){var n;e?(n=i.translateErrorMessage(e),i.internalDebugLog(n),r.error(n,a)):(i.internalDebugLog("value: ",t),a.input=a.payload,a.payload=t)});break;case"reinitializeDevice":r.connector.client.reinitializeDevice(a.payload.deviceIPAddress||r.deviceIPAddress,a.payload.deviceState||r.deviceState,t,function(e,t){var n;e?(n=i.translateErrorMessage(e),i.internalDebugLog(n),r.error(n,a)):(i.internalDebugLog("value: ",t),a.input=a.payload,a.payload=t)});break;case"timeSync":a.payload.isUtc||r.isUtc?r.connector.client.timeSyncUTC(a.payload.deviceIPAddress||r.deviceIPAddress,a.payload.syncDateTime||new Date):r.connector.client.timeSync(a.payload.deviceIPAddress||r.deviceIPAddress,a.payload.syncDateTime||new Date);break;case"whoIsExplicit":r.connector.whoIsExplicit(a.payload.lowLimit||r.lowLimit,a.payload.highLimit||r.highLimit,a.payload.deviceIPAddress||r.deviceIPAddress,function(){a.input=a.payload,a.payload=r.connector.devices,r.send(a)});break;case"whoIs":r.connector.whoIs(function(){a.input=a.payload,a.payload=r.connector.devices,r.send(a)});break;default:i.internalDebugLog("Unknown Command Type Selected "+e)}a.devices=r.connector.devices,r.send(a)})}),t.httpAdmin.get("/bacnet/BacnetEnableDisable",t.auth.needsPermission("bacnet.CMD.read"),function(e,t){var n,a,r=d.enum.EnableDisable,i=[],o=_createForOfIteratorHelper(c.toArray(c.invert(r)));try{for(o.s();!(a=o.n()).done;)n=a.value,i.push({typeValue:r[n],label:n})}catch(e){o.e(e)}finally{o.f()}t.json(i)}),t.httpAdmin.get("/bacnet/BacnetReinitializedStates",t.auth.needsPermission("bacnet.CMD.read"),function(e,t){var n,a,r=d.enum.ReinitializedState,i=[],o=_createForOfIteratorHelper(c.toArray(c.invert(r)));try{for(o.s();!(a=o.n()).done;)n=a.value,i.push({typeValue:r[n],label:n})}catch(e){o.e(e)}finally{o.f()}t.json(i)})}; | ||
//# sourceMappingURL=maps/bacnet-command.js.map |
@@ -1,2 +0,2 @@ | ||
"use strict";module.exports=function(r){var n=require("./core/bacnet-core");r.nodes.registerType("BACnet-Read",function(e){r.nodes.createNode(this,e),this.name=e.name,this.objectType=parseInt(e.objectType),this.propertyId=parseInt(e.propertyId),this.multipleRead=e.multipleRead,this.instance=r.nodes.getNode(e.instance),this.objectInstance=this.instance.instanceAddress||0,this.device=r.nodes.getNode(e.device),this.deviceIPAddress=this.device.deviceAddress||"127.0.0.1",this.connector=r.nodes.getNode(e.server);var o=this;o.status({fill:"green",shape:"dot",text:"active"}),o.on("input",function(a){if(o.connector){var e=a.payload.options||{};if(o.multipleRead){n.internalDebugLog("Multiple Read");var r=[{objectId:{type:o.objectType,instance:parseInt(o.objectInstance)},properties:[{id:parseInt(o.propertyId)}]}];try{n.internalDebugLog("readPropertyMultiple default requestArray: "+JSON.stringify(r)),n.internalDebugLog("readPropertyMultiple msg.payload.requestArray: "+JSON.stringify(a.payload.requestArray)),n.internalDebugLog("readPropertyMultiple node.propertyId: "+o.propertyId),n.internalDebugLog("readPropertyMultiple msg.payload.propertyId: "+a.payload.propertyId)}catch(e){n.internalDebugLog("readPropertyMultiple error: "+e)}o.connector.client.readPropertyMultiple(a.payload.deviceIPAddress||o.deviceIPAddress,a.payload.requestArray||r,e,function(e,r){if(e){var t=n.translateErrorMessage(e);n.internalDebugLog(t),o.error(t,a)}else a.input=a.payload,a.payload=r,o.send(a)})}else{n.internalDebugLog("Read");var t={type:o.objectType,instance:parseInt(o.objectInstance)};try{n.internalDebugLog("readProperty default objectId: "+JSON.stringify(t)),n.internalDebugLog("readProperty msg.payload.objectId: "+JSON.stringify(a.payload.objectId)),n.internalDebugLog("readProperty node.propertyId: "+o.propertyId),n.internalDebugLog("readProperty msg.payload.propertyId: "+a.payload.propertyId)}catch(e){n.internalDebugLog("readProperty error: "+e)}o.connector.client.readProperty(a.payload.deviceIPAddress||o.deviceIPAddress,a.payload.objectId||t,a.payload.propertyId||o.propertyId,e,function(e,r){if(e){var t=n.translateErrorMessage(e);n.internalDebugLog(t),o.error(t,a)}else a.input=a.payload,a.payload=r,o.send(a)})}}else o.error(new Error("Client Not Ready To Read"),a)})})}; | ||
"use strict";module.exports=function(r){var n=require("./core/bacnet-core");r.nodes.registerType("BACnet-Read",function(e){r.nodes.createNode(this,e),this.name=e.name,this.objectType=parseInt(e.objectType),this.propertyId=parseInt(e.propertyId),this.multipleRead=e.multipleRead,this.instance=r.nodes.getNode(e.instance),this.objectInstance=this.instance.instanceAddress||0,this.device=r.nodes.getNode(e.device),this.deviceIPAddress=this.device.deviceAddress||"127.0.0.1",this.connector=r.nodes.getNode(e.server);var o=this;o.status({fill:"green",shape:"dot",text:"active"}),o.on("input",function(a){if(o.connector){var e=a.payload.options||{};if(o.multipleRead){n.internalDebugLog("Multiple Read");var r=[{objectId:{type:o.objectType,instance:parseInt(o.objectInstance)},properties:[{id:parseInt(o.propertyId)}]}];try{n.internalDebugLog("readPropertyMultiple default requestArray: "+JSON.stringify(r)),n.internalDebugLog("readPropertyMultiple msg.payload.requestArray: "+JSON.stringify(a.payload.requestArray)),n.internalDebugLog("readPropertyMultiple node.propertyId: "+o.propertyId),n.internalDebugLog("readPropertyMultiple msg.payload.propertyId: "+a.payload.propertyId)}catch(e){n.internalDebugLog("readPropertyMultiple error: "+e)}o.connector.client.readPropertyMultiple(a.payload.deviceIPAddress||o.deviceIPAddress,a.payload.requestArray||r,e,function(e,r){var t;e?(t=n.translateErrorMessage(e),n.internalDebugLog(t),o.error(t,a)):(a.input=a.payload,a.payload=r,o.send(a))})}else{n.internalDebugLog("Read");var t={type:o.objectType,instance:parseInt(o.objectInstance)};try{n.internalDebugLog("readProperty default objectId: "+JSON.stringify(t)),n.internalDebugLog("readProperty msg.payload.objectId: "+JSON.stringify(a.payload.objectId)),n.internalDebugLog("readProperty node.propertyId: "+o.propertyId),n.internalDebugLog("readProperty msg.payload.propertyId: "+a.payload.propertyId)}catch(e){n.internalDebugLog("readProperty error: "+e)}o.connector.client.readProperty(a.payload.deviceIPAddress||o.deviceIPAddress,a.payload.objectId||t,a.payload.propertyId||o.propertyId,e,function(e,r){var t;e?(t=n.translateErrorMessage(e),n.internalDebugLog(t),o.error(t,a)):(a.input=a.payload,a.payload=r,o.send(a))})}}else o.error(new Error("Client Not Ready To Read"),a)})})}; | ||
//# sourceMappingURL=maps/bacnet-read.js.map |
@@ -1,2 +0,2 @@ | ||
"use strict";function _createForOfIteratorHelper(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=_unsupportedIterableToArray(e))){var r=0,t=function(){};return{s:t,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:t}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,n,o=!0,i=!1;return{s:function(){a=e[Symbol.iterator]()},n:function(){var e=a.next();return o=e.done,e},e:function(e){i=!0,n=e},f:function(){try{o||null==a.return||a.return()}finally{if(i)throw n}}}}function _unsupportedIterableToArray(e,r){if(e){if("string"==typeof e)return _arrayLikeToArray(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,r):void 0}}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,a=new Array(r);t<r;t++)a[t]=e[t];return a}module.exports=function(r){var o=require("./core/bacnet-core"),l=require("@biancoroyal/bacstack"),s=require("underscore");r.nodes.registerType("BACnet-Write",function(e){r.nodes.createNode(this,e),this.name=e.name,this.objectType=parseInt(e.objectType),this.valueTag=parseInt(e.valueTag),this.valueValue=e.valueValue,this.propertyId=parseInt(e.propertyId),this.priority=parseInt(e.priority)||15,this.multipleWrite=e.multipleWrite,this.instance=r.nodes.getNode(e.instance),this.objectInstance=this.instance.instanceAddress||0,this.device=r.nodes.getNode(e.device),this.deviceIPAddress=this.device.deviceAddress||"127.0.0.1",this.connector=r.nodes.getNode(e.server);var n=this;n.status({fill:"green",shape:"dot",text:"active"}),n.on("input",function(a){if(n.connector){var e=a.payload.options||{};if(n.multipleWrite){if(o.internalDebugLog("Multiple Write"),!a.payload.values||!a.payload.values[0].values)return void n.error(new Error("msg.payload.values missing or invalid array for multiple write"),a);a.payload.values.forEach(function(e){e.objectId||(e.objectId={type:n.objectType,instance:parseInt(n.objectInstance)})});try{o.internalDebugLog("writePropertyMultiple msg.payload.values: "+JSON.stringify(a.payload.values))}catch(e){o.internalDebugLog("writePropertyMultiple error: "+e)}n.connector.client.writePropertyMultiple(a.payload.deviceIPAddress||n.deviceIPAddress,a.payload.values,e,function(e,r){if(e){var t=o.translateErrorMessage(e);o.internalDebugLog(t),n.error(t,a)}else a.input=a.payload,a.payload=r,n.send(a)})}else{if(o.internalDebugLog("Write"),a.payload.values&&!a.payload.values[0])return void n.error(new Error("invalid msg.payload.values array for write"),a);var r={type:n.objectType,instance:parseInt(n.objectInstance)},t=[{type:n.valueTag,value:n.valueValue}];try{o.internalDebugLog("readProperty default objectId: "+JSON.stringify(r)),o.internalDebugLog("writeProperty default values: "+JSON.stringify(t)),o.internalDebugLog("writeProperty msg.payload.values: "+JSON.stringify(a.payload.values)),o.internalDebugLog("writeProperty node.propertyId: "+n.propertyId)}catch(e){o.internalDebugLog("writeProperty error: "+e)}n.connector.client.writeProperty(a.payload.deviceIPAddress||n.deviceIPAddress,a.payload.objectId||r,a.payload.propertyId||n.propertyId,a.payload.values||t,e,function(e,r){if(e){var t=o.translateErrorMessage(e);o.internalDebugLog(t),n.error(t,a)}else a.input=a.payload,a.payload=r,n.send(a)})}}else n.error(new Error("Client Not Ready To Write"),a)})}),r.httpAdmin.get("/bacnet/ApplicationTags",r.auth.needsPermission("bacnet.CMD.write"),function(e,r){var t,a,n=l.enum.ApplicationTags,o=[],i=_createForOfIteratorHelper(s.toArray(s.invert(n)));try{for(i.s();!(a=i.n()).done;)t=a.value,o.push({typeValue:n[t],label:t})}catch(e){i.e(e)}finally{i.f()}r.json(o)}),r.httpAdmin.get("/bacnet/PropertyIds",r.auth.needsPermission("bacnet.CMD.write"),function(e,r){var t,a,n=l.enum.PropertyIdentifier,o=[],i=_createForOfIteratorHelper(s.toArray(s.invert(n)));try{for(i.s();!(a=i.n()).done;)t=a.value,o.push({typeValue:n[t],label:t})}catch(e){i.e(e)}finally{i.f()}r.json(o)}),r.httpAdmin.get("/bacnet/ObjectTypes",r.auth.needsPermission("bacnet.CMD.write"),function(e,r){var t,a,n=l.enum.ObjectType,o=[],i=_createForOfIteratorHelper(s.toArray(s.invert(n)));try{for(i.s();!(a=i.n()).done;)t=a.value,o.push({typeValue:n[t],label:t})}catch(e){i.e(e)}finally{i.f()}r.json(o)})}; | ||
"use strict";function _createForOfIteratorHelper(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=_unsupportedIterableToArray(e))){var r=0,t=function(){};return{s:t,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:t}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,n,o=!0,i=!1;return{s:function(){a=e[Symbol.iterator]()},n:function(){var e=a.next();return o=e.done,e},e:function(e){i=!0,n=e},f:function(){try{o||null==a.return||a.return()}finally{if(i)throw n}}}}function _unsupportedIterableToArray(e,r){if(e){if("string"==typeof e)return _arrayLikeToArray(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,r):void 0}}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,a=new Array(r);t<r;t++)a[t]=e[t];return a}module.exports=function(r){var o=require("./core/bacnet-core"),l=require("node-bacnet"),s=require("underscore");r.nodes.registerType("BACnet-Write",function(e){r.nodes.createNode(this,e),this.name=e.name,this.objectType=parseInt(e.objectType),this.valueTag=parseInt(e.valueTag),this.valueValue=e.valueValue,this.propertyId=parseInt(e.propertyId),this.priority=parseInt(e.priority)||15,this.multipleWrite=e.multipleWrite,this.instance=r.nodes.getNode(e.instance),this.objectInstance=this.instance.instanceAddress||0,this.device=r.nodes.getNode(e.device),this.deviceIPAddress=this.device.deviceAddress||"127.0.0.1",this.connector=r.nodes.getNode(e.server);var n=this;n.status({fill:"green",shape:"dot",text:"active"}),n.on("input",function(a){if(n.connector){var e=a.payload.options||{};if(n.multipleWrite){if(o.internalDebugLog("Multiple Write"),!a.payload.values||!a.payload.values[0].values)return void n.error(new Error("msg.payload.values missing or invalid array for multiple write"),a);a.payload.values.forEach(function(e){e.objectId||(e.objectId={type:n.objectType,instance:parseInt(n.objectInstance)})});try{o.internalDebugLog("writePropertyMultiple msg.payload.values: "+JSON.stringify(a.payload.values))}catch(e){o.internalDebugLog("writePropertyMultiple error: "+e)}n.connector.client.writePropertyMultiple(a.payload.deviceIPAddress||n.deviceIPAddress,a.payload.values,e,function(e,r){var t;e?(t=o.translateErrorMessage(e),o.internalDebugLog(t),n.error(t,a)):(a.input=a.payload,a.payload=r,n.send(a))})}else{if(o.internalDebugLog("Write"),a.payload.values&&!a.payload.values[0])return void n.error(new Error("invalid msg.payload.values array for write"),a);var r={type:n.objectType,instance:parseInt(n.objectInstance)},t=[{type:n.valueTag,value:n.valueValue}];try{o.internalDebugLog("readProperty default objectId: "+JSON.stringify(r)),o.internalDebugLog("writeProperty default values: "+JSON.stringify(t)),o.internalDebugLog("writeProperty msg.payload.values: "+JSON.stringify(a.payload.values)),o.internalDebugLog("writeProperty node.propertyId: "+n.propertyId)}catch(e){o.internalDebugLog("writeProperty error: "+e)}n.connector.client.writeProperty(a.payload.deviceIPAddress||n.deviceIPAddress,a.payload.objectId||r,a.payload.propertyId||n.propertyId,a.payload.values||t,e,function(e,r){var t;e?(t=o.translateErrorMessage(e),o.internalDebugLog(t),n.error(t,a)):(a.input=a.payload,a.payload=r,n.send(a))})}}else n.error(new Error("Client Not Ready To Write"),a)})}),r.httpAdmin.get("/bacnet/ApplicationTags",r.auth.needsPermission("bacnet.CMD.write"),function(e,r){var t,a,n=l.enum.ApplicationTags,o=[],i=_createForOfIteratorHelper(s.toArray(s.invert(n)));try{for(i.s();!(a=i.n()).done;)t=a.value,o.push({typeValue:n[t],label:t})}catch(e){i.e(e)}finally{i.f()}r.json(o)}),r.httpAdmin.get("/bacnet/PropertyIds",r.auth.needsPermission("bacnet.CMD.write"),function(e,r){var t,a,n=l.enum.PropertyIdentifier,o=[],i=_createForOfIteratorHelper(s.toArray(s.invert(n)));try{for(i.s();!(a=i.n()).done;)t=a.value,o.push({typeValue:n[t],label:t})}catch(e){i.e(e)}finally{i.f()}r.json(o)}),r.httpAdmin.get("/bacnet/ObjectTypes",r.auth.needsPermission("bacnet.CMD.write"),function(e,r){var t,a,n=l.enum.ObjectType,o=[],i=_createForOfIteratorHelper(s.toArray(s.invert(n)));try{for(i.s();!(a=i.n()).done;)t=a.value,o.push({typeValue:n[t],label:t})}catch(e){i.e(e)}finally{i.f()}r.json(o)})}; | ||
//# sourceMappingURL=maps/bacnet-write.js.map |
@@ -1,2 +0,2 @@ | ||
"use strict";function _createForOfIteratorHelper(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=_unsupportedIterableToArray(e))){var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,t,n=!0,c=!1;return{s:function(){a=e[Symbol.iterator]()},n:function(){var e=a.next();return n=e.done,e},e:function(e){c=!0,t=e},f:function(){try{n||null==a.return||a.return()}finally{if(c)throw t}}}}function _unsupportedIterableToArray(e,r){if(e){if("string"==typeof e)return _arrayLikeToArray(e,r);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(o):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(e,r):void 0}}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var o=0,a=new Array(r);o<r;o++)a[o]=e[o];return a}var de=de||{biancoroyal:{bacnet:{core:{}}}};de.biancoroyal.bacnet.core.internalDebugLog=de.biancoroyal.bacnet.core.internalDebugLog||require("debug")("bacnet:core"),de.biancoroyal.bacnet.core.detailDebugLog=de.biancoroyal.bacnet.core.detailDebugLog||require("debug")("bacnet:core:details"),de.biancoroyal.bacnet.core.specialDebugLog=de.biancoroyal.bacnet.core.specialDebugLog||require("debug")("bacnet:core:special"),de.biancoroyal.bacnet.core.errorCodeList=de.biancoroyal.bacnet.core.errorCodeList||[],de.biancoroyal.bacnet.core.errorClassList=de.biancoroyal.bacnet.core.errorClassList||[],de.biancoroyal.bacnet.core.initCodeLists=function(){var e,r=require("@biancoroyal/bacstack"),o=require("underscore"),a=r.enum.ErrorCode,t=o.toArray(o.invert(a));de.biancoroyal.bacnet.core.errorCodeList=[];var n,c=_createForOfIteratorHelper(t);try{for(c.s();!(n=c.n()).done;)e=n.value,de.biancoroyal.bacnet.core.errorCodeList.push({typeValue:a[e],label:e})}catch(e){c.e(e)}finally{c.f()}o.sortBy(de.biancoroyal.bacnet.core.errorCodeList,"typeValue");var i,l=r.enum.ErrorClass,b=o.toArray(o.invert(l));de.biancoroyal.bacnet.core.errorClassList=[];var s,y=_createForOfIteratorHelper(b);try{for(y.s();!(s=y.n()).done;)i=s.value,de.biancoroyal.bacnet.core.errorClassList.push({typeValue:l[i],label:i})}catch(e){y.e(e)}finally{y.f()}o.sortBy(de.biancoroyal.bacnet.core.errorClassList,"typeValue"),de.biancoroyal.bacnet.core.internalDebugLog("List init done with "+de.biancoroyal.bacnet.core.errorClassList.length+" class errors and "+de.biancoroyal.bacnet.core.errorCodeList.length+" code errors")},de.biancoroyal.bacnet.core.translateErrorMessage=function(e){var r=e.message,o=r.split("-");if(3===o.length){var a=o[1].split(":"),t=o[2].split(":");de.biancoroyal.bacnet.core.internalDebugLog(a),de.biancoroyal.bacnet.core.internalDebugLog(t),a[1]=de.biancoroyal.bacnet.core.errorClassToString(a[1]),t[1]=de.biancoroyal.bacnet.core.errorCodeToString(t[1]),e.message=r+" "+a.join(":")+" "+t.join(":")}return e},de.biancoroyal.bacnet.core.errorCodeToString=function(e){var r,o;de.biancoroyal.bacnet.core.errorCodeList.length<1&&de.biancoroyal.bacnet.core.initCodeLists();var a,t=_createForOfIteratorHelper(de.biancoroyal.bacnet.core.errorCodeList);try{for(t.s();!(a=t.n()).done;)r=a.value,parseInt(r.typeValue)===parseInt(e)&&(de.biancoroyal.bacnet.core.detailDebugLog(r.typeValue+" --\x3e "+r.label),o=r)}catch(e){t.e(e)}finally{t.f()}return o?o.label:e},de.biancoroyal.bacnet.core.errorClassToString=function(e){var r,o;de.biancoroyal.bacnet.core.errorClassList.length<1&&de.biancoroyal.bacnet.core.initCodeLists();var a,t=_createForOfIteratorHelper(de.biancoroyal.bacnet.core.errorClassList);try{for(t.s();!(a=t.n()).done;)r=a.value,parseInt(r.typeValue)===parseInt(e)&&(de.biancoroyal.bacnet.core.detailDebugLog(r.typeValue+" --\x3e "+r.label),o=r)}catch(e){t.e(e)}finally{t.f()}return o?o.label:e},module.exports=de.biancoroyal.bacnet.core; | ||
"use strict";function _createForOfIteratorHelper(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=_unsupportedIterableToArray(e))){var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,t,n=!0,c=!1;return{s:function(){a=e[Symbol.iterator]()},n:function(){var e=a.next();return n=e.done,e},e:function(e){c=!0,t=e},f:function(){try{n||null==a.return||a.return()}finally{if(c)throw t}}}}function _unsupportedIterableToArray(e,r){if(e){if("string"==typeof e)return _arrayLikeToArray(e,r);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(e,r):void 0}}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var o=0,a=new Array(r);o<r;o++)a[o]=e[o];return a}var de=de||{biancoroyal:{bacnet:{core:{}}}};de.biancoroyal.bacnet.core.internalDebugLog=de.biancoroyal.bacnet.core.internalDebugLog||require("debug")("bacnet:core"),de.biancoroyal.bacnet.core.detailDebugLog=de.biancoroyal.bacnet.core.detailDebugLog||require("debug")("bacnet:core:details"),de.biancoroyal.bacnet.core.specialDebugLog=de.biancoroyal.bacnet.core.specialDebugLog||require("debug")("bacnet:core:special"),de.biancoroyal.bacnet.core.errorCodeList=de.biancoroyal.bacnet.core.errorCodeList||[],de.biancoroyal.bacnet.core.errorClassList=de.biancoroyal.bacnet.core.errorClassList||[],de.biancoroyal.bacnet.core.initCodeLists=function(){var e,r=require("node-bacnet"),o=require("underscore"),a=r.enum.ErrorCode,t=o.toArray(o.invert(a));de.biancoroyal.bacnet.core.errorCodeList=[];var n,c=_createForOfIteratorHelper(t);try{for(c.s();!(n=c.n()).done;)e=n.value,de.biancoroyal.bacnet.core.errorCodeList.push({typeValue:a[e],label:e})}catch(e){c.e(e)}finally{c.f()}o.sortBy(de.biancoroyal.bacnet.core.errorCodeList,"typeValue");var i,l=r.enum.ErrorClass,b=o.toArray(o.invert(l));de.biancoroyal.bacnet.core.errorClassList=[];var s,d=_createForOfIteratorHelper(b);try{for(d.s();!(s=d.n()).done;)i=s.value,de.biancoroyal.bacnet.core.errorClassList.push({typeValue:l[i],label:i})}catch(e){d.e(e)}finally{d.f()}o.sortBy(de.biancoroyal.bacnet.core.errorClassList,"typeValue"),de.biancoroyal.bacnet.core.internalDebugLog("List init done with "+de.biancoroyal.bacnet.core.errorClassList.length+" class errors and "+de.biancoroyal.bacnet.core.errorCodeList.length+" code errors")},de.biancoroyal.bacnet.core.translateErrorMessage=function(e){var r,o,a=e.message,t=a.split("-");return 3===t.length&&(r=t[1].split(":"),o=t[2].split(":"),de.biancoroyal.bacnet.core.internalDebugLog(r),de.biancoroyal.bacnet.core.internalDebugLog(o),r[1]=de.biancoroyal.bacnet.core.errorClassToString(r[1]),o[1]=de.biancoroyal.bacnet.core.errorCodeToString(o[1]),e.message=a+" "+r.join(":")+" "+o.join(":")),e},de.biancoroyal.bacnet.core.errorCodeToString=function(e){var r,o;de.biancoroyal.bacnet.core.errorCodeList.length<1&&de.biancoroyal.bacnet.core.initCodeLists();var a,t=_createForOfIteratorHelper(de.biancoroyal.bacnet.core.errorCodeList);try{for(t.s();!(a=t.n()).done;)r=a.value,parseInt(r.typeValue)===parseInt(e)&&(de.biancoroyal.bacnet.core.detailDebugLog(r.typeValue+" --\x3e "+r.label),o=r)}catch(e){t.e(e)}finally{t.f()}return o?o.label:e},de.biancoroyal.bacnet.core.errorClassToString=function(e){var r,o;de.biancoroyal.bacnet.core.errorClassList.length<1&&de.biancoroyal.bacnet.core.initCodeLists();var a,t=_createForOfIteratorHelper(de.biancoroyal.bacnet.core.errorClassList);try{for(t.s();!(a=t.n()).done;)r=a.value,parseInt(r.typeValue)===parseInt(e)&&(de.biancoroyal.bacnet.core.detailDebugLog(r.typeValue+" --\x3e "+r.label),o=r)}catch(e){t.e(e)}finally{t.f()}return o?o.label:e},module.exports=de.biancoroyal.bacnet.core; | ||
//# sourceMappingURL=../maps/core/bacnet-core.js.map |
@@ -0,1 +1,11 @@ | ||
# [0.2.0-beta.1](https://github.com/BiancoRoyal/node-red-contrib-bacnet/compare/v0.1.2...v0.2.0-beta.1) (2020-05-23) | ||
### Bug Fixes | ||
* **lib:** update to node-bacnet ([484fd52](https://github.com/BiancoRoyal/node-red-contrib-bacnet/commit/484fd5209826571f1a5d5abc1c0dbde572b0c4f6)) | ||
* **lib:** update to node-bacnet ([d1e07e1](https://github.com/BiancoRoyal/node-red-contrib-bacnet/commit/d1e07e16decf3069d8a9823324a68ed3651e69b1)) | ||
## [0.1.2](https://github.com/BiancoRoyal/node-red-contrib-bacnet/compare/v0.0.16...v0.1.2) (2020-04-21) | ||
@@ -6,5 +16,5 @@ | ||
* **write:** type instead of tag for values ([dc92ad9](https://github.com/BiancoRoyal/node-red-contrib-bacnet/commit/dc92ad92d6828880fe17cb0f9eb7f0375a34af3c)) | ||
* install error ([79af02a](https://github.com/BiancoRoyal/node-red-contrib-bacnet/commit/79af02a145d3819d0b1b6bb6240f80553e524953)) | ||
* typos ([203523a](https://github.com/BiancoRoyal/node-red-contrib-bacnet/commit/203523a64dd4e3051e881ea63f3bdb04ee3400fe)) | ||
* **write:** type instead of tag for values ([dc92ad9](https://github.com/BiancoRoyal/node-red-contrib-bacnet/commit/dc92ad92d6828880fe17cb0f9eb7f0375a34af3c)) | ||
@@ -11,0 +21,0 @@ |
{ | ||
"name": "node-red-contrib-bacnet", | ||
"version": "0.1.2", | ||
"version": "0.2.0-beta.1", | ||
"private": false, | ||
@@ -12,3 +12,3 @@ "description": "The BACnet toolbox package for Node-RED.", | ||
"debug": "~4.1.1", | ||
"@biancoroyal/bacstack": "~0.0.1-beta.22", | ||
"node-bacnet": "^0.1.2-beta.1", | ||
"underscore": "~1.10.2" | ||
@@ -84,4 +84,4 @@ }, | ||
"nock": "^12.0.3", | ||
"node-red": "^1.0.4", | ||
"node-red-node-test-helper": "^0.2.3", | ||
"node-red": "^1.0.6", | ||
"node-red-node-test-helper": "^0.2.4", | ||
"pump": "^3.0.0", | ||
@@ -88,0 +88,0 @@ "path-type": "^3.0.0", |
@@ -10,8 +10,5 @@ ![Platform Node-RED](http://b.repl.ca/v1/Platform-Node--RED-red.png) | ||
# node-red-contrib-bacnet | ||
Building Automation and Control Networks Protocol toolbox for Node-RED. | ||
!!! NOT READY TO USE - UNDER DEVELOPMENT - START YOUR CONTRIBUTION !!! | ||
* based on [bacstack library][5] v0.0.x - the library needs more community work, please! | ||
## Install | ||
@@ -33,10 +30,5 @@ | ||
## Contributing | ||
Let's work together! | ||
You should send your pull request, please. | ||
### License | ||
The MIT License | ||
The MIT License with [Subscription bundle][3] or GitHub Sponsoring | ||
@@ -53,3 +45,3 @@ [Klaus Landsdorf][1] | ||
I'd like to give special thanks to [Fabio Huser][2] for the BACnet [node-bacstack package][4]! | ||
I'd like to give special thanks to [Fabio Huser][2]. | ||
@@ -59,5 +51,2 @@ | ||
[2]:https://github.com/fh1ch | ||
[3]:https://bianco-royal.cloud/supporter/ | ||
[4]:https://www.npmjs.com/package/bacstack | ||
[5]:https://www.npmjs.com/package/@biancoroyal/bacstack | ||
[3]:https://osi.bianco-royal.com/ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
4045986
49
+ Addednode-bacnet@^0.1.2-beta.1
+ Addednode-bacnet@0.1.2-beta.3(transitive)
- Removed@biancoroyal/bacstack@~0.0.1-beta.22
- Removed@biancoroyal/bacstack@0.0.1-beta.23(transitive)