ekm-omnimeter 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +10 -5
- data/Rakefile +1 -0
- data/lib/ekm-omnimeter/meter.rb +76 -0
- data/lib/ekm-omnimeter/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81c9725bd9f827fc67d3b86adf622ba2cbd130a3
|
4
|
+
data.tar.gz: 07f927b1852af3a02f5c5df84fcc78aa2fb791e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cf5880321ac3ba5961df65c25ef49ad9339224de1a451ee34712e3e2cc55e00ede182a70253b183075da0199a1b903140066abf29b8f000beb0f15d3822a584d
|
7
|
+
data.tar.gz: abd636ab283d8680a7256b3523f033be1370d70fd6d3f45c420bfaad0235335ee07c47de80cd4797bd67b97f80c4729d2fca8be3688ed623dd0be37b3eb638db
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -89,7 +89,7 @@ m.power_factor_1 # 1.0
|
|
89
89
|
m.power_factor_2 # 0.0
|
90
90
|
m.power_factor_3 # 0.0
|
91
91
|
m.maximum_demand # 22640.0
|
92
|
-
m.maximum_demand_period #
|
92
|
+
m.maximum_demand_period # 15 (in minutes, can be 15, 30 or 60)
|
93
93
|
m.ct_ratio # 400
|
94
94
|
m.pulse_1_count # 3
|
95
95
|
m.pulse_1_ratio # 1000
|
@@ -111,11 +111,16 @@ m.reactive_power_2 # 60
|
|
111
111
|
m.reactive_power_3 # 0
|
112
112
|
m.total_reactive_power # 84
|
113
113
|
m.frequency # 60.04
|
114
|
-
m.
|
115
|
-
m.
|
116
|
-
m.
|
114
|
+
m.pulse_1_input # low
|
115
|
+
m.pulse_2_input # high
|
116
|
+
m.pulse_3_input # high
|
117
|
+
m.current_direction_l1 # forward
|
118
|
+
m.current_direction_l2 # forward
|
119
|
+
m.current_direction_l3 # forward
|
120
|
+
m.output_1 # off
|
121
|
+
m.output_2 # off
|
117
122
|
m.kwh_data_decimal_places # 2
|
118
|
-
m.auto_reset_max_demand
|
123
|
+
m.auto_reset_max_demand # off
|
119
124
|
m.settable_pulse_per_kwh_ratio # 800
|
120
125
|
|
121
126
|
|
data/Rakefile
CHANGED
data/lib/ekm-omnimeter/meter.rb
CHANGED
@@ -340,6 +340,13 @@ module EkmOmnimeter
|
|
340
340
|
@values[:kwh_data_decimal_places] = d[:kwh_data_decimal_places].to_i
|
341
341
|
cast_response_to_correct_types(d)
|
342
342
|
|
343
|
+
# Lookup mapped values
|
344
|
+
puts "d[:pulse_input_hilo] = #{d[:pulse_input_hilo].inspect}"
|
345
|
+
|
346
|
+
d[:pulse_1_input], d[:pulse_2_input], d[:pulse_3_input] = lookup_pulse_input_states(d[:pulse_input_hilo])
|
347
|
+
d[:current_direction_l1], d[:current_direction_l2], d[:current_direction_l3] = lookup_direction_of_current(d[:direction_of_current])
|
348
|
+
d[:output_1], d[:output_2] = lookup_output_states(d[:outputs_onoff])
|
349
|
+
|
343
350
|
# Merge to values and reset time
|
344
351
|
@values.merge!(d)
|
345
352
|
@last_read_timestamp = Time.now
|
@@ -431,6 +438,10 @@ module EkmOmnimeter
|
|
431
438
|
# Cast types
|
432
439
|
cast_response_to_correct_types(d)
|
433
440
|
|
441
|
+
# Lookup mapped values
|
442
|
+
d[:maximum_demand_period] = lookup_demand_period_time(d[:maximum_demand_period])
|
443
|
+
d[:auto_reset_max_demand] = lookup_auto_reset_max_demand_period(d[:auto_reset_max_demand])
|
444
|
+
|
434
445
|
# Merge to values and reset time
|
435
446
|
@values.merge!(d)
|
436
447
|
@last_read_timestamp = Time.now
|
@@ -486,5 +497,70 @@ module EkmOmnimeter
|
|
486
497
|
|
487
498
|
end
|
488
499
|
|
500
|
+
|
501
|
+
|
502
|
+
PULSE_INPUT_STATE_MAP = {
|
503
|
+
0 => [:high,:high,:high], # High/High/High = 0 (30)
|
504
|
+
1 => [:high,:high,:low], # High/High/Low = 1 (31)
|
505
|
+
2 => [:high,:low,:high], # High/Low/High = 2 (32)
|
506
|
+
3 => [:high,:low,:low], # High Low/Low = 3 (33)
|
507
|
+
4 => [:low,:high,:high], # Low/High/High = 4 (34)
|
508
|
+
5 => [:low,:high,:low], # Low/High/Low = 5 (35)
|
509
|
+
6 => [:low,:low,:high], # Low/Low/High = 6 (36)
|
510
|
+
7 => [:low,:low,:low] # Low/Low/Low = 7 (37)
|
511
|
+
}
|
512
|
+
def lookup_pulse_input_states(v)
|
513
|
+
PULSE_INPUT_STATE_MAP[v.to_i]
|
514
|
+
end
|
515
|
+
|
516
|
+
|
517
|
+
DIRECTION_OF_CURRENT_MAP = {
|
518
|
+
#Line1/Line2/Line3
|
519
|
+
1 => [:forward,:forward,:forward], #Forward/Forward/Forward = 1 (31)
|
520
|
+
2 => [:forward,:forward,:reverse], #Forward/Forward/Reverse = 2 (32)
|
521
|
+
3 => [:forward,:reverse,:forward], #Forward/Reverse/Forward = 3 (33)
|
522
|
+
4 => [:reverse,:forward,:forward], #Reverse/Forward/Forward = 4 (34)
|
523
|
+
5 => [:forward,:reverse,:reverse], #Forward/Reverse/Reverse = 5 (35)
|
524
|
+
6 => [:reverse,:forward,:reverse], #Reverse/Forward/Reverse = 6 (36)
|
525
|
+
7 => [:reverse,:reverse,:forward], #Reverse/Reverse/Forward = 7 (37)
|
526
|
+
8 => [:reverse,:reverse,:reverse] #Reverse/Reverse/Reverse = 8 (38)
|
527
|
+
}
|
528
|
+
def lookup_direction_of_current(v)
|
529
|
+
DIRECTION_OF_CURRENT_MAP[v.to_i]
|
530
|
+
end
|
531
|
+
|
532
|
+
|
533
|
+
OUTPUT_INDICATOR_MAP = {
|
534
|
+
1 => [:off,:off], # OFF/OFF = 1 (31)
|
535
|
+
2 => [:off,:on], # OFF/ON = 2 (32)
|
536
|
+
3 => [:on,:off], # ON/OFF = 3 (33)
|
537
|
+
4 => [:on,:on] # ON/ON = 4 (34)
|
538
|
+
}
|
539
|
+
def lookup_output_states(v)
|
540
|
+
OUTPUT_INDICATOR_MAP[v.to_i]
|
541
|
+
end
|
542
|
+
|
543
|
+
|
544
|
+
DEMAND_PERIOD_TIME_MAP = {
|
545
|
+
1 => 15, # 15 min = 1 (31)
|
546
|
+
2 => 30, # 30 min = 2 (31)
|
547
|
+
3 => 60 # Hour = 3 (31)
|
548
|
+
}
|
549
|
+
def lookup_demand_period_time(v)
|
550
|
+
DEMAND_PERIOD_TIME_MAP[v.to_i]
|
551
|
+
end
|
552
|
+
|
553
|
+
|
554
|
+
AUTO_RESET_MAX_DEMAND_MAP = {
|
555
|
+
0 => :off, # OFF = 0 (30)
|
556
|
+
1 => :monthly, # Monthly = 1 (31)
|
557
|
+
2 => :weekly, # Weekly = 2 (32)
|
558
|
+
3 => :daily, # Daily = 3 (33)
|
559
|
+
4 => :hourly # Hourly = 4 (34)
|
560
|
+
}
|
561
|
+
def lookup_auto_reset_max_demand_period(v)
|
562
|
+
AUTO_RESET_MAX_DEMAND_MAP[v.to_i]
|
563
|
+
end
|
564
|
+
|
489
565
|
end
|
490
566
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ekm-omnimeter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jordan Duggan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|