teleinfo 0.0.3 → 0.0.4

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: 1e10c9712ac2920c109a4eefff000c6671d4e70e
4
- data.tar.gz: 4ed94c8c70f0c1511699784c4a8b5a7bbea1fb84
3
+ metadata.gz: 6a2e5151fc0f9dbec1fba1108594c584ecc4e117
4
+ data.tar.gz: 10da7915e62199e51315977da784e86e6fbdfae5
5
5
  SHA512:
6
- metadata.gz: ff0c6a269c1b2355f46d7b303e6971ed7673d8026d4dd555e590b78f91e3878d52c99b64b5d453e30186599bae28a0dad6878b0755607b0c9a91d87e4f83a752
7
- data.tar.gz: b9dd55ab1c06ff706a53d7273724a8fcf4484df91c5203b5dd97ca1ec04f3ff9cc994176d2a45b69e0628e3671ce2e5734077d47ab8c2aabd4573de771971939
6
+ metadata.gz: 8c3e077084c4c7c6527e36481e71ac5878c5edb948c8c0d8b7715b860429073dfaaca4b5b257fe8de07a58b8479c6e241054a3a6d5997fe9a24a33d5ba43b648
7
+ data.tar.gz: aa71929e5e90f8f7c7dec11ac7359165550e2b0cdfe80a57189f51e519e1cbd99d48ddcc01b49281862ecf27d62c5b6e3f103017f20a704d25ddac5bfd9230f3
data/CHANGELOG CHANGED
@@ -1,3 +1,6 @@
1
+ 0.0.4
2
+ * Handle "TEMPO" tarif. Thanks to Guillaume Betous
3
+
1
4
  0.0.3
2
5
  * Handle "BASE" tarif. Thanks to Guillaume Betous
3
6
 
data/README.md CHANGED
@@ -44,7 +44,7 @@ or
44
44
 
45
45
  $ cat /dev/ttyAMA0 | teleinfo
46
46
 
47
- You'll get on stdout a Hash representation like:
47
+ You'll get on stdout a JSON representation like:
48
48
 
49
49
  {"adco":"424242424242","optarif":"HC","isousc":30,"hchc":25036224,"hchp":40244232,"ptec":"HP","iinst":16,"imax":41,"papp":3580,"hhphc":"D"}
50
50
 
@@ -29,11 +29,11 @@ module Teleinfo
29
29
  @data[:optarif] = $1.sub(/\.+$/, '')
30
30
  when /^ISOUSC (\d{2}) ./
31
31
  @data[:isousc] = $1.to_i
32
- when /^BASE (\d{9}) ./
32
+ when /^BASE (\d{9}) ./ # BASE TARIF
33
33
  @data[:base] = $1.to_i
34
- when /^HCHC (\d{9}) ./
35
- @data[:hchc] = $1.to_i
36
- when /^HCHP (\d{9}) ./
34
+ when /^HCHC (\d{9}) ./ # HPHC TARIF
35
+ @data[:hchc] = $1.to_i # HPHC TARIF
36
+ when /^HCHP (\d{9}) ./ # HPHC TARIF
37
37
  @data[:hchp] = $1.to_i
38
38
  when /^PAPP (\d{5}) ./
39
39
  @data[:papp] = $1.to_i
@@ -43,9 +43,23 @@ module Teleinfo
43
43
  @data[:iinst] = $1.to_i
44
44
  when /^IMAX (\d{3}) ./
45
45
  @data[:imax] = $1.to_i
46
- when /^HHPHC (\S{1})/
46
+ when /^HHPHC (\S{1})/ # HPHC TARIF
47
47
  @data[:hhphc] = $1
48
- when /^ADPS (\d{3})/
48
+ when /^BBRHCJB (\d{9}) ./ # TEMPO Jour Bleu
49
+ @data[:bbrhcjb] = $1.to_i
50
+ when /^BBRHPJB (\d{9}) ./
51
+ @data[:bbrhpjb] = $1.to_i # TEMPO Jour Bleu
52
+ when /^BBRHCJW (\d{9}) ./
53
+ @data[:bbrhcjw] = $1.to_i # TEMPO Jour Blanc
54
+ when /^BBRHPJW (\d{9}) ./
55
+ @data[:bbrhpjw] = $1.to_i # TEMPO Jour Blanc
56
+ when /^BBRHCJR (\d{9}) ./
57
+ @data[:bbrhcjr] = $1.to_i # TEMPO Jour rouge
58
+ when /^BBRHPJR (\d{9}) ./
59
+ @data[:bbrhpjr] = $1.to_i # TEMPO Jour rouge
60
+ when /^DEMAIN (\S{4}) ./ # TEMPO lendemain
61
+ @data[:bbrhpjr] = $1
62
+ when /^ADPS (\d{3})/ # Alerte dépassement de seuil
49
63
  @data[:adps] = $1.to_i
50
64
  when /MOTDETAT/
51
65
  # always 00000…
@@ -1,3 +1,3 @@
1
1
  module Teleinfo
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -1,10 +1,9 @@
1
1
  require 'spec_helper'
2
2
 
3
- StringFrame = [
3
+ StringFrameHPHC = [
4
4
  'ADCO 424242424242 E',
5
5
  'OPTARIF HC.. <',
6
6
  'ISOUSC 30 9',
7
- 'BASE 101597537 1',
8
7
  'HCHC 023995979 ;',
9
8
  'HCHP 038653523 6',
10
9
  'PTEC HP.. ',
@@ -14,6 +13,36 @@ StringFrame = [
14
13
  'HHPHC D'
15
14
  ]
16
15
 
16
+ StringFrameBASE = [
17
+ 'ADCO 424242424242 E',
18
+ 'OPTARIF HC.. <',
19
+ 'ISOUSC 30 9',
20
+ 'BASE 101597537 1',
21
+ 'PTEC TH.. $',
22
+ 'IINST 008 _',
23
+ 'IMAX 041 D',
24
+ 'PAPP 01770 0',
25
+ ]
26
+
27
+ StringFrameTEMPO = [
28
+ 'ADCO 424242424242 E',
29
+ 'OPTARIF BBR( S',
30
+ 'ISOUSC 90 ?',
31
+ 'BBRHCJB 044659149 G',
32
+ 'BBRHPJB 106861212 E',
33
+ 'BBRHCJW 009486954 _',
34
+ 'BBRHPJW 017712424 [',
35
+ 'BBRHCJR 005468651 P',
36
+ 'BBRHPJR 009396630 ^',
37
+ 'PTEC HPJB P',
38
+ 'DEMAIN ---- "',
39
+ 'IINST 022 [',
40
+ 'IMAX 041 D',
41
+ 'PAPP 05240 ,',
42
+ 'HHPHC Y D',
43
+ 'MOTDETAT 000000 B'
44
+ ]
45
+
17
46
  describe Teleinfo::Frame do
18
47
  it 'should instanciate only with a non empty Array of String' do
19
48
  expect{ Teleinfo::Frame.new() }.to raise_error
@@ -26,17 +55,18 @@ describe Teleinfo::Frame do
26
55
  end
27
56
 
28
57
  it 'should have no error when parsing a correct frame' do
29
- frame = Teleinfo::Frame.new(StringFrame)
58
+ frame = Teleinfo::Frame.new(StringFrameBASE)
59
+ expect(frame.errors).to eq([])
60
+ frame = Teleinfo::Frame.new(StringFrameHPHC)
30
61
  expect(frame.errors).to eq([])
31
62
  end
32
63
 
33
- it 'should return valid Hash on #to_hash' do
34
- frame = Teleinfo::Frame.new(StringFrame)
64
+ it 'should return valid Hash on #to_hash for HPHC' do
65
+ frame = Teleinfo::Frame.new(StringFrameHPHC)
35
66
  expect(frame.to_hash).to eq({
36
67
  :adco=>"424242424242",
37
68
  :optarif=>"HC",
38
69
  :isousc=>30,
39
- :base=>101597537,
40
70
  :hchc=>23995979,
41
71
  :hchp=>38653523,
42
72
  :ptec=>"HP",
@@ -46,4 +76,38 @@ describe Teleinfo::Frame do
46
76
  :hhphc=>"D"
47
77
  })
48
78
  end
79
+
80
+ it 'should return valid Hash on #to_hash for BASE' do
81
+ frame = Teleinfo::Frame.new(StringFrameBASE)
82
+ expect(frame.to_hash).to eq({
83
+ :adco=>"424242424242",
84
+ :optarif=>"HC",
85
+ :isousc=>30,
86
+ :base=>101597537,
87
+ :ptec=>'TH',
88
+ :iinst=>8,
89
+ :imax=>41,
90
+ :papp=>1770
91
+ })
92
+ end
93
+
94
+ it 'should return valid Hash on #to_hash for TEMPO' do
95
+ frame = Teleinfo::Frame.new(StringFrameTEMPO)
96
+ expect(frame.to_hash).to eq({
97
+ :adco=>"424242424242",
98
+ :bbrhcjb => 44659149,
99
+ :bbrhcjr => 5468651,
100
+ :bbrhcjw => 9486954,
101
+ :bbrhpjb => 106861212,
102
+ :bbrhpjr => "----",
103
+ :bbrhpjw => 17712424,
104
+ :hhphc=>"Y",
105
+ :optarif=>"BBR(",
106
+ :isousc=>90,
107
+ :ptec=>'HPJB',
108
+ :iinst=>22,
109
+ :imax=>41,
110
+ :papp=>5240
111
+ })
112
+ end
49
113
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teleinfo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Lecavelier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-16 00:00:00.000000000 Z
11
+ date: 2015-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler