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