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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 805b7edfbd3b7f9e44d1f93d0734abde1c97c3f0
4
- data.tar.gz: db58b9036c43cbc237acca4560fca9d2b750ce68
3
+ metadata.gz: 81c9725bd9f827fc67d3b86adf622ba2cbd130a3
4
+ data.tar.gz: 07f927b1852af3a02f5c5df84fcc78aa2fb791e6
5
5
  SHA512:
6
- metadata.gz: 70814f2e75bc91c8d5d41266e1cc7ecfbb636d2ec8852ba5a358de3d177fc03cea9b73c55b059fcbcd314702183f15a87601e6fcba9fe5429a6446b1622faa59
7
- data.tar.gz: 92c36cd70fd8888eb5ad3c796cfc01d1f353fb3f3ecba13a176a27963f349739edca2273a232bca87879c4a83a84cd5eb30ce6accbef01026824c3378b49fb7b
6
+ metadata.gz: cf5880321ac3ba5961df65c25ef49ad9339224de1a451ee34712e3e2cc55e00ede182a70253b183075da0199a1b903140066abf29b8f000beb0f15d3822a584d
7
+ data.tar.gz: abd636ab283d8680a7256b3523f033be1370d70fd6d3f45c420bfaad0235335ee07c47de80cd4797bd67b97f80c4729d2fca8be3688ed623dd0be37b3eb638db
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ekm-omnimeter (0.2.1)
4
+ ekm-omnimeter (0.2.2)
5
5
  log4r (~> 1.1)
6
6
  xively-rb-connector (~> 0.1)
7
7
 
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 # 1
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.pulse_input_hilo # 0
115
- m.direction_of_current # 1
116
- m.outputs_onoff # 1
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 # 0
123
+ m.auto_reset_max_demand # off
119
124
  m.settable_pulse_per_kwh_ratio # 800
120
125
 
121
126
 
data/Rakefile CHANGED
@@ -1,3 +1,4 @@
1
+ require 'rubygems/tasks'
1
2
  require "bundler/gem_tasks"
2
3
 
3
4
  require 'rspec/core/rake_task'
@@ -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
@@ -7,7 +7,7 @@ module EkmOmnimeter
7
7
  module VERSION #:nodoc:
8
8
  MAJOR = 0
9
9
  MINOR = 2
10
- PATCH = 2
10
+ PATCH = 3
11
11
 
12
12
  STRING = [MAJOR, MINOR, PATCH].join('.')
13
13
  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.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-03 00:00:00.000000000 Z
11
+ date: 2014-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler