ansible4ozw 0.0.1
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.
- data/lib/ansible.rb +47 -0
- data/lib/ansible/ansible_callback.rb +142 -0
- data/lib/ansible/ansible_device.rb +68 -0
- data/lib/ansible/ansible_value.rb +179 -0
- data/lib/ansible/config.rb +92 -0
- data/lib/ansible/devices/ansible_dimmer.rb +80 -0
- data/lib/ansible/devices/ansible_switch.rb +66 -0
- data/lib/ansible/knx/EIBConnection.rb +2371 -0
- data/lib/ansible/knx/dpt/canonical_1bit.rb +54 -0
- data/lib/ansible/knx/dpt/dpt1.rb +224 -0
- data/lib/ansible/knx/dpt/dpt10.rb +85 -0
- data/lib/ansible/knx/dpt/dpt11.rb +72 -0
- data/lib/ansible/knx/dpt/dpt12.rb +61 -0
- data/lib/ansible/knx/dpt/dpt13.rb +100 -0
- data/lib/ansible/knx/dpt/dpt14.rb +87 -0
- data/lib/ansible/knx/dpt/dpt15.rb +72 -0
- data/lib/ansible/knx/dpt/dpt16.rb +67 -0
- data/lib/ansible/knx/dpt/dpt17.rb +65 -0
- data/lib/ansible/knx/dpt/dpt18.rb +66 -0
- data/lib/ansible/knx/dpt/dpt19.rb +100 -0
- data/lib/ansible/knx/dpt/dpt2.rb +156 -0
- data/lib/ansible/knx/dpt/dpt3.rb +104 -0
- data/lib/ansible/knx/dpt/dpt4.rb +75 -0
- data/lib/ansible/knx/dpt/dpt5.rb +124 -0
- data/lib/ansible/knx/dpt/dpt6.rb +73 -0
- data/lib/ansible/knx/dpt/dpt7.rb +146 -0
- data/lib/ansible/knx/dpt/dpt8.rb +118 -0
- data/lib/ansible/knx/dpt/dpt9.rb +204 -0
- data/lib/ansible/knx/dpt/tests/test_dpt10.rb +45 -0
- data/lib/ansible/knx/dpt/tests/test_dpt9.rb +60 -0
- data/lib/ansible/knx/hexdump.rb +113 -0
- data/lib/ansible/knx/knx_dpt.rb +58 -0
- data/lib/ansible/knx/knx_dpt_scalar.rb +62 -0
- data/lib/ansible/knx/knx_eistypes.rb +76 -0
- data/lib/ansible/knx/knx_protocol.rb +99 -0
- data/lib/ansible/knx/knx_scene.rb +48 -0
- data/lib/ansible/knx/knx_tools.rb +76 -0
- data/lib/ansible/knx/knx_transceiver.rb +237 -0
- data/lib/ansible/knx/knx_value.rb +327 -0
- data/lib/ansible/openzwave/ozw_constants.rb +11 -0
- data/lib/ansible/openzwave/ozw_headers.rb +80 -0
- data/lib/ansible/openzwave/ozw_remote_manager.rb +7615 -0
- data/lib/ansible/openzwave/ozw_types.rb +406 -0
- data/lib/ansible/orbiter_proxy.rb +12 -0
- data/lib/ansible/transceiver.rb +63 -0
- data/lib/ansible/zwave/types/valuetype_bool.rb +74 -0
- data/lib/ansible/zwave/types/valuetype_button.rb +63 -0
- data/lib/ansible/zwave/types/valuetype_byte.rb +78 -0
- data/lib/ansible/zwave/types/valuetype_decimal.rb +64 -0
- data/lib/ansible/zwave/types/valuetype_int.rb +63 -0
- data/lib/ansible/zwave/types/valuetype_list.rb +64 -0
- data/lib/ansible/zwave/types/valuetype_short.rb +63 -0
- data/lib/ansible/zwave/types/valuetype_string.rb +61 -0
- data/lib/ansible/zwave/zwave_command_classes.rb +113 -0
- data/lib/ansible/zwave/zwave_node.rb +5 -0
- data/lib/ansible/zwave/zwave_protocol.rb +52 -0
- data/lib/ansible/zwave/zwave_transceiver.rb +435 -0
- data/lib/ansible/zwave/zwave_value.rb +193 -0
- metadata +108 -0
@@ -0,0 +1,100 @@
|
|
1
|
+
=begin
|
2
|
+
Project Ansible - An extensible home automation scripting framework
|
3
|
+
----------------------------------------------------
|
4
|
+
Copyright (c) 2011 Elias Karakoulakis <elias.karakoulakis@gmail.com>
|
5
|
+
|
6
|
+
SOFTWARE NOTICE AND LICENSE
|
7
|
+
|
8
|
+
Project Ansible is free software: you can redistribute it and/or modify
|
9
|
+
it under the terms of the GNU Lesser General Public License as published
|
10
|
+
by the Free Software Foundation, either version 3 of the License,
|
11
|
+
or (at your option) any later version.
|
12
|
+
|
13
|
+
Project Ansible is distributed in the hope that it will be useful,
|
14
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
GNU Lesser General Public License for more details.
|
17
|
+
|
18
|
+
You should have received a copy of the GNU Lesser General Public License
|
19
|
+
along with Project Ansible. If not, see <http://www.gnu.org/licenses/>.
|
20
|
+
|
21
|
+
for more information on the LGPL, see:
|
22
|
+
http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License
|
23
|
+
=end
|
24
|
+
|
25
|
+
module Ansible
|
26
|
+
|
27
|
+
module KNX
|
28
|
+
|
29
|
+
#
|
30
|
+
# DPT13: 4-byte signed value
|
31
|
+
#
|
32
|
+
module DPT13
|
33
|
+
|
34
|
+
class DPT13_Frame < DPTFrame
|
35
|
+
int32 :data, {
|
36
|
+
:display_name => "32-bit signed value",
|
37
|
+
:range => -2**31..2**31-1
|
38
|
+
}
|
39
|
+
end
|
40
|
+
|
41
|
+
# DPT13 base type info
|
42
|
+
Basetype = {
|
43
|
+
:bitlength => 32,
|
44
|
+
:valuetype => :basic,
|
45
|
+
:desc => "4-byte signed value"
|
46
|
+
}
|
47
|
+
|
48
|
+
# DPT13 subtypes
|
49
|
+
Subtypes = {
|
50
|
+
# 13.001 counter pulses (signed)
|
51
|
+
"001" => {
|
52
|
+
:name => "DPT_Value_4_Count", :desc => "counter pulses (signed)",
|
53
|
+
:unit => "pulses"
|
54
|
+
},
|
55
|
+
|
56
|
+
# 13.010 active energy (Wh)
|
57
|
+
"010" => {
|
58
|
+
:name => "DPT_ActiveEnergy", :desc => "active energy (Wh)",
|
59
|
+
:unit => "Wh"
|
60
|
+
},
|
61
|
+
|
62
|
+
# 13.011 apparent energy (VAh)
|
63
|
+
"011" => {
|
64
|
+
:name => "DPT_ApparantEnergy", :desc => "apparent energy (VAh)",
|
65
|
+
:unit => "VAh"
|
66
|
+
},
|
67
|
+
|
68
|
+
# 13.012 reactive energy (VARh)
|
69
|
+
"012" => {
|
70
|
+
:name => "DPT_ReactiveEnergy", :desc => "reactive energy (VARh)",
|
71
|
+
:unit => "VARh"
|
72
|
+
},
|
73
|
+
|
74
|
+
# 13.013 active energy (KWh)
|
75
|
+
"013" => {
|
76
|
+
:name => "DPT_ActiveEnergy_kWh", :desc => "active energy (kWh)",
|
77
|
+
:unit => "kWh"
|
78
|
+
},
|
79
|
+
|
80
|
+
# 13.014 apparent energy (kVAh)
|
81
|
+
"014" => {
|
82
|
+
:name => "DPT_ApparantEnergy_kVAh", :desc => "apparent energy (kVAh)",
|
83
|
+
:unit => "VAh"
|
84
|
+
},
|
85
|
+
|
86
|
+
# 13.015 reactive energy (kVARh)
|
87
|
+
"015" => {
|
88
|
+
:name => "DPT_ReactiveEnergy_kVARh", :desc => "reactive energy (kVARh)",
|
89
|
+
:unit => "kVARh"
|
90
|
+
},
|
91
|
+
|
92
|
+
# 13.100 time lag(s)
|
93
|
+
"100" => {
|
94
|
+
:name => "DPT_LongDeltaTimeSec", :desc => "time lag(s)",
|
95
|
+
:unit => "s"
|
96
|
+
},
|
97
|
+
}
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
=begin
|
2
|
+
Project Ansible - An extensible home automation scripting framework
|
3
|
+
----------------------------------------------------
|
4
|
+
Copyright (c) 2011 Elias Karakoulakis <elias.karakoulakis@gmail.com>
|
5
|
+
|
6
|
+
SOFTWARE NOTICE AND LICENSE
|
7
|
+
|
8
|
+
Project Ansible is free software: you can redistribute it and/or modify
|
9
|
+
it under the terms of the GNU Lesser General Public License as published
|
10
|
+
by the Free Software Foundation, either version 3 of the License,
|
11
|
+
or (at your option) any later version.
|
12
|
+
|
13
|
+
Project Ansible is distributed in the hope that it will be useful,
|
14
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
GNU Lesser General Public License for more details.
|
17
|
+
|
18
|
+
You should have received a copy of the GNU Lesser General Public License
|
19
|
+
along with Project Ansible. If not, see <http://www.gnu.org/licenses/>.
|
20
|
+
|
21
|
+
for more information on the LGPL, see:
|
22
|
+
http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License
|
23
|
+
=end
|
24
|
+
|
25
|
+
module Ansible
|
26
|
+
|
27
|
+
module KNX
|
28
|
+
|
29
|
+
#
|
30
|
+
# DPT14.*: 4-byte floating point value
|
31
|
+
#
|
32
|
+
module DPT14
|
33
|
+
|
34
|
+
# special Bindata::Primitive class required
|
35
|
+
# for non-standard 32-bit floats used by DPT14
|
36
|
+
class DPT14_Float < BinData::Primitive
|
37
|
+
endian :big
|
38
|
+
#
|
39
|
+
bit1 :sign, :display_name => "Sign"
|
40
|
+
bit8 :exp, :display_name => "Exponent"
|
41
|
+
bit23 :mant, :display_name => "Mantissa"
|
42
|
+
#
|
43
|
+
def get
|
44
|
+
# puts "sign=#{sign} exp=#{exp} mant=#{mant}"
|
45
|
+
mantissa = (self.sign==1) ? ~(self.mant^8388607) : self.mant
|
46
|
+
return Math.ldexp(mantissa, self.exp)
|
47
|
+
end
|
48
|
+
#
|
49
|
+
#DPT9_Range = -671088.64..670760.96
|
50
|
+
#
|
51
|
+
def set(v)
|
52
|
+
#raise "Value (#{v}) out of range" unless DPT9_Range === v
|
53
|
+
mantissa, exponent = Math.frexp(v)
|
54
|
+
#puts "#{self}.set(#{v}) with initial mantissa=#{mantissa}, exponent=#{exponent}"
|
55
|
+
# find the minimum exponent that will upsize the normalized mantissa (0,5 to 1 range)
|
56
|
+
# in order to fit in 11 bits (-2048..2047)
|
57
|
+
max_mantissa = 0
|
58
|
+
minimum_exp = exponent.downto(-127).find{ | e |
|
59
|
+
max_mantissa = Math.ldexp(100*mantissa, e).to_i
|
60
|
+
max_mantissa.between?(-8388608, 8388607)
|
61
|
+
}
|
62
|
+
self.sign = (mantissa < 0) ? 1 : 0
|
63
|
+
self.mant = (mantissa < 0) ? ~(max_mantissa^8388607) : max_mantissa
|
64
|
+
self.exp = exponent - minimum_exp
|
65
|
+
end # set
|
66
|
+
end
|
67
|
+
|
68
|
+
# Bitstruct to parse a DPT9 frame.
|
69
|
+
# Always 8-bit aligned.
|
70
|
+
class DPT14_Frame < BinData::Record
|
71
|
+
dpt14_float :data
|
72
|
+
end
|
73
|
+
|
74
|
+
# DPT14 base type info
|
75
|
+
Basetype = {
|
76
|
+
:bitlength => 32,
|
77
|
+
:valuetype => :basic,
|
78
|
+
:desc => "32-bit floating point value"
|
79
|
+
}
|
80
|
+
|
81
|
+
# DPT14 subtypes info
|
82
|
+
Subtypes = {
|
83
|
+
# TODO: so fucking many of them!
|
84
|
+
}
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
=begin
|
2
|
+
Project Ansible - An extensible home automation scripting framework
|
3
|
+
----------------------------------------------------
|
4
|
+
Copyright (c) 2011 Elias Karakoulakis <elias.karakoulakis@gmail.com>
|
5
|
+
|
6
|
+
SOFTWARE NOTICE AND LICENSE
|
7
|
+
|
8
|
+
Project Ansible is free software: you can redistribute it and/or modify
|
9
|
+
it under the terms of the GNU Lesser General Public License as published
|
10
|
+
by the Free Software Foundation, either version 3 of the License,
|
11
|
+
or (at your option) any later version.
|
12
|
+
|
13
|
+
Project Ansible is distributed in the hope that it will be useful,
|
14
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
GNU Lesser General Public License for more details.
|
17
|
+
|
18
|
+
You should have received a copy of the GNU Lesser General Public License
|
19
|
+
along with Project Ansible. If not, see <http://www.gnu.org/licenses/>.
|
20
|
+
|
21
|
+
for more information on the LGPL, see:
|
22
|
+
http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License
|
23
|
+
=end
|
24
|
+
|
25
|
+
module Ansible
|
26
|
+
|
27
|
+
module KNX
|
28
|
+
|
29
|
+
#
|
30
|
+
# DPT15.*: Access data
|
31
|
+
#
|
32
|
+
module DPT15
|
33
|
+
|
34
|
+
# Bitstruct to parse a DPT4 frame.
|
35
|
+
# Always 8-bit aligned.
|
36
|
+
class DPT15_Frame < DPTFrame
|
37
|
+
bit4 :d6, :display_name => "D6"
|
38
|
+
bit4 :d5, :display_name => "D5"
|
39
|
+
#
|
40
|
+
bit4 :d4, :display_name => "D4"
|
41
|
+
bit4 :d3, :display_name => "D3"
|
42
|
+
#
|
43
|
+
bit4 :d2, :display_name => "D2"
|
44
|
+
bit4 :d1, :display_name => "D1"
|
45
|
+
#
|
46
|
+
bit1 :e
|
47
|
+
bit1 :p
|
48
|
+
bit1 :d
|
49
|
+
bit1 :c
|
50
|
+
bit4 :idx
|
51
|
+
end
|
52
|
+
|
53
|
+
# DPT15 base type info
|
54
|
+
Basetype = {
|
55
|
+
:bitlength => 32,
|
56
|
+
:valuetype => :basic,
|
57
|
+
:desc => "4-byte access control data"
|
58
|
+
}
|
59
|
+
|
60
|
+
# DPT8 subtypes info
|
61
|
+
Subtypes = {
|
62
|
+
"000" => {
|
63
|
+
:name => "DPT_Access_Data"
|
64
|
+
}
|
65
|
+
}
|
66
|
+
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
|
@@ -0,0 +1,67 @@
|
|
1
|
+
=begin
|
2
|
+
Project Ansible - An extensible home automation scripting framework
|
3
|
+
----------------------------------------------------
|
4
|
+
Copyright (c) 2011 Elias Karakoulakis <elias.karakoulakis@gmail.com>
|
5
|
+
|
6
|
+
SOFTWARE NOTICE AND LICENSE
|
7
|
+
|
8
|
+
Project Ansible is free software: you can redistribute it and/or modify
|
9
|
+
it under the terms of the GNU Lesser General Public License as published
|
10
|
+
by the Free Software Foundation, either version 3 of the License,
|
11
|
+
or (at your option) any later version.
|
12
|
+
|
13
|
+
Project Ansible is distributed in the hope that it will be useful,
|
14
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
GNU Lesser General Public License for more details.
|
17
|
+
|
18
|
+
You should have received a copy of the GNU Lesser General Public License
|
19
|
+
along with Project Ansible. If not, see <http://www.gnu.org/licenses/>.
|
20
|
+
|
21
|
+
for more information on the LGPL, see:
|
22
|
+
http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License
|
23
|
+
=end
|
24
|
+
|
25
|
+
module Ansible
|
26
|
+
|
27
|
+
module KNX
|
28
|
+
|
29
|
+
#
|
30
|
+
# DPT16: ASCII string
|
31
|
+
#
|
32
|
+
module DPT16
|
33
|
+
|
34
|
+
# Bitstruct to parse a DPT16 frame.
|
35
|
+
# Always 8-bit aligned.
|
36
|
+
class DPT16_Frame < DPTFrame
|
37
|
+
string :data, :length => 14
|
38
|
+
end
|
39
|
+
|
40
|
+
# DPT16 basetype info
|
41
|
+
Basetype = {
|
42
|
+
:bitlength => 14*8,
|
43
|
+
:valuetype => :basic,
|
44
|
+
:desc => "14-character string"
|
45
|
+
}
|
46
|
+
|
47
|
+
# DPT9 subtypes
|
48
|
+
Subtypes = {
|
49
|
+
# 16.000 ASCII string
|
50
|
+
"000" => { :use => "G",
|
51
|
+
:name => "DPT_String_ASCII", :desc => "ASCII string",
|
52
|
+
:force_encoding => "US-ASCII"
|
53
|
+
},
|
54
|
+
|
55
|
+
# 16.001 ISO-8859-1 string
|
56
|
+
"001" => { :use => "G",
|
57
|
+
:name => "DPT_String_8859_1", :desc => "ISO-8859-1 string",
|
58
|
+
:force_encoding => "ISO-8859-1"
|
59
|
+
},
|
60
|
+
}
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
|
@@ -0,0 +1,65 @@
|
|
1
|
+
=begin
|
2
|
+
Project Ansible - An extensible home automation scripting framework
|
3
|
+
----------------------------------------------------
|
4
|
+
Copyright (c) 2011 Elias Karakoulakis <elias.karakoulakis@gmail.com>
|
5
|
+
|
6
|
+
SOFTWARE NOTICE AND LICENSE
|
7
|
+
|
8
|
+
Project Ansible is free software: you can redistribute it and/or modify
|
9
|
+
it under the terms of the GNU Lesser General Public License as published
|
10
|
+
by the Free Software Foundation, either version 3 of the License,
|
11
|
+
or (at your option) any later version.
|
12
|
+
|
13
|
+
Project Ansible is distributed in the hope that it will be useful,
|
14
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
GNU Lesser General Public License for more details.
|
17
|
+
|
18
|
+
You should have received a copy of the GNU Lesser General Public License
|
19
|
+
along with Project Ansible. If not, see <http://www.gnu.org/licenses/>.
|
20
|
+
|
21
|
+
for more information on the LGPL, see:
|
22
|
+
http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License
|
23
|
+
=end
|
24
|
+
|
25
|
+
require 'bindata'
|
26
|
+
|
27
|
+
module Ansible
|
28
|
+
|
29
|
+
module KNX
|
30
|
+
|
31
|
+
#
|
32
|
+
# DPT17: Scene number
|
33
|
+
#
|
34
|
+
module DPT17
|
35
|
+
|
36
|
+
# Bitstruct to parse a DPT17 frame.
|
37
|
+
# Always 8-bit aligned.
|
38
|
+
class DPT17_Frame < DPTFrame
|
39
|
+
bit2 :pad
|
40
|
+
bit6 :data, {
|
41
|
+
:display_name => "Scene number"
|
42
|
+
}
|
43
|
+
end
|
44
|
+
|
45
|
+
# DPT16 basetype info
|
46
|
+
Basetype = {
|
47
|
+
:bitlength => 8,
|
48
|
+
:valuetype => :basic,
|
49
|
+
:desc => "scene number"
|
50
|
+
}
|
51
|
+
|
52
|
+
# DPT9 subtypes
|
53
|
+
Subtypes = {
|
54
|
+
# 17.001 Scene number
|
55
|
+
"001" => { :use => "G",
|
56
|
+
:name => "DPT_SceneNumber", :desc => "Scene Number",
|
57
|
+
},
|
58
|
+
}
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
|
@@ -0,0 +1,66 @@
|
|
1
|
+
=begin
|
2
|
+
Project Ansible - An extensible home automation scripting framework
|
3
|
+
----------------------------------------------------
|
4
|
+
Copyright (c) 2011 Elias Karakoulakis <elias.karakoulakis@gmail.com>
|
5
|
+
|
6
|
+
SOFTWARE NOTICE AND LICENSE
|
7
|
+
|
8
|
+
Project Ansible is free software: you can redistribute it and/or modify
|
9
|
+
it under the terms of the GNU Lesser General Public License as published
|
10
|
+
by the Free Software Foundation, either version 3 of the License,
|
11
|
+
or (at your option) any later version.
|
12
|
+
|
13
|
+
Project Ansible is distributed in the hope that it will be useful,
|
14
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
GNU Lesser General Public License for more details.
|
17
|
+
|
18
|
+
You should have received a copy of the GNU Lesser General Public License
|
19
|
+
along with Project Ansible. If not, see <http://www.gnu.org/licenses/>.
|
20
|
+
|
21
|
+
for more information on the LGPL, see:
|
22
|
+
http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License
|
23
|
+
=end
|
24
|
+
|
25
|
+
module Ansible
|
26
|
+
|
27
|
+
module KNX
|
28
|
+
|
29
|
+
#
|
30
|
+
# DPT18: 8-bit Scene Control
|
31
|
+
#
|
32
|
+
module DPT18
|
33
|
+
|
34
|
+
class DPT18_Frame < DPTFrame
|
35
|
+
bit1 :exec_learn, {
|
36
|
+
:display_name => "Execute=0, Learn = 1"
|
37
|
+
}
|
38
|
+
bit1 :pad, {
|
39
|
+
:display_name => "Reserved bit"
|
40
|
+
}
|
41
|
+
bit6 :data, {
|
42
|
+
:display_name => "Scene number"
|
43
|
+
}
|
44
|
+
end
|
45
|
+
|
46
|
+
# DPT18 basetype info
|
47
|
+
Basetype = {
|
48
|
+
:bitlength => 8,
|
49
|
+
:valuetype => :composite,
|
50
|
+
:desc => "8-bit Scene Activate/Learn + number"
|
51
|
+
}
|
52
|
+
|
53
|
+
# DPT9 subtypes
|
54
|
+
Subtypes = {
|
55
|
+
# 9.001 temperature (oC)
|
56
|
+
"001" => {
|
57
|
+
:name => "DPT_SceneControl", :desc => "scene control"
|
58
|
+
},
|
59
|
+
}
|
60
|
+
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|