teleinfo 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +3 -0
- data/README.md +1 -1
- data/lib/teleinfo/frame.rb +20 -6
- data/lib/teleinfo/version.rb +1 -1
- data/spec/frame_spec.rb +70 -6
- 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: 6a2e5151fc0f9dbec1fba1108594c584ecc4e117
|
4
|
+
data.tar.gz: 10da7915e62199e51315977da784e86e6fbdfae5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c3e077084c4c7c6527e36481e71ac5878c5edb948c8c0d8b7715b860429073dfaaca4b5b257fe8de07a58b8479c6e241054a3a6d5997fe9a24a33d5ba43b648
|
7
|
+
data.tar.gz: aa71929e5e90f8f7c7dec11ac7359165550e2b0cdfe80a57189f51e519e1cbd99d48ddcc01b49281862ecf27d62c5b6e3f103017f20a704d25ddac5bfd9230f3
|
data/CHANGELOG
CHANGED
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
|
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
|
|
data/lib/teleinfo/frame.rb
CHANGED
@@ -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 /^
|
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…
|
data/lib/teleinfo/version.rb
CHANGED
data/spec/frame_spec.rb
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
|
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(
|
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(
|
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.
|
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-
|
11
|
+
date: 2015-03-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|