cpee-handlerwrapper-opcua 0.3 → 0.4
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.
- checksums.yaml +4 -4
- data/cpee-handlerwrapper-opcua.gemspec +2 -2
- data/lib/cpee-handlerwrapper-opcua.rb +17 -8
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75f8d367a1dc766fb0d718129b3df522b488c23c0851b223cd82361fb09bceab
|
4
|
+
data.tar.gz: 127104e0d36ad736b127c06c3cc415496db6b1f07744ac758dfe4ed60f486c05
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6cfc998614c19c4480ac9cfd41bbec4d3b975038b0eb1d773f19715f781728c4ba36bc068b8061f0a94a3a354c3cc95609ea7bc5c8c25ca3e7847e880de89a5
|
7
|
+
data.tar.gz: f3524fe41cf3409b909f489d5525c49a583e87d8fe8b16e9caa3c1c2c075391a30f546a8926dabb81572e4c5283c25f60d872ddaa738101216db45dcacd103a7
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "cpee-handlerwrapper-opcua"
|
3
|
-
s.version = "0.
|
3
|
+
s.version = "0.4"
|
4
4
|
s.platform = Gem::Platform::RUBY
|
5
5
|
s.license = "LGPL-3.0"
|
6
6
|
s.summary = "OPCUA for CPEE HandlerWrapper. Use opc.tcp-read|write|exececute:// links."
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.email = 'juergen.mangler@gmail.com'
|
19
19
|
s.homepage = 'https://cpee.org//cpee-handlerwrapper-opcua'
|
20
20
|
|
21
|
-
s.add_runtime_dependency 'cpee', '~>1.5', '>= 1.5.
|
21
|
+
s.add_runtime_dependency 'cpee', '~>1.5', '>= 1.5.5'
|
22
22
|
s.add_runtime_dependency 'opcua', '~>0', '>= 0.13'
|
23
23
|
s.add_development_dependency 'rake', '~> 12'
|
24
24
|
s.add_development_dependency 'rake-compiler', '~> 1.0'
|
@@ -44,17 +44,22 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
|
|
44
44
|
@handler_position = position
|
45
45
|
@handler_passthrough = nil
|
46
46
|
@handler_returnValue = nil
|
47
|
+
@handler_returnOptions = nil
|
47
48
|
@label = ''
|
48
49
|
end # }}}
|
49
50
|
|
50
51
|
def prepare(readonly, endpoints, parameters) #{{{
|
51
52
|
@handler_endpoint = endpoints.is_a?(Array) ? endpoints.map{ |ep| readonly.endpoints[ep] }.compact : readonly.endpoints[endpoints]
|
52
|
-
|
53
|
-
|
54
|
-
|
53
|
+
params = parameters.dup
|
54
|
+
params[:arguments] = params[:arguments].dup if params[:arguments]
|
55
|
+
params[:arguments]&.map! do |ele|
|
56
|
+
t = ele.dup
|
57
|
+
if t.value.is_a?(Proc)
|
58
|
+
t.value = readonly.instance_exec &t.value
|
55
59
|
end
|
60
|
+
t
|
56
61
|
end
|
57
|
-
|
62
|
+
params
|
58
63
|
end #}}}
|
59
64
|
|
60
65
|
def activity_handle(passthrough, parameters) # {{{
|
@@ -157,9 +162,10 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
|
|
157
162
|
|
158
163
|
status, result, headers = client.request type => params
|
159
164
|
if status < 200 || status >= 300
|
165
|
+
headers['CPEE_SALVAGE'] = true
|
160
166
|
c = result[0]&.value
|
161
167
|
c = c.read if c.respond_to? :read
|
162
|
-
callback([ Riddl::Parameter::Complex.new('error','application/json',StringIO.new(JSON::generate({ 'status' => status, 'error' => c }))) ],
|
168
|
+
callback([ Riddl::Parameter::Complex.new('error','application/json',StringIO.new(JSON::generate({ 'status' => status, 'error' => c }))) ], headers)
|
163
169
|
else
|
164
170
|
if headers['CPEE_INSTANTIATION']
|
165
171
|
@controller.notify("task/instantiation", :instance => @controller.instance, :label => @label, :instance_name => @controller.info, :instance_uuid => @controller.uuid, :activity => @handler_position, :endpoint => @handler_endpoint, :received => CPEE::ValueHelper.parse(headers['CPEE_INSTANTIATION']), :timestamp => Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"), :attributes => @controller.attributes_translated)
|
@@ -170,7 +176,7 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
|
|
170
176
|
elsif headers['CPEE_CALLBACK'] && headers['CPEE_CALLBACK'] == 'true' && result.empty?
|
171
177
|
# do nothing, later on things will happend
|
172
178
|
else
|
173
|
-
callback result
|
179
|
+
callback result, headers
|
174
180
|
end
|
175
181
|
end
|
176
182
|
end
|
@@ -186,6 +192,9 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
|
|
186
192
|
def activity_result_value # {{{
|
187
193
|
@handler_returnValue
|
188
194
|
end # }}}
|
195
|
+
def activity_result_options # {{{
|
196
|
+
@handler_returnOptions
|
197
|
+
end # }}}
|
189
198
|
|
190
199
|
def activity_stop # {{{
|
191
200
|
unless @handler_passthrough.nil?
|
@@ -291,15 +300,15 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
|
|
291
300
|
def callback(result=nil,options={})
|
292
301
|
@controller.notify("activity/receiving", :instance => @controller.instance, :label => @label, :instance_name => @controller.info, :instance_uuid => @controller.uuid, :activity => @handler_position, :endpoint => @handler_endpoint, :received => structurize_result(result), :timestamp => Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"), :attributes => @controller.attributes_translated, :sensors => @sensors, :aggregators => @aggregators, :costs => @costs)
|
293
302
|
result = simplify_result(result)
|
303
|
+
@handler_returnValue = result
|
304
|
+
@handler_returnOptions = options
|
294
305
|
if options['CPEE_UPDATE']
|
295
|
-
@handler_returnValue = result
|
296
306
|
if options['CPEE_UPDATE_STATUS']
|
297
307
|
@controller.notify("activity/status", :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :endpoint => @handler_endpoint, :status => options['CPEE_UPDATE_STATUS'], :timestamp => Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"), :attributes => @controller.attributes_translated)
|
298
308
|
end
|
299
309
|
@handler_continue.continue WEEL::Signal::Again
|
300
310
|
else
|
301
311
|
@controller.callbacks.delete(@handler_passthrough)
|
302
|
-
@handler_returnValue = result
|
303
312
|
@handler_passthrough = nil
|
304
313
|
if options['CPEE_SALVAGE']
|
305
314
|
@handler_continue.continue WEEL::Signal::Salvage
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cpee-handlerwrapper-opcua
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.4'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juergen eTM Mangler
|
8
8
|
autorequire:
|
9
9
|
bindir: tools
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-10-
|
11
|
+
date: 2019-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cpee
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '1.5'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.5.
|
22
|
+
version: 1.5.5
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '1.5'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 1.5.
|
32
|
+
version: 1.5.5
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: opcua
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|