@node-i3x/opcua-connector 0.5.1 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var M=class{constructor(e,t){this.client=e;this._logger=t}client;_logger;async connect(){await this.client.connect()}async disconnect(){await this.client.disconnect()}isConnected(){return this.client.isConnected()}async browseTree(){return this.client.browseTree()}async getNamespaces(){return this.client.getNamespaces()}async getObjectTypes(){return this.client.getObjectTypes()}async readValue(e){return this.client.readValue(e)}async readValues(e){return this.client.readValues(e)}async writeValue(e,t){return this.client.writeValue(e,t)}async readHistory(e,t,s){return this.client.readHistory(e,t,s)}async createMonitoredSubscription(e){return this.client.createMonitoredSubscription(e)}};import{AttributeIds as I,BrowseDirection as v,browseAll as U,coerceNodeId as w,DataType as p,MessageSecurityMode as V,NodeClass as g,OPCUAClient as F,resolveNodeId as D,StatusCodes as H,TimestampsToReturn as z,UserTokenType as E,Variant as k}from"node-opcua";import{NodeClass as h,StatusCodes as A}from"node-opcua";var q={[h.Object]:"Object",[h.Variable]:"Variable",[h.Method]:"Method",[h.ObjectType]:"ObjectType",[h.VariableType]:"VariableType",[h.ReferenceType]:"ReferenceType",[h.DataType]:"DataType",[h.View]:"View"};function R(a,e){if(!a?.name)return"";let t=a.namespaceIndex??0;return`nsu=${e[t]??`ns=${t}`}:${a.name}`}function $(a,e,t){let s=a.nodeClass??h.Unspecified,o=R(a.browseName,t),l="",c=o.match(/^nsu=(.+):([^:]+)$/);if(c)l=c[1];else{let d=a.browseName?.namespaceIndex??0;l=t[d]??""}return{sourceNodeId:a.nodeId.toString(),parentSourceNodeId:e,browseName:a.browseName?.toString()??"",nsuQualifiedName:o,displayName:a.displayName?.text??a.browseName?.toString()??"",nodeClass:q[s]??"Unknown",typeDefinition:a.typeDefinition?a.typeDefinition.toString():null,namespaceUri:l,eventNotifier:a.nodeClass===h.Object?(a.eventNotifier??0)!==0:!1}}function T(a){let e=a.statusCode?.equals(A.Good)??!1;return{value:a.value?.value??null,quality:e?"Good":"Bad",timestamp:a.sourceTimestamp?.toISOString()??a.serverTimestamp?.toISOString()??new Date().toISOString(),statusCode:a.statusCode?.value}}function j(a){return{value:a.value?.value??null,quality:a.statusCode?.equals(A.Good)?"Good":"Bad",timestamp:a.sourceTimestamp?.toISOString()??a.serverTimestamp?.toISOString()??new Date().toISOString()}}async function _(a,e){try{let{ClientSessionOptimized:t}=await import("@sterfive/opcua-optimized-client"),s=new t(a);return e.info("\u2713 @sterfive/opcua-optimized-client activated \u2014 auto-batching, limit-splitting, and coalescing enabled"),s}catch{return e.info("Standard node-opcua client mode. Install @sterfive/opcua-optimized-client for automatic batching and enhanced performance."),a}}var L={None:V.None,Sign:V.Sign,SignAndEncrypt:V.SignAndEncrypt},P=class{constructor(e,t){this.logger=t;this._opts={endpointUrl:e.endpointUrl,securityMode:e.securityMode??"None",applicationName:e.applicationName??"node-i3x",optimizedClient:e.optimizedClient??"auto",browseStrategy:e.browseStrategy??"parallel",browseFilter:e.browseFilter??"application-only",username:e.username,password:e.password}}logger;_client=null;_session=null;_namespaceArray=[];_opts;async connect(){let e=L[this._opts.securityMode]??V.None;this._client=F.create({applicationName:this._opts.applicationName,securityMode:e,connectionStrategy:{initialDelay:1e3,maxDelay:3e4,maxRetry:1/0},keepSessionAlive:!0,endpointMustExist:!1}),this._client.on("backoff",(l,c)=>{this.logger.warn(`Connection backoff #${l}, retrying in ${c}ms`)}),this._client.on("connection_reestablished",()=>{this.logger.info("OPC UA connection re-established")}),this.logger.info(`Connecting to ${this._opts.endpointUrl}...`),await this._client.connect(this._opts.endpointUrl);let t=this._opts.username&&this._opts.password?{type:E.UserName,userName:this._opts.username,password:this._opts.password}:void 0,s=await this._client.createSession(t);this._opts.optimizedClient!=="disabled"&&(s=await _(s,this.logger)),this._session=s;let o=await s.read({nodeId:w("i=2255"),attributeId:I.Value});this._namespaceArray=o.value?.value??[],this.logger.info("OPC UA session created")}async disconnect(){if(this._session){try{await this._session.close()}catch{}this._session=null}if(this._client){try{await this._client.disconnect()}catch{}this._client=null}this.logger.info("OPC UA disconnected")}isConnected(){return this._session!==null&&!this._session.isReconnecting}get session(){if(!this._session)throw new Error("OPC UA session not connected");return this._session}_makeBrowseDescriptions(e){return e.map(t=>({nodeId:w(t),browseDirection:v.Forward,includeSubtypes:!0,referenceTypeId:D("HierarchicalReferences"),resultMask:63,requestedMaxReferencesPerNode:0}))}async _browseSingleNode(e){let t=this._makeBrowseDescriptions([e])[0],s=await this.session.browse(t),o=[...s.references??[]],l=1,c=s.continuationPoint;for(;c;){let d=await this.session.browseNext(c,!1);l++,o.push(...d.references??[]),c=d.continuationPoint}return{refs:o,txCount:l}}async _bfsBrowse(e,t,s){let o=performance.now(),l=[],c=new Set,d=0,n=[{nodeId:e,parentId:null}],r=this._opts.browseStrategy!=="browseAll",m=new Set;for(;n.length>0;){let i=n.filter(y=>!c.has(y.nodeId));for(let y of i)c.add(y.nodeId);if(i.length===0)break;let u;if(r)u=await Promise.all(i.map(y=>this._browseSingleNode(y.nodeId)));else{let y=this._makeBrowseDescriptions(i.map(C=>C.nodeId)),N=await U(this.session,y);d+=1,u=N.map(C=>({refs:C.references??[],txCount:0}))}let f=[],b=new Set;for(let y=0;y<i.length;y++){let N=i[y],{refs:C,txCount:B}=u[y];d+=B;for(let O of C){let S=O.nodeId.toString();if(!c.has(S)){if(!m.has(S)){m.add(S);let x=t(O,N.nodeId);x!==null&&l.push(x)}(!s||s(O,N.nodeId))&&(b.has(S)||(b.add(S),f.push({nodeId:S,parentId:N.nodeId})))}}}n=f}return{items:l,txCount:d,ms:performance.now()-o}}async browseTree(){let e=D("ObjectsFolder").toString(),t=this._opts.browseFilter??"application-only",{items:s,txCount:o,ms:l}=await this._bfsBrowse(e,(d,n)=>$(d,n===e?null:n,this._namespaceArray),(d,n)=>{if(d.nodeClass!==g.Object&&d.nodeClass!==g.Variable)return!1;if(n===e){if(t==="all")return!0;if(t==="application-only")return(d.browseName?.namespaceIndex??0)!==0;let r=d.nodeId.toString(),m=d.browseName?.name??"";return t.some(i=>i===r||i===m)}return!0}),c=this._opts.browseStrategy!=="browseAll"?"parallel":"browseAll";return this.logger.info(`Browse tree: ${s.length} nodes in ${l.toFixed(0)}ms (strategy=${c}, transactions=${o})`),s}async getObjectTypes(){let{items:e,txCount:t,ms:s}=await this._bfsBrowse(D("ObjectTypesFolder").toString(),(u,f)=>{let b=u.browseName?.namespaceIndex??0,y=this._namespaceArray[b]??"";return{sourceNodeId:u.nodeId.toString(),parentSourceNodeId:f,browseName:u.browseName?.toString()??"",displayName:u.displayName?.text??"",namespaceUri:y}},()=>!0),o=this._opts.browseStrategy!=="browseAll"?"parallel":"browseAll";this.logger.info(`Browse object types: ${e.length} types in ${s.toFixed(0)}ms (strategy=${o}, transactions=${t})`);let l=performance.now(),c=new Set,d=[],n=[];for(let u of e)c.has(u.sourceNodeId)||(c.add(u.sourceNodeId),u.sourceNodeId.startsWith("ns=0;")?d.push(u):n.push(u));let r=await Promise.all(n.map(u=>this._browseTypeMembers(u.sourceNodeId).then(f=>({...u,members:f}),()=>u))),m=[...d,...r],i=performance.now()-l;return this.logger.info(`Enriched ${n.length} types with members in ${i.toFixed(0)}ms`),m}async _browseTypeMembers(e){let{refs:t}=await this._browseSingleNode(e),s=[],o=[];for(let n of t)n.nodeClass!==g.Variable&&n.nodeClass!==g.Object&&n.nodeClass!==g.Method||n.nodeClass===g.Variable&&o.push(n);let l=new Map;if(o.length>0){let n=o.map(r=>({nodeId:r.nodeId,attributeId:I.DataType}));try{let r=await this.session.read(n),m=Array.isArray(r)?r:[r];for(let i=0;i<o.length;i++){let u=o[i].nodeId.toString(),f=m[i]?.value?.value;l.set(u,f?f.toString():null)}}catch{}}let c=new Map,d=t.filter(n=>n.nodeClass===g.Variable||n.nodeClass===g.Object||n.nodeClass===g.Method);if(d.length>0){let n=d.map(r=>({nodeId:r.nodeId,browseDirection:v.Forward,includeSubtypes:!0,referenceTypeId:D("HasModellingRule"),resultMask:63,requestedMaxReferencesPerNode:0}));try{let r=await U(this.session,n);for(let m=0;m<d.length;m++){let i=d[m].nodeId.toString(),u=r[m]?.references?.[0];c.set(i,u?.displayName?.text??null)}}catch{}}for(let n of d){let r=n.nodeId.toString();s.push({browseName:n.browseName?.name??n.browseName?.toString()??"",displayName:n.displayName?.text??"",nodeClass:n.nodeClass===g.Variable?"Variable":n.nodeClass===g.Object?"Object":"Method",dataType:l.get(r)??null,modellingRule:c.get(r)??null})}return s}async getNamespaces(){return this._namespaceArray.map((e,t)=>({uri:e,displayName:e.split("/").pop()??`ns${t}`}))}async readValue(e){let t=await this.session.read({nodeId:w(e),attributeId:I.Value});return T(t)}async readValues(e){if(e.length===0)return[];let t=e.map(l=>({nodeId:w(l),attributeId:I.Value})),s=await this.session.read(t);return(Array.isArray(s)?s:[s]).map(T)}async writeValue(e,t){let s=w(e),o=await this.session.read([{nodeId:s,attributeId:I.DataType},{nodeId:s,attributeId:I.Value}]),l=Array.isArray(o)?o:[o],c=l[0]?.value?.value,d=l[1],n=p.Null;if(c){let f=typeof c=="object"?c.value??0:Number(c);f>=1&&f<=25?n=f:d?.value?.value!==void 0&&(n=d.value.dataType??p.Null)}let r=t;try{r=this._coerceToDataType(t,n)}catch(f){let b=`Write coercion failed for ${e}: targetDataType=${p[n]}(${n}) jsType=${typeof t} jsValue=${JSON.stringify(t)} error=${f}`;throw this.logger.warn(b),new Error(b)}let m={nodeId:s,attributeId:I.Value,value:{value:new k({dataType:n!==p.Null?n:this._inferDataType(r),value:r})}};this.logger.debug(`writeValue: nodeId=${e} targetDataType=${p[n]} jsType=${typeof t} \u2192 coerced=${JSON.stringify(r)}`);let i=await this.session.write(m),u=Array.isArray(i)?i[0]:i;if(u&&!u.equals(H.Good)){let f=`Write failed: ${u.toString()} | nodeId=${e} targetDataType=${p[n]}(${n}) inputValue=${JSON.stringify(t)} (${typeof t}) coercedValue=${JSON.stringify(r)} (${typeof r})`;throw this.logger.warn(f),new Error(f)}}_coerceToDataType(e,t){switch(t){case p.Boolean:return typeof e=="boolean"?e:typeof e=="number"?e!==0:typeof e=="string"?e.toLowerCase()==="true"||e==="1":!!e;case p.SByte:case p.Byte:case p.Int16:case p.UInt16:case p.Int32:case p.UInt32:return Math.trunc(Number(e));case p.Int64:case p.UInt64:return Array.isArray(e)?e:[0,Math.trunc(Number(e))];case p.Float:case p.Double:return Number(e);case p.String:return String(e);case p.DateTime:return e instanceof Date?e:typeof e=="string"||typeof e=="number"?new Date(e):e;case p.ByteString:return Buffer.isBuffer(e)?e:typeof e=="string"?Buffer.from(e,"base64"):e;case p.Null:default:return e}}_inferDataType(e){return typeof e=="number"?p.Double:typeof e=="boolean"?p.Boolean:typeof e=="string"?p.String:e instanceof Date?p.DateTime:p.Null}async readHistory(e,t,s){let l=await this.session.readHistoryValue(w(e),t,s);return(l.historyData?l.historyData?.dataValues??[]:[]).map(j)}async callMethod(e,t,s){let o={objectId:w(e),methodId:w(t),inputArguments:s.map(c=>new k({dataType:p.Null,value:c}))};return(await this.session.call(o)).outputArguments??null}async createMonitoredSubscription(e){let t=await this.session.createSubscription2({requestedPublishingInterval:e.publishingIntervalMs,requestedLifetimeCount:100,requestedMaxKeepAliveCount:10,maxNotificationsPerPublish:0,publishingEnabled:!0,priority:10}),s=null,o=new Map,l=`opcua-sub-${Date.now()}`,c=this.logger;return c.info(`OPC UA CreateSubscription id=${l} publishingInterval=${e.publishingIntervalMs}ms`),{id:l,async addItems(n){let r=n.filter(i=>!o.has(i));if(r.length===0)return;let m=await Promise.all(r.map(i=>t.monitor({nodeId:w(i),attributeId:I.Value},{samplingInterval:e.publishingIntervalMs,discardOldest:!0,queueSize:10},z.Both)));for(let i=0;i<r.length;i++){let u=r[i],f=m[i];f.on("changed",b=>{if(s){let y=T(b);s(u,y.value,y.quality,y.timestamp)}}),o.set(u,f)}c.info(`OPC UA CreateMonitoredItems: ${r.length} items added (total=${o.size})`)},async removeItems(n){let r=n.map(m=>({id:m,item:o.get(m)})).filter(m=>m.item!=null);await Promise.all(r.map(({id:m,item:i})=>(o.delete(m),i.terminate().catch(()=>{}))))},onDataChange(n){s=n},async close(){try{await t.terminate()}catch{}o.clear()}}}};export{P as OpcUaClient,M as OpcUaDataSourceAdapter,R as qualifiedNameToNsu,_ as wrapSessionIfOptimized};
|
|
1
|
+
var _=class{constructor(e,n){this.client=e;this._logger=n}client;_logger;async connect(){await this.client.connect()}async disconnect(){await this.client.disconnect()}isConnected(){return this.client.isConnected()}async browseTree(){return this.client.browseTree()}async getNamespaces(){return this.client.getNamespaces()}async getObjectTypes(){return this.client.getObjectTypes()}async readValue(e){return this.client.readValue(e)}async readValues(e){return this.client.readValues(e)}async writeValue(e,n){return this.client.writeValue(e,n)}async readHistory(e,n,s){return this.client.readHistory(e,n,s)}async createMonitoredSubscription(e){return this.client.createMonitoredSubscription(e)}};import{AttributeIds as S,BrowseDirection as U,browseAll as k,coerceNodeId as I,DataType as p,MessageSecurityMode as V,NodeClass as g,OPCUAClient as H,resolveNodeId as O,StatusCodes as F,TimestampsToReturn as z,UserTokenType as L,Variant as B}from"node-opcua";import{NodeClass as w,StatusCodes as $}from"node-opcua";var E={[w.Object]:"Object",[w.Variable]:"Variable",[w.Method]:"Method",[w.ObjectType]:"ObjectType",[w.VariableType]:"VariableType",[w.ReferenceType]:"ReferenceType",[w.DataType]:"DataType",[w.View]:"View"};function A(a,e){if(!a?.name)return"";let n=a.namespaceIndex??0;return`nsu=${e[n]??`ns=${n}`}:${a.name}`}function j(a,e,n){let s=a.nodeClass??w.Unspecified,i=A(a.browseName,n),l="",d=i.match(/^nsu=(.+):([^:]+)$/);if(d)l=d[1];else{let c=a.browseName?.namespaceIndex??0;l=n[c]??""}return{sourceNodeId:a.nodeId.toString(),parentSourceNodeId:e,browseName:a.browseName?.toString()??"",nsuQualifiedName:i,displayName:a.displayName?.text??a.browseName?.toString()??"",nodeClass:E[s]??"Unknown",typeDefinition:a.typeDefinition?a.typeDefinition.toString():null,namespaceUri:l,eventNotifier:a.nodeClass===w.Object?(a.eventNotifier??0)!==0:!1}}function D(a){let e=a.statusCode?.equals($.Good)??!1;return{value:a.value?.value??null,quality:e?"Good":"Bad",timestamp:a.sourceTimestamp?.toISOString()??a.serverTimestamp?.toISOString()??new Date().toISOString(),statusCode:a.statusCode?.value}}function v(a){return{value:a.value?.value??null,quality:a.statusCode?.equals($.Good)?"Good":"Bad",timestamp:a.sourceTimestamp?.toISOString()??a.serverTimestamp?.toISOString()??new Date().toISOString()}}async function P(a,e){try{let{ClientSessionOptimized:n}=await import("@sterfive/opcua-optimized-client"),s=new n(a);return e.info("\u2713 @sterfive/opcua-optimized-client activated \u2014 auto-batching, limit-splitting, and coalescing enabled"),s}catch{return e.info("Standard node-opcua client mode. Install @sterfive/opcua-optimized-client for automatic batching and enhanced performance."),a}}var G={None:V.None,Sign:V.Sign,SignAndEncrypt:V.SignAndEncrypt},x=class{constructor(e,n){this.logger=n;this._opts={endpointUrl:e.endpointUrl,securityMode:e.securityMode??"None",applicationName:e.applicationName??"node-i3x",optimizedClient:e.optimizedClient??"auto",browseStrategy:e.browseStrategy??"parallel",browseFilter:e.browseFilter??"application-only",username:e.username,password:e.password}}logger;_client=null;_session=null;_namespaceArray=[];_opts;async connect(){let e=G[this._opts.securityMode]??V.None;this._client=H.create({applicationName:this._opts.applicationName,securityMode:e,connectionStrategy:{initialDelay:1e3,maxDelay:3e4,maxRetry:1/0},keepSessionAlive:!0,endpointMustExist:!1}),this._client.on("backoff",(l,d)=>{this.logger.warn(`Connection backoff #${l}, retrying in ${d}ms`)}),this._client.on("connection_reestablished",()=>{this.logger.info("OPC UA connection re-established")}),this.logger.info(`Connecting to ${this._opts.endpointUrl}...`),await this._client.connect(this._opts.endpointUrl);let n=this._opts.username&&this._opts.password?{type:L.UserName,userName:this._opts.username,password:this._opts.password}:void 0,s=await this._client.createSession(n);this._opts.optimizedClient!=="disabled"&&(s=await P(s,this.logger)),this._session=s;let i=await s.read({nodeId:I("i=2255"),attributeId:S.Value});this._namespaceArray=i.value?.value??[],this.logger.info("OPC UA session created")}async disconnect(){if(this._session){try{await this._session.close()}catch{}this._session=null}if(this._client){try{await this._client.disconnect()}catch{}this._client=null}this.logger.info("OPC UA disconnected")}isConnected(){return this._session!==null&&!this._session.isReconnecting}get session(){if(!this._session)throw new Error("OPC UA session not connected");return this._session}_makeBrowseDescriptions(e,n=O("HierarchicalReferences")){return e.map(s=>({nodeId:I(s),browseDirection:U.Forward,includeSubtypes:!0,referenceTypeId:n,resultMask:63,requestedMaxReferencesPerNode:0}))}async _browseSingleNode(e,n){let s=this._makeBrowseDescriptions([e],n)[0],i=await this.session.browse(s),l=[...i.references??[]],d=1,c=i.continuationPoint;for(;c;){let t=await this.session.browseNext(c,!1);d++,l.push(...t.references??[]),c=t.continuationPoint}return{refs:l,txCount:d}}async _bfsBrowse(e,n,s,i){let l=performance.now(),d=[],c=new Set,t=0,o=[{nodeId:e,parentId:null}],m=this._opts.browseStrategy!=="browseAll",u=new Set;for(;o.length>0;){let f=o.filter(y=>!c.has(y.nodeId));for(let y of f)c.add(y.nodeId);if(f.length===0)break;let r;if(m)r=await Promise.all(f.map(y=>this._browseSingleNode(y.nodeId,i)));else{let y=this._makeBrowseDescriptions(f.map(T=>T.nodeId),i),N=await k(this.session,y);t+=1,r=N.map(T=>({refs:T.references??[],txCount:0}))}let h=[],b=new Set;for(let y=0;y<f.length;y++){let N=f[y],{refs:T,txCount:q}=r[y];t+=q;for(let M of T){let C=M.nodeId.toString();if(!c.has(C)){if(!u.has(C)){u.add(C);let R=n(M,N.nodeId);R!==null&&d.push(R)}(!s||s(M,N.nodeId))&&(b.has(C)||(b.add(C),h.push({nodeId:C,parentId:N.nodeId})))}}}o=h}return{items:d,txCount:t,ms:performance.now()-l}}async browseTree(){let e=O("ObjectsFolder").toString(),n=this._opts.browseFilter??"application-only",{items:s,txCount:i,ms:l}=await this._bfsBrowse(e,(c,t)=>j(c,t===e?null:t,this._namespaceArray),(c,t)=>{if(c.nodeClass!==g.Object&&c.nodeClass!==g.Variable)return!1;if(t===e){if(n==="all")return!0;if(n==="application-only")return(c.browseName?.namespaceIndex??0)!==0;let o=c.nodeId.toString(),m=c.browseName?.name??"";return n.some(u=>u===o||u===m)}return!0}),d=this._opts.browseStrategy!=="browseAll"?"parallel":"browseAll";return this.logger.info(`Browse tree: ${s.length} nodes in ${l.toFixed(0)}ms (strategy=${d}, transactions=${i})`),s}async getObjectTypes(){let{items:e,txCount:n,ms:s}=await this._bfsBrowse(O("ObjectTypesFolder").toString(),(r,h)=>{if(r.nodeClass!==g.ObjectType)return null;let b=r.browseName?.namespaceIndex??0,y=this._namespaceArray[b]??"";return{sourceNodeId:r.nodeId.toString(),parentSourceNodeId:h,browseName:r.browseName?.toString()??"",displayName:r.displayName?.text??"",namespaceUri:y}},r=>r.nodeClass===g.ObjectType),i=this._opts.browseStrategy!=="browseAll"?"parallel":"browseAll";this.logger.info(`Browse object types: ${e.length} types in ${s.toFixed(0)}ms (strategy=${i}, transactions=${n})`);let l=performance.now(),d=new Set,c=[],t=[];for(let r of e)d.has(r.sourceNodeId)||(d.add(r.sourceNodeId),r.sourceNodeId.startsWith("ns=0;")?c.push(r):t.push(r));let o=200,m=[];for(let r=0;r<t.length;r+=o){let h=t.slice(r,r+o),b=await Promise.all(h.map(y=>this._browseTypeMembers(y.sourceNodeId).then(N=>({...y,members:N}),()=>y)));m.push(...b),t.length>o&&this.logger.info(`Enriching types: ${Math.min(r+o,t.length)}/${t.length} done`)}let u=[...c,...m],f=performance.now()-l;return this.logger.info(`Enriched ${t.length} types with members in ${f.toFixed(0)}ms`),u}async _browseTypeMembers(e){let{refs:n}=await this._browseSingleNode(e),s=[],i=[];for(let t of n)t.nodeClass!==g.Variable&&t.nodeClass!==g.Object&&t.nodeClass!==g.Method||t.nodeClass===g.Variable&&i.push(t);let l=new Map;if(i.length>0){let t=i.map(o=>({nodeId:o.nodeId,attributeId:S.DataType}));try{let o=await this.session.read(t),m=Array.isArray(o)?o:[o];for(let u=0;u<i.length;u++){let f=i[u].nodeId.toString(),r=m[u]?.value?.value;l.set(f,r?r.toString():null)}}catch{}}let d=new Map,c=n.filter(t=>t.nodeClass===g.Variable||t.nodeClass===g.Object||t.nodeClass===g.Method);if(c.length>0){let t=c.map(o=>({nodeId:o.nodeId,browseDirection:U.Forward,includeSubtypes:!0,referenceTypeId:O("HasModellingRule"),resultMask:63,requestedMaxReferencesPerNode:0}));try{let o=await k(this.session,t);for(let m=0;m<c.length;m++){let u=c[m].nodeId.toString(),f=o[m]?.references?.[0];d.set(u,f?.displayName?.text??null)}}catch{}}for(let t of c){let o=t.nodeId.toString();s.push({browseName:t.browseName?.name??t.browseName?.toString()??"",displayName:t.displayName?.text??"",nodeClass:t.nodeClass===g.Variable?"Variable":t.nodeClass===g.Object?"Object":"Method",dataType:l.get(o)??null,modellingRule:d.get(o)??null})}return s}async getNamespaces(){return this._namespaceArray.map((e,n)=>({uri:e,displayName:e.split("/").pop()??`ns${n}`}))}async readValue(e){let n=await this.session.read({nodeId:I(e),attributeId:S.Value});return D(n)}async readValues(e){if(e.length===0)return[];let n=e.map(l=>({nodeId:I(l),attributeId:S.Value})),s=await this.session.read(n);return(Array.isArray(s)?s:[s]).map(D)}async writeValue(e,n){let s=I(e),i=await this.session.read([{nodeId:s,attributeId:S.DataType},{nodeId:s,attributeId:S.Value}]),l=Array.isArray(i)?i:[i],d=l[0]?.value?.value,c=l[1],t=p.Null;if(d){let r=typeof d=="object"?d.value??0:Number(d);r>=1&&r<=25?t=r:c?.value?.value!==void 0&&(t=c.value.dataType??p.Null)}let o=n;try{o=this._coerceToDataType(n,t)}catch(r){let h=`Write coercion failed for ${e}: targetDataType=${p[t]}(${t}) jsType=${typeof n} jsValue=${JSON.stringify(n)} error=${r}`;throw this.logger.warn(h),new Error(h)}let m={nodeId:s,attributeId:S.Value,value:{value:new B({dataType:t!==p.Null?t:this._inferDataType(o),value:o})}};this.logger.debug(`writeValue: nodeId=${e} targetDataType=${p[t]} jsType=${typeof n} \u2192 coerced=${JSON.stringify(o)}`);let u=await this.session.write(m),f=Array.isArray(u)?u[0]:u;if(f&&!f.equals(F.Good)){let r=`Write failed: ${f.toString()} | nodeId=${e} targetDataType=${p[t]}(${t}) inputValue=${JSON.stringify(n)} (${typeof n}) coercedValue=${JSON.stringify(o)} (${typeof o})`;throw this.logger.warn(r),new Error(r)}}_coerceToDataType(e,n){switch(n){case p.Boolean:return typeof e=="boolean"?e:typeof e=="number"?e!==0:typeof e=="string"?e.toLowerCase()==="true"||e==="1":!!e;case p.SByte:case p.Byte:case p.Int16:case p.UInt16:case p.Int32:case p.UInt32:return Math.trunc(Number(e));case p.Int64:case p.UInt64:return Array.isArray(e)?e:[0,Math.trunc(Number(e))];case p.Float:case p.Double:return Number(e);case p.String:return String(e);case p.DateTime:return e instanceof Date?e:typeof e=="string"||typeof e=="number"?new Date(e):e;case p.ByteString:return Buffer.isBuffer(e)?e:typeof e=="string"?Buffer.from(e,"base64"):e;case p.Null:default:return e}}_inferDataType(e){return typeof e=="number"?p.Double:typeof e=="boolean"?p.Boolean:typeof e=="string"?p.String:e instanceof Date?p.DateTime:p.Null}async readHistory(e,n,s){let l=await this.session.readHistoryValue(I(e),n,s);return(l.historyData?l.historyData?.dataValues??[]:[]).map(v)}async callMethod(e,n,s){let i={objectId:I(e),methodId:I(n),inputArguments:s.map(d=>new B({dataType:p.Null,value:d}))};return(await this.session.call(i)).outputArguments??null}async createMonitoredSubscription(e){let n=await this.session.createSubscription2({requestedPublishingInterval:e.publishingIntervalMs,requestedLifetimeCount:100,requestedMaxKeepAliveCount:10,maxNotificationsPerPublish:0,publishingEnabled:!0,priority:10}),s=null,i=new Map,l=`opcua-sub-${Date.now()}`,d=this.logger;return d.info(`OPC UA CreateSubscription id=${l} publishingInterval=${e.publishingIntervalMs}ms`),{id:l,async addItems(t){let o=t.filter(u=>!i.has(u));if(o.length===0)return;let m=await Promise.all(o.map(u=>n.monitor({nodeId:I(u),attributeId:S.Value},{samplingInterval:e.publishingIntervalMs,discardOldest:!0,queueSize:10},z.Both)));for(let u=0;u<o.length;u++){let f=o[u],r=m[u];r.on("changed",h=>{if(s){let b=D(h);s(f,b.value,b.quality,b.timestamp)}}),i.set(f,r)}d.info(`OPC UA CreateMonitoredItems: ${o.length} items added (total=${i.size})`)},async removeItems(t){let o=t.map(m=>({id:m,item:i.get(m)})).filter(m=>m.item!=null);await Promise.all(o.map(({id:m,item:u})=>(i.delete(m),u.terminate().catch(()=>{}))))},onDataChange(t){s=t},async close(){try{await n.terminate()}catch{}i.clear()}}}};export{x as OpcUaClient,_ as OpcUaDataSourceAdapter,A as qualifiedNameToNsu,P as wrapSessionIfOptimized};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/opcua-adapter.ts","../src/opcua-client.ts","../src/opcua-mapper.ts","../src/optimized.ts"],"mappings":"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","names":["OpcUaDataSourceAdapter","client","_logger","sourceNodeId","sourceNodeIds","value","startTime","endTime","options","AttributeIds","BrowseDirection","browseAll","coerceNodeId","DataType","MessageSecurityMode","NodeClass","OPCUAClient","resolveNodeId","StatusCodes","TimestampsToReturn","UserTokenType","Variant","NodeClass","StatusCodes","NODE_CLASS_NAMES","qualifiedNameToNsu","browseName","namespaceArray","nsIdx","refToSourceNode","ref","parentSourceNodeId","nodeClass","nsuQName","namespaceUri","nsuMatch","dataValueToSource","dv","isGood","dataValueToHistorical","wrapSessionIfOptimized","session","logger","ClientSessionOptimized","optimized","SECURITY_MODES","MessageSecurityMode","OpcUaClient","opts","logger","securityMode","OPCUAClient","count","delay","userIdentity","UserTokenType","session","wrapSessionIfOptimized","nsArrayDv","coerceNodeId","AttributeIds","nodeIds","nodeId","BrowseDirection","resolveNodeId","desc","result","refs","txCount","cp","next","seedNodeId","onRef","shouldRecurse","started","output","visited","totalTx","frontier","useParallel","mapped","wave","f","item","waveResults","w","descriptions","browseResults","browseAll","r","nextFrontier","queued","i","ref","childId","m","objectsFolderId","filter","items","ms","parentNodeId","refToSourceNode","NodeClass","name","strategy","nsIdx","nsUri","enrichStart","stdTypes","nonStdTypes","type","memberResults","members","enriched","enrichMs","typeNodeId","variableRefs","dataTypeMap","readItems","dvs","arr","dtValue","modellingRuleMap","memberRefs","mrDescriptions","mrResults","mrRef","uri","idx","dv","dataValueToSource","id","value","nid","readResults","dvArr","dataTypeNodeId","currentDataValue","targetDataType","DataType","dtNum","coercedValue","coerceErr","msg","writeVal","Variant","code","StatusCodes","errMsg","dt","startTime","endTime","resultAny","dataValueToHistorical","objectNodeId","methodNodeId","args","request","a","options","sub","dataChangeCb","monitored","subId","sourceNodeIds","newIds","TimestampsToReturn","toRemove","e","cb"]}
|
|
1
|
+
{"version":3,"sources":["../src/opcua-adapter.ts","../src/opcua-client.ts","../src/opcua-mapper.ts","../src/optimized.ts"],"mappings":"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","names":["OpcUaDataSourceAdapter","client","_logger","sourceNodeId","sourceNodeIds","value","startTime","endTime","options","AttributeIds","BrowseDirection","browseAll","coerceNodeId","DataType","MessageSecurityMode","NodeClass","OPCUAClient","resolveNodeId","StatusCodes","TimestampsToReturn","UserTokenType","Variant","NodeClass","StatusCodes","NODE_CLASS_NAMES","qualifiedNameToNsu","browseName","namespaceArray","nsIdx","refToSourceNode","ref","parentSourceNodeId","nodeClass","nsuQName","namespaceUri","nsuMatch","dataValueToSource","dv","isGood","dataValueToHistorical","wrapSessionIfOptimized","session","logger","ClientSessionOptimized","optimized","SECURITY_MODES","MessageSecurityMode","OpcUaClient","opts","logger","securityMode","OPCUAClient","count","delay","userIdentity","UserTokenType","session","wrapSessionIfOptimized","nsArrayDv","coerceNodeId","AttributeIds","nodeIds","referenceTypeId","resolveNodeId","nodeId","BrowseDirection","desc","result","refs","txCount","cp","next","seedNodeId","onRef","shouldRecurse","started","output","visited","totalTx","frontier","useParallel","mapped","wave","f","item","waveResults","w","descriptions","browseResults","browseAll","r","nextFrontier","queued","i","ref","childId","m","objectsFolderId","filter","items","ms","parentNodeId","refToSourceNode","NodeClass","name","strategy","nsIdx","nsUri","enrichStart","stdTypes","nonStdTypes","type","ENRICH_CHUNK_SIZE","memberResults","chunk","chunkResults","members","enriched","enrichMs","typeNodeId","variableRefs","dataTypeMap","readItems","dvs","arr","dtValue","modellingRuleMap","memberRefs","mrDescriptions","mrResults","mrRef","uri","idx","dv","dataValueToSource","id","value","nid","readResults","dvArr","dataTypeNodeId","currentDataValue","targetDataType","DataType","dtNum","coercedValue","coerceErr","msg","writeVal","Variant","code","StatusCodes","errMsg","dt","startTime","endTime","resultAny","dataValueToHistorical","objectNodeId","methodNodeId","args","request","a","options","sub","dataChangeCb","monitored","subId","sourceNodeIds","newIds","TimestampsToReturn","toRemove","e","cb"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@node-i3x/opcua-connector",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"description": "i3X OPC UA adapter — implements IDataSourcePort using node-opcua",
|
|
5
5
|
"license": "AGPL-3.0-or-later OR LicenseRef-Sterfive-Commercial",
|
|
6
6
|
"author": "Sterfive SAS <contact@sterfive.com> (https://sterfive.com)",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"typecheck": "tsc --noEmit"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@node-i3x/core": "0.5.
|
|
60
|
+
"@node-i3x/core": "0.5.2",
|
|
61
61
|
"node-opcua": "^2.173.1",
|
|
62
62
|
"node-opcua-client": "^2.173.1"
|
|
63
63
|
},
|