aemo 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/aemo.gemspec +1 -1
- data/lib/aemo/nmi.rb +22 -3
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cbb54d233f0bd13dcce773ff836b7877456a1a14
|
4
|
+
data.tar.gz: 5459c83ac0ea8cc02ba3d1645961e4af105ffd1d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9253a01333a488789af1a50ecae9795a6ff695fa4eb48729610f3da6482fb1b7a31a789bf1de1336c18f3426954c713304b13fa12632b9726c9cd90f461e2494
|
7
|
+
data.tar.gz: 204bd766824e4c9e55ee24895e428febd5c19125b01128f7802961ce826b5fb4be61296e0e8191ec1401f6c830c4779ad74de748fb00416d171b638fc91d636d
|
data/aemo.gemspec
CHANGED
data/lib/aemo/nmi.rb
CHANGED
@@ -420,8 +420,9 @@ module AEMO
|
|
420
420
|
@address = nil
|
421
421
|
@meters = nil
|
422
422
|
@roles = nil
|
423
|
+
@data_streams = nil
|
423
424
|
|
424
|
-
attr_accessor :nmi, :msats_detail, :tni, :dlf, :customer_classification_code, :customer_threshold_code, :jurisdiction_code, :classification_code, :status, :address, :meters, :roles
|
425
|
+
attr_accessor :nmi, :msats_detail, :tni, :dlf, :customer_classification_code, :customer_threshold_code, :jurisdiction_code, :classification_code, :status, :address, :meters, :roles, :data_streams
|
425
426
|
|
426
427
|
# Initialize a NEM12 file
|
427
428
|
#
|
@@ -436,6 +437,7 @@ module AEMO
|
|
436
437
|
@nmi = nmi
|
437
438
|
@meters = {}
|
438
439
|
@roles = {}
|
440
|
+
@data_streams = []
|
439
441
|
end
|
440
442
|
|
441
443
|
# A function to validate the instance's nmi value
|
@@ -510,7 +512,8 @@ module AEMO
|
|
510
512
|
installation_type_code: meter['InstallationTypeCode'],
|
511
513
|
next_scheduled_read_date: meter['NextScheduledReadDate'],
|
512
514
|
read_type_code: meter['ReadTypeCode'],
|
513
|
-
registers: []
|
515
|
+
registers: [],
|
516
|
+
serial_number: meter['SerialNumber']
|
514
517
|
)
|
515
518
|
puts "@meters.inspect: #{@meters.inspect}"
|
516
519
|
@meters[meter['SerialNumber']] = m
|
@@ -535,9 +538,25 @@ module AEMO
|
|
535
538
|
@roles[role['Role']] = role['Party']
|
536
539
|
end
|
537
540
|
end
|
538
|
-
|
541
|
+
# DataStreams
|
542
|
+
unless @msats_detail['DataStreams'].nil?
|
543
|
+
@msats_detail['DataStreams']['DataStream'].each do |stream|
|
544
|
+
@data_streams << OpenStruct.new(suffix: stream['Suffix'], profile_name: stream['ProfileName'],averaged_daily_load: stream['AveragedDailyLoad'], data_stream_type: stream['DataStreamType'],status: stream['Status'])
|
545
|
+
end
|
546
|
+
end
|
539
547
|
self
|
540
548
|
end
|
549
|
+
|
550
|
+
# Returns a nice address from the structured one AEMO sends us
|
551
|
+
#
|
552
|
+
# @return [String]
|
553
|
+
def friendly_address
|
554
|
+
friendly_address = ''
|
555
|
+
if @address.is_a?(Hash)
|
556
|
+
friendly_address = @nmi.address.values.map{|x| x.is_a?(Hash) ? x.values.map{|y| y.is_a?(Hash) ? y.values.join(" ") : y }.join(" ") : x }.join(", ")
|
557
|
+
end
|
558
|
+
friendly_address
|
559
|
+
end
|
541
560
|
|
542
561
|
# A function to validate the NMI provided
|
543
562
|
#
|