aemo 0.1.5 → 0.1.6
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/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
|
#
|