ekm-omnimeter 0.2.2 → 0.2.3

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 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