Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 1683 lines (1515 sloc) 93.926 kb
be7923d Added LGPL licence headers
Elias Karakoulakis authored
1 //~ Thrift4OZW - An Apache Thrift wrapper for OpenZWave
2 //~ ----------------------------------------------------
3 //~ Copyright (c) 2011 Elias Karakoulakis <elias.karakoulakis@gmail.com>
4
5 //~ SOFTWARE NOTICE AND LICENSE
6
7 //~ Thrift4OZW is free software: you can redistribute it and/or modify
8 //~ it under the terms of the GNU Lesser General Public License as published
9 //~ by the Free Software Foundation, either version 3 of the License,
10 //~ or (at your option) any later version.
11
12 //~ Thrift4OZW is distributed in the hope that it will be useful,
13 //~ but WITHOUT ANY WARRANTY; without even the implied warranty of
14 //~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 //~ GNU Lesser General Public License for more details.
16
17 //~ You should have received a copy of the GNU Lesser General Public License
18 //~ along with Thrift4OZW. If not, see <http://www.gnu.org/licenses/>.
19
20 //~ for more information on the LGPL, see:
21 //~ http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License
8603286 Initial repo set-up
Elias Karakoulakis authored
22
23 namespace * OpenZWave
24 cpp_include "Manager.h"
25 cpp_include "ValueID.h"
26 cpp_include "Options.h"
27
28 enum RemoteValueGenre {
29 ValueGenre_Basic=0,
30 ValueGenre_User=1,
31 ValueGenre_Config=2,
32 ValueGenre_System=3,
33 ValueGenre_Count=4
34 }
35
36 enum RemoteValueType {
37 ValueType_Bool=0,
38 ValueType_Byte=1,
39 ValueType_Decimal=2,
40 ValueType_Int=3,
41 ValueType_List=4,
42 ValueType_Schedule=5,
43 ValueType_Short=6,
44 ValueType_String=7,
45 ValueType_Button=8,
46 ValueType_Max=8
47 }
48
34c2ebe More OpenZWave compatibility fixes
Elias Karakoulakis authored
49 struct RemoteValueID {
50 1:i32 _homeId,
51 2:byte _nodeId,
52 3:RemoteValueGenre _genre,
53 4:byte _commandClassId,
54 5:byte _instance,
55 6:byte _valueIndex,
56 7:RemoteValueType _type
57 }
58 //typedef i64 RemoteValueID
59
8603286 Initial repo set-up
Elias Karakoulakis authored
60 //~ struct RemoteValueID {
34c2ebe More OpenZWave compatibility fixes
Elias Karakoulakis authored
61 //~ 1: i32 m_id;
62 //~ 2: i32 m_id1;
63 //~ 3: i32 m_homeId;
8603286 Initial repo set-up
Elias Karakoulakis authored
64 //~ }
65
66 struct GetSwitchPointReturnStruct {
6a750a2 more documentation added
Elias Karakoulakis authored
67 1:bool retval;
68 2:byte o_hours;
69 3:byte o_minutes;
70 4:byte o_setback;
8603286 Initial repo set-up
Elias Karakoulakis authored
71 }
72
73 struct Bool_Bool {
74 1:bool retval; // function succeeded?
4951e1d create_server.rb: refactored code
Elias Karakoulakis authored
75 2:bool o_value; // value returned
8603286 Initial repo set-up
Elias Karakoulakis authored
76 }
77
78 struct Bool_UInt8 {
79 1:bool retval; // function succeeded?
4951e1d create_server.rb: refactored code
Elias Karakoulakis authored
80 2:byte o_value; // value returned
8603286 Initial repo set-up
Elias Karakoulakis authored
81 }
82
83 struct Bool_Float {
84 1:bool retval; // function succeeded?
4951e1d create_server.rb: refactored code
Elias Karakoulakis authored
85 2:double o_value; // value returned
8603286 Initial repo set-up
Elias Karakoulakis authored
86 }
87
88 struct Bool_Int {
89 1:bool retval; // function succeeded?
4951e1d create_server.rb: refactored code
Elias Karakoulakis authored
90 2:i32 o_value; // value returned
8603286 Initial repo set-up
Elias Karakoulakis authored
91 }
92
93 struct Bool_Int16 {
94 1:bool retval; // function succeeded?
4951e1d create_server.rb: refactored code
Elias Karakoulakis authored
95 2:i16 o_value; // value returned
8603286 Initial repo set-up
Elias Karakoulakis authored
96 }
97
98 struct Bool_String {
99 1:bool retval; // function succeeded?
4951e1d create_server.rb: refactored code
Elias Karakoulakis authored
100 2:string o_value; // value returned
8603286 Initial repo set-up
Elias Karakoulakis authored
101 }
102
103 struct Bool_ListString {
104 1:bool retval;
4951e1d create_server.rb: refactored code
Elias Karakoulakis authored
105 2:list<string> o_value;
8603286 Initial repo set-up
Elias Karakoulakis authored
106 }
107
108 struct UInt32_ListByte {
109 1:i32 retval;
4951e1d create_server.rb: refactored code
Elias Karakoulakis authored
110 2:list<byte> _nodeNeighbors;
111 }
112
113 struct Bool_GetNodeClassInformation {
114 1:bool retval;
115 2:string _className;
116 3:byte _classVersion;
117 }
118
119 struct GetAssociationsReturnStruct {
120 1:i32 retval;
121 2:list<byte> o_associations;
122 }
123
124 struct GetAllScenesReturnStruct {
125 1:byte retval;
126 2:list<byte> _sceneIds;
127 }
128
129 struct SceneGetValuesReturnStruct {
130 1: i32 retval;
131 2: list<RemoteValueID> o_value;
8603286 Initial repo set-up
Elias Karakoulakis authored
132 }
133
134 /*-------------------------------------*/
135 service RemoteManager {
136 /*-------------------------------------*/
137
138 //-----------------------------------------------------------------------------
139 // Configuration
140 //-----------------------------------------------------------------------------
141 /** \name Configuration
142 * For saving the Z-Wave network configuration so that the entire network does not need to be
143 * polled every time the application starts.
144 */
145
146 // void WriteConfig( uint32 const _homeId );
147 void WriteConfig(1: i32 _homeId );
148
149 //TODO: Options* GetOptions()const{ return m_options; }
150 // list<Options> GetOptions();
151
152 //-----------------------------------------------------------------------------
153 // Drivers
154 //-----------------------------------------------------------------------------
155 /** \name Drivers
156 * Methods for adding and removing drivers and obtaining basic controller information.
157 */
158
159 //TODO: bool AddDriver( string const& _controllerPath, Driver::ControllerInterface const& _interface = Driver::ControllerInterface_Serial);
160 //TODO: bool RemoveDriver( string const& _controllerPath );
161
162 //uint8 GetControllerNodeId( uint32 const _homeId );
163 byte GetControllerNodeId( 1:i32 _homeId );
164
165 //bool IsPrimaryController( uint32 const _homeId );
166 bool IsPrimaryController(1: i32 _homeId );
167
168 //TODO
169 //bool IsStaticUpdateController( uint32 const _homeId );
4951e1d create_server.rb: refactored code
Elias Karakoulakis authored
170 bool IsStaticUpdateController( 1:i32 _homeId );
8603286 Initial repo set-up
Elias Karakoulakis authored
171
172 /**
173 * \brief Query if the controller is using the bridge controller library.
174 * A bridge controller is able to create virtual nodes that can be associated
175 * with other controllers to enable events to be passed on.
176 * \param _homeId The Home ID of the Z-Wave controller.
177 * \return true if it is a bridge controller, false if not.
178 */
179 //bool IsBridgeController( uint32 const _homeId );
180 bool IsBridgeController( 1:i32 _homeId );
181
182 /**
183 * \brief Get the version of the Z-Wave API library used by a controller.
184 * \param _homeId The Home ID of the Z-Wave controller.
185 * \return a string containing the library version. For example, "Z-Wave 2.48".
186 */
187 //string GetLibraryVersion( uint32 const _homeId );
188 string GetLibraryVersion( 1:i32 _homeId );
189
190 /**
191 * \brief Get a string containing the Z-Wave API library type used by a controller.
192 * The possible library types are:
193 * - Static Controller
194 * - Controller
195 * - Enhanced Slave
196 * - Slave
197 * - Installer
198 * - Routing Slave
199 * - Bridge Controller
200 * - Device Under Test
201 * The controller should never return a slave library type.
202 * For a more efficient test of whether a controller is a Bridge Controller, use
203 * the IsBridgeController method.
204 * \param _homeId The Home ID of the Z-Wave controller.
205 * \return a string containing the library type.
206 * \see GetLibraryVersion, IsBridgeController
207 */
208 //string GetLibraryTypeName( uint32 const _homeId );
209 string GetLibraryTypeName( 1:i32 _homeId );
210
211 /**
212 * \brief Get count of messages in the outgoing send queue.
213 * \param _homeId The Home ID of the Z-Wave controller.
214 * \return a integer message count
215 */
216 //int32 GetSendQueueCount( uint32 const _homeId );
217 i32 GetSendQueueCount( 1:i32 _homeId );
218
219 //-----------------------------------------------------------------------------
220 // Polling Z-Wave devices
221 //-----------------------------------------------------------------------------
222 /** \name Polling Z-Wave devices
223 * Methods for controlling the polling of Z-Wave devices. Modern devices will not
224 * require polling. Some old devices need to be polled as the only way to detect
225 * status changes.
226 */
227
228 /**
229 * \brief Get the time period between polls of a node's state.
230 */
231 //int32 GetPollInterval();
232 i32 GetPollInterval();
233
234 /**
235 * \brief Set the time period between polls of a node's state.
236 * Due to patent concerns, some devices do not report state changes automatically to the controller.
237 * These devices need to have their state polled at regular intervals. The length of the interval
238 * is the same for all devices. To even out the Z-Wave network traffic generated by polling, OpenZWave
239 * divides the polling interval by the number of devices that have polling enabled, and polls each
240 * in turn. It is recommended that if possible, the interval should not be set shorter than the
241 * number of polled devices in seconds (so that the network does not have to cope with more than one
242 * poll per second).
243 * \param _seconds The length of the polling interval in seconds.
244 */
245 //void SetPollInterval( int32 _seconds );
246 void SetPollInterval( 1:i32 _seconds );
247
248 /**
249 * \brief Enable the polling of a device's state.
250 * \param _valueId The ID of the value to start polling.
251 * \return True if polling was enabled.
252 */
253 //bool EnablePoll( ValueID const _valueId );
254 bool EnablePoll( 1:RemoteValueID _valueId );
255
256 /**
257 * \brief Disable the polling of a device's state.
258 * \param _valueId The ID of the value to stop polling.
259 * \return True if polling was disabled.
260 */
261 //bool DisablePoll( ValueID const _valueId );
262 bool DisablePoll( 1:RemoteValueID _valueId );
263
264 /**
265 * \brief Determine the polling of a device's state.
266 * \param _valueId The ID of the value to check polling.
267 * \return True if polling is active.
268 */
269 //bool isPolled( ValueID const _valueId );
270 bool isPolled( 1:RemoteValueID _valueId );
271
272 //-----------------------------------------------------------------------------
273 // Node information
274 //-----------------------------------------------------------------------------
275 /** \name Node information
276 * Methods for accessing information on indivdual nodes.
277 */
278 /**
279 * \brief Trigger the fetching of fixed data about a node.
280 * Causes the node's data to be obtained from the Z-Wave network in the same way as if it had just been added.
281 * This method would normally be called automatically by OpenZWave, but if you know that a node has been
282 * changed, calling this method will force a refresh of all of the data held by the library. This can be especially
283 * useful for devices that were asleep when the application was first run. This is the
284 * same as the query state starting from the beginning.
285 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
286 * \param _nodeId The ID of the node to query.
287 * \return True if the request was sent successfully.
288 */
289 //bool RefreshNodeInfo( uint32 const _homeId, uint8 const _nodeId );
290 bool RefreshNodeInfo( 1:i32 _homeId, 2:byte _nodeId );
291
292 /**
293 * \brief Trigger the fetching of dynamic value data for a node.
294 * Causes the node's values to be requested from the Z-Wave network. This is the
295 * same as the query state starting from the associations state.
296 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
297 * \param _nodeId The ID of the node to query.
298 * \return True if the request was sent successfully.
299 */
300 //bool RequestNodeState( uint32 const _homeId, uint8 const _nodeId );
301 bool RequestNodeState( 1:i32 _homeId, 2:byte _nodeId );
302
303 /**
304 * \brief Trigger the fetching of just the dynamic value data for a node.
305 * Causes the node's values to be requested from the Z-Wave network. This is the
306 * same as the query state starting from the dynamic state.
307 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
308 * \param _nodeId The ID of the node to query.
309 * \return True if the request was sent successfully.
310 */
311 //bool RequestNodeDynamic( uint32 const _homeId, uint8 const _nodeId );
312 bool RequestNodeDynamic( 1:i32 _homeId, 2:byte _nodeId );
313
314 /**
315 * \brief Get whether the node is a listening device that does not go to sleep
316 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
317 * \param _nodeId The ID of the node to query.
318 * \return True if it is a listening node.
319 */
320 //bool IsNodeListeningDevice( uint32 const _homeId, uint8 const _nodeId );
321 bool IsNodeListeningDevice( 1:i32 _homeId, 2:byte _nodeId );
322
323 /**
324 * \brief Get whether the node is a routing device that passes messages to other nodes
325 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
326 * \param _nodeId The ID of the node to query.
327 * \return True if the node is a routing device
328 */
329 //bool IsNodeRoutingDevice( uint32 const _homeId, uint8 const _nodeId );
330 bool IsNodeRoutingDevice( 1:i32 _homeId, 2:byte _nodeId );
331
332 /**
333 * \brief Get the maximum baud rate of a node's communications
334 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
335 * \param _nodeId The ID of the node to query.
336 * \return the baud rate in bits per second.
337 */
338 //uint32 GetNodeMaxBaudRate( uint32 const _homeId, uint8 const _nodeId );
339 i32 GetNodeMaxBaudRate( 1:i32 _homeId, 2:byte _nodeId );
340
341 /**
342 * \brief Get the version number of a node
343 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
344 * \param _nodeId The ID of the node to query.
345 * \return the node's version number
346 */
347 //uint8 GetNodeVersion( uint32 const _homeId, uint8 const _nodeId );
348 byte GetNodeVersion( 1:i32 _homeId, 2:byte _nodeId );
349
350 /**
351 * \brief Get the security byte for a node. Bit meanings are still to be determined.
352 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
353 * \param _nodeId The ID of the node to query.
354 * \return the node's security byte
355 */
356 //uint8 GetNodeSecurity( uint32 const _homeId, uint8 const _nodeId );
357 byte GetNodeSecurity( 1:i32 _homeId, 2:byte _nodeId );
358
359 /**
360 * \brief Get the basic type of a node.
361 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
362 * \param _nodeId The ID of the node to query.
363 * \return the node's basic type.
364 */
365 //uint8 GetNodeBasic( uint32 const _homeId, uint8 const _nodeId );
366 byte GetNodeBasic( 1:i32 _homeId, 2:byte _nodeId );
367
368 /**
369 * \brief Get the generic type of a node.
370 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
371 * \param _nodeId The ID of the node to query.
372 * \return the node's generic type.
373 */
374 //uint8 GetNodeGeneric( uint32 const _homeId, uint8 const _nodeId );
375 byte GetNodeGeneric( 1:i32 _homeId, 2:byte _nodeId );
376
377 /**
378 * \brief Get the specific type of a node.
379 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
380 * \param _nodeId The ID of the node to query.
381 * \return the node's specific type.
382 */
383 //uint8 GetNodeSpecific( uint32 const _homeId, uint8 const _nodeId );
384 byte GetNodeSpecific( 1:i32 _homeId, 2:byte _nodeId );
385
386 /**
387 * \brief Get a human-readable label describing the node
388 * The label is taken from the Z-Wave specific, generic or basic type, depending on which of those values are specified by the node.
389 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
390 * \param _nodeId The ID of the node to query.
391 * \return A string containing the label text.
392 */
393 //string GetNodeType( uint32 const _homeId, uint8 const _nodeId );
394 string GetNodeType( 1:i32 _homeId, 2:byte _nodeId );
395
396 /**
397 * \brief Get the bitmap of this node's neighbors
398 *
399 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
400 * \param _nodeId The ID of the node to query.
401 * \param _nodeNeighbors An array of 29 uint8s to hold the neighbor bitmap
402 */
403 //uint32 GetNodeNeighbors( uint32 const _homeId, uint8 const _nodeId, uint8** _nodeNeighbors );
404 UInt32_ListByte GetNodeNeighbors( 1:i32 _homeId, 2:byte _nodeId);
405
406 /**
407 * \brief Get the manufacturer name of a device
408 * The manufacturer name would normally be handled by the Manufacturer Specific commmand class,
409 * taking the manufacturer ID reported by the device and using it to look up the name from the
410 * manufacturer_specific.xml file in the OpenZWave config folder.
411 * However, there are some devices that do not support the command class, so to enable the user
412 * to manually set the name, it is stored with the node data and accessed via this method rather
413 * than being reported via a command class Value object.
414 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
415 * \param _nodeId The ID of the node to query.
416 * \return A string containing the node's manufacturer name.
417 * \see SetNodeManufacturerName, GetNodeProductName, SetNodeProductName
418 */
419 //string GetNodeManufacturerName( uint32 const _homeId, uint8 const _nodeId );
420 string GetNodeManufacturerName( 1:i32 _homeId, 2:byte _nodeId );
421
422 /**
423 * \brief Get the product name of a device
424 * The product name would normally be handled by the Manufacturer Specific commmand class,
425 * taking the product Type and ID reported by the device and using it to look up the name from the
426 * manufacturer_specific.xml file in the OpenZWave config folder.
427 * However, there are some devices that do not support the command class, so to enable the user
428 * to manually set the name, it is stored with the node data and accessed via this method rather
429 * than being reported via a command class Value object.
430 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
431 * \param _nodeId The ID of the node to query.
432 * \return A string containing the node's product name.
433 * \see SetNodeProductName, GetNodeManufacturerName, SetNodeManufacturerName
434 */
435 //string GetNodeProductName( uint32 const _homeId, uint8 const _nodeId );
436 string GetNodeProductName( 1:i32 _homeId, 2:byte _nodeId );
437
438 /**
439 * \brief Get the name of a node
440 * The node name is a user-editable label for the node that would normally be handled by the
441 * Node Naming commmand class, but many devices do not support it. So that a node can always
442 * be named, OpenZWave stores it with the node data, and provides access through this method
443 * and SetNodeName, rather than reporting it via a command class Value object.
444 * The maximum length of a node name is 16 characters.
445 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
446 * \param _nodeId The ID of the node to query.
447 * \return A string containing the node's name.
448 * \see SetNodeName, GetNodeLocation, SetNodeLocation
449 */
450 //string GetNodeName( uint32 const _homeId, uint8 const _nodeId );
451 string GetNodeName( 1:i32 _homeId, 2:byte _nodeId );
452
453 /**
454 * \brief Get the location of a node
455 * The node location is a user-editable string that would normally be handled by the Node Naming
456 * commmand class, but many devices do not support it. So that a node can always report its
457 * location, OpenZWave stores it with the node data, and provides access through this method
458 * and SetNodeLocation, rather than reporting it via a command class Value object.
459 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
460 * \param _nodeId The ID of the node to query.
461 * \return A string containing the node's location.
462 * \see SetNodeLocation, GetNodeName, SetNodeName
463 */
464 //string GetNodeLocation( uint32 const _homeId, uint8 const _nodeId );
465 string GetNodeLocation( 1:i32 _homeId, 2:byte _nodeId );
466
467 /**
468 * \brief Get the manufacturer ID of a device
469 * The manufacturer ID is a four digit hex code and would normally be handled by the Manufacturer
470 * Specific commmand class, but not all devices support it. Although the value reported by this
471 * method will be an empty string if the command class is not supported and cannot be set by the
472 * user, the manufacturer ID is still stored with the node data (rather than being reported via a
473 * command class Value object) to retain a consistent approach with the other manufacturer specific data.
474 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
475 * \param _nodeId The ID of the node to query.
476 * \return A string containing the node's manufacturer ID, or an empty string if the manufactuer
477 * specific command class is not supported by the device.
478 * \see GetNodeProductType, GetNodeProductId, GetNodeManufacturerName, GetNodeProductName
479 */
480 //string GetNodeManufacturerId( uint32 const _homeId, uint8 const _nodeId );
481 string GetNodeManufacturerId( 1:i32 _homeId, 2:byte _nodeId );
482
483 /**
484 * \brief Get the product type of a device
485 * The product type is a four digit hex code and would normally be handled by the Manufacturer Specific
486 * commmand class, but not all devices support it. Although the value reported by this method will
487 * be an empty string if the command class is not supported and cannot be set by the user, the product
488 * type is still stored with the node data (rather than being reported via a command class Value object)
489 * to retain a consistent approach with the other manufacturer specific data.
490 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
491 * \param _nodeId The ID of the node to query.
492 * \return A string containing the node's product type, or an empty string if the manufactuer
493 * specific command class is not supported by the device.
494 * \see GetNodeManufacturerId, GetNodeProductId, GetNodeManufacturerName, GetNodeProductName
495 */
496 //string GetNodeProductType( uint32 const _homeId, uint8 const _nodeId );
497 string GetNodeProductType( 1:i32 _homeId, 2:byte _nodeId );
498
499 /**
500 * \brief Get the product ID of a device
501 * The product ID is a four digit hex code and would normally be handled by the Manufacturer Specific
502 * commmand class, but not all devices support it. Although the value reported by this method will
503 * be an empty string if the command class is not supported and cannot be set by the user, the product
504 * ID is still stored with the node data (rather than being reported via a command class Value object)
505 * to retain a consistent approach with the other manufacturer specific data.
506 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
507 * \param _nodeId The ID of the node to query.
508 * \return A string containing the node's product ID, or an empty string if the manufactuer
509 * specific command class is not supported by the device.
510 * \see GetNodeManufacturerId, GetNodeProductType, GetNodeManufacturerName, GetNodeProductName
511 */
512 //string GetNodeProductId( uint32 const _homeId, uint8 const _nodeId );
513 string GetNodeProductId( 1:i32 _homeId, 2:byte _nodeId );
514
515 /**
516 * \brief Set the manufacturer name of a device
517 * The manufacturer name would normally be handled by the Manufacturer Specific commmand class,
518 * taking the manufacturer ID reported by the device and using it to look up the name from the
519 * manufacturer_specific.xml file in the OpenZWave config folder.
520 * However, there are some devices that do not support the command class, so to enable the user
521 * to manually set the name, it is stored with the node data and accessed via this method rather
522 * than being reported via a command class Value object.
523 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
524 * \param _nodeId The ID of the node to query.
525 * \param _manufacturerName A string containing the node's manufacturer name.
526 * \see GetNodeManufacturerName, GetNodeProductName, SetNodeProductName
527 */
528 //void SetNodeManufacturerName( uint32 const _homeId, uint8 const _nodeId, string const& _manufacturerName );
529 void SetNodeManufacturerName( 1:i32 _homeId, 2:byte _nodeId, 3:string _manufacturerName );
530
531 /**
532 * \brief Set the product name of a device
533 * The product name would normally be handled by the Manufacturer Specific commmand class,
534 * taking the product Type and ID reported by the device and using it to look up the name from the
535 * manufacturer_specific.xml file in the OpenZWave config folder.
536 * However, there are some devices that do not support the command class, so to enable the user
537 * to manually set the name, it is stored with the node data and accessed via this method rather
538 * than being reported via a command class Value object.
539 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
540 * \param _nodeId The ID of the node to query.
541 * \param _productName A string containing the node's product name.
542 * \see GetNodeProductName, GetNodeManufacturerName, SetNodeManufacturerName
543 */
544 //void SetNodeProductName( uint32 const _homeId, uint8 const _nodeId, string const& _productName );
545 void SetNodeProductName( 1:i32 _homeId, 2:byte _nodeId, 3:string _productName );
546
547 /**
548 * \brief Set the name of a node
549 * The node name is a user-editable label for the node that would normally be handled by the
550 * Node Naming commmand class, but many devices do not support it. So that a node can always
551 * be named, OpenZWave stores it with the node data, and provides access through this method
552 * and GetNodeName, rather than reporting it via a command class Value object.
553 * If the device does support the Node Naming command class, the new name will be sent to the node.
554 * The maximum length of a node name is 16 characters.
555 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
556 * \param _nodeId The ID of the node to query.
557 * \param _nodeName A string containing the node's name.
558 * \see GetNodeName, GetNodeLocation, SetNodeLocation
559 */
560 //void SetNodeName( uint32 const _homeId, uint8 const _nodeId, string const& _nodeName );
561 void SetNodeName( 1:i32 _homeId, 2:byte _nodeId, 3:string _nodeName );
562
563 /**
564 * \brief Set the location of a node
565 * The node location is a user-editable string that would normally be handled by the Node Naming
566 * commmand class, but many devices do not support it. So that a node can always report its
567 * location, OpenZWave stores it with the node data, and provides access through this method
568 * and GetNodeLocation, rather than reporting it via a command class Value object.
569 * If the device does support the Node Naming command class, the new location will be sent to the node.
570 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
571 * \param _nodeId The ID of the node to query.
572 * \param _location A string containing the node's location.
573 * \see GetNodeLocation, GetNodeName, SetNodeName
574 */
575 //void SetNodeLocation( uint32 const _homeId, uint8 const _nodeId, string const& _location );
576 void SetNodeLocation( 1:i32 _homeId, 2:byte _nodeId, 3:string _location );
577
578 /**
579 * \brief Turns a node on
580 * This is a helper method to simplify basic control of a node. It is the equivalent of
581 * changing the level reported by the node's Basic command class to 255, and will generate a
582 * ValueChanged notification from that class. This command will turn on the device at its
583 * last known level, if supported by the device, otherwise it will turn it on at 100%.
584 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
585 * \param _nodeId The ID of the node to be changed.
586 * \see SetNodeOff, SetNodeLevel
587 */
588 //void SetNodeOn( uint32 const _homeId, uint8 const _nodeId );
589 void SetNodeOn( 1:i32 _homeId, 2:byte _nodeId );
590
591 /**
592 * \brief Turns a node off
593 * This is a helper method to simplify basic control of a node. It is the equivalent of
594 * changing the level reported by the node's Basic command class to zero, and will generate
595 * a ValueChanged notification from that class.
596 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
597 * \param _nodeId The ID of the node to be changed.
598 * \see SetNodeOn, SetNodeLevel
599 */
600 //void SetNodeOff( uint32 const _homeId, uint8 const _nodeId );
601 void SetNodeOff( 1:i32 _homeId, 2:byte _nodeId );
602
603 /**
604 * \brief Sets the basic level of a node
605 * This is a helper method to simplify basic control of a node. It is the equivalent of
606 * changing the value reported by the node's Basic command class and will generate a
607 * ValueChanged notification from that class.
608 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
609 * \param _nodeId The ID of the node to be changed.
610 * \param _level The level to set the node. Valid values are 0-99 and 255. Zero is off and
611 * 99 is fully on. 255 will turn on the device at its last known level (if supported).
612 * \see SetNodeOn, SetNodeOff
613 */
614 //void SetNodeLevel( uint32 const _homeId, uint8 const _nodeId, uint8 const _level );
615 void SetNodeLevel( 1:i32 _homeId, 2:byte _nodeId, 3:byte _level );
616
617 /**
618 * \brief Get whether the node information has been received
619 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
620 * \param _nodeId The ID of the node to query.
621 * \return True if the node information has been received yet
622 */
623 //bool IsNodeInfoReceived( uint32 const _homeId, uint8 const _nodeId );
624 bool IsNodeInfoReceived( 1:i32 _homeId, 2:byte _nodeId );
625
626 /**
627 * \brief Get whether the node has the defined class available or not
628 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
629 * \param _nodeId The ID of the node to query.
630 * \param _commandClassId Id of the class to test for
631 * \return True if the node does have the class instantiated, will return name & version
632 */
633 //bool GetNodeClassInformation( uint32 const _homeId, uint8 const _nodeId, uint8 const _commandClassId, string *_className = NULL, uint8 *_classVersion = NULL);
4951e1d create_server.rb: refactored code
Elias Karakoulakis authored
634 Bool_GetNodeClassInformation GetNodeClassInformation( 1:i32 _homeId, 2:byte _nodeId, 3:byte _commandClassId);
8603286 Initial repo set-up
Elias Karakoulakis authored
635
636 //-----------------------------------------------------------------------------
637 // Values
638 //-----------------------------------------------------------------------------
639 /** \name Values
640 * Methods for accessing device values. All the methods require a ValueID, which will have been provided
641 * in the ValueAdded Notification callback when the the value was first discovered by OpenZWave.
642 */
643 /**
644 * \brief Gets the user-friendly label for the value.
645 * \param _id The unique identifier of the value.
646 * \return The value label.
647 * \see ValueID
648 */
649 //string GetValueLabel( ValueID const& _id );
650 string GetValueLabel( 1:RemoteValueID _id );
651
652 /**
653 * \brief Sets the user-friendly label for the value.
654 * \param _id The unique identifier of the value.
655 * \param _value The new value of the label.
656 * \see ValueID
657 */
658 //void SetValueLabel( ValueID const& _id, string const& _value );
659 void SetValueLabel( 1:RemoteValueID _id, 2:string _value );
660
661 /**
662 * \brief Gets the units that the value is measured in.
663 * \param _id The unique identifier of the value.
664 * \return The value units.
665 * \see ValueID
666 */
667 //string GetValueUnits( ValueID const& _id );
668 string GetValueUnits( 1:RemoteValueID _id );
669
670 /**
671 * \brief Sets the units that the value is measured in.
672 * \param _id The unique identifier of the value.
673 * \param _value The new value of the units.
674 * \see ValueID
675 */
676 //void SetValueUnits( ValueID const& _id, string const& _value );
677 void SetValueUnits( 1:RemoteValueID _id, 2:string _value );
678
679 /**
680 * \brief Gets a help string describing the value's purpose and usage.
681 * \param _id The unique identifier of the value.
682 * \return The value help text.
683 * \see ValueID
684 */
685 //string GetValueHelp( ValueID const& _id );
686 string GetValueHelp( 1:RemoteValueID _id );
687
688 /**
689 * \brief Sets a help string describing the value's purpose and usage.
690 * \param _id The unique identifier of the value.
691 * \param _value The new value of the help text.
692 * \see ValueID
693 */
694 //void SetValueHelp( ValueID const& _id, string const& _value );
695 void SetValueHelp( 1:RemoteValueID _id, 2:string _value );
696
697 /**
698 * \brief Gets the minimum that this value may contain.
699 * \param _id The unique identifier of the value.
700 * \return The value minimum.
701 * \see ValueID
702 */
703 //int32 GetValueMin( ValueID const& _id );
704 i32 GetValueMin( 1:RemoteValueID _id );
705
706 /**
707 * \brief Gets the maximum that this value may contain.
708 * \param _id The unique identifier of the value.
709 * \return The value maximum.
710 * \see ValueID
711 */
712 //int32 GetValueMax( ValueID const& _id );
713 i32 GetValueMax( 1:RemoteValueID _id );
714
715 /**
716 * \brief Test whether the value is read-only.
717 * \param _id The unique identifier of the value.
718 * \return true if the value cannot be changed by the user.
719 * \see ValueID
720 */
721 //bool IsValueReadOnly( ValueID const& _id );
722 bool IsValueReadOnly( 1:RemoteValueID _id );
723
724 /**
725 * \brief Test whether the value is write-only.
726 * \param _id The unique identifier of the value.
727 * \return true if the value can only be written to and not read.
728 * \see ValueID
729 */
730 //bool IsValueWriteOnly( ValueID const& _id );
731 bool IsValueWriteOnly( 1:RemoteValueID _id );
732
733 /**
734 * \brief Test whether the value has been set.
735 * \param _id The unique identifier of the value.
736 * \return true if the value has actually been set by a status message from the device, rather than simply being the default.
737 * \see ValueID
738 */
739 //bool IsValueSet( ValueID const& _id );
740 bool IsValueSet( 1:RemoteValueID _id );
741
742 /**
743 * \brief Gets a value as a bool.
744 * \param _id The unique identifier of the value.
745 * \param o_value Pointer to a bool that will be filled with the value.
746 * \return true if the value was obtained. Returns false if the value is not a ValueID::ValueType_Bool. The type can be tested with a call to ValueID::GetType.
747 * \see ValueID::GetType, GetValueAsByte, GetValueAsFloat, GetValueAsInt, GetValueAsShort, GetValueAsString, GetValueListSelection, GetValueListItems
748 */
749 //bool GetValueAsBool( ValueID const& _id, bool* o_value );
750 Bool_Bool GetValueAsBool( 1:RemoteValueID _id);
751
752 /**
753 * \brief Gets a value as an 8-bit unsigned integer.
754 * \param _id The unique identifier of the value.
755 * \param o_value Pointer to a uint8 that will be filled with the value.
756 * \return true if the value was obtained. Returns false if the value is not a ValueID::ValueType_Byte. The type can be tested with a call to ValueID::GetType
757 * \see ValueID::GetType, GetValueAsBool, GetValueAsFloat, GetValueAsInt, GetValueAsShort, GetValueAsString, GetValueListSelection, GetValueListItems
758 */
759 //bool GetValueAsByte( ValueID const& _id, uint8* o_value );
760 Bool_UInt8 GetValueAsByte( 1:RemoteValueID _id );
761
762 /**
763 * \brief Gets a value as a float.
764 * \param _id The unique identifier of the value.
765 * \param o_value Pointer to a float that will be filled with the value.
766 * \return true if the value was obtained. Returns false if the value is not a ValueID::ValueType_Decimal. The type can be tested with a call to ValueID::GetType
767 * \see ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsInt, GetValueAsShort, GetValueAsString, GetValueListSelection, GetValueListItems
768 */
769 //bool GetValueAsFloat( ValueID const& _id, float* o_value );
770 Bool_Float GetValueAsFloat( 1:RemoteValueID _id );
771
772 /**
773 * \brief Gets a value as a 32-bit signed integer.
774 * \param _id The unique identifier of the value.
775 * \param o_value Pointer to an int32 that will be filled with the value.
776 * \return true if the value was obtained. Returns false if the value is not a ValueID::ValueType_Int. The type can be tested with a call to ValueID::GetType
777 * \see ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsFloat, GetValueAsShort, GetValueAsString, GetValueListSelection, GetValueListItems
778 */
779 //bool GetValueAsInt( ValueID const& _id, int32* o_value );
780 Bool_Int GetValueAsInt( 1:RemoteValueID _id );
781
782 /**
783 * \brief Gets a value as a 16-bit signed integer.
784 * \param _id The unique identifier of the value.
785 * \param o_value Pointer to an int16 that will be filled with the value.
786 * \return true if the value was obtained. Returns false if the value is not a ValueID::ValueType_Short. The type can be tested with a call to ValueID::GetType.
787 * \see ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsFloat, GetValueAsInt, GetValueAsString, GetValueListSelection, GetValueListItems.
788 */
789 //bool GetValueAsShort( ValueID const& _id, int16* o_value );
790 Bool_Int16 GetValueAsShort( 1:RemoteValueID _id );
791
792 /**
793 * \brief Gets a value as a string.
794 * Creates a string representation of a value, regardless of type.
795 * \param _id The unique identifier of the value.
796 * \param o_value Pointer to a string that will be filled with the value.
797 * \return true if the value was obtained.</returns>
798 * \see ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsFloat, GetValueAsInt, GetValueAsShort, GetValueListSelection, GetValueListItems.
799 */
800 //bool GetValueAsString( ValueID const& _id, string* o_value );
801 Bool_String GetValueAsString( 1:RemoteValueID _id );
802
803 /**
804 * \brief Gets the selected item from a list (as a string).
805 * \param _id The unique identifier of the value.
806 * \param o_value Pointer to a string that will be filled with the selected item.
807 * \return True if the value was obtained. Returns false if the value is not a ValueID::ValueType_List. The type can be tested with a call to ValueID::GetType.
808 * \see ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsFloat, GetValueAsInt, GetValueAsShort, GetValueAsString, GetValueListItems.
809 */
810 //bool GetValueListSelection( ValueID const& _id, string* o_value );
811 // ekarak: thrift does not support function overloading
812 Bool_String GetValueListSelection_String( 1:RemoteValueID _id );
813
814 /**
815 * \brief Gets the selected item from a list (as an integer).
816 * \param _id The unique identifier of the value.
817 * \param o_value Pointer to an integer that will be filled with the selected item.
818 * \return True if the value was obtained. Returns false if the value is not a ValueID::ValueType_List. The type can be tested with a call to ValueID::GetType.
819 * \see ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsFloat, GetValueAsInt, GetValueAsShort, GetValueAsString, GetValueListItems.
820 */
821 //bool GetValueListSelection( ValueID const& _id, int32* o_value );
822 // ekarak: overloading by name mangling
823 Bool_Int GetValueListSelection_Int32( 1:RemoteValueID _id );
824
825 /**
826 * \brief Gets the list of items from a list value.
827 * \param _id The unique identifier of the value.
828 * \param o_value Pointer to a vector of strings that will be filled with list items. The vector will be cleared before the items are added.
829 * \return true if the list items were obtained. Returns false if the value is not a ValueID::ValueType_List. The type can be tested with a call to ValueID::GetType.
830 * \see ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsFloat, GetValueAsInt, GetValueAsShort, GetValueAsString, GetValueListSelection.
831 */
832 //bool GetValueListItems( ValueID const& _id, vector<string>* o_value );
833 // ekarak: client must ensure value's type is ValueType_List
834 Bool_ListString GetValueListItems( 1:RemoteValueID _id );
835
836 /**
837 * \brief Gets a float value's precision.
838 * \param _id The unique identifier of the value.
839 * \param o_value Pointer to a uint8 that will be filled with the precision value.
840 * \return true if the value was obtained. Returns false if the value is not a ValueID::ValueType_Decimal. The type can be tested with a call to ValueID::GetType
841 * \see ValueID::GetType, GetValueAsBool, GetValueAsByte, GetValueAsInt, GetValueAsShort, GetValueAsString, GetValueListSelection, GetValueListItems
842 */
843 //bool GetValueFloatPrecision( ValueID const& _id, uint8* o_value );
844 Bool_UInt8 GetValueFloatPrecision( 1:RemoteValueID _id );
845
846 /**
847 * \brief Sets the state of a bool.
848 * Due to the possibility of a device being asleep, the command is assumed to suceeed, and the value
849 * held by the node is updated directly. This will be reverted by a future status message from the device
850 * if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.
851 * \param _id The unique identifier of the bool value.
852 * \param _value The new value of the bool.
853 * \return true if the value was set. Returns false if the value is not a ValueID::ValueType_Bool. The type can be tested with a call to ValueID::GetType.
854 */
855 //bool SetValue( ValueID const& _id, bool const _value );
856 // ekarak: client must ensure value's type is ValueType_Bool
857 bool SetValue_Bool( 1:RemoteValueID _id, 2:bool _value );
858
859 /**
860 * \brief Sets the value of a byte.
861 * Due to the possibility of a device being asleep, the command is assumed to suceeed, and the value
862 * held by the node is updated directly. This will be reverted by a future status message from the device
863 * if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.
864 * \param _id The unique identifier of the byte value.
865 * \param _value The new value of the byte.
866 * \return true if the value was set. Returns false if the value is not a ValueID::ValueType_Byte. The type can be tested with a call to ValueID::GetType.
867 */
868 //bool SetValue( ValueID const& _id, uint8 const _value );
869 // ekarak: client must ensure value's type
870 bool SetValue_UInt8( 1:RemoteValueID _id, 2:byte _value );
871
872 /**
873 * \brief Sets the value of a decimal.
874 * It is usually better to handle decimal values using strings rather than floats, to avoid floating point accuracy issues.
875 * Due to the possibility of a device being asleep, the command is assumed to succeed, and the value
876 * held by the node is updated directly. This will be reverted by a future status message from the device
877 * if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.
878 * \param _id The unique identifier of the decimal value.
879 * \param _value The new value of the decimal.
880 * \return true if the value was set. Returns false if the value is not a ValueID::ValueType_Decimal. The type can be tested with a call to ValueID::GetType.
881 */
882 //bool SetValue( ValueID const& _id, float const _value );
883 // ekarak: client must ensure value's type
884 bool SetValue_Float( 1:RemoteValueID _id, 2:double _value );
885
886 /**
887 * \brief Sets the value of a 32-bit signed integer.
888 * Due to the possibility of a device being asleep, the command is assumed to suceeed, and the value
889 * held by the node is updated directly. This will be reverted by a future status message from the device
890 * if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.
891 * \param _id The unique identifier of the integer value.
892 * \param _value The new value of the integer.
893 * \return true if the value was set. Returns false if the value is not a ValueID::ValueType_Int. The type can be tested with a call to ValueID::GetType.
894 */
895 //bool SetValue( ValueID const& _id, int32 const _value );
896 // ekarak: client must ensure value's type
897 bool SetValue_Int32( 1:RemoteValueID _id, 2:i32 _value );
898
899 /**
900 * \brief Sets the value of a 16-bit signed integer.
901 * Due to the possibility of a device being asleep, the command is assumed to suceeed, and the value
902 * held by the node is updated directly. This will be reverted by a future status message from the device
903 * if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.
904 * \param _id The unique identifier of the integer value.
905 * \param _value The new value of the integer.
906 * \return true if the value was set. Returns false if the value is not a ValueID::ValueType_Short. The type can be tested with a call to ValueID::GetType.
907 */
908 //bool SetValue( ValueID const& _id, int16 const _value );
909 // ekarak: client must ensure value's type
910 bool SetValue_Int16( 1:RemoteValueID _id, 2:i16 _value );
911
912 /**
913 * \brief Sets the value from a string, regardless of type.
914 * Due to the possibility of a device being asleep, the command is assumed to suceeed, and the value
915 * held by the node is updated directly. This will be reverted by a future status message from the device
916 * if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.
917 * \param _id The unique identifier of the integer value.
918 * \param _value The new value of the string.
919 * \return true if the value was set. Returns false if the value could not be parsed into the correct type for the value.
920 */
921 //bool SetValue( ValueID const& _id, string const& _value );
922 // ekarak: client must ensure value's type
923 bool SetValue_String( 1:RemoteValueID _id, 2:string _value );
924
925 /**
926 * \brief Sets the selected item in a list.
927 * Due to the possibility of a device being asleep, the command is assumed to suceeed, and the value
928 * held by the node is updated directly. This will be reverted by a future status message from the device
929 * if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.
930 * \param _id The unique identifier of the list value.
931 * \param _selectedItem A string matching the new selected item in the list.
932 * \return true if the value was set. Returns false if the selection is not in the list, or if the value is not a ValueID::ValueType_List.
933 * The type can be tested with a call to ValueID::GetType
934 */
935 //bool SetValueListSelection( ValueID const& _id, string const& _selectedItem );
936 bool SetValueListSelection( 1:RemoteValueID _id, 2:string _selectedItem );
937
938 /**
939 * \brief Starts an activity in a device.
940 * Since buttons are write-only values that do not report a state, no notification callbacks are sent.
941 * \param _id The unique identifier of the integer value.
942 * \return true if the activity was started. Returns false if the value is not a ValueID::ValueType_Button. The type can be tested with a call to ValueID::GetType.
943 */
944 //bool PressButton( ValueID const& _id );
945 bool PressButton( 1:RemoteValueID _id );
946
947 /**
948 * \brief Stops an activity in a device.
949 * Since buttons are write-only values that do not report a state, no notification callbacks are sent.
950 * \param _id The unique identifier of the integer value.
951 * \return true if the activity was stopped. Returns false if the value is not a ValueID::ValueType_Button. The type can be tested with a call to ValueID::GetType.
952 */
953 //bool ReleaseButton( ValueID const& _id );
954 bool ReleaseButton( 1:RemoteValueID _id );
955
956
957 //-----------------------------------------------------------------------------
958 // Climate Control Schedules
959 //-----------------------------------------------------------------------------
960 /** \name Climate Control Schedules
961 * Methods for accessing schedule values. All the methods require a ValueID, which will have been provided
962 * in the ValueAdded Notification callback when the the value was first discovered by OpenZWave.
963 * <p>The ValueType_Schedule is a specialized Value used to simplify access to the switch point schedule
964 * information held by a setback thermostat that supports the Climate Control Schedule command class.
965 * Each schedule contains up to nine switch points for a single day, consisting of a time in
966 * hours and minutes (24 hour clock) and a setback in tenths of a degree Celsius. The setback value can
967 * range from -128 (-12.8C) to 120 (12.0C). There are two special setback values - 121 is used to set
968 * Frost Protection mode, and 122 is used to set Energy Saving mode.
969 * <p>The switch point methods only modify OpenZWave's copy of the schedule information. Once all changes
970 * have been made, they are sent to the device by calling SetSchedule.
971 */
972
973 /**
974 * \brief Get the number of switch points defined in a schedule.
975 * \param _id The unique identifier of the schedule value.
976 * \return the number of switch points defined in this schedule. Returns zero if the value is not a ValueID::ValueType_Schedule. The type can be tested with a call to ValueID::GetType.
977 */
978 //uint8 GetNumSwitchPoints( ValueID const& _id );
979 byte GetNumSwitchPoints( 1:RemoteValueID _id );
980
981 /**
982 * \brief Set a switch point in the schedule.
983 * Inserts a new switch point into the schedule, unless a switch point already exists at the specified
984 * time in which case that switch point is updated with the new setback value instead.
985 * A maximum of nine switch points can be set in the schedule.
986 * \param _id The unique identifier of the schedule value.
987 * \param _hours The hours part of the time when the switch point will trigger. The time is set using
988 * the 24-hour clock, so this value must be between 0 and 23.
989 * \param _minutes The minutes part of the time when the switch point will trigger. This value must be
990 * between 0 and 59.
991 * \param _setback The setback in tenths of a degree Celsius. The setback value can range from -128 (-12.8C)
992 * to 120 (12.0C). There are two special setback values - 121 is used to set Frost Protection mode, and
993 * 122 is used to set Energy Saving mode.
994 * \return true if successful. Returns false if the value is not a ValueID::ValueType_Schedule. The type can be tested with a call to ValueID::GetType.
995 * \see GetNumSwitchPoints, RemoveSwitchPoint, ClearSwitchPoints
996 */
997 //bool SetSwitchPoint( ValueID const& _id, uint8 const _hours, uint8 const _minutes, int8 const _setback );
998 bool SetSwitchPoint( 1:RemoteValueID _id, 2:byte _hours, 3:byte _minutes, 4:byte _setback );
999
1000 /**
1001 * \brief Remove a switch point from the schedule.
1002 * Removes the switch point at the specified time from the schedule.
1003 * \param _id The unique identifier of the schedule value.
1004 * \param _hours The hours part of the time when the switch point will trigger. The time is set using
1005 * the 24-hour clock, so this value must be between 0 and 23.
1006 * \param _minutes The minutes part of the time when the switch point will trigger. This value must be
1007 * between 0 and 59.
1008 * \return true if successful. Returns false if the value is not a ValueID::ValueType_Schedule or if there
1009 * is not switch point with the specified time values. The type can be tested with a call to ValueID::GetType.
1010 * \see GetNumSwitchPoints, SetSwitchPoint, ClearSwitchPoints
1011 */
1012 //bool RemoveSwitchPoint( ValueID const& _id, uint8 const _hours, uint8 const _minutes );
1013 bool RemoveSwitchPoint( 1:RemoteValueID _id, 2:byte _hours, 3:byte _minutes );
1014
1015 /**
1016 * \brief Clears all switch points from the schedule.
1017 * \param _id The unique identifier of the schedule value.
1018 * \see GetNumSwitchPoints, SetSwitchPoint, RemoveSwitchPoint
1019 */
1020 //void ClearSwitchPoints( ValueID const& _id );
1021 void ClearSwitchPoints( 1:RemoteValueID _id );
1022
1023 /**
1024 * \brief Gets switch point data from the schedule.
1025 * Retrieves the time and setback values from a switch point in the schedule.
1026 * \param _id The unique identifier of the schedule value.
1027 * \param _idx The index of the switch point, between zero and one less than the value
1028 * returned by GetNumSwitchPoints.
1029 * \param o_hours a pointer to a uint8 that will be filled with the hours part of the switch point data.
1030 * \param o_minutes a pointer to a uint8 that will be filled with the minutes part of the switch point data.
1031 * \param o_setback a pointer to an int8 that will be filled with the setback value. This can range from -128
1032 * (-12.8C)to 120 (12.0C). There are two special setback values - 121 is used to set Frost Protection mode, and
1033 * 122 is used to set Energy Saving mode.
1034 * \return true if successful. Returns false if the value is not a ValueID::ValueType_Schedule. The type can be tested with a call to ValueID::GetType.
1035 * \see GetNumSwitchPoints
1036 */
1037 //bool GetSwitchPoint( ValueID const& _id, uint8 const _idx, uint8* o_hours, uint8* o_minutes, int8* o_setback );
1038 GetSwitchPointReturnStruct GetSwitchPoint( 1:RemoteValueID _id, 2:byte _idx);
1039
1040
1041 //-----------------------------------------------------------------------------
1042 // SwitchAll
1043 //-----------------------------------------------------------------------------
1044 /** \name SwitchAll
1045 * Methods for switching all devices on or off together. The devices must support
1046 * the SwitchAll command class. The command is first broadcast to all nodes, and
1047 * then followed up with individual commands to each node (because broadcasts are
1048 * not routed, the message might not otherwise reach all the nodes).
1049 */
1050
1051 /**
1052 * \brief Switch all devices on.
1053 * All devices that support the SwitchAll command class will be turned on.
1054 */
1055 void SwitchAllOn( 1:i32 _homeId );
1056
1057 /**
1058 * \brief Switch all devices off.
1059 * All devices that support the SwitchAll command class will be turned off.
1060 */
1061 void SwitchAllOff( 1:i32 _homeId );
1062
1063
1064
1065 //-----------------------------------------------------------------------------
1066 // Configuration Parameters
1067 //-----------------------------------------------------------------------------
1068 /** \name Configuration Parameters
1069 * Methods for accessing device configuration parameters.
1070 * Configuration parameters are values that are managed by the Configuration command class.
1071 * The values are device-specific and are not reported by the devices. Information on parameters
1072 * is provided only in the device user manual.
1073 * <p>An ongoing task for the OpenZWave project is to create XML files describing the available
1074 * parameters for every Z-Wave. See the config folder in the project source code for examples.
1075 */
1076
1077 /**
1078 * \brief Set the value of a configurable parameter in a device.
1079 * Some devices have various parameters that can be configured to control the device behaviour.
1080 * These are not reported by the device over the Z-Wave network, but can usually be found in
1081 * the device's user manual.
1082 * This method returns immediately, without waiting for confirmation from the device that the
1083 * change has been made.
1084 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
1085 * \param _nodeId The ID of the node to configure.
1086 * \param _param The index of the parameter.
1087 * \param _value The value to which the parameter should be set.
1088 * \param _size Is an optional number of bytes to be sent for the paramter _value. Defaults to 2.
1089 * \return true if the a message setting the value was sent to the device.
1090 * \see RequestConfigParam
1091 */
1092 //bool SetConfigParam( uint32 const _homeId, uint8 const _nodeId, uint8 const _param, int32 _value, uint8 const _size = 2 );
1093 bool SetConfigParam( 1:i32 _homeId, 2:byte _nodeId, 3:byte _param, 4:i32 _value, 5:byte _size = 2 );
1094
1095 /**
1096 * \brief Request the value of a configurable parameter from a device.
1097 * Some devices have various parameters that can be configured to control the device behaviour.
1098 * These are not reported by the device over the Z-Wave network, but can usually be found in
1099 * the device's user manual.
1100 * This method requests the value of a parameter from the device, and then returns immediately,
1101 * without waiting for a response. If the parameter index is valid for this device, and the
1102 * device is awake, the value will eventually be reported via a ValueChanged notification callback.
1103 * The ValueID reported in the callback will have an index set the same as _param and a command class
1104 * set to the same value as returned by a call to Configuration::StaticGetCommandClassId.
1105 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
1106 * \param _nodeId The ID of the node to configure.
1107 * \param _param The index of the parameter.
1108 * \see SetConfigParam, ValueID, Notification
1109 */
1110 //void RequestConfigParam( uint32 const _homeId, uint8 const _nodeId, uint8 const _param );
1111 void RequestConfigParam( 1:i32 _homeId, 2:byte _nodeId, 3:byte _param );
1112
1113 /**
1114 * \brief Request the values of all known configurable parameters from a device.
1115 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
1116 * \param _nodeId The ID of the node to configure.
1117 * \see SetConfigParam, ValueID, Notification
1118 */
1119 //void RequestAllConfigParams( uint32 const _homeId, uint8 const _nodeId );
1120 void RequestAllConfigParams( 1:i32 _homeId, 2:byte _nodeId );
1121
1122 //-----------------------------------------------------------------------------
1123 // Groups (wrappers for the Node methods)
1124 //-----------------------------------------------------------------------------
1125 /** \name Groups
1126 * Methods for accessing device association groups.
1127 */
1128
1129 /**
1130 * \brief Gets the number of association groups reported by this node
1131 * In Z-Wave, groups are numbered starting from one. For example, if a call to GetNumGroups returns 4, the _groupIdx
1132 * value to use in calls to GetAssociations, AddAssociation and RemoveAssociation will be a number between 1 and 4.
1133 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
1134 * \param _nodeId The ID of the node whose groups we are interested in.
1135 * \return The number of groups.
1136 * \see GetAssociations, GetMaxAssociations, AddAssociation, RemoveAssociation
1137 */
1138 //uint8 GetNumGroups( uint32 const _homeId, uint8 const _nodeId );
1139 byte GetNumGroups( 1:i32 _homeId, 2:byte _nodeId );
1140
1141 /**
1142 * \brief Gets the associations for a group.
1143 * Makes a copy of the list of associated nodes in the group, and returns it in an array of uint8's.
1144 * The caller is responsible for freeing the array memory with a call to delete [].
1145 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
1146 * \param _nodeId The ID of the node whose associations we are interested in.
1147 * \param _groupIdx One-based index of the group (because Z-Wave product manuals use one-based group numbering).
1148 * \param o_associations If the number of associations returned is greater than zero, o_associations will be set to point to an array containing the IDs of the associated nodes.
1149 * \return The number of nodes in the associations array. If zero, the array will point to NULL, and does not need to be deleted.
1150 * \see GetNumGroups, AddAssociation, RemoveAssociation, GetMaxAssociations
1151 */
1152 //uint32 GetAssociations( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8** o_associations );
1153 // ekarak: return list of associations instead
4951e1d create_server.rb: refactored code
Elias Karakoulakis authored
1154 GetAssociationsReturnStruct GetAssociations( 1:i32 _homeId, 2:byte _nodeId, 3:byte _groupIdx);
8603286 Initial repo set-up
Elias Karakoulakis authored
1155
1156 /**
1157 * \brief Gets the maximum number of associations for a group.
1158 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
1159 * \param _nodeId The ID of the node whose associations we are interested in.
1160 * \param _groupIdx one-based index of the group (because Z-Wave product manuals use one-based group numbering).
1161 * \return The maximum number of nodes that can be associated into the group.
1162 * \see GetNumGroups, AddAssociation, RemoveAssociation, GetAssociations
1163 */
1164 //uint8 GetMaxAssociations( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx );
1165 byte GetMaxAssociations( 1:i32 _homeId, 2:byte _nodeId, 3:byte _groupIdx );
1166
1167 /**
1168 * \brief Returns a label for the particular group of a node.
1169 * This label is populated by the device specific configuration files.
1170 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
1171 * \param _nodeId The ID of the node whose associations are to be changed.
1172 * \param _groupIdx One-based index of the group (because Z-Wave product manuals use one-based group numbering).
1173 * \see GetNumGroups, GetAssociations, GetMaxAssociations, AddAssociation
1174 */
1175 //string GetGroupLabel( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx );
1176 string GetGroupLabel( 1:i32 _homeId, 2:byte _nodeId, 3:byte _groupIdx );
1177
1178 /**
1179 * \brief Adds a node to an association group.
1180 * Due to the possibility of a device being asleep, the command is assumed to suceeed, and the association data
1181 * held in this class is updated directly. This will be reverted by a future Association message from the device
1182 * if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.
1183 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
1184 * \param _nodeId The ID of the node whose associations are to be changed.
1185 * \param _groupIdx One-based index of the group (because Z-Wave product manuals use one-based group numbering).
1186 * \param _targetNodeId Identifier for the node that will be added to the association group.
1187 * \see GetNumGroups, GetAssociations, GetMaxAssociations, RemoveAssociation
1188 */
1189 //void AddAssociation( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8 const _targetNodeId );
1190 void AddAssociation( 1:i32 _homeId, 2:byte _nodeId, 3:byte _groupIdx, 4:byte _targetNodeId );
1191
1192 /**
1193 * \brief Removes a node from an association group.
1194 * Due to the possibility of a device being asleep, the command is assumed to suceeed, and the association data
1195 * held in this class is updated directly. This will be reverted by a future Association message from the device
1196 * if the Z-Wave message actually failed to get through. Notification callbacks will be sent in both cases.
1197 * \param _homeId The Home ID of the Z-Wave controller that manages the node.
1198 * \param _nodeId The ID of the node whose associations are to be changed.
1199 * \param _groupIdx One-based index of the group (because Z-Wave product manuals use one-based group numbering).
1200 * \param _targetNodeId Identifier for the node that will be removed from the association group.
1201 * \see GetNumGroups, GetAssociations, GetMaxAssociations, AddAssociation
1202 */
1203 //void RemoveAssociation( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8 const _targetNodeId );
1204 void RemoveAssociation( 1:i32 _homeId, 2:byte _nodeId, 3:byte _groupIdx, 4:byte _targetNodeId );
1205
1206 //-----------------------------------------------------------------------------
1207 // Notifications (TODO)
1208 //-----------------------------------------------------------------------------
1209 /** \name Notifications
1210 * For notification of changes to the Z-Wave network or device values and associations.
1211 */
1212
1213 //-----------------------------------------------------------------------------
1214 // Controller commands
1215 //-----------------------------------------------------------------------------
1216 /** \name Controller Commands
1217 * Commands for Z-Wave network management using the PC Controller.
1218 */
1219
1220 /**
1221 * \brief Hard Reset a PC Z-Wave Controller.
1222 * Resets a controller and erases its network configuration settings. The controller becomes a primary controller ready to add devices to a new network.
1223 * \param _homeId The Home ID of the Z-Wave controller to be reset.
1224 * \see SoftReset
1225 */
1226 //void ResetController( uint32 const _homeId );
1227 void ResetController( 1:i32 _homeId );
1228
1229 /**
1230 * \brief Soft Reset a PC Z-Wave Controller.
1231 * Resets a controller without erasing its network configuration settings.
1232 * \param _homeId The Home ID of the Z-Wave controller to be reset.
1233 * \see SoftReset
1234 */
1235 //void SoftReset( uint32 const _homeId );
1236 void SoftReset( 1:i32 _homeId );
1237
1238 /**
1239 * \brief Start a controller command process.
1240 * \param _homeId The Home ID of the Z-Wave controller.
1241 * \param _command The command to be sent to the controller.
1242 * \param _callback pointer to a function that will be called at various stages during the command process
1243 * \param _context pointer to user defined data that will be passed into to the callback function. Defaults to NULL.
1244 * \param _highPower used only with the AddDevice, AddController, RemoveDevice and RemoveController commands.
1245 * Usually when adding or removing devices, the controller operates at low power so that the controller must
1246 * be physically close to the device for security reasons. If _highPower is true, the controller will
1247 * operate at normal power levels instead. Defaults to false.
1248 * \param _nodeId used only with the ReplaceFailedNode command, to specify the node that is going to be replaced.
1249 * \return true if the command was accepted and has started.
1250 * \see CancelControllerCommand, HasNodeFailed, RemoveFailedNode, Driver::ControllerCommand, Driver::pfnControllerCallback_t,
1251 * to notify the user of progress or to request actions on the user's part. Defaults to NULL.
1252 * <p> Commands
1253 * - Driver::ControllerCommand_AddController - Add a new secondary controller to the Z-Wave network.
1254 * - Driver::ControllerCommand_AddDevice - Add a new device (but not a controller) to the Z-Wave network.
1255 * - Driver::ControllerCommand_CreateNewPrimary (Not yet implemented)
1256 * - Driver::ControllerCommand_ReceiveConfiguration -
1257 * - Driver::ControllerCommand_RemoveController - remove a controller from the Z-Wave network.
1258 * - Driver::ControllerCommand_RemoveDevice - remove a device (but not a controller) from the Z-Wave network.
1259 * - Driver::ControllerCommand_RemoveFailedNode - move a node to the controller's list of failed nodes. The node must actually
1260 * have failed or have been disabled since the command will fail if it responds. A node must be in the controller's failed nodes list
1261 * for ControllerCommand_ReplaceFailedNode to work.
1262 * - Driver::ControllerCommand_HasNodeFailed - Check whether a node is in the controller's failed nodes list.
1263 * - Driver::ControllerCommand_ReplaceFailedNode - replace a failed device with another. If the node is not in
1264 * the controller's failed nodes list, or the node responds, this command will fail.
1265 * - Driver:: ControllerCommand_TransferPrimaryRole (Not yet implemented) - Add a new controller to the network and
1266 * make it the primary. The existing primary will become a secondary controller.
1267 * - Driver::ControllerCommand_RequestNetworkUpdate - Update the controller with network information from the SUC/SIS.
1268 * - Driver::ControllerCommand_RequestNodeNeighborUpdate - Get a node to rebuild its neighbour list. This method also does ControllerCommand_RequestNodeNeighbors afterwards.
1269 * - Driver::ControllerCommand_AssignReturnRoute - Assign a network return route to a device.
1270 * - Driver::ControllerCommand_DeleteAllReturnRoutes - Delete all network return routes from a device.
1271 * <p> Callbacks
1272 * - Driver::ControllerState_Waiting, the controller is waiting for a user action. A notice should be displayed
1273 * to the user at this point, telling them what to do next.
1274 * For the add, remove, replace and transfer primary role commands, the user needs to be told to press the
1275 * inclusion button on the device that is going to be added or removed. For ControllerCommand_ReceiveConfiguration,
1276 * they must set their other controller to send its data, and for ControllerCommand_CreateNewPrimary, set the other
1277 * controller to learn new data.
1278 * - Driver::ControllerState_InProgress - the controller is in the process of adding or removing the chosen node. It is now too late to cancel the command.
1279 * - Driver::ControllerState_Complete - the controller has finished adding or removing the node, and the command is complete.
1280 * - Driver::ControllerState_Failed - will be sent if the command fails for any reason.
1281 */
1282 // TODO
1283 //bool BeginControllerCommand( uint32 const _homeId, Driver::ControllerCommand _command, Driver::pfnControllerCallback_t _callback = NULL, void* _context = NULL, bool _highPower = false, uint8 _nodeId = 0xff );
1284
1285 /**
1286 * \brief Cancels any in-progress command running on a controller.
1287 * \param _homeId The Home ID of the Z-Wave controller.
1288 * \return true if a command was running and was cancelled.
1289 * \see BeginControllerCommand
1290 */
1291 //bool CancelControllerCommand( uint32 const _homeId );
1292
1293 //-----------------------------------------------------------------------------
1294 // Scene commands
1295 //-----------------------------------------------------------------------------
1296 /** \name Scene Commands
1297 * Commands for Z-Wave scene interface.
1298 */
1299
1300 /**
1301 * \brief Gets the number of scenes that have been defined.
1302 * \return The number of scenes.
1303 * \see GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1304 */
1305 //uint8 GetNumScenes( );
1306 byte GetNumScenes( );
1307
1308 /**
1309 * \brief Gets a list of all the SceneIds.
1310 * \param _sceneIds is a pointer to an array of integers.
1311 * \return The number of scenes. If zero, _sceneIds will be NULL and doesn't need to be freed.
1312 * \see GetNumScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1313 */
1314 //uint8 GetAllScenes( uint8** _sceneIds );
1315 // ekarak: Notice change of return argument
4951e1d create_server.rb: refactored code
Elias Karakoulakis authored
1316 GetAllScenesReturnStruct GetAllScenes( );
8603286 Initial repo set-up
Elias Karakoulakis authored
1317
1318 /**
1319 * \brief Create a new Scene passing in Scene ID
1320 * \return uint8 Scene ID used to reference the scene. 0 is failure result.
1321 * \see GetNumScenes, GetAllScenes, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1322
1323 */
1324 //uint8 CreateScene();
1325 byte CreateScene();
1326
1327 /**
1328 * \brief Remove an existing Scene.
1329 * \param _sceneId is an integer representing the unique Scene ID to be removed.
1330 * \return true if scene was removed.
1331 * \see GetNumScenes, GetAllScenes, CreateScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1332 */
1333 //bool RemoveScene( uint8 const _sceneId );
1334 bool RemoveScene( 1:byte _sceneId );
1335
1336 /**
1337 * \brief Add a bool Value ID to an existing scene.
1338 * \param _sceneId is an integer representing the unique Scene ID.
1339 * \param _valueId is the Value ID to be added.
1340 * \param _value is the bool value to be saved.
1341 * \return true if Value ID was added.
1342 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1343 */
1344 //bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, bool const _value );
1345 // ekarak: overloaded function renamed
1346 bool AddSceneValue_Bool( 1:byte _sceneId, 2:RemoteValueID _valueId, 3:bool _value );
1347
1348 /**
1349 * \brief Add a byte Value ID to an existing scene.
1350 * \param _sceneId is an integer representing the unique Scene ID.
1351 * \param _valueId is the Value ID to be added.
1352 * \param _value is the byte value to be saved.
1353 * \return true if Value ID was added.
1354 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1355 */
1356 //bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, uint8 const _value );
1357 // ekarak: overloaded function renamed
1358 bool AddSceneValue_Uint8( 1: byte _sceneId, 2:RemoteValueID _valueId, 3:byte _value );
1359
1360 /**
1361 * \brief Add a decimal Value ID to an existing scene.
1362 * \param _sceneId is an integer representing the unique Scene ID.
1363 * \param _valueId is the Value ID to be added.
1364 * \param _value is the float value to be saved.
1365 * \return true if Value ID was added.
1366 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1367 */
1368 //bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, float const _value );
1369 // ekarak: overloaded function renamed
1370 bool AddSceneValue_Float( 1: byte _sceneId, 2:RemoteValueID _valueId, 3:double _value );
1371
1372 /**
1373 * \brief Add a 32-bit signed integer Value ID to an existing scene.
1374 * \param _sceneId is an integer representing the unique Scene ID.
1375 * \param _valueId is the Value ID to be added.
1376 * \param _value is the int32 value to be saved.
1377 * \return true if Value ID was added.
1378 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1379 */
1380 //bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, int32 const _value );
1381 // ekarak: overloaded function renamed
1382 bool AddSceneValue_Int32( 1: byte _sceneId, 2:RemoteValueID _valueId, 3:i32 _value );
1383
1384 /**
1385 * \brief Add a 16-bit signed integer Value ID to an existing scene.
1386 * \param _sceneId is an integer representing the unique Scene ID.
1387 * \param _valueId is the Value ID to be added.
1388 * \param _value is the int16 value to be saved.
1389 * \return true if Value ID was added.
1390 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1391 */
1392 //bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, int16 const _value );
1393 // ekarak: overloaded function renamed
1394 bool AddSceneValue_Int16( 1: byte _sceneId, 2:RemoteValueID _valueId, 3:i16 _value );
1395
1396 /**
1397 * \brief Add a string Value ID to an existing scene.
1398 * \param _sceneId is an integer representing the unique Scene ID.
1399 * \param _valueId is the Value ID to be added.
1400 * \param _value is the string value to be saved.
1401 * \return true if Value ID was added.
1402 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1403 */
1404 //bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, string const& _value );
1405 // ekarak: overloaded function renamed
1406 bool AddSceneValue_String( 1: byte _sceneId, 2:RemoteValueID _valueId, 3:string _value );
1407
1408 /**
1409 * \brief Add the selected item list Value ID to an existing scene (as a string).
1410 * \param _sceneId is an integer representing the unique Scene ID.
1411 * \param _valueId is the Value ID to be added.
1412 * \param _value is the string value to be saved.
1413 * \return true if Value ID was added.
1414 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1415 */
1416 //bool AddSceneValueListSelection( uint8 const _sceneId, ValueID const& _valueId, string const& _value );
1417 // ekarak: overloaded function renamed
1418 bool AddSceneValueListSelection_String( 1:byte _sceneId, 2:RemoteValueID _valueId, 3:string _value );
1419
1420 /**
1421 * \brief Add the selected item list Value ID to an existing scene (as a integer).
1422 * \param _sceneId is an integer representing the unique Scene ID.
1423 * \param _valueId is the Value ID to be added.
1424 * \param _value is the integer value to be saved.
1425 * \return true if Value ID was added.
1426 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1427 */
1428 //bool AddSceneValueListSelection( uint8 const _sceneId, ValueID const& _valueId, int32 const _value );
1429 // ekarak: overloaded function renamed
1430 bool AddSceneValueListSelection_Int32( 1:byte _sceneId, 2:RemoteValueID _valueId, 3:i32 _value );
1431
1432 /**
1433 * \brief Remove the Value ID from an existing scene.
1434 * \param _sceneId is an integer representing the unique Scene ID.
1435 * \param _valueId is the Value ID to be removed.
1436 * \return true if Value ID was removed.
1437 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1438 */
1439 //bool RemoveSceneValue( uint8 const _sceneId, ValueID const& _valueId );
1440 bool RemoveSceneValue( 1:byte _sceneId, 2:RemoteValueID _valueId );
1441
1442 /**
1443 * \brief Retrieves the scene's list of values.
1444 * \param _sceneId The Scene ID of the scene to retrieve the value from.
1445 * \param o_value Pointer to an array of ValueIDs if return is non-zero.
1446 * \return The number of nodes in the o_value array. If zero, the array will point to NULL and does not need to be deleted.
1447 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1448 */
1449 //int SceneGetValues( uint8 const _sceneId, vector<ValueID>* o_value );
1450 // ekarak: Notice change of return argument
4951e1d create_server.rb: refactored code
Elias Karakoulakis authored
1451 SceneGetValuesReturnStruct SceneGetValues( 1:byte _sceneId );
8603286 Initial repo set-up
Elias Karakoulakis authored
1452
1453 /**
1454 * \brief Retrieves a scene's value as a bool.
1455 * \param _sceneId The Scene ID of the scene to retrieve the value from.
1456 * \param _valueId The Value ID of the value to retrieve.
1457 * \param o_value Pointer to a bool that will be filled with the returned value.
1458 * \return true if the value was obtained.
1459 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1460 */
1461 //bool SceneGetValueAsBool( uint8 const _sceneId, ValueID const& _valueId, bool* o_value );
1462 // ekarak: Notice change of return argument
1463 Bool_Bool SceneGetValueAsBool( 1:byte _sceneId, 2:RemoteValueID _valueId );
1464
1465 /**
1466 * \brief Retrieves a scene's value as an 8-bit unsigned integer.
1467 * \param _sceneId The Scene ID of the scene to retrieve the value from.
1468 * \param _valueId The Value ID of the value to retrieve.
1469 * \param o_value Pointer to a uint8 that will be filled with the returned value.
1470 * \return true if the value was obtained.
1471 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1472 */
1473 //bool SceneGetValueAsByte( uint8 const _sceneId, ValueID const& _valueId, uint8* o_value );
1474 // ekarak: Notice change of return argument
1475 Bool_UInt8 SceneGetValueAsByte( 1:byte _sceneId, 2:RemoteValueID _valueId );
1476
1477 /**
1478 * \brief Retrieves a scene's value as a float.
1479 * \param _sceneId The Scene ID of the scene to retrieve the value from.
1480 * \param _valueId The Value ID of the value to retrieve.
1481 * \param o_value Pointer to a float that will be filled with the returned value.
1482 * \return true if the value was obtained.
1483 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1484 */
1485 //bool SceneGetValueAsFloat( uint8 const _sceneId, ValueID const& _valueId, float* o_value );
1486 // ekarak: Notice change of return argument
1487 Bool_Float SceneGetValueAsFloat( 1:byte _sceneId, 2:RemoteValueID _valueId );
1488
1489 /**
1490 * \brief Retrieves a scene's value as a 32-bit signed integer.
1491 * \param _sceneId The Scene ID of the scene to retrieve the value from.
1492 * \param _valueId The Value ID of the value to retrieve.
1493 * \param o_value Pointer to a int32 that will be filled with the returned value.
1494 * \return true if the value was obtained.
1495 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1496 */
1497 //bool SceneGetValueAsInt( uint8 const _sceneId, ValueID const& _valueId, int32* o_value );
1498 // ekarak: Notice change of return argument
1499 Bool_Int SceneGetValueAsInt( 1:byte _sceneId, 2:RemoteValueID _valueId );
1500
1501 /**
1502 * \brief Retrieves a scene's value as a 16-bit signed integer.
1503 * \param _sceneId The Scene ID of the scene to retrieve the value from.
1504 * \param _valueId The Value ID of the value to retrieve.
1505 * \param o_value Pointer to a int16 that will be filled with the returned value.
1506 * \return true if the value was obtained.
1507 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1508 */
1509 //bool SceneGetValueAsShort( uint8 const _sceneId, ValueID const& _valueId, int16* o_value );
1510 // ekarak: Notice change of return argument
1511 Bool_Int16 SceneGetValueAsShort( 1:byte _sceneId, 2:RemoteValueID _valueId );
1512
1513 /**
1514 * \brief Retrieves a scene's value as a string.
1515 * \param _sceneId The Scene ID of the scene to retrieve the value from.
1516 * \param _valueId The Value ID of the value to retrieve.
1517 * \param o_value Pointer to a string that will be filled with the returned value.
1518 * \return true if the value was obtained.
1519 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1520 */
1521 //bool SceneGetValueAsString( uint8 const _sceneId, ValueID const& _valueId, string* o_value );
1522 // ekarak: Notice change of return argument
1523 Bool_String SceneGetValueAsString( 1:byte _sceneId, 2:RemoteValueID _valueId);
1524
1525 /**
1526 * \brief Retrieves a scene's value as a list (as a string).
1527 * \param _sceneId The Scene ID of the scene to retrieve the value from.
1528 * \param _valueId The Value ID of the value to retrieve.
1529 * \param o_value Pointer to a string that will be filled with the returned value.
1530 * \return true if the value was obtained.
1531 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1532 */
1533 //bool SceneGetValueListSelection( uint8 const _sceneId, ValueID const& _valueId, string* o_value );
1534 // ekarak: Notice change of naming & return argument
1535 Bool_String SceneGetValueListSelection_String( 1:byte _sceneId, 2:RemoteValueID _valueId );
1536 /**
1537 * \brief Retrieves a scene's value as a list (as a integer).
1538 * \param _sceneId The Scene ID of the scene to retrieve the value from.
1539 * \param _valueId The Value ID of the value to retrieve.
1540 * \param o_value Pointer to a integer that will be filled with the returned value.
1541 * \return true if the value was obtained.
1542 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1543 */
1544 //bool SceneGetValueListSelection( uint8 const _sceneId, ValueID const& _valueId, int32* o_value );
1545 // ekarak: Notice change of naming & return argument
1546 Bool_Int SceneGetValueListSelection_Int32( 1:byte _sceneId, 2:RemoteValueID _valueId );
1547
1548 /**
1549 * \brief Set a bool Value ID to an existing scene's ValueID
1550 * \param _sceneId is an integer representing the unique Scene ID.
1551 * \param _valueId is the Value ID to be added.
1552 * \param _value is the bool value to be saved.
1553 * \return true if Value ID was added.
1554 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1555 */
1556 //bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, bool const _value );
1557 // ekarak: Overloaded function renamed
1558 bool SetSceneValue_Bool( 1:byte _sceneId, 2:RemoteValueID _valueId, 3:bool _value );
1559
1560 /**
1561 * \brief Set a byte Value ID to an existing scene's ValueID
1562 * \param _sceneId is an integer representing the unique Scene ID.
1563 * \param _valueId is the Value ID to be added.
1564 * \param _value is the byte value to be saved.
1565 * \return true if Value ID was added.
1566 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1567 */
1568 //bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, uint8 const _value );
1569 // ekarak: Overloaded function renamed
1570 bool SetSceneValue_Uint8( 1:byte _sceneId, 2:RemoteValueID _valueId, 3:byte _value );
1571
1572 /**
1573 * \brief Set a decimal Value ID to an existing scene's ValueID
1574 * \param _sceneId is an integer representing the unique Scene ID.
1575 * \param _valueId is the Value ID to be added.
1576 * \param _value is the float value to be saved.
1577 * \return true if Value ID was added.
1578 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1579 */
1580 //bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, float const _value );
1581 // ekarak: Overloaded function renamed
1582 bool SetSceneValue_Float( 1:byte _sceneId, 2:RemoteValueID _valueId, 3: double _value );
1583
1584 /**
1585 * \brief Set a 32-bit signed integer Value ID to an existing scene's ValueID
1586 * \param _sceneId is an integer representing the unique Scene ID.
1587 * \param _valueId is the Value ID to be added.
1588 * \param _value is the int32 value to be saved.
1589 * \return true if Value ID was added.
1590 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1591 */
1592 //bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, int32 const _value );
1593 // ekarak: Overloaded function renamed
1594 bool SetSceneValue_Int32( 1:byte _sceneId, 2:RemoteValueID _valueId, 3:i32 _value );
1595
1596 /**
1597 * \brief Set a 16-bit integer Value ID to an existing scene's ValueID
1598 * \param _sceneId is an integer representing the unique Scene ID.
1599 * \param _valueId is the Value ID to be added.
1600 * \param _value is the int16 value to be saved.
1601 * \return true if Value ID was added.
1602 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1603 */
1604 //bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, int16 const _value );
1605 // ekarak: Overloaded function renamed
1606 bool SetSceneValue_Int16( 1:byte _sceneId, 2:RemoteValueID _valueId, 3:i16 _value );
1607
1608 /**
1609 * \brief Set a string Value ID to an existing scene's ValueID
1610 * \param _sceneId is an integer representing the unique Scene ID.
1611 * \param _valueId is the Value ID to be added.
1612 * \param _value is the string value to be saved.
1613 * \return true if Value ID was added.
1614 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1615 */
1616 //bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, string const& _value );
1617 // ekarak: Overloaded function renamed
1618 bool SetSceneValue_String( 1:byte _sceneId, 2:RemoteValueID _valueId, 3:string _value );
1619
1620 /**
1621 * \brief Set the list selected item Value ID to an existing scene's ValueID (as a string).
1622 * \param _sceneId is an integer representing the unique Scene ID.
1623 * \param _valueId is the Value ID to be added.
1624 * \param _value is the string value to be saved.
1625 * \return true if Value ID was added.
1626 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1627 */
1628 //bool SetSceneValueListSelection( uint8 const _sceneId, ValueID const& _valueId, string const& _value );
1629 // ekarak: Overloaded function renamed
1630 bool SetSceneValueListSelection_String( 1:byte _sceneId, 2:RemoteValueID _valueId, 3:string _value );
1631
1632 /**
1633 * \brief Set the list selected item Value ID to an existing scene's ValueID (as a integer).
1634 * \param _sceneId is an integer representing the unique Scene ID.
1635 * \param _valueId is the Value ID to be added.
1636 * \param _value is the integer value to be saved.
1637 * \return true if Value ID was added.
1638 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists, ActivateScene
1639 */
1640 //bool SetSceneValueListSelection( uint8 const _sceneId, ValueID const& _valueId, int32 const _value );
1641 // ekarak: Overloaded function renamed
1642 bool SetSceneValueListSelection_Int32( 1:byte _sceneId, 2:RemoteValueID _valueId, 3:i32 _value );
1643
1644 /**
1645 * \brief Returns a label for the particular scene.
1646 * \param _sceneId The Scene ID
1647 * \return The label string.
1648 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, SetSceneLabel, SceneExists, ActivateScene
1649 */
1650 //string GetSceneLabel( uint8 const _sceneId );
1651 string GetSceneLabel( 1:byte _sceneId );
1652
1653 /**
1654 * \brief Sets a label for the particular scene.
1655 * \param _sceneId The Scene ID
1656 * \param _value The new value of the label.
1657 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SceneExists, ActivateScene
1658 */
1659 //void SetSceneLabel( uint8 const _sceneId, string const& _value );
1660 void SetSceneLabel( 1:byte _sceneId, 2:string _value );
1661
1662 /**
1663 * \brief Check if a Scene ID is defined.
1664 * \param _sceneId The Scene ID.
1665 * \return true if Scene ID exists.
1666 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, ActivateScene
1667 */
1668 //bool SceneExists( uint8 const _sceneId );
1669 bool SceneExists( 1:byte _sceneId );
1670
1671 /**
1672 * \brief Activate given scene to perform all its actions.
1673 * \param _sceneId The Scene ID.
1674 * \return true if it is successful.
1675 * \see GetNumScenes, GetAllScenes, CreateScene, RemoveScene, AddSceneValue, RemoveSceneValue, SceneGetValues, SceneGetValueAsBool, SceneGetValueAsByte, SceneGetValueAsFloat, SceneGetValueAsInt, SceneGetValueAsShort, SceneGetValueAsString, SetSceneValue, GetSceneLabel, SetSceneLabel, SceneExists
1676 */
1677 //bool ActivateScene( uint8 const _sceneId );
1678 bool ActivateScene( 1:byte _sceneId );
1679
205116a SendAllValues(), auto patch management
Elias Karakoulakis authored
1680
1681 // ----------------------- ekarak: and a little extra candy server for missing functionality from OZW
1682 void SendAllValues();
8603286 Initial repo set-up
Elias Karakoulakis authored
1683 }
Something went wrong with that request. Please try again.