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,209 @@
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::Serializer::MessageN
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::Serializer::MessageN";
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="../Serializer.html" title="MaxCube::Messages::TCP::Serializer (class)">Serializer</a></span></span>
41
+ &raquo;
42
+ <span class="title">MessageN</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::Serializer::MessageN
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/n.rb</dd>
82
+ </dl>
83
+
84
+ </div>
85
+
86
+ <h2>Overview</h2><div class="docstring">
87
+ <div class="discussion">
88
+
89
+ <p>Command to set the Cube into pairing mode with optional
90
+ <code>timeout</code> in seconds.</p>
91
+
92
+
93
+ </div>
94
+ </div>
95
+ <div class="tags">
96
+
97
+
98
+ </div>
99
+ <h2>Constant Summary</h2>
100
+ <dl class="constants">
101
+
102
+ <dt id="OPT_KEYS-constant" class="">OPT_KEYS =
103
+ <div class="docstring">
104
+ <div class="discussion">
105
+
106
+ <p>Optional hash keys.</p>
107
+
108
+
109
+ </div>
110
+ </div>
111
+ <div class="tags">
112
+
113
+
114
+ </div>
115
+ </dt>
116
+ <dd><pre class="code"><span class='qsymbols_beg'>%i[</span><span class='tstring_content'>timeout</span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
117
+
118
+ </dl>
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+ <h2>
128
+ Instance Method Summary
129
+ <small><a href="#" class="summary_toggle">collapse</a></small>
130
+ </h2>
131
+
132
+ <ul class="summary">
133
+
134
+ <li class="private ">
135
+ <span class="summary_signature">
136
+
137
+ <a href="#serialize_tcp_n-instance_method" title="#serialize_tcp_n (instance method)">#<strong>serialize_tcp_n</strong>(hash) &#x21d2; Object </a>
138
+
139
+
140
+
141
+ </span>
142
+
143
+
144
+
145
+ <span class="note title private">private</span>
146
+
147
+
148
+
149
+
150
+
151
+ <span class="summary_desc"><div class='inline'></div></span>
152
+
153
+ </li>
154
+
155
+
156
+ </ul>
157
+
158
+
159
+
160
+
161
+ <div id="instance_method_details" class="method_details_list">
162
+ <h2>Instance Method Details</h2>
163
+
164
+
165
+ <div class="method_details first">
166
+ <h3 class="signature first" id="serialize_tcp_n-instance_method">
167
+
168
+ #<strong>serialize_tcp_n</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
169
+
170
+
171
+
172
+
173
+
174
+ </h3><table class="source_code">
175
+ <tr>
176
+ <td>
177
+ <pre class="lines">
178
+
179
+
180
+ 38
181
+ 39
182
+ 40
183
+ 41</pre>
184
+ </td>
185
+ <td>
186
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/n.rb', line 38</span>
187
+
188
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_n'>serialize_tcp_n</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
189
+ <span class='kw'>return</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:timeout</span><span class='rparen'>)</span>
190
+ <span class='id identifier rubyid_format'>format</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>%04x</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>timeout</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:timeout</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rparen'>)</span>
191
+ <span class='kw'>end</span></pre>
192
+ </td>
193
+ </tr>
194
+ </table>
195
+ </div>
196
+
197
+ </div>
198
+
199
+ </div>
200
+
201
+ <div id="footer">
202
+ Generated on Fri Feb 16 13:44:01 2018 by
203
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
204
+ 0.9.12 (ruby-2.5.0).
205
+ </div>
206
+
207
+ </div>
208
+ </body>
209
+ </html>
@@ -0,0 +1,185 @@
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::Serializer::MessageQ
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::Serializer::MessageQ";
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="../Serializer.html" title="MaxCube::Messages::TCP::Serializer (class)">Serializer</a></span></span>
41
+ &raquo;
42
+ <span class="title">MessageQ</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::Serializer::MessageQ
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/q.rb</dd>
82
+ </dl>
83
+
84
+ </div>
85
+
86
+ <h2>Overview</h2><div class="docstring">
87
+ <div class="discussion">
88
+
89
+ <p>Quit message - terminates connection. Does not contain any data.</p>
90
+
91
+
92
+ </div>
93
+ </div>
94
+ <div class="tags">
95
+
96
+
97
+ </div>
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+ <h2>
106
+ Instance Method Summary
107
+ <small><a href="#" class="summary_toggle">collapse</a></small>
108
+ </h2>
109
+
110
+ <ul class="summary">
111
+
112
+ <li class="private ">
113
+ <span class="summary_signature">
114
+
115
+ <a href="#serialize_tcp_q-instance_method" title="#serialize_tcp_q (instance method)">#<strong>serialize_tcp_q</strong>(_hash) &#x21d2; Object </a>
116
+
117
+
118
+
119
+ </span>
120
+
121
+
122
+
123
+ <span class="note title private">private</span>
124
+
125
+
126
+
127
+
128
+
129
+ <span class="summary_desc"><div class='inline'></div></span>
130
+
131
+ </li>
132
+
133
+
134
+ </ul>
135
+
136
+
137
+
138
+
139
+ <div id="instance_method_details" class="method_details_list">
140
+ <h2>Instance Method Details</h2>
141
+
142
+
143
+ <div class="method_details first">
144
+ <h3 class="signature first" id="serialize_tcp_q-instance_method">
145
+
146
+ #<strong>serialize_tcp_q</strong>(_hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
147
+
148
+
149
+
150
+
151
+
152
+ </h3><table class="source_code">
153
+ <tr>
154
+ <td>
155
+ <pre class="lines">
156
+
157
+
158
+ 11
159
+ 12
160
+ 13</pre>
161
+ </td>
162
+ <td>
163
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/q.rb', line 11</span>
164
+
165
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_q'>serialize_tcp_q</span><span class='lparen'>(</span><span class='id identifier rubyid__hash'>_hash</span><span class='rparen'>)</span>
166
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
167
+ <span class='kw'>end</span></pre>
168
+ </td>
169
+ </tr>
170
+ </table>
171
+ </div>
172
+
173
+ </div>
174
+
175
+ </div>
176
+
177
+ <div id="footer">
178
+ Generated on Fri Feb 16 13:44:01 2018 by
179
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
180
+ 0.9.12 (ruby-2.5.0).
181
+ </div>
182
+
183
+ </div>
184
+ </body>
185
+ </html>
@@ -0,0 +1,1168 @@
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::Serializer::MessageS
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::Serializer::MessageS";
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="../Serializer.html" title="MaxCube::Messages::TCP::Serializer (class)">Serializer</a></span></span>
41
+ &raquo;
42
+ <span class="title">MessageS</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::Serializer::MessageS
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/s.rb</dd>
82
+ </dl>
83
+
84
+ </div>
85
+
86
+ <h2>Overview</h2><div class="docstring">
87
+ <div class="discussion">
88
+
89
+ <p>Message to send command to Cube.</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'>command</span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
116
+
117
+ <dt id="OPT_KEYS-constant" class="">OPT_KEYS =
118
+ <div class="docstring">
119
+ <div class="discussion">
120
+
121
+ <p>Optional hash keys.</p>
122
+
123
+
124
+ </div>
125
+ </div>
126
+ <div class="tags">
127
+
128
+
129
+ </div>
130
+ </dt>
131
+ <dd><pre class="code"><span class='qsymbols_beg'>%i[</span><span class='words_sep'>
132
+ </span><span class='tstring_content'>unknown</span><span class='words_sep'>
133
+ </span><span class='tstring_content'>rf_flags</span><span class='words_sep'>
134
+ </span><span class='tstring_content'>rf_address_from</span><span class='words_sep'> </span><span class='tstring_content'>rf_address_to</span><span class='words_sep'> </span><span class='tstring_content'>rf_address</span><span class='words_sep'> </span><span class='tstring_content'>rf_address_range</span><span class='words_sep'>
135
+
136
+ </span><span class='tstring_content'>room_id</span><span class='words_sep'> </span><span class='tstring_content'>mode</span><span class='words_sep'> </span><span class='tstring_content'>temperature</span><span class='words_sep'> </span><span class='tstring_content'>datetime_until</span><span class='words_sep'>
137
+ </span><span class='tstring_content'>room_id</span><span class='words_sep'> </span><span class='tstring_content'>day</span><span class='words_sep'> </span><span class='tstring_content'>telegram_set</span><span class='words_sep'> </span><span class='tstring_content'>program</span><span class='words_sep'>
138
+
139
+ </span><span class='tstring_content'>room_id</span><span class='words_sep'> </span><span class='tstring_content'>comfort_temperature</span><span class='words_sep'> </span><span class='tstring_content'>eco_temperature</span><span class='words_sep'>
140
+ </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'>
141
+ </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'>
142
+
143
+ </span><span class='tstring_content'>room_id</span><span class='words_sep'> </span><span class='tstring_content'>valve_opening</span><span class='words_sep'> </span><span class='tstring_content'>boost_duration</span><span class='words_sep'>
144
+ </span><span class='tstring_content'>decalcification_day</span><span class='words_sep'> </span><span class='tstring_content'>decalcification_hour</span><span class='words_sep'>
145
+ </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'>
146
+
147
+ </span><span class='tstring_content'>room_id</span><span class='words_sep'> </span><span class='tstring_content'>partner_rf_address</span><span class='words_sep'> </span><span class='tstring_content'>partner_type</span><span class='words_sep'>
148
+ </span><span class='tstring_content'>room_id</span><span class='words_sep'>
149
+ </span><span class='tstring_content'>room_id</span><span class='words_sep'> </span><span class='tstring_content'>display_temperature</span><span class='words_sep'>
150
+ </span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
151
+
152
+ <dt id="COMMANDS-constant" class="">COMMANDS =
153
+
154
+ </dt>
155
+ <dd><pre class="code"><span class='lbrace'>{</span>
156
+ <span class='label'>set_temperature_mode:</span> <span class='int'>0x40</span><span class='comma'>,</span>
157
+ <span class='label'>set_program:</span> <span class='int'>0x10</span><span class='comma'>,</span>
158
+ <span class='label'>set_temperature:</span> <span class='int'>0x11</span><span class='comma'>,</span>
159
+ <span class='label'>config_valve:</span> <span class='int'>0x12</span><span class='comma'>,</span>
160
+ <span class='label'>add_link_partner:</span> <span class='int'>0x20</span><span class='comma'>,</span>
161
+ <span class='label'>remove_link_partner:</span> <span class='int'>0x21</span><span class='comma'>,</span>
162
+ <span class='label'>set_group_address:</span> <span class='int'>0x22</span><span class='comma'>,</span>
163
+ <span class='label'>unset_group_address:</span> <span class='int'>0x23</span><span class='comma'>,</span>
164
+ <span class='label'>display_temperature:</span> <span class='int'>0x82</span><span class='comma'>,</span>
165
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
166
+
167
+ <dt id="DEFAULT_RF_FLAGS-constant" class="">DEFAULT_RF_FLAGS =
168
+
169
+ </dt>
170
+ <dd><pre class="code"><span class='lbrace'>{</span>
171
+ <span class='label'>set_temperature_mode:</span> <span class='int'>0x4</span><span class='comma'>,</span>
172
+ <span class='label'>set_program:</span> <span class='int'>0x4</span><span class='comma'>,</span>
173
+ <span class='label'>set_temperature:</span> <span class='int'>0x0</span><span class='comma'>,</span>
174
+ <span class='label'>config_valve:</span> <span class='int'>0x4</span><span class='comma'>,</span>
175
+ <span class='label'>add_link_partner:</span> <span class='int'>0x0</span><span class='comma'>,</span>
176
+ <span class='label'>remove_link_partner:</span> <span class='int'>0x0</span><span class='comma'>,</span>
177
+ <span class='label'>set_group_address:</span> <span class='int'>0x0</span><span class='comma'>,</span>
178
+ <span class='label'>unset_group_address:</span> <span class='int'>0x0</span><span class='comma'>,</span>
179
+ <span class='label'>display_temperature:</span> <span class='int'>0x0</span><span class='comma'>,</span>
180
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
181
+
182
+ </dl>
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+ <h2>
192
+ Instance Method Summary
193
+ <small><a href="#" class="summary_toggle">collapse</a></small>
194
+ </h2>
195
+
196
+ <ul class="summary">
197
+
198
+ <li class="private ">
199
+ <span class="summary_signature">
200
+
201
+ <a href="#serialize_tcp_s-instance_method" title="#serialize_tcp_s (instance method)">#<strong>serialize_tcp_s</strong>(hash) &#x21d2; Object </a>
202
+
203
+
204
+
205
+ </span>
206
+
207
+
208
+
209
+ <span class="note title private">private</span>
210
+
211
+
212
+
213
+
214
+
215
+ <span class="summary_desc"><div class='inline'></div></span>
216
+
217
+ </li>
218
+
219
+
220
+ <li class="private ">
221
+ <span class="summary_signature">
222
+
223
+ <a href="#serialize_tcp_s_add_link_partner-instance_method" title="#serialize_tcp_s_add_link_partner (instance method)">#<strong>serialize_tcp_s_add_link_partner</strong>(hash) &#x21d2; Object </a>
224
+
225
+
226
+
227
+ </span>
228
+
229
+
230
+
231
+ <span class="note title private">private</span>
232
+
233
+
234
+
235
+
236
+
237
+ <span class="summary_desc"><div class='inline'></div></span>
238
+
239
+ </li>
240
+
241
+
242
+ <li class="private ">
243
+ <span class="summary_signature">
244
+
245
+ <a href="#serialize_tcp_s_config_valve-instance_method" title="#serialize_tcp_s_config_valve (instance method)">#<strong>serialize_tcp_s_config_valve</strong>(hash) &#x21d2; Object </a>
246
+
247
+
248
+
249
+ </span>
250
+
251
+
252
+
253
+ <span class="note title private">private</span>
254
+
255
+
256
+
257
+
258
+
259
+ <span class="summary_desc"><div class='inline'></div></span>
260
+
261
+ </li>
262
+
263
+
264
+ <li class="private ">
265
+ <span class="summary_signature">
266
+
267
+ <a href="#serialize_tcp_s_display_temperature-instance_method" title="#serialize_tcp_s_display_temperature (instance method)">#<strong>serialize_tcp_s_display_temperature</strong>(hash) &#x21d2; Object </a>
268
+
269
+
270
+
271
+ </span>
272
+
273
+
274
+
275
+ <span class="note title private">private</span>
276
+
277
+
278
+
279
+
280
+
281
+ <span class="summary_desc"><div class='inline'>
282
+ <p>Works only on wall thermostats.</p>
283
+ </div></span>
284
+
285
+ </li>
286
+
287
+
288
+ <li class="private ">
289
+ <span class="summary_signature">
290
+
291
+ <a href="#serialize_tcp_s_group_address-instance_method" title="#serialize_tcp_s_group_address (instance method)">#<strong>serialize_tcp_s_group_address</strong>(hash) &#x21d2; Object </a>
292
+
293
+
294
+
295
+ </span>
296
+
297
+
298
+
299
+ <span class="note title private">private</span>
300
+
301
+
302
+
303
+
304
+
305
+ <span class="summary_desc"><div class='inline'></div></span>
306
+
307
+ </li>
308
+
309
+
310
+ <li class="private ">
311
+ <span class="summary_signature">
312
+
313
+ <a href="#serialize_tcp_s_head-instance_method" title="#serialize_tcp_s_head (instance method)">#<strong>serialize_tcp_s_head</strong>(hash) &#x21d2; Object </a>
314
+
315
+
316
+
317
+ </span>
318
+
319
+
320
+
321
+ <span class="note title private">private</span>
322
+
323
+
324
+
325
+
326
+
327
+ <span class="summary_desc"><div class='inline'></div></span>
328
+
329
+ </li>
330
+
331
+
332
+ <li class="private ">
333
+ <span class="summary_signature">
334
+
335
+ <a href="#serialize_tcp_s_head_rf_address-instance_method" title="#serialize_tcp_s_head_rf_address (instance method)">#<strong>serialize_tcp_s_head_rf_address</strong>(hash) &#x21d2; Object </a>
336
+
337
+
338
+
339
+ </span>
340
+
341
+
342
+
343
+ <span class="note title private">private</span>
344
+
345
+
346
+
347
+
348
+
349
+ <span class="summary_desc"><div class='inline'></div></span>
350
+
351
+ </li>
352
+
353
+
354
+ <li class="private ">
355
+ <span class="summary_signature">
356
+
357
+ <a href="#serialize_tcp_s_link_partner-instance_method" title="#serialize_tcp_s_link_partner (instance method)">#<strong>serialize_tcp_s_link_partner</strong>(hash) &#x21d2; Object </a>
358
+
359
+
360
+
361
+ </span>
362
+
363
+
364
+
365
+ <span class="note title private">private</span>
366
+
367
+
368
+
369
+
370
+
371
+ <span class="summary_desc"><div class='inline'></div></span>
372
+
373
+ </li>
374
+
375
+
376
+ <li class="private ">
377
+ <span class="summary_signature">
378
+
379
+ <a href="#serialize_tcp_s_remove_link_partner-instance_method" title="#serialize_tcp_s_remove_link_partner (instance method)">#<strong>serialize_tcp_s_remove_link_partner</strong>(hash) &#x21d2; Object </a>
380
+
381
+
382
+
383
+ </span>
384
+
385
+
386
+
387
+ <span class="note title private">private</span>
388
+
389
+
390
+
391
+
392
+
393
+ <span class="summary_desc"><div class='inline'></div></span>
394
+
395
+ </li>
396
+
397
+
398
+ <li class="private ">
399
+ <span class="summary_signature">
400
+
401
+ <a href="#serialize_tcp_s_set_group_address-instance_method" title="#serialize_tcp_s_set_group_address (instance method)">#<strong>serialize_tcp_s_set_group_address</strong>(hash) &#x21d2; Object </a>
402
+
403
+
404
+
405
+ </span>
406
+
407
+
408
+
409
+ <span class="note title private">private</span>
410
+
411
+
412
+
413
+
414
+
415
+ <span class="summary_desc"><div class='inline'></div></span>
416
+
417
+ </li>
418
+
419
+
420
+ <li class="private ">
421
+ <span class="summary_signature">
422
+
423
+ <a href="#serialize_tcp_s_set_program-instance_method" title="#serialize_tcp_s_set_program (instance method)">#<strong>serialize_tcp_s_set_program</strong>(hash) &#x21d2; Object </a>
424
+
425
+
426
+
427
+ </span>
428
+
429
+
430
+
431
+ <span class="note title private">private</span>
432
+
433
+
434
+
435
+
436
+
437
+ <span class="summary_desc"><div class='inline'></div></span>
438
+
439
+ </li>
440
+
441
+
442
+ <li class="private ">
443
+ <span class="summary_signature">
444
+
445
+ <a href="#serialize_tcp_s_set_temperature-instance_method" title="#serialize_tcp_s_set_temperature (instance method)">#<strong>serialize_tcp_s_set_temperature</strong>(hash) &#x21d2; Object </a>
446
+
447
+
448
+
449
+ </span>
450
+
451
+
452
+
453
+ <span class="note title private">private</span>
454
+
455
+
456
+
457
+
458
+
459
+ <span class="summary_desc"><div class='inline'></div></span>
460
+
461
+ </li>
462
+
463
+
464
+ <li class="private ">
465
+ <span class="summary_signature">
466
+
467
+ <a href="#serialize_tcp_s_set_temperature_mode-instance_method" title="#serialize_tcp_s_set_temperature_mode (instance method)">#<strong>serialize_tcp_s_set_temperature_mode</strong>(hash) &#x21d2; Object </a>
468
+
469
+
470
+
471
+ </span>
472
+
473
+
474
+
475
+ <span class="note title private">private</span>
476
+
477
+
478
+
479
+
480
+
481
+ <span class="summary_desc"><div class='inline'></div></span>
482
+
483
+ </li>
484
+
485
+
486
+ <li class="private ">
487
+ <span class="summary_signature">
488
+
489
+ <a href="#serialize_tcp_s_unset_group_address-instance_method" title="#serialize_tcp_s_unset_group_address (instance method)">#<strong>serialize_tcp_s_unset_group_address</strong>(hash) &#x21d2; Object </a>
490
+
491
+
492
+
493
+ </span>
494
+
495
+
496
+
497
+ <span class="note title private">private</span>
498
+
499
+
500
+
501
+
502
+
503
+ <span class="summary_desc"><div class='inline'></div></span>
504
+
505
+ </li>
506
+
507
+
508
+ </ul>
509
+
510
+
511
+
512
+
513
+ <div id="instance_method_details" class="method_details_list">
514
+ <h2>Instance Method Details</h2>
515
+
516
+
517
+ <div class="method_details first">
518
+ <h3 class="signature first" id="serialize_tcp_s-instance_method">
519
+
520
+ #<strong>serialize_tcp_s</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
521
+
522
+
523
+
524
+
525
+
526
+ </h3><table class="source_code">
527
+ <tr>
528
+ <td>
529
+ <pre class="lines">
530
+
531
+
532
+ 83
533
+ 84
534
+ 85
535
+ 86
536
+ 87
537
+ 88
538
+ 89
539
+ 90</pre>
540
+ </td>
541
+ <td>
542
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/s.rb', line 83</span>
543
+
544
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_s'>serialize_tcp_s</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
545
+ <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='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>wb</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
546
+
547
+ <span class='id identifier rubyid_cmd'>cmd</span> <span class='op'>=</span> <span class='id identifier rubyid_serialize_tcp_s_head'>serialize_tcp_s_head</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
548
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>serialize_tcp_s_</span><span class='tstring_end'>&#39;</span></span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_cmd'>cmd</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span> <span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
549
+
550
+ <span class='id identifier rubyid_encode'>encode</span><span class='lparen'>(</span><span class='ivar'>@io</span><span class='period'>.</span><span class='id identifier rubyid_string'>string</span><span class='rparen'>)</span>
551
+ <span class='kw'>end</span></pre>
552
+ </td>
553
+ </tr>
554
+ </table>
555
+ </div>
556
+
557
+ <div class="method_details ">
558
+ <h3 class="signature " id="serialize_tcp_s_add_link_partner-instance_method">
559
+
560
+ #<strong>serialize_tcp_s_add_link_partner</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
561
+
562
+
563
+
564
+
565
+
566
+ </h3><table class="source_code">
567
+ <tr>
568
+ <td>
569
+ <pre class="lines">
570
+
571
+
572
+ 216
573
+ 217
574
+ 218</pre>
575
+ </td>
576
+ <td>
577
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/s.rb', line 216</span>
578
+
579
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_s_add_link_partner'>serialize_tcp_s_add_link_partner</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
580
+ <span class='id identifier rubyid_serialize_tcp_s_link_partner'>serialize_tcp_s_link_partner</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
581
+ <span class='kw'>end</span></pre>
582
+ </td>
583
+ </tr>
584
+ </table>
585
+ </div>
586
+
587
+ <div class="method_details ">
588
+ <h3 class="signature " id="serialize_tcp_s_config_valve-instance_method">
589
+
590
+ #<strong>serialize_tcp_s_config_valve</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
591
+
592
+
593
+
594
+
595
+
596
+ </h3><table class="source_code">
597
+ <tr>
598
+ <td>
599
+ <pre class="lines">
600
+
601
+
602
+ 189
603
+ 190
604
+ 191
605
+ 192
606
+ 193
607
+ 194
608
+ 195
609
+ 196
610
+ 197
611
+ 198
612
+ 199
613
+ 200
614
+ 201
615
+ 202
616
+ 203
617
+ 204
618
+ 205
619
+ 206</pre>
620
+ </td>
621
+ <td>
622
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/s.rb', line 189</span>
623
+
624
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_s_config_valve'>serialize_tcp_s_config_valve</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
625
+ <span class='id identifier rubyid_boost_duration'>boost_duration</span> <span class='op'>=</span>
626
+ <span class='lbracket'>[</span><span class='int'>7</span><span class='comma'>,</span> <span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>boost duration</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:boost_duration</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>/</span> <span class='int'>5</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_min'>min</span>
627
+ <span class='id identifier rubyid_valve_opening'>valve_opening</span> <span class='op'>=</span> <span class='id identifier rubyid_to_float'>to_float</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>valve opening</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:valve_opening</span><span class='rbracket'>]</span><span class='rparen'>)</span>
628
+ <span class='period'>.</span><span class='id identifier rubyid_round'>round</span> <span class='op'>/</span> <span class='int'>5</span>
629
+ <span class='id identifier rubyid_boost'>boost</span> <span class='op'>=</span> <span class='id identifier rubyid_boost_duration'>boost_duration</span> <span class='op'>&lt;&lt;</span> <span class='int'>5</span> <span class='op'>|</span> <span class='id identifier rubyid_valve_opening'>valve_opening</span>
630
+
631
+ <span class='id identifier rubyid_decalcification_day'>decalcification_day</span> <span class='op'>=</span> <span class='id identifier rubyid_day_of_week_id'>day_of_week_id</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:decalcification_day</span><span class='rbracket'>]</span><span class='rparen'>)</span>
632
+ <span class='id identifier rubyid_decalcification'>decalcification</span> <span class='op'>=</span> <span class='id identifier rubyid_decalcification_day'>decalcification_day</span> <span class='op'>&lt;&lt;</span> <span class='int'>5</span> <span class='op'>|</span>
633
+ <span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>decalcification hour</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
634
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:decalcification_hour</span><span class='rbracket'>]</span><span class='rparen'>)</span>
635
+
636
+ <span class='id identifier rubyid_percent'>percent</span> <span class='op'>=</span> <span class='qsymbols_beg'>%i[</span><span class='tstring_content'>max_valve_setting</span><span class='words_sep'> </span><span class='tstring_content'>valve_offset</span><span class='tstring_end'>]</span></span>
637
+ <span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='op'>|</span> <span class='lparen'>(</span><span class='id identifier rubyid_to_float'>to_float</span><span class='lparen'>(</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_k'>k</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>*</span> <span class='float'>2.55</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_round'>round</span> <span class='rbrace'>}</span>
638
+
639
+ <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>room ID</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</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='rparen'>)</span><span class='comma'>,</span>
640
+ <span class='id identifier rubyid_boost'>boost</span><span class='comma'>,</span> <span class='id identifier rubyid_decalcification'>decalcification</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_percent'>percent</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>1</span><span class='rparen'>)</span>
641
+ <span class='kw'>end</span></pre>
642
+ </td>
643
+ </tr>
644
+ </table>
645
+ </div>
646
+
647
+ <div class="method_details ">
648
+ <h3 class="signature " id="serialize_tcp_s_display_temperature-instance_method">
649
+
650
+ #<strong>serialize_tcp_s_display_temperature</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
651
+
652
+
653
+
654
+
655
+
656
+ </h3><div class="docstring">
657
+ <div class="discussion">
658
+
659
+ <p>Works only on wall thermostats</p>
660
+
661
+
662
+ </div>
663
+ </div>
664
+ <div class="tags">
665
+
666
+
667
+ </div><table class="source_code">
668
+ <tr>
669
+ <td>
670
+ <pre class="lines">
671
+
672
+
673
+ 237
674
+ 238
675
+ 239
676
+ 240
677
+ 241
678
+ 242
679
+ 243
680
+ 244</pre>
681
+ </td>
682
+ <td>
683
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/s.rb', line 237</span>
684
+
685
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_s_display_temperature'>serialize_tcp_s_display_temperature</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
686
+ <span class='id identifier rubyid_display_settings'>display_settings</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
687
+ <span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='label'>measured:</span> <span class='int'>4</span><span class='comma'>,</span> <span class='label'>configured:</span> <span class='int'>0</span><span class='rparen'>)</span>
688
+ <span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span>
689
+ <span class='id identifier rubyid_display'>display</span> <span class='op'>=</span> <span class='id identifier rubyid_display_settings'>display_settings</span><span class='lbracket'>[</span><span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='symbol'>:display_temperature</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>x</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
690
+ <span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span>
691
+ <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>room ID</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</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='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_display'>display</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>1</span><span class='rparen'>)</span>
692
+ <span class='kw'>end</span></pre>
693
+ </td>
694
+ </tr>
695
+ </table>
696
+ </div>
697
+
698
+ <div class="method_details ">
699
+ <h3 class="signature " id="serialize_tcp_s_group_address-instance_method">
700
+
701
+ #<strong>serialize_tcp_s_group_address</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
702
+
703
+
704
+
705
+
706
+
707
+ </h3><table class="source_code">
708
+ <tr>
709
+ <td>
710
+ <pre class="lines">
711
+
712
+
713
+ 224
714
+ 225
715
+ 226</pre>
716
+ </td>
717
+ <td>
718
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/s.rb', line 224</span>
719
+
720
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_s_group_address'>serialize_tcp_s_group_address</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
721
+ <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>room ID</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</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='rparen'>)</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>1</span><span class='rparen'>)</span>
722
+ <span class='kw'>end</span></pre>
723
+ </td>
724
+ </tr>
725
+ </table>
726
+ </div>
727
+
728
+ <div class="method_details ">
729
+ <h3 class="signature " id="serialize_tcp_s_head-instance_method">
730
+
731
+ #<strong>serialize_tcp_s_head</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
732
+
733
+
734
+
735
+
736
+
737
+ </h3><table class="source_code">
738
+ <tr>
739
+ <td>
740
+ <pre class="lines">
741
+
742
+
743
+ 112
744
+ 113
745
+ 114
746
+ 115
747
+ 116
748
+ 117
749
+ 118
750
+ 119
751
+ 120
752
+ 121
753
+ 122
754
+ 123
755
+ 124
756
+ 125
757
+ 126
758
+ 127
759
+ 128
760
+ 129
761
+ 130
762
+ 131
763
+ 132
764
+ 133
765
+ 134</pre>
766
+ </td>
767
+ <td>
768
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/s.rb', line 112</span>
769
+
770
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_s_head'>serialize_tcp_s_head</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
771
+ <span class='id identifier rubyid_command'>command</span> <span class='op'>=</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:command</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
772
+ <span class='id identifier rubyid_command_id'>command_id</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="#COMMANDS-constant" title="MaxCube::Messages::TCP::Serializer::MessageS::COMMANDS (constant)">COMMANDS</a></span></span><span class='lbracket'>[</span><span class='id identifier rubyid_command'>command</span><span class='rbracket'>]</span>
773
+ <span class='kw'>unless</span> <span class='id identifier rubyid_command_id'>command_id</span>
774
+ <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>
775
+ <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> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>unknown command symbol: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_command'>command</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
776
+ <span class='kw'>end</span>
777
+
778
+ <span class='id identifier rubyid_rf_flags'>rf_flags</span> <span class='op'>=</span> <span class='kw'>if</span> <span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:rf_flags</span><span class='rparen'>)</span>
779
+ <span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>RF flags</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:rf_flags</span><span class='rbracket'>]</span><span class='rparen'>)</span>
780
+ <span class='kw'>else</span>
781
+ <span class='const'><span class='object_link'><a href="#DEFAULT_RF_FLAGS-constant" title="MaxCube::Messages::TCP::Serializer::MessageS::DEFAULT_RF_FLAGS (constant)">DEFAULT_RF_FLAGS</a></span></span><span class='lbracket'>[</span><span class='id identifier rubyid_command'>command</span><span class='rbracket'>]</span>
782
+ <span class='kw'>end</span>
783
+
784
+ <span class='id identifier rubyid_rf_address_from'>rf_address_from</span><span class='comma'>,</span> <span class='id identifier rubyid_rf_address_to'>rf_address_to</span> <span class='op'>=</span>
785
+ <span class='id identifier rubyid_serialize_tcp_s_head_rf_address'>serialize_tcp_s_head_rf_address</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
786
+
787
+ <span class='id identifier rubyid_unknown'>unknown</span> <span class='op'>=</span> <span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:unknown</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:unknown</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\x00</span><span class='tstring_end'>&quot;</span></span>
788
+ <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_serialize'>serialize</span><span class='lparen'>(</span><span class='id identifier rubyid_unknown'>unknown</span><span class='comma'>,</span> <span class='id identifier rubyid_rf_flags'>rf_flags</span><span class='comma'>,</span> <span class='id identifier rubyid_command_id'>command_id</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>1</span><span class='rparen'>)</span> <span class='op'>&lt;&lt;</span>
789
+ <span class='id identifier rubyid_serialize'>serialize</span><span class='lparen'>(</span><span class='id identifier rubyid_rf_address_from'>rf_address_from</span><span class='comma'>,</span> <span class='id identifier rubyid_rf_address_to'>rf_address_to</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>3</span><span class='rparen'>)</span><span class='rparen'>)</span>
790
+
791
+ <span class='id identifier rubyid_command'>command</span>
792
+ <span class='kw'>end</span></pre>
793
+ </td>
794
+ </tr>
795
+ </table>
796
+ </div>
797
+
798
+ <div class="method_details ">
799
+ <h3 class="signature " id="serialize_tcp_s_head_rf_address-instance_method">
800
+
801
+ #<strong>serialize_tcp_s_head_rf_address</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
802
+
803
+
804
+
805
+
806
+
807
+ </h3><table class="source_code">
808
+ <tr>
809
+ <td>
810
+ <pre class="lines">
811
+
812
+
813
+ 94
814
+ 95
815
+ 96
816
+ 97
817
+ 98
818
+ 99
819
+ 100
820
+ 101
821
+ 102
822
+ 103
823
+ 104
824
+ 105
825
+ 106
826
+ 107
827
+ 108
828
+ 109
829
+ 110</pre>
830
+ </td>
831
+ <td>
832
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/s.rb', line 94</span>
833
+
834
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_s_head_rf_address'>serialize_tcp_s_head_rf_address</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
835
+ <span class='id identifier rubyid_rf_address_from'>rf_address_from</span> <span class='op'>=</span> <span class='kw'>if</span> <span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:rf_address_from</span><span class='rparen'>)</span>
836
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:rf_address_from</span><span class='rbracket'>]</span>
837
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:rf_address_range</span><span class='rparen'>)</span>
838
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:rf_address_range</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_min'>min</span>
839
+ <span class='kw'>else</span>
840
+ <span class='int'>0</span>
841
+ <span class='kw'>end</span>
842
+ <span class='id identifier rubyid_rf_address_to'>rf_address_to</span> <span class='op'>=</span> <span class='kw'>if</span> <span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:rf_address_to</span><span class='rparen'>)</span>
843
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:rf_address_to</span><span class='rbracket'>]</span>
844
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:rf_address_range</span><span class='rparen'>)</span>
845
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:rf_address_range</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_max'>max</span>
846
+ <span class='kw'>else</span>
847
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:rf_address</span><span class='rbracket'>]</span>
848
+ <span class='kw'>end</span>
849
+ <span class='id identifier rubyid_to_ints'>to_ints</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>RF address range</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_rf_address_from'>rf_address_from</span><span class='comma'>,</span> <span class='id identifier rubyid_rf_address_to'>rf_address_to</span><span class='rparen'>)</span>
850
+ <span class='kw'>end</span></pre>
851
+ </td>
852
+ </tr>
853
+ </table>
854
+ </div>
855
+
856
+ <div class="method_details ">
857
+ <h3 class="signature " id="serialize_tcp_s_link_partner-instance_method">
858
+
859
+ #<strong>serialize_tcp_s_link_partner</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
860
+
861
+
862
+
863
+
864
+
865
+ </h3><table class="source_code">
866
+ <tr>
867
+ <td>
868
+ <pre class="lines">
869
+
870
+
871
+ 208
872
+ 209
873
+ 210
874
+ 211
875
+ 212
876
+ 213
877
+ 214</pre>
878
+ </td>
879
+ <td>
880
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/s.rb', line 208</span>
881
+
882
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_s_link_partner'>serialize_tcp_s_link_partner</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
883
+ <span class='id identifier rubyid_partner_type'>partner_type</span> <span class='op'>=</span> <span class='id identifier rubyid_device_type_id'>device_type_id</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:partner_type</span><span class='rbracket'>]</span><span class='rparen'>)</span>
884
+ <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_serialize'>serialize</span><span class='lparen'>(</span><span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>room ID</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</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='rparen'>)</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>1</span><span class='rparen'>)</span> <span class='op'>&lt;&lt;</span>
885
+ <span class='id identifier rubyid_serialize'>serialize</span><span class='lparen'>(</span><span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>partner RF address</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
886
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:partner_rf_address</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>3</span><span class='rparen'>)</span> <span class='op'>&lt;&lt;</span>
887
+ <span class='id identifier rubyid_serialize'>serialize</span><span class='lparen'>(</span><span class='id identifier rubyid_partner_type'>partner_type</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>1</span><span class='rparen'>)</span><span class='rparen'>)</span>
888
+ <span class='kw'>end</span></pre>
889
+ </td>
890
+ </tr>
891
+ </table>
892
+ </div>
893
+
894
+ <div class="method_details ">
895
+ <h3 class="signature " id="serialize_tcp_s_remove_link_partner-instance_method">
896
+
897
+ #<strong>serialize_tcp_s_remove_link_partner</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
898
+
899
+
900
+
901
+
902
+
903
+ </h3><table class="source_code">
904
+ <tr>
905
+ <td>
906
+ <pre class="lines">
907
+
908
+
909
+ 220
910
+ 221
911
+ 222</pre>
912
+ </td>
913
+ <td>
914
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/s.rb', line 220</span>
915
+
916
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_s_remove_link_partner'>serialize_tcp_s_remove_link_partner</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
917
+ <span class='id identifier rubyid_serialize_tcp_s_link_partner'>serialize_tcp_s_link_partner</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
918
+ <span class='kw'>end</span></pre>
919
+ </td>
920
+ </tr>
921
+ </table>
922
+ </div>
923
+
924
+ <div class="method_details ">
925
+ <h3 class="signature " id="serialize_tcp_s_set_group_address-instance_method">
926
+
927
+ #<strong>serialize_tcp_s_set_group_address</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
928
+
929
+
930
+
931
+
932
+
933
+ </h3><table class="source_code">
934
+ <tr>
935
+ <td>
936
+ <pre class="lines">
937
+
938
+
939
+ 228
940
+ 229
941
+ 230</pre>
942
+ </td>
943
+ <td>
944
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/s.rb', line 228</span>
945
+
946
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_s_set_group_address'>serialize_tcp_s_set_group_address</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
947
+ <span class='id identifier rubyid_serialize_tcp_s_group_address'>serialize_tcp_s_group_address</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
948
+ <span class='kw'>end</span></pre>
949
+ </td>
950
+ </tr>
951
+ </table>
952
+ </div>
953
+
954
+ <div class="method_details ">
955
+ <h3 class="signature " id="serialize_tcp_s_set_program-instance_method">
956
+
957
+ #<strong>serialize_tcp_s_set_program</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
958
+
959
+
960
+
961
+
962
+
963
+ </h3><table class="source_code">
964
+ <tr>
965
+ <td>
966
+ <pre class="lines">
967
+
968
+
969
+ 161
970
+ 162
971
+ 163
972
+ 164
973
+ 165
974
+ 166
975
+ 167
976
+ 168
977
+ 169
978
+ 170
979
+ 171
980
+ 172
981
+ 173</pre>
982
+ </td>
983
+ <td>
984
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/s.rb', line 161</span>
985
+
986
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_s_set_program'>serialize_tcp_s_set_program</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
987
+ <span class='id identifier rubyid_day_of_week'>day_of_week</span> <span class='op'>=</span> <span class='id identifier rubyid_day_of_week_id'>day_of_week_id</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:day</span><span class='rbracket'>]</span><span class='rparen'>)</span>
988
+ <span class='id identifier rubyid_day_of_week'>day_of_week</span> <span class='op'>|=</span> <span class='int'>0x8</span> <span class='kw'>if</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:telegram_set</span><span class='rbracket'>]</span>
989
+ <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>room ID</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</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='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_day_of_week'>day_of_week</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>1</span><span class='rparen'>)</span>
990
+
991
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:program</span><span class='rbracket'>]</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_prog'>prog</span><span class='op'>|</span>
992
+ <span class='id identifier rubyid_temp_time'>temp_time</span> <span class='op'>=</span>
993
+ <span class='lparen'>(</span><span class='id identifier rubyid_to_float'>to_float</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>temperature</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_prog'>prog</span><span class='lbracket'>[</span><span class='symbol'>:temperature</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>*</span> <span class='int'>2</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='op'>&lt;&lt;</span> <span class='int'>9</span> <span class='op'>|</span>
994
+ <span class='lparen'>(</span><span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>hours until</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_prog'>prog</span><span class='lbracket'>[</span><span class='symbol'>:hours_until</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>*</span> <span class='int'>60</span> <span class='op'>+</span>
995
+ <span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>minutes until</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_prog'>prog</span><span class='lbracket'>[</span><span class='symbol'>:minutes_until</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>/</span> <span class='int'>5</span>
996
+ <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_temp_time'>temp_time</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>2</span><span class='rparen'>)</span>
997
+ <span class='kw'>end</span>
998
+ <span class='kw'>end</span></pre>
999
+ </td>
1000
+ </tr>
1001
+ </table>
1002
+ </div>
1003
+
1004
+ <div class="method_details ">
1005
+ <h3 class="signature " id="serialize_tcp_s_set_temperature-instance_method">
1006
+
1007
+ #<strong>serialize_tcp_s_set_temperature</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
1008
+
1009
+
1010
+
1011
+
1012
+
1013
+ </h3><table class="source_code">
1014
+ <tr>
1015
+ <td>
1016
+ <pre class="lines">
1017
+
1018
+
1019
+ 175
1020
+ 176
1021
+ 177
1022
+ 178
1023
+ 179
1024
+ 180
1025
+ 181
1026
+ 182
1027
+ 183
1028
+ 184
1029
+ 185
1030
+ 186
1031
+ 187</pre>
1032
+ </td>
1033
+ <td>
1034
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/s.rb', line 175</span>
1035
+
1036
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_s_set_temperature'>serialize_tcp_s_set_temperature</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
1037
+ <span class='id identifier rubyid_keys'>keys</span> <span class='op'>=</span> <span class='qsymbols_beg'>%i[</span><span class='tstring_content'>comfort_temperature</span><span class='words_sep'> </span><span class='tstring_content'>eco_temperature</span><span class='words_sep'>
1038
+ </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'>
1039
+ </span><span class='tstring_content'>temperature_offset</span><span class='words_sep'> </span><span class='tstring_content'>window_open_temperature</span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span>
1040
+ <span class='id identifier rubyid_temperatures'>temperatures</span> <span class='op'>=</span> <span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='op'>|</span> <span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_k'>k</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
1041
+ <span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</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> <span class='id identifier rubyid_to_float'>to_float</span><span class='lparen'>(</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='op'>*</span> <span class='int'>2</span> <span class='rbrace'>}</span>
1042
+ <span class='id identifier rubyid_temperatures'>temperatures</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>2</span><span class='rbracket'>]</span> <span class='op'>+=</span> <span class='int'>7</span>
1043
+
1044
+ <span class='id identifier rubyid_open_duration'>open_duration</span> <span class='op'>=</span> <span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>window open duration</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
1045
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:window_open_duration</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>/</span> <span class='int'>5</span>
1046
+ <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>room ID</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</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='rparen'>)</span><span class='comma'>,</span>
1047
+ <span class='op'>*</span><span class='id identifier rubyid_temperatures'>temperatures</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:to_i</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_open_duration'>open_duration</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>1</span><span class='rparen'>)</span>
1048
+ <span class='kw'>end</span></pre>
1049
+ </td>
1050
+ </tr>
1051
+ </table>
1052
+ </div>
1053
+
1054
+ <div class="method_details ">
1055
+ <h3 class="signature " id="serialize_tcp_s_set_temperature_mode-instance_method">
1056
+
1057
+ #<strong>serialize_tcp_s_set_temperature_mode</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
1058
+
1059
+
1060
+
1061
+
1062
+
1063
+ </h3><table class="source_code">
1064
+ <tr>
1065
+ <td>
1066
+ <pre class="lines">
1067
+
1068
+
1069
+ 136
1070
+ 137
1071
+ 138
1072
+ 139
1073
+ 140
1074
+ 141
1075
+ 142
1076
+ 143
1077
+ 144
1078
+ 145
1079
+ 146
1080
+ 147
1081
+ 148
1082
+ 149
1083
+ 150
1084
+ 151
1085
+ 152
1086
+ 153
1087
+ 154
1088
+ 155
1089
+ 156
1090
+ 157
1091
+ 158
1092
+ 159</pre>
1093
+ </td>
1094
+ <td>
1095
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/s.rb', line 136</span>
1096
+
1097
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_s_set_temperature_mode'>serialize_tcp_s_set_temperature_mode</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
1098
+ <span class='ivar'>@mode</span> <span class='op'>=</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:mode</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
1099
+ <span class='id identifier rubyid_temp_mode'>temp_mode</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_to_float'>to_float</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>temperature</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:temperature</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>*</span> <span class='int'>2</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='op'>|</span>
1100
+ <span class='id identifier rubyid_device_mode_id'>device_mode_id</span><span class='lparen'>(</span><span class='ivar'>@mode</span><span class='rparen'>)</span> <span class='op'>&lt;&lt;</span> <span class='int'>6</span>
1101
+ <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>room ID</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</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='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_temp_mode'>temp_mode</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>1</span><span class='rparen'>)</span>
1102
+
1103
+ <span class='kw'>return</span> <span class='kw'>unless</span> <span class='ivar'>@mode</span> <span class='op'>==</span> <span class='symbol'>:vacation</span>
1104
+
1105
+ <span class='id identifier rubyid_datetime_until'>datetime_until</span> <span class='op'>=</span> <span class='id identifier rubyid_to_datetime'>to_datetime</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>datetime until</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
1106
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:datetime_until</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1107
+
1108
+ <span class='id identifier rubyid_year'>year</span> <span class='op'>=</span> <span class='id identifier rubyid_datetime_until'>datetime_until</span><span class='period'>.</span><span class='id identifier rubyid_year'>year</span> <span class='op'>-</span> <span class='int'>2000</span>
1109
+ <span class='id identifier rubyid_month'>month</span> <span class='op'>=</span> <span class='id identifier rubyid_datetime_until'>datetime_until</span><span class='period'>.</span><span class='id identifier rubyid_month'>month</span>
1110
+ <span class='id identifier rubyid_day'>day</span> <span class='op'>=</span> <span class='id identifier rubyid_datetime_until'>datetime_until</span><span class='period'>.</span><span class='id identifier rubyid_day'>day</span>
1111
+ <span class='id identifier rubyid_date_until'>date_until</span> <span class='op'>=</span> <span class='id identifier rubyid_year'>year</span> <span class='op'>|</span> <span class='lparen'>(</span><span class='id identifier rubyid_month'>month</span> <span class='op'>&amp;</span> <span class='int'>1</span><span class='rparen'>)</span> <span class='op'>&lt;&lt;</span> <span class='int'>7</span> <span class='op'>|</span>
1112
+ <span class='id identifier rubyid_day'>day</span> <span class='op'>&lt;&lt;</span> <span class='int'>8</span> <span class='op'>|</span> <span class='lparen'>(</span><span class='id identifier rubyid_month'>month</span> <span class='op'>&amp;</span> <span class='int'>0xe</span><span class='rparen'>)</span> <span class='op'>&lt;&lt;</span> <span class='int'>12</span>
1113
+
1114
+ <span class='id identifier rubyid_hours'>hours</span> <span class='op'>=</span> <span class='id identifier rubyid_datetime_until'>datetime_until</span><span class='period'>.</span><span class='id identifier rubyid_hour'>hour</span> <span class='op'>&lt;&lt;</span> <span class='int'>1</span>
1115
+ <span class='id identifier rubyid_minutes'>minutes</span> <span class='op'>=</span> <span class='id identifier rubyid_datetime_until'>datetime_until</span><span class='period'>.</span><span class='id identifier rubyid_min'>min</span> <span class='op'>&lt;</span> <span class='int'>30</span> <span class='op'>?</span> <span class='int'>0</span> <span class='op'>:</span> <span class='int'>1</span>
1116
+ <span class='id identifier rubyid_time_until'>time_until</span> <span class='op'>=</span> <span class='id identifier rubyid_hours'>hours</span> <span class='op'>|</span> <span class='id identifier rubyid_minutes'>minutes</span>
1117
+
1118
+ <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_serialize'>serialize</span><span class='lparen'>(</span><span class='id identifier rubyid_date_until'>date_until</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>2</span><span class='rparen'>)</span> <span class='op'>&lt;&lt;</span>
1119
+ <span class='id identifier rubyid_serialize'>serialize</span><span class='lparen'>(</span><span class='id identifier rubyid_time_until'>time_until</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>1</span><span class='rparen'>)</span><span class='rparen'>)</span>
1120
+ <span class='kw'>end</span></pre>
1121
+ </td>
1122
+ </tr>
1123
+ </table>
1124
+ </div>
1125
+
1126
+ <div class="method_details ">
1127
+ <h3 class="signature " id="serialize_tcp_s_unset_group_address-instance_method">
1128
+
1129
+ #<strong>serialize_tcp_s_unset_group_address</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
1130
+
1131
+
1132
+
1133
+
1134
+
1135
+ </h3><table class="source_code">
1136
+ <tr>
1137
+ <td>
1138
+ <pre class="lines">
1139
+
1140
+
1141
+ 232
1142
+ 233
1143
+ 234</pre>
1144
+ </td>
1145
+ <td>
1146
+ <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/s.rb', line 232</span>
1147
+
1148
+ <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_s_unset_group_address'>serialize_tcp_s_unset_group_address</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
1149
+ <span class='id identifier rubyid_serialize_tcp_s_group_address'>serialize_tcp_s_group_address</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
1150
+ <span class='kw'>end</span></pre>
1151
+ </td>
1152
+ </tr>
1153
+ </table>
1154
+ </div>
1155
+
1156
+ </div>
1157
+
1158
+ </div>
1159
+
1160
+ <div id="footer">
1161
+ Generated on Fri Feb 16 13:44:01 2018 by
1162
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1163
+ 0.9.12 (ruby-2.5.0).
1164
+ </div>
1165
+
1166
+ </div>
1167
+ </body>
1168
+ </html>