maxcube-client 0.4.1 → 0.5.0

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.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +6 -0
  3. data/.rubocop.yml +0 -3
  4. data/.yardopts +1 -0
  5. data/README.md +17 -2
  6. data/bin/maxcube-client +2 -27
  7. data/doc/MaxCube.html +502 -0
  8. data/doc/MaxCube/Messages.html +1927 -0
  9. data/doc/MaxCube/Messages/Handler.html +2912 -0
  10. data/doc/MaxCube/Messages/InvalidMessage.html +140 -0
  11. data/doc/MaxCube/Messages/InvalidMessageBody.html +264 -0
  12. data/doc/MaxCube/Messages/InvalidMessageFormat.html +247 -0
  13. data/doc/MaxCube/Messages/InvalidMessageLength.html +247 -0
  14. data/doc/MaxCube/Messages/InvalidMessageType.html +263 -0
  15. data/doc/MaxCube/Messages/Parser.html +520 -0
  16. data/doc/MaxCube/Messages/Serializer.html +701 -0
  17. data/doc/MaxCube/Messages/TCP.html +172 -0
  18. data/doc/MaxCube/Messages/TCP/Handler.html +1396 -0
  19. data/doc/MaxCube/Messages/TCP/Parser.html +462 -0
  20. data/doc/MaxCube/Messages/TCP/Parser/MessageA.html +186 -0
  21. data/doc/MaxCube/Messages/TCP/Parser/MessageC.html +1077 -0
  22. data/doc/MaxCube/Messages/TCP/Parser/MessageF.html +206 -0
  23. data/doc/MaxCube/Messages/TCP/Parser/MessageH.html +338 -0
  24. data/doc/MaxCube/Messages/TCP/Parser/MessageL.html +535 -0
  25. data/doc/MaxCube/Messages/TCP/Parser/MessageM.html +510 -0
  26. data/doc/MaxCube/Messages/TCP/Parser/MessageN.html +226 -0
  27. data/doc/MaxCube/Messages/TCP/Parser/MessageS.html +225 -0
  28. data/doc/MaxCube/Messages/TCP/Serializer.html +460 -0
  29. data/doc/MaxCube/Messages/TCP/Serializer/MessageA.html +186 -0
  30. data/doc/MaxCube/Messages/TCP/Serializer/MessageC.html +185 -0
  31. data/doc/MaxCube/Messages/TCP/Serializer/MessageF.html +206 -0
  32. data/doc/MaxCube/Messages/TCP/Serializer/MessageL.html +185 -0
  33. data/doc/MaxCube/Messages/TCP/Serializer/MessageM.html +428 -0
  34. data/doc/MaxCube/Messages/TCP/Serializer/MessageN.html +209 -0
  35. data/doc/MaxCube/Messages/TCP/Serializer/MessageQ.html +185 -0
  36. data/doc/MaxCube/Messages/TCP/Serializer/MessageS.html +1168 -0
  37. data/doc/MaxCube/Messages/TCP/Serializer/MessageT.html +240 -0
  38. data/doc/MaxCube/Messages/TCP/Serializer/MessageU.html +206 -0
  39. data/doc/MaxCube/Messages/TCP/Serializer/MessageZ.html +252 -0
  40. data/doc/MaxCube/Messages/UDP.html +164 -0
  41. data/doc/MaxCube/Messages/UDP/Handler.html +832 -0
  42. data/doc/MaxCube/Messages/UDP/Parser.html +609 -0
  43. data/doc/MaxCube/Messages/UDP/Parser/MessageH.html +218 -0
  44. data/doc/MaxCube/Messages/UDP/Parser/MessageI.html +215 -0
  45. data/doc/MaxCube/Messages/UDP/Parser/MessageN.html +226 -0
  46. data/doc/MaxCube/Messages/UDP/Serializer.html +484 -0
  47. data/doc/MaxCube/Network.html +167 -0
  48. data/doc/MaxCube/Network/TCP.html +150 -0
  49. data/doc/MaxCube/Network/TCP/Client.html +1930 -0
  50. data/doc/MaxCube/Network/TCP/Client/Commands.html +2457 -0
  51. data/doc/MaxCube/Network/TCP/SampleServer.html +910 -0
  52. data/doc/MaxCube/Network/UDP.html +150 -0
  53. data/doc/MaxCube/Network/UDP/Client.html +518 -0
  54. data/doc/MaxCube/Network/UDP/SampleSocket.html +628 -0
  55. data/doc/MaxCube/Runner.html +355 -0
  56. data/doc/_index.html +518 -0
  57. data/doc/class_list.html +51 -0
  58. data/doc/css/common.css +1 -0
  59. data/doc/css/full_list.css +58 -0
  60. data/doc/css/style.css +499 -0
  61. data/doc/file.README.html +140 -0
  62. data/doc/file_list.html +56 -0
  63. data/doc/frames.html +17 -0
  64. data/doc/index.html +140 -0
  65. data/doc/js/app.js +248 -0
  66. data/doc/js/full_list.js +216 -0
  67. data/doc/js/jquery.js +4 -0
  68. data/doc/method_list.html +1699 -0
  69. data/doc/top-level-namespace.html +110 -0
  70. data/lib/maxcube.rb +11 -0
  71. data/lib/maxcube/messages.rb +85 -8
  72. data/lib/maxcube/messages/handler.rb +138 -4
  73. data/lib/maxcube/messages/parser.rb +33 -2
  74. data/lib/maxcube/messages/serializer.rb +64 -16
  75. data/lib/maxcube/messages/tcp.rb +11 -7
  76. data/lib/maxcube/messages/tcp/handler.rb +50 -2
  77. data/lib/maxcube/messages/tcp/parser.rb +18 -17
  78. data/lib/maxcube/messages/tcp/serializer.rb +20 -21
  79. data/lib/maxcube/messages/tcp/type/a.rb +6 -6
  80. data/lib/maxcube/messages/tcp/type/c.rb +5 -3
  81. data/lib/maxcube/messages/tcp/type/f.rb +5 -3
  82. data/lib/maxcube/messages/tcp/type/h.rb +3 -2
  83. data/lib/maxcube/messages/tcp/type/l.rb +8 -7
  84. data/lib/maxcube/messages/tcp/type/m.rb +11 -7
  85. data/lib/maxcube/messages/tcp/type/n.rb +5 -3
  86. data/lib/maxcube/messages/tcp/type/q.rb +2 -2
  87. data/lib/maxcube/messages/tcp/type/s.rb +5 -2
  88. data/lib/maxcube/messages/tcp/type/t.rb +5 -4
  89. data/lib/maxcube/messages/tcp/type/u.rb +2 -1
  90. data/lib/maxcube/messages/tcp/type/z.rb +4 -2
  91. data/lib/maxcube/messages/udp.rb +7 -0
  92. data/lib/maxcube/messages/udp/handler.rb +28 -0
  93. data/lib/maxcube/messages/udp/parser.rb +23 -6
  94. data/lib/maxcube/messages/udp/serializer.rb +17 -1
  95. data/lib/maxcube/messages/udp/type/h.rb +2 -0
  96. data/lib/maxcube/messages/udp/type/i.rb +3 -0
  97. data/lib/maxcube/messages/udp/type/n.rb +3 -0
  98. data/lib/maxcube/network.rb +5 -1
  99. data/lib/maxcube/network/tcp.rb +3 -0
  100. data/lib/maxcube/network/tcp/client.rb +117 -3
  101. data/lib/maxcube/network/tcp/client/commands.rb +306 -239
  102. data/lib/maxcube/network/tcp/sample_server.rb +1 -0
  103. data/lib/maxcube/network/udp.rb +3 -0
  104. data/lib/maxcube/network/udp/client.rb +2 -0
  105. data/lib/maxcube/network/udp/sample_socket.rb +1 -0
  106. data/lib/maxcube/runner.rb +45 -0
  107. data/lib/maxcube/version.rb +2 -1
  108. data/maxcube-client.gemspec +2 -0
  109. metadata +84 -3
@@ -0,0 +1,186 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Module: MaxCube::Messages::TCP::Parser::MessageA
8
+
9
+ &mdash; Documentation by YARD 0.9.12
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../../../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../../../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "MaxCube::Messages::TCP::Parser::MessageA";
19
+ relpath = '../../../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../../../../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../../../../_index.html">Index (M)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../../../MaxCube.html" title="MaxCube (module)">MaxCube</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../../Messages.html" title="MaxCube::Messages (module)">Messages</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../TCP.html" title="MaxCube::Messages::TCP (module)">TCP</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Parser.html" title="MaxCube::Messages::TCP::Parser (class)">Parser</a></span></span>
41
+ &raquo;
42
+ <span class="title">MessageA</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../../../../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Module: MaxCube::Messages::TCP::Parser::MessageA
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ <dl>
80
+ <dt>Defined in:</dt>
81
+ <dd>lib/maxcube/messages/tcp/type/a.rb</dd>
82
+ </dl>
83
+
84
+ </div>
85
+
86
+ <h2>Overview</h2><div class="docstring">
87
+ <div class="discussion">
88
+
89
+ <p>Acknowledgement message to previous command e.g. factory reset (a), delete
90
+ a device (t), wake up (z). Does not contain any data.</p>
91
+
92
+
93
+ </div>
94
+ </div>
95
+ <div class="tags">
96
+
97
+
98
+ </div>
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+ <h2>
107
+ Instance Method Summary
108
+ <small><a href="#" class="summary_toggle">collapse</a></small>
109
+ </h2>
110
+
111
+ <ul class="summary">
112
+
113
+ <li class="private ">
114
+ <span class="summary_signature">
115
+
116
+ <a href="#parse_tcp_a-instance_method" title="#parse_tcp_a (instance method)">#<strong>parse_tcp_a</strong>(_body) &#x21d2; Object </a>
117
+
118
+
119
+
120
+ </span>
121
+
122
+
123
+
124
+ <span class="note title private">private</span>
125
+
126
+
127
+
128
+
129
+
130
+ <span class="summary_desc"><div class='inline'></div></span>
131
+
132
+ </li>
133
+
134
+
135
+ </ul>
136
+
137
+
138
+
139
+
140
+ <div id="instance_method_details" class="method_details_list">
141
+ <h2>Instance Method Details</h2>
142
+
143
+
144
+ <div class="method_details first">
145
+ <h3 class="signature first" id="parse_tcp_a-instance_method">
146
+
147
+ #<strong>parse_tcp_a</strong>(_body) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
148
+
149
+
150
+
151
+
152
+
153
+ </h3><table class="source_code">
154
+ <tr>
155
+ <td>
156
+ <pre class="lines">
157
+
158
+
159
+ 12
160
+ 13
161
+ 14</pre>
162
+ </td>
163
+ <td>
164
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/a.rb', line 12</span>
165
+
166
+ <span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_a'>parse_tcp_a</span><span class='lparen'>(</span><span class='id identifier rubyid__body'>_body</span><span class='rparen'>)</span>
167
+ <span class='lbrace'>{</span><span class='rbrace'>}</span>
168
+ <span class='kw'>end</span></pre>
169
+ </td>
170
+ </tr>
171
+ </table>
172
+ </div>
173
+
174
+ </div>
175
+
176
+ </div>
177
+
178
+ <div id="footer">
179
+ Generated on Fri Feb 16 13:44:01 2018 by
180
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
181
+ 0.9.12 (ruby-2.5.0).
182
+ </div>
183
+
184
+ </div>
185
+ </body>
186
+ </html>
@@ -0,0 +1,1077 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Module: MaxCube::Messages::TCP::Parser::MessageC
8
+
9
+ &mdash; Documentation by YARD 0.9.12
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../../../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../../../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "MaxCube::Messages::TCP::Parser::MessageC";
19
+ relpath = '../../../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../../../../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../../../../_index.html">Index (M)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../../../MaxCube.html" title="MaxCube (module)">MaxCube</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../../Messages.html" title="MaxCube::Messages (module)">Messages</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../TCP.html" title="MaxCube::Messages::TCP (module)">TCP</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Parser.html" title="MaxCube::Messages::TCP::Parser (class)">Parser</a></span></span>
41
+ &raquo;
42
+ <span class="title">MessageC</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../../../../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Module: MaxCube::Messages::TCP::Parser::MessageC
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ <dl>
80
+ <dt>Defined in:</dt>
81
+ <dd>lib/maxcube/messages/tcp/type/c.rb</dd>
82
+ </dl>
83
+
84
+ </div>
85
+
86
+ <h2>Overview</h2><div class="docstring">
87
+ <div class="discussion">
88
+
89
+ <p>Configuration message.</p>
90
+
91
+
92
+ </div>
93
+ </div>
94
+ <div class="tags">
95
+
96
+
97
+ </div>
98
+ <h2>Constant Summary</h2>
99
+ <dl class="constants">
100
+
101
+ <dt id="KEYS-constant" class="">KEYS =
102
+ <div class="docstring">
103
+ <div class="discussion">
104
+
105
+ <p>Mandatory hash keys.</p>
106
+
107
+
108
+ </div>
109
+ </div>
110
+ <div class="tags">
111
+
112
+
113
+ </div>
114
+ </dt>
115
+ <dd><pre class="code"><span class='qsymbols_beg'>%i[</span><span class='tstring_content'>length</span><span class='words_sep'> </span><span class='tstring_content'>address</span><span class='words_sep'> </span><span class='tstring_content'>rf_address</span><span class='words_sep'> </span><span class='tstring_content'>device_type</span><span class='words_sep'>
116
+ </span><span class='tstring_content'>test_result</span><span class='words_sep'> </span><span class='tstring_content'>serial_number</span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
117
+
118
+ <dt id="OPT_KEYS-constant" class="">OPT_KEYS =
119
+ <div class="docstring">
120
+ <div class="discussion">
121
+
122
+ <p>Optional hash keys.</p>
123
+
124
+
125
+ </div>
126
+ </div>
127
+ <div class="tags">
128
+
129
+
130
+ </div>
131
+ </dt>
132
+ <dd><pre class="code"><span class='qsymbols_beg'>%i[</span><span class='words_sep'>
133
+ </span><span class='tstring_content'>firmware_version</span><span class='words_sep'> </span><span class='tstring_content'>_firmware_version</span><span class='words_sep'> </span><span class='tstring_content'>room_id</span><span class='words_sep'>
134
+
135
+ </span><span class='tstring_content'>portal_enabled</span><span class='words_sep'> </span><span class='tstring_content'>button_up_mode</span><span class='words_sep'> </span><span class='tstring_content'>button_down_mode</span><span class='words_sep'> </span><span class='tstring_content'>portal_url</span><span class='words_sep'>
136
+
137
+ </span><span class='tstring_content'>comfort_temperature</span><span class='words_sep'> </span><span class='tstring_content'>eco_temperature</span><span class='words_sep'>
138
+ </span><span class='tstring_content'>max_setpoint_temperature</span><span class='words_sep'> </span><span class='tstring_content'>min_setpoint_temperature</span><span class='words_sep'>
139
+ </span><span class='tstring_content'>temperature_offset</span><span class='words_sep'> </span><span class='tstring_content'>window_open_temperature</span><span class='words_sep'> </span><span class='tstring_content'>window_open_duration</span><span class='words_sep'>
140
+ </span><span class='tstring_content'>boost_duration</span><span class='words_sep'> </span><span class='tstring_content'>valve_opening</span><span class='words_sep'>
141
+ </span><span class='tstring_content'>decalcification_day</span><span class='words_sep'> </span><span class='tstring_content'>decalcification_hour</span><span class='words_sep'>
142
+ </span><span class='tstring_content'>max_valve_setting</span><span class='words_sep'> </span><span class='tstring_content'>valve_offset</span><span class='words_sep'>
143
+
144
+ </span><span class='tstring_content'>unknown</span><span class='words_sep'> </span><span class='tstring_content'>unknown1</span><span class='words_sep'> </span><span class='tstring_content'>unknown2</span><span class='words_sep'> </span><span class='tstring_content'>unknown3</span><span class='words_sep'> </span><span class='tstring_content'>unknown4</span><span class='words_sep'> </span><span class='tstring_content'>weekly_program</span><span class='words_sep'>
145
+ </span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
146
+
147
+ <dt id="LENGTHS-constant" class="">LENGTHS =
148
+
149
+ </dt>
150
+ <dd><pre class="code"><span class='lbracket'>[</span><span class='int'>6</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
151
+
152
+ </dl>
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+ <h2>
162
+ Instance Method Summary
163
+ <small><a href="#" class="summary_toggle">collapse</a></small>
164
+ </h2>
165
+
166
+ <ul class="summary">
167
+
168
+ <li class="private ">
169
+ <span class="summary_signature">
170
+
171
+ <a href="#parse_tcp_c-instance_method" title="#parse_tcp_c (instance method)">#<strong>parse_tcp_c</strong>(body) &#x21d2; Object </a>
172
+
173
+
174
+
175
+ </span>
176
+
177
+
178
+
179
+ <span class="note title private">private</span>
180
+
181
+
182
+
183
+
184
+
185
+ <span class="summary_desc"><div class='inline'></div></span>
186
+
187
+ </li>
188
+
189
+
190
+ <li class="private ">
191
+ <span class="summary_signature">
192
+
193
+ <a href="#parse_tcp_c_cube-instance_method" title="#parse_tcp_c_cube (instance method)">#<strong>parse_tcp_c_cube</strong> &#x21d2; Object </a>
194
+
195
+
196
+
197
+ </span>
198
+
199
+
200
+
201
+ <span class="note title private">private</span>
202
+
203
+
204
+
205
+
206
+
207
+ <span class="summary_desc"><div class='inline'></div></span>
208
+
209
+ </li>
210
+
211
+
212
+ <li class="private ">
213
+ <span class="summary_signature">
214
+
215
+ <a href="#parse_tcp_c_cube_button_mode-instance_method" title="#parse_tcp_c_cube_button_mode (instance method)">#<strong>parse_tcp_c_cube_button_mode</strong>(hash, up, down) &#x21d2; Object </a>
216
+
217
+
218
+
219
+ </span>
220
+
221
+
222
+
223
+ <span class="note title private">private</span>
224
+
225
+
226
+
227
+
228
+
229
+ <span class="summary_desc"><div class='inline'></div></span>
230
+
231
+ </li>
232
+
233
+
234
+ <li class="private ">
235
+ <span class="summary_signature">
236
+
237
+ <a href="#parse_tcp_c_cube_button_mode_temp-instance_method" title="#parse_tcp_c_cube_button_mode_temp (instance method)">#<strong>parse_tcp_c_cube_button_mode_temp</strong>(value, base) &#x21d2; Object </a>
238
+
239
+
240
+
241
+ </span>
242
+
243
+
244
+
245
+ <span class="note title private">private</span>
246
+
247
+
248
+
249
+
250
+
251
+ <span class="summary_desc"><div class='inline'></div></span>
252
+
253
+ </li>
254
+
255
+
256
+ <li class="private ">
257
+ <span class="summary_signature">
258
+
259
+ <a href="#parse_tcp_c_device_type-instance_method" title="#parse_tcp_c_device_type (instance method)">#<strong>parse_tcp_c_device_type</strong>(hash) &#x21d2; Object </a>
260
+
261
+
262
+
263
+ </span>
264
+
265
+
266
+
267
+ <span class="note title private">private</span>
268
+
269
+
270
+
271
+
272
+
273
+ <span class="summary_desc"><div class='inline'></div></span>
274
+
275
+ </li>
276
+
277
+
278
+ <li class="private ">
279
+ <span class="summary_signature">
280
+
281
+ <a href="#parse_tcp_c_head-instance_method" title="#parse_tcp_c_head (instance method)">#<strong>parse_tcp_c_head</strong>(addr) &#x21d2; Object </a>
282
+
283
+
284
+
285
+ </span>
286
+
287
+
288
+
289
+ <span class="note title private">private</span>
290
+
291
+
292
+
293
+
294
+
295
+ <span class="summary_desc"><div class='inline'></div></span>
296
+
297
+ </li>
298
+
299
+
300
+ <li class="private ">
301
+ <span class="summary_signature">
302
+
303
+ <a href="#parse_tcp_c_program-instance_method" title="#parse_tcp_c_program (instance method)">#<strong>parse_tcp_c_program</strong>(subhash) &#x21d2; Object </a>
304
+
305
+
306
+
307
+ </span>
308
+
309
+
310
+
311
+ <span class="note title private">private</span>
312
+
313
+
314
+
315
+
316
+
317
+ <span class="summary_desc"><div class='inline'></div></span>
318
+
319
+ </li>
320
+
321
+
322
+ <li class="private ">
323
+ <span class="summary_signature">
324
+
325
+ <a href="#parse_tcp_c_radiator-instance_method" title="#parse_tcp_c_radiator (instance method)">#<strong>parse_tcp_c_radiator</strong> &#x21d2; Object </a>
326
+
327
+
328
+
329
+ </span>
330
+
331
+
332
+
333
+ <span class="note title private">private</span>
334
+
335
+
336
+
337
+
338
+
339
+ <span class="summary_desc"><div class='inline'></div></span>
340
+
341
+ </li>
342
+
343
+
344
+ <li class="private ">
345
+ <span class="summary_signature">
346
+
347
+ <a href="#parse_tcp_c_split-instance_method" title="#parse_tcp_c_split (instance method)">#<strong>parse_tcp_c_split</strong>(body) &#x21d2; Object </a>
348
+
349
+
350
+
351
+ </span>
352
+
353
+
354
+
355
+ <span class="note title private">private</span>
356
+
357
+
358
+
359
+
360
+
361
+ <span class="summary_desc"><div class='inline'></div></span>
362
+
363
+ </li>
364
+
365
+
366
+ <li class="private ">
367
+ <span class="summary_signature">
368
+
369
+ <a href="#parse_tcp_c_thermostat_1-instance_method" title="#parse_tcp_c_thermostat_1 (instance method)">#<strong>parse_tcp_c_thermostat_1</strong> &#x21d2; Object </a>
370
+
371
+
372
+
373
+ </span>
374
+
375
+
376
+
377
+ <span class="note title private">private</span>
378
+
379
+
380
+
381
+
382
+
383
+ <span class="summary_desc"><div class='inline'></div></span>
384
+
385
+ </li>
386
+
387
+
388
+ <li class="private ">
389
+ <span class="summary_signature">
390
+
391
+ <a href="#parse_tcp_c_wall-instance_method" title="#parse_tcp_c_wall (instance method)">#<strong>parse_tcp_c_wall</strong> &#x21d2; Object </a>
392
+
393
+
394
+
395
+ </span>
396
+
397
+
398
+
399
+ <span class="note title private">private</span>
400
+
401
+
402
+
403
+
404
+
405
+ <span class="summary_desc"><div class='inline'></div></span>
406
+
407
+ </li>
408
+
409
+
410
+ </ul>
411
+
412
+
413
+
414
+
415
+ <div id="instance_method_details" class="method_details_list">
416
+ <h2>Instance Method Details</h2>
417
+
418
+
419
+ <div class="method_details first">
420
+ <h3 class="signature first" id="parse_tcp_c-instance_method">
421
+
422
+ #<strong>parse_tcp_c</strong>(body) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
423
+
424
+
425
+
426
+
427
+
428
+ </h3><table class="source_code">
429
+ <tr>
430
+ <td>
431
+ <pre class="lines">
432
+
433
+
434
+ 31
435
+ 32
436
+ 33
437
+ 34
438
+ 35
439
+ 36
440
+ 37
441
+ 38
442
+ 39
443
+ 40</pre>
444
+ </td>
445
+ <td>
446
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/c.rb', line 31</span>
447
+
448
+ <span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_c'>parse_tcp_c</span><span class='lparen'>(</span><span class='id identifier rubyid_body'>body</span><span class='rparen'>)</span>
449
+ <span class='id identifier rubyid_addr'>addr</span><span class='comma'>,</span> <span class='id identifier rubyid_enc_data'>enc_data</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_tcp_c_split'>parse_tcp_c_split</span><span class='lparen'>(</span><span class='id identifier rubyid_body'>body</span><span class='rparen'>)</span>
450
+
451
+ <span class='ivar'>@io</span> <span class='op'>=</span> <span class='const'>StringIO</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_decode'>decode</span><span class='lparen'>(</span><span class='id identifier rubyid_enc_data'>enc_data</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>rb</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
452
+
453
+ <span class='id identifier rubyid_hash'>hash</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_tcp_c_head'>parse_tcp_c_head</span><span class='lparen'>(</span><span class='id identifier rubyid_addr'>addr</span><span class='rparen'>)</span>
454
+ <span class='id identifier rubyid_parse_tcp_c_device_type'>parse_tcp_c_device_type</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
455
+
456
+ <span class='id identifier rubyid_hash'>hash</span>
457
+ <span class='kw'>end</span></pre>
458
+ </td>
459
+ </tr>
460
+ </table>
461
+ </div>
462
+
463
+ <div class="method_details ">
464
+ <h3 class="signature " id="parse_tcp_c_cube-instance_method">
465
+
466
+ #<strong>parse_tcp_c_cube</strong> &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
467
+
468
+
469
+
470
+
471
+
472
+ </h3><table class="source_code">
473
+ <tr>
474
+ <td>
475
+ <pre class="lines">
476
+
477
+
478
+ 117
479
+ 118
480
+ 119
481
+ 120
482
+ 121
483
+ 122
484
+ 123
485
+ 124
486
+ 125
487
+ 126
488
+ 127
489
+ 128
490
+ 129
491
+ 130
492
+ 131
493
+ 132
494
+ 133
495
+ 134
496
+ 135
497
+ 136
498
+ 137
499
+ 138
500
+ 139
501
+ 140
502
+ 141
503
+ 142
504
+ 143
505
+ 144
506
+ 145
507
+ 146
508
+ 147</pre>
509
+ </td>
510
+ <td>
511
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/c.rb', line 117</span>
512
+
513
+ <span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_c_cube'>parse_tcp_c_cube</span>
514
+ <span class='id identifier rubyid_hash'>hash</span> <span class='op'>=</span> <span class='lbrace'>{</span>
515
+ <span class='label'>portal_enabled:</span> <span class='op'>!</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span><span class='comma'>,</span>
516
+ <span class='label'>unknown1:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>11</span><span class='rparen'>)</span><span class='comma'>,</span>
517
+ <span class='rbrace'>}</span>
518
+
519
+ <span class='id identifier rubyid_pushbutton_up_config'>pushbutton_up_config</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
520
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:unknown2</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>32</span><span class='rparen'>)</span>
521
+ <span class='id identifier rubyid_pushbutton_down_config'>pushbutton_down_config</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
522
+ <span class='id identifier rubyid_parse_tcp_c_cube_button_mode'>parse_tcp_c_cube_button_mode</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='comma'>,</span>
523
+ <span class='id identifier rubyid_pushbutton_up_config'>pushbutton_up_config</span><span class='comma'>,</span>
524
+ <span class='id identifier rubyid_pushbutton_down_config'>pushbutton_down_config</span><span class='rparen'>)</span>
525
+
526
+ <span class='comment'># ! Exact decoding of time zones is not clear yet
527
+ </span> <span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span>
528
+ <span class='label'>unknown3:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>21</span><span class='rparen'>)</span><span class='comma'>,</span>
529
+ <span class='label'>portal_url:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>128</span><span class='rparen'>)</span><span class='comma'>,</span>
530
+ <span class='comment'># _timezone_winter: read(5),
531
+ </span> <span class='comment'># timezone_winter_month: read(1, true),
532
+ </span> <span class='comment'># timezone_winter_day: DAYS_OF_WEEK[read(1, true)],
533
+ </span> <span class='comment'># timezone_winter_hour: read(1, true),
534
+ </span> <span class='comment'># _timezone_winter_offset: read(4),
535
+ </span> <span class='comment'># _timezone_daylight: read(5),
536
+ </span> <span class='comment'># timezone_daylight_month: read(1, true),
537
+ </span> <span class='comment'># timezone_daylight_day: DAYS_OF_WEEK[read(1, true)],
538
+ </span> <span class='comment'># timezone_daylight_hour: read(1, true),
539
+ </span> <span class='comment'># _timezone_daylight_offset: read(4),
540
+ </span> <span class='comment'># unknown4: read(1),
541
+ </span> <span class='label'>unknown4:</span> <span class='id identifier rubyid_read'>read</span><span class='comma'>,</span>
542
+ <span class='rparen'>)</span>
543
+ <span class='kw'>end</span></pre>
544
+ </td>
545
+ </tr>
546
+ </table>
547
+ </div>
548
+
549
+ <div class="method_details ">
550
+ <h3 class="signature " id="parse_tcp_c_cube_button_mode-instance_method">
551
+
552
+ #<strong>parse_tcp_c_cube_button_mode</strong>(hash, up, down) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
553
+
554
+
555
+
556
+
557
+
558
+ </h3><table class="source_code">
559
+ <tr>
560
+ <td>
561
+ <pre class="lines">
562
+
563
+
564
+ 92
565
+ 93
566
+ 94
567
+ 95
568
+ 96
569
+ 97
570
+ 98
571
+ 99
572
+ 100
573
+ 101
574
+ 102
575
+ 103
576
+ 104
577
+ 105
578
+ 106
579
+ 107
580
+ 108
581
+ 109
582
+ 110
583
+ 111
584
+ 112
585
+ 113
586
+ 114
587
+ 115</pre>
588
+ </td>
589
+ <td>
590
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/c.rb', line 92</span>
591
+
592
+ <span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_c_cube_button_mode'>parse_tcp_c_cube_button_mode</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='comma'>,</span> <span class='id identifier rubyid_up'>up</span><span class='comma'>,</span> <span class='id identifier rubyid_down'>down</span><span class='rparen'>)</span>
593
+ <span class='lbrace'>{</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>up</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_up'>up</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>down</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_down'>down</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span>
594
+ <span class='id identifier rubyid_mode_key'>mode_key</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>button_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_k'>k</span><span class='embexpr_end'>}</span><span class='tstring_content'>_mode</span><span class='tstring_end'>&quot;</span></span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
595
+ <span class='kw'>case</span> <span class='id identifier rubyid_v'>v</span>
596
+ <span class='kw'>when</span> <span class='int'>0x00</span>
597
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_mode_key'>mode_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='symbol'>:auto</span>
598
+ <span class='kw'>when</span> <span class='int'>0x41</span>
599
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_mode_key'>mode_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='symbol'>:eco</span>
600
+ <span class='kw'>when</span> <span class='int'>0x42</span>
601
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_mode_key'>mode_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='symbol'>:comfort</span>
602
+ <span class='kw'>else</span>
603
+ <span class='id identifier rubyid_temp_key'>temp_key</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>button_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_k'>k</span><span class='embexpr_end'>}</span><span class='tstring_content'>_temperature</span><span class='tstring_end'>&quot;</span></span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
604
+ <span class='kw'>if</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_between?'>between?</span><span class='lparen'>(</span><span class='int'>0x09</span><span class='comma'>,</span> <span class='int'>0x3d</span><span class='rparen'>)</span>
605
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_mode_key'>mode_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='symbol'>:auto_temp</span>
606
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_temp_key'>temp_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_tcp_c_cube_button_mode_temp'>parse_tcp_c_cube_button_mode_temp</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='comma'>,</span> <span class='int'>0x09</span><span class='rparen'>)</span>
607
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_between?'>between?</span><span class='lparen'>(</span><span class='int'>0x49</span><span class='comma'>,</span> <span class='int'>0x7d</span><span class='rparen'>)</span>
608
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_mode_key'>mode_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='symbol'>:manual</span>
609
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_temp_key'>temp_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_tcp_c_cube_button_mode_temp'>parse_tcp_c_cube_button_mode_temp</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='comma'>,</span> <span class='int'>0x49</span><span class='rparen'>)</span>
610
+ <span class='kw'>else</span>
611
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_mode_key'>mode_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='symbol'>:unknown</span>
612
+ <span class='kw'>end</span>
613
+ <span class='kw'>end</span>
614
+ <span class='kw'>end</span>
615
+ <span class='kw'>end</span></pre>
616
+ </td>
617
+ </tr>
618
+ </table>
619
+ </div>
620
+
621
+ <div class="method_details ">
622
+ <h3 class="signature " id="parse_tcp_c_cube_button_mode_temp-instance_method">
623
+
624
+ #<strong>parse_tcp_c_cube_button_mode_temp</strong>(value, base) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
625
+
626
+
627
+
628
+
629
+
630
+ </h3><table class="source_code">
631
+ <tr>
632
+ <td>
633
+ <pre class="lines">
634
+
635
+
636
+ 88
637
+ 89
638
+ 90</pre>
639
+ </td>
640
+ <td>
641
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/c.rb', line 88</span>
642
+
643
+ <span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_c_cube_button_mode_temp'>parse_tcp_c_cube_button_mode_temp</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='id identifier rubyid_base'>base</span><span class='rparen'>)</span>
644
+ <span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span> <span class='op'>-</span> <span class='id identifier rubyid_base'>base</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>/</span> <span class='int'>2</span> <span class='op'>+</span> <span class='float'>4.5</span>
645
+ <span class='kw'>end</span></pre>
646
+ </td>
647
+ </tr>
648
+ </table>
649
+ </div>
650
+
651
+ <div class="method_details ">
652
+ <h3 class="signature " id="parse_tcp_c_device_type-instance_method">
653
+
654
+ #<strong>parse_tcp_c_device_type</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
655
+
656
+
657
+
658
+
659
+
660
+ </h3><table class="source_code">
661
+ <tr>
662
+ <td>
663
+ <pre class="lines">
664
+
665
+
666
+ 212
667
+ 213
668
+ 214
669
+ 215
670
+ 216
671
+ 217
672
+ 218
673
+ 219
674
+ 220
675
+ 221
676
+ 222
677
+ 223
678
+ 224
679
+ 225
680
+ 226
681
+ 227
682
+ 228
683
+ 229
684
+ 230
685
+ 231
686
+ 232
687
+ 233</pre>
688
+ </td>
689
+ <td>
690
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/c.rb', line 212</span>
691
+
692
+ <span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_c_device_type'>parse_tcp_c_device_type</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
693
+ <span class='id identifier rubyid_device_type'>device_type</span> <span class='op'>=</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:device_type</span><span class='rbracket'>]</span>
694
+ <span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span>
695
+ <span class='kw'>case</span> <span class='id identifier rubyid_device_type'>device_type</span>
696
+ <span class='kw'>when</span> <span class='symbol'>:cube</span>
697
+ <span class='id identifier rubyid_parse_tcp_c_cube'>parse_tcp_c_cube</span>
698
+ <span class='kw'>when</span> <span class='symbol'>:radiator_thermostat</span><span class='comma'>,</span> <span class='symbol'>:radiator_thermostat_plus</span>
699
+ <span class='id identifier rubyid_parse_tcp_c_radiator'>parse_tcp_c_radiator</span>
700
+ <span class='kw'>when</span> <span class='symbol'>:wall_thermostat</span>
701
+ <span class='id identifier rubyid_parse_tcp_c_wall'>parse_tcp_c_wall</span>
702
+ <span class='kw'>else</span>
703
+ <span class='lbrace'>{</span><span class='rbrace'>}</span>
704
+ <span class='kw'>end</span>
705
+ <span class='rparen'>)</span>
706
+ <span class='kw'>rescue</span> <span class='const'>IOError</span>
707
+ <span class='id identifier rubyid_device_type_str'>device_type_str</span> <span class='op'>=</span> <span class='id identifier rubyid_device_type'>device_type</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>_</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
708
+ <span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:capitalize</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'> </span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
709
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../../InvalidMessageBody.html" title="MaxCube::Messages::InvalidMessageBody (class)">InvalidMessageBody</a></span></span>
710
+ <span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@msg_type</span><span class='comma'>,</span>
711
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>unexpected EOF reached in decoded message data of </span><span class='tstring_end'>&#39;</span></span> \
712
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&#39;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_device_type_str'>device_type_str</span><span class='embexpr_end'>}</span><span class='tstring_content'>&#39; device type</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
713
+ <span class='kw'>end</span></pre>
714
+ </td>
715
+ </tr>
716
+ </table>
717
+ </div>
718
+
719
+ <div class="method_details ">
720
+ <h3 class="signature " id="parse_tcp_c_head-instance_method">
721
+
722
+ #<strong>parse_tcp_c_head</strong>(addr) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
723
+
724
+
725
+
726
+
727
+
728
+ </h3><table class="source_code">
729
+ <tr>
730
+ <td>
731
+ <pre class="lines">
732
+
733
+
734
+ 51
735
+ 52
736
+ 53
737
+ 54
738
+ 55
739
+ 56
740
+ 57
741
+ 58
742
+ 59
743
+ 60
744
+ 61
745
+ 62
746
+ 63
747
+ 64
748
+ 65
749
+ 66
750
+ 67
751
+ 68
752
+ 69
753
+ 70
754
+ 71
755
+ 72
756
+ 73
757
+ 74
758
+ 75
759
+ 76
760
+ 77
761
+ 78
762
+ 79
763
+ 80
764
+ 81
765
+ 82
766
+ 83
767
+ 84
768
+ 85
769
+ 86</pre>
770
+ </td>
771
+ <td>
772
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/c.rb', line 51</span>
773
+
774
+ <span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_c_head'>parse_tcp_c_head</span><span class='lparen'>(</span><span class='id identifier rubyid_addr'>addr</span><span class='rparen'>)</span>
775
+ <span class='ivar'>@length</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
776
+ <span class='comment'># &#39;rf_address&#39; should correspond with &#39;addr&#39;,
777
+ </span> <span class='comment'># but it is not checked (yet)
778
+ </span> <span class='id identifier rubyid_rf_address'>rf_address</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>3</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
779
+ <span class='id identifier rubyid_device_type'>device_type</span> <span class='op'>=</span> <span class='id identifier rubyid_device_type'>device_type</span><span class='lparen'>(</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='rparen'>)</span>
780
+ <span class='id identifier rubyid_hash'>hash</span> <span class='op'>=</span> <span class='lbrace'>{</span>
781
+ <span class='label'>address:</span> <span class='id identifier rubyid_addr'>addr</span><span class='comma'>,</span>
782
+ <span class='label'>length:</span> <span class='ivar'>@length</span><span class='comma'>,</span>
783
+ <span class='label'>rf_address:</span> <span class='id identifier rubyid_rf_address'>rf_address</span><span class='comma'>,</span>
784
+ <span class='label'>device_type:</span> <span class='id identifier rubyid_device_type'>device_type</span><span class='comma'>,</span>
785
+ <span class='rbrace'>}</span>
786
+
787
+ <span class='kw'>if</span> <span class='id identifier rubyid_device_type'>device_type</span> <span class='op'>==</span> <span class='symbol'>:cube</span>
788
+ <span class='comment'># For &#39;cube&#39; type, both fiels seem to be combined
789
+ </span> <span class='comment'># into &#39;firmware_version&#39; string
790
+ </span> <span class='id identifier rubyid_room_id__fw_v'>room_id__fw_v</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>2</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>H*</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
791
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:firmware_version</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_room_id__fw_v'>room_id__fw_v</span><span class='lbracket'>[</span><span class='int'>2</span><span class='op'>..</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='op'>+</span>
792
+ <span class='id identifier rubyid_room_id__fw_v'>room_id__fw_v</span><span class='lbracket'>[</span><span class='int'>0</span><span class='op'>..</span><span class='int'>1</span><span class='rbracket'>]</span>
793
+ <span class='kw'>else</span>
794
+ <span class='comment'># For other types, both &#39;room_id&#39; and &#39;firmware_version&#39;
795
+ </span> <span class='comment'># are unpacked as numbers
796
+ </span> <span class='comment'># How should be &#39;firmware_version&#39; interpreted ?
797
+ </span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:room_id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
798
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:_firmware_version</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
799
+ <span class='kw'>end</span>
800
+
801
+ <span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span>
802
+ <span class='label'>test_result:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='comma'>,</span>
803
+ <span class='label'>serial_number:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>10</span><span class='rparen'>)</span><span class='comma'>,</span>
804
+ <span class='rparen'>)</span>
805
+ <span class='kw'>rescue</span> <span class='const'>IOError</span>
806
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../../InvalidMessageBody.html" title="MaxCube::Messages::InvalidMessageBody (class)">InvalidMessageBody</a></span></span>
807
+ <span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@msg_type</span><span class='comma'>,</span>
808
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>unexpected EOF reached at head of decoded message data</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
809
+ <span class='kw'>end</span></pre>
810
+ </td>
811
+ </tr>
812
+ </table>
813
+ </div>
814
+
815
+ <div class="method_details ">
816
+ <h3 class="signature " id="parse_tcp_c_program-instance_method">
817
+
818
+ #<strong>parse_tcp_c_program</strong>(subhash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
819
+
820
+
821
+
822
+
823
+
824
+ </h3><table class="source_code">
825
+ <tr>
826
+ <td>
827
+ <pre class="lines">
828
+
829
+
830
+ 158
831
+ 159
832
+ 160
833
+ 161
834
+ 162
835
+ 163
836
+ 164
837
+ 165
838
+ 166
839
+ 167
840
+ 168
841
+ 169
842
+ 170
843
+ 171
844
+ 172
845
+ 173
846
+ 174
847
+ 175</pre>
848
+ </td>
849
+ <td>
850
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/c.rb', line 158</span>
851
+
852
+ <span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_c_program'>parse_tcp_c_program</span><span class='lparen'>(</span><span class='id identifier rubyid_subhash'>subhash</span><span class='rparen'>)</span>
853
+ <span class='id identifier rubyid_program'>program</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../../Messages.html#DAYS_OF_WEEK-constant" title="MaxCube::Messages::DAYS_OF_WEEK (constant)">DAYS_OF_WEEK</a></span></span><span class='period'>.</span><span class='id identifier rubyid_zip'>zip</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span>
854
+ <span class='id identifier rubyid_program'>program</span><span class='period'>.</span><span class='id identifier rubyid_each_key'>each_key</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_day'>day</span><span class='op'>|</span>
855
+ <span class='id identifier rubyid_setpoints'>setpoints</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
856
+ <span class='int'>13</span><span class='period'>.</span><span class='id identifier rubyid_times'>times</span> <span class='kw'>do</span>
857
+ <span class='id identifier rubyid_setpoint'>setpoint</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>2</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
858
+ <span class='id identifier rubyid_temperature'>temperature</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_setpoint'>setpoint</span> <span class='op'>&amp;</span> <span class='int'>0xfe00</span><span class='rparen'>)</span> <span class='op'>&gt;&gt;</span> <span class='int'>9</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>/</span> <span class='int'>2</span>
859
+ <span class='id identifier rubyid_time_until'>time_until</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_setpoint'>setpoint</span> <span class='op'>&amp;</span> <span class='int'>0x01ff</span><span class='rparen'>)</span> <span class='op'>*</span> <span class='int'>5</span>
860
+ <span class='id identifier rubyid_setpoints'>setpoints</span> <span class='op'>&lt;&lt;</span> <span class='lbrace'>{</span>
861
+ <span class='label'>temperature:</span> <span class='id identifier rubyid_temperature'>temperature</span><span class='comma'>,</span>
862
+ <span class='label'>hours_until:</span> <span class='id identifier rubyid_time_until'>time_until</span> <span class='op'>/</span> <span class='int'>60</span><span class='comma'>,</span>
863
+ <span class='label'>minutes_until:</span> <span class='id identifier rubyid_time_until'>time_until</span> <span class='op'>%</span> <span class='int'>60</span><span class='comma'>,</span>
864
+ <span class='rbrace'>}</span>
865
+ <span class='kw'>end</span>
866
+ <span class='id identifier rubyid_program'>program</span><span class='lbracket'>[</span><span class='id identifier rubyid_day'>day</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_setpoints'>setpoints</span>
867
+ <span class='kw'>end</span>
868
+ <span class='id identifier rubyid_subhash'>subhash</span><span class='lbracket'>[</span><span class='symbol'>:weekly_program</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_program'>program</span>
869
+ <span class='kw'>end</span></pre>
870
+ </td>
871
+ </tr>
872
+ </table>
873
+ </div>
874
+
875
+ <div class="method_details ">
876
+ <h3 class="signature " id="parse_tcp_c_radiator-instance_method">
877
+
878
+ #<strong>parse_tcp_c_radiator</strong> &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
879
+
880
+
881
+
882
+
883
+
884
+ </h3><table class="source_code">
885
+ <tr>
886
+ <td>
887
+ <pre class="lines">
888
+
889
+
890
+ 177
891
+ 178
892
+ 179
893
+ 180
894
+ 181
895
+ 182
896
+ 183
897
+ 184
898
+ 185
899
+ 186
900
+ 187
901
+ 188
902
+ 189
903
+ 190
904
+ 191
905
+ 192
906
+ 193
907
+ 194
908
+ 195
909
+ 196
910
+ 197
911
+ 198
912
+ 199
913
+ 200
914
+ 201
915
+ 202</pre>
916
+ </td>
917
+ <td>
918
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/c.rb', line 177</span>
919
+
920
+ <span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_c_radiator'>parse_tcp_c_radiator</span>
921
+ <span class='id identifier rubyid_subhash'>subhash</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_tcp_c_thermostat_1'>parse_tcp_c_thermostat_1</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span>
922
+ <span class='label'>temperature_offset:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>/</span> <span class='int'>2</span> <span class='op'>-</span> <span class='float'>3.5</span><span class='comma'>,</span>
923
+ <span class='label'>window_open_temperature:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>/</span> <span class='int'>2</span><span class='comma'>,</span>
924
+ <span class='label'>window_open_duration:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='op'>*</span> <span class='int'>5</span><span class='comma'>,</span>
925
+ <span class='rparen'>)</span>
926
+
927
+ <span class='id identifier rubyid_boost'>boost</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
928
+ <span class='id identifier rubyid_boost_duration'>boost_duration</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_boost'>boost</span> <span class='op'>&amp;</span> <span class='int'>0xe0</span><span class='rparen'>)</span> <span class='op'>&gt;&gt;</span> <span class='int'>5</span><span class='rparen'>)</span> <span class='op'>*</span> <span class='int'>5</span>
929
+ <span class='id identifier rubyid_boost_duration'>boost_duration</span> <span class='op'>=</span> <span class='int'>60</span> <span class='kw'>if</span> <span class='id identifier rubyid_boost_duration'>boost_duration</span> <span class='op'>&gt;</span> <span class='int'>30</span>
930
+
931
+ <span class='id identifier rubyid_decalcification'>decalcification</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
932
+
933
+ <span class='id identifier rubyid_subhash'>subhash</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span>
934
+ <span class='label'>boost_duration:</span> <span class='id identifier rubyid_boost_duration'>boost_duration</span><span class='comma'>,</span>
935
+ <span class='label'>valve_opening:</span> <span class='lparen'>(</span><span class='id identifier rubyid_boost'>boost</span> <span class='op'>&amp;</span> <span class='int'>0x1f</span><span class='rparen'>)</span> <span class='op'>*</span> <span class='int'>5</span><span class='comma'>,</span>
936
+ <span class='label'>decalcification_day:</span> <span class='id identifier rubyid_day_of_week'>day_of_week</span><span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_decalcification'>decalcification</span> <span class='op'>&amp;</span> <span class='int'>0xe0</span><span class='rparen'>)</span> <span class='op'>&gt;&gt;</span> <span class='int'>5</span><span class='rparen'>)</span><span class='comma'>,</span>
937
+ <span class='label'>decalcification_hour:</span> <span class='id identifier rubyid_decalcification'>decalcification</span> <span class='op'>&amp;</span> <span class='int'>0x1f</span><span class='comma'>,</span>
938
+ <span class='label'>max_valve_setting:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='op'>*</span> <span class='lparen'>(</span><span class='float'>100.0</span> <span class='op'>/</span> <span class='int'>255</span><span class='rparen'>)</span><span class='comma'>,</span>
939
+ <span class='label'>valve_offset:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='op'>*</span> <span class='lparen'>(</span><span class='float'>100.0</span> <span class='op'>/</span> <span class='int'>255</span><span class='rparen'>)</span><span class='comma'>,</span>
940
+ <span class='rparen'>)</span>
941
+
942
+ <span class='id identifier rubyid_parse_tcp_c_program'>parse_tcp_c_program</span><span class='lparen'>(</span><span class='id identifier rubyid_subhash'>subhash</span><span class='rparen'>)</span>
943
+
944
+ <span class='id identifier rubyid_subhash'>subhash</span>
945
+ <span class='kw'>end</span></pre>
946
+ </td>
947
+ </tr>
948
+ </table>
949
+ </div>
950
+
951
+ <div class="method_details ">
952
+ <h3 class="signature " id="parse_tcp_c_split-instance_method">
953
+
954
+ #<strong>parse_tcp_c_split</strong>(body) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
955
+
956
+
957
+
958
+
959
+
960
+ </h3><table class="source_code">
961
+ <tr>
962
+ <td>
963
+ <pre class="lines">
964
+
965
+
966
+ 44
967
+ 45
968
+ 46
969
+ 47
970
+ 48
971
+ 49</pre>
972
+ </td>
973
+ <td>
974
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/c.rb', line 44</span>
975
+
976
+ <span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_c_split'>parse_tcp_c_split</span><span class='lparen'>(</span><span class='id identifier rubyid_body'>body</span><span class='rparen'>)</span>
977
+ <span class='id identifier rubyid_addr'>addr</span><span class='comma'>,</span> <span class='id identifier rubyid_enc_data'>enc_data</span> <span class='op'>=</span> <span class='id identifier rubyid_body'>body</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>,</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
978
+ <span class='id identifier rubyid_check_msg_part_lengths'>check_msg_part_lengths</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#LENGTHS-constant" title="MaxCube::Messages::TCP::Parser::MessageC::LENGTHS (constant)">LENGTHS</a></span></span><span class='comma'>,</span> <span class='id identifier rubyid_addr'>addr</span><span class='rparen'>)</span>
979
+ <span class='id identifier rubyid_to_ints'>to_ints</span><span class='lparen'>(</span><span class='int'>16</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>device address</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_addr'>addr</span><span class='rparen'>)</span>
980
+ <span class='lbracket'>[</span><span class='id identifier rubyid_addr'>addr</span><span class='comma'>,</span> <span class='id identifier rubyid_enc_data'>enc_data</span><span class='rbracket'>]</span>
981
+ <span class='kw'>end</span></pre>
982
+ </td>
983
+ </tr>
984
+ </table>
985
+ </div>
986
+
987
+ <div class="method_details ">
988
+ <h3 class="signature " id="parse_tcp_c_thermostat_1-instance_method">
989
+
990
+ #<strong>parse_tcp_c_thermostat_1</strong> &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
991
+
992
+
993
+
994
+
995
+
996
+ </h3><table class="source_code">
997
+ <tr>
998
+ <td>
999
+ <pre class="lines">
1000
+
1001
+
1002
+ 149
1003
+ 150
1004
+ 151
1005
+ 152
1006
+ 153
1007
+ 154
1008
+ 155
1009
+ 156</pre>
1010
+ </td>
1011
+ <td>
1012
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/c.rb', line 149</span>
1013
+
1014
+ <span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_c_thermostat_1'>parse_tcp_c_thermostat_1</span>
1015
+ <span class='lbrace'>{</span>
1016
+ <span class='label'>comfort_temperature:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>/</span> <span class='int'>2</span><span class='comma'>,</span>
1017
+ <span class='label'>eco_temperature:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>/</span> <span class='int'>2</span><span class='comma'>,</span>
1018
+ <span class='label'>max_setpoint_temperature:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>/</span> <span class='int'>2</span><span class='comma'>,</span>
1019
+ <span class='label'>min_setpoint_temperature:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>/</span> <span class='int'>2</span><span class='comma'>,</span>
1020
+ <span class='rbrace'>}</span>
1021
+ <span class='kw'>end</span></pre>
1022
+ </td>
1023
+ </tr>
1024
+ </table>
1025
+ </div>
1026
+
1027
+ <div class="method_details ">
1028
+ <h3 class="signature " id="parse_tcp_c_wall-instance_method">
1029
+
1030
+ #<strong>parse_tcp_c_wall</strong> &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
1031
+
1032
+
1033
+
1034
+
1035
+
1036
+ </h3><table class="source_code">
1037
+ <tr>
1038
+ <td>
1039
+ <pre class="lines">
1040
+
1041
+
1042
+ 204
1043
+ 205
1044
+ 206
1045
+ 207
1046
+ 208
1047
+ 209
1048
+ 210</pre>
1049
+ </td>
1050
+ <td>
1051
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/c.rb', line 204</span>
1052
+
1053
+ <span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_c_wall'>parse_tcp_c_wall</span>
1054
+ <span class='id identifier rubyid_subhash'>subhash</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_tcp_c_thermostat_1'>parse_tcp_c_thermostat_1</span>
1055
+ <span class='id identifier rubyid_parse_tcp_c_program'>parse_tcp_c_program</span><span class='lparen'>(</span><span class='id identifier rubyid_subhash'>subhash</span><span class='rparen'>)</span>
1056
+ <span class='id identifier rubyid_subhash'>subhash</span><span class='lbracket'>[</span><span class='symbol'>:unknown</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>3</span><span class='rparen'>)</span>
1057
+
1058
+ <span class='id identifier rubyid_subhash'>subhash</span>
1059
+ <span class='kw'>end</span></pre>
1060
+ </td>
1061
+ </tr>
1062
+ </table>
1063
+ </div>
1064
+
1065
+ </div>
1066
+
1067
+ </div>
1068
+
1069
+ <div id="footer">
1070
+ Generated on Fri Feb 16 13:44:01 2018 by
1071
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1072
+ 0.9.12 (ruby-2.5.0).
1073
+ </div>
1074
+
1075
+ </div>
1076
+ </body>
1077
+ </html>