EnOcean Link  1.14.0.0
Middleware to Connect EnOcean easily to other Projects
eoEEP_D24100.h
Go to the documentation of this file.
1 /******************************************************************************
2  DISCLAIMER
3 
4  THIS SOFTWARE PRODUCT ("SOFTWARE") IS PROPRIETARY TO ENOCEAN GMBH, OBERHACHING,
5  GERMANY (THE "OWNER") AND IS PROTECTED BY COPYRIGHT AND INTERNATIONAL TREATIES OR
6  PROTECTED AS TRADE SECRET OR AS OTHER INTELLECTUAL PROPERTY RIGHT. ALL RIGHTS, TITLE AND
7  INTEREST IN AND TO THE SOFTWARE, INCLUDING ANY COPYRIGHT, TRADE SECRET OR ANY OTHER
8  INTELLECTUAL PROPERTY EMBODIED IN THE SOFTWARE, AND ANY RIGHTS TO REPRODUCE,
9  DISTRIBUTE, MODIFY, DISPLAY OR OTHERWISE USE THE SOFTWARE SHALL EXCLUSIVELY VEST IN THE
10  OWNER. ANY UNAUTHORIZED REPRODUCTION, DISTRIBUTION, MODIFICATION, DISPLAY OR OTHER
11  USE OF THE SOFTWARE WITHOUT THE EXPLICIT PERMISSION OF OWNER IS PROHIBITED AND WILL
12  CONSTITUTE AN INFRINGEMENT OF THE OWNER'S RIGHT AND MAY BE SUBJECT TO CIVIL OR
13  CRIMINAL SANCTION.
14 
15  THIS SOFTWARE IS PROVIDED BY THE OWNER "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
16  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
17  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN PARTICULAR, THE OWNER DOES NOT WARRANT
18  THAT THE SOFTWARE SHALL BE ERROR FREE AND WORKS WITHOUT INTERRUPTION.
19 
20  IN NO EVENT SHALL THE OWNER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  ******************************************************************************/
27 
28 #ifndef EO_EEP_D24100_H
29 #define EO_EEP_D24100_H
30 
33 #include "eoD2EEProfile.h"
166  typedef enum
167  {
168  D24100_UI = 0,
169  D24100_CI = 1,
170  D24100_UAS14 = 3,
171  D24100_UAS13 = 4,
172  D24100_UAS12 = 5,
173  D24100_UAS11 = 6,
174  D24100_UAS10 = 7,
175  D24100_UAS9 = 8,
176  D24100_UAS8 = 9,
177  D24100_UAS7 = 10,
178  D24100_UAS6 = 11,
179  D24100_UAS5 = 12,
180  D24100_UAS4 = 13,
181  D24100_UAS3 = 14,
182  D24100_UAS2 = 15,
183  D24100_UAS1 = 16,
184  D24100_UAS0 = 17,
185  D24100_TOS = 18,
186  D24100_OS = 19,
187  D24100_SC = 20,
188  D24100_VTL = 21,
189  D24100_FM = 22,
190  D24100_DL = 23,
191  D24100_DLCH0 = 24,
192  D24100_CT = 25,
193  D24100_CTCH0 = 26,
194  D24100_OSM1 = 27,
195  D24100_OSM2 = 28,
196  D24100_P = 29,
197  D24100_NL = 30,
198  D24100_NLCH0 = 31,
199  D24100_VOC = 32,
200  D24100_VOCCH0 = 33,
201  D24100_I = 34,
202  D24100_ICH0 = 35,
203  D24100_T = 36,
204  D24100_TCH0 = 37,
205  D24100_H = 38,
206  D24100_HCH0 = 39,
207  D24100_OH = 40,
208  D24100_OHCH0 = 41,
209  D24100_OHA = 42,
210  D24100_OHACH0 = 43,
211  D24100_PC = 44,
212  D24100_PCCH0 = 45,
213  D24100_EC = 46,
214  D24100_ECCH0 = 47,
216 
220  typedef enum
221  {
222  D24100_UI_RESERVED = 15,
224 
225  typedef enum
226  {
227  D24100_CI_GET_PRODUCT_STATUS = 0,
228  D24100_CI_GET_UNIT_STATUS = 1,
229  D24100_CI_GET_PRESENCE_DATA = 2,
230  D24100_CI_GET_ENVIRONMENTAL_DATA = 3,
231  D24100_CI_GET_MAINTENANCE_DATA = 4,
232  D24100_CI_PRODUCT_STATUS = 5,
233  D24100_CI_TRIGGER_UNIT_OPERATING_STATE = 6,
234  D24100_CI_SWITCH_UNIT_OPERATING_STATE = 7,
235  D24100_CI_SET_UNIT_DATA = 8,
236  D24100_CI_UNIT_STATUS = 9,
237  D24100_CI_SET_OCCUPANCY = 10,
238  D24100_CI_PRESENCE_DATA = 11,
239  D24100_CI_ENVIRONMENTAL_DATA = 12,
240  D24100_CI_MAINTENANCE_DATA = 13,
241  }D24100_CI_ENUM;
242 
243  typedef enum
244  {
245  D24100_UAS_NOT_ACTIVE = 0,
246  D24100_UAS_ACTIVE = 1,
247  }D24100_UAS_ENUM;
248 
249  typedef enum
250  {
251  D24100_TOS_SET_TRIGGER_LIGHT_OFF = 0,
252  D24100_TOS_SET_TRIGGER_REDUCED_LIGHT = 1,
253  D24100_TOS_SET_TRIGGER_WORKING_LIGHT = 2,
254  D24100_TOS_SET_TRIGGER_SERVICE_LIGHT = 3,
255  D24100_TOS_CLEAR_TRIGGER_LIGHT_OFF = 4,
256  D24100_TOS_CLEAR_TRIGGER_REDUCED_LIGHT = 5,
257  D24100_TOS_CLEAR_TRIGGER_WORKING_LIGHT = 6,
258  D24100_TOS_CLEAR_TRIGGER_SERVICE_LIGHT = 7,
259  D24100_TOS_NO_CHANGE = 15,
260  }D24100_TOS_ENUM;
261 
262  typedef enum
263  {
264  D24100_OS_OFF = 0,
265  D24100_OS_REDUCED_LIGHT = 1,
266  D24100_OS_WORKING_LIGHT = 2,
267  D24100_OS_SERVICE_LIGHT = 3,
268  D24100_OS_NOT_SUPPORTED = 15,
269  }D24100_OS_ENUM;
270 
271  typedef enum
272  {
273  D24100_SC_STORE = 0,
274  D24100_SC_SWITCH = 1,
275  D24100_SC_NOT_USED = 15,
276  }D24100_SC_ENUM;
277 
278  typedef enum
279  {
280  D24100_VTL_OFF = 0,
281  D24100_VTL_NORMAL = 1,
282  D24100_VTL_OWL = 2,
283  D24100_VTL_LARK = 3,
284  D24100_VTL_NO_CHANGE = 15,
285  }D24100_VTL_ENUM;
286 
287  typedef enum
288  {
289  D24100_FM_DIRECT_MODE = 0,
290  D24100_FM_RUNTIME_MODE = 1,
291  D24100_FM_NOT_USED = 15,
292  }D24100_FM_ENUM;
293 
294  typedef enum
295  {
296  D24100_DL_NO_CHANGE = 255,
297  }D24100_DL_ENUM;
298 
299  typedef enum
300  {
301  D24100_CT_OUT_OF_RANGE = 16382,
302  D24100_CT_NO_CHANGE = 16383,
303  }D24100_CT_ENUM;
304 
305  typedef enum
306  {
307  D24100_O_NOT_OCCUPIED = 0,
308  D24100_O_OCCUPIED = 1,
309  D24100_O_NO_CHANGE = 7,
310  }D24100_O_ENUM;
311 
312  typedef enum
313  {
314  D24100_P_NO_PRESENCE_DETECTED = 0,
315  D24100_P_PRESENCE_DETECTED = 1,
316  D24100_P_RESERVED = 2,
317  D24100_P_NOT_SUPPORTED = 3,
318  }D24100_P_ENUM;
319 
320  typedef enum
321  {
322  D24100_NL_NOT_SUPPORTED = 255,
323  }D24100_NL_ENUM;
324 
325  typedef enum
326  {
327  D24100_VOC_NOT_SUPPORTED = 65535,
328  }D24100_VOC_ENUM;
329 
330  typedef enum
331  {
332  D24100_I_NOT_SUPPORTED = 32767,
333  }D24100_I_ENUM;
334 
335  typedef enum
336  {
337  D24100_T_NOT_SUPPORTED = 127,
338  }D24100_T_ENUM;
339 
340  typedef enum
341  {
342  D24100_H_NOT_SUPPORTED = 127,
343  }D24100_H_ENUM;
344 
345  typedef enum
346  {
347  D24100_OH_OUT_OF_RANGE = 262142,
348  D24100_OH_NOT_SUPPORTED = 262143,
349  }D24100_OH_ENUM;
350 
351  typedef enum
352  {
353  D24100_OHA_OUT_OF_RANGE = 262142,
354  D24100_OHA_NOT_SUPPORTED = 262143,
355  }D24100_OHA_ENUM;
356 
357  typedef enum
358  {
359  D24100_PC_OUT_OF_RANGE = 4094,
360  D24100_PC_NOT_SUPPORTED = 4095,
361  }D24100_PC_ENUM;
362 
363  typedef enum
364  {
365  D24100_EC_OUT_OF_RANGE = 65534,
366  D24100_EC_NOT_SUPPORTED = 65535,
367  }D24100_EC_ENUM;
368 
369 
371 {
372 private:
373  uint8_t cmd;
374 
375 public:
376  eoReturn SetType(uint8_t type);
377  eoReturn Parse(const eoMessage& msg);
378 
379  eoEEP_D24100(uint16_t size=14);
380  virtual ~eoEEP_D24100();
381  virtual eoReturn SetValue(CHANNEL_TYPE type, uint32_t value, uint8_t index);
382  virtual eoReturn SetCommand(uint8_t cmd);
383 
384 };
387 #endif // !eoEEP_D24100
D24100_CHANNELS
Definition: eoEEP_D24100.h:166
uint8_t type
Type.
Definition: eoProfile.h:69
eoMessage msg
helper function to convert bits
Definition: eoProfile.h:302
virtual eoReturn SetCommand(uint8_t cmd)
Message Class for communication.
Definition: eoMessage.h:47
D24100_UI_ENUM
Definition: eoEEP_D24100.h:220
eoReturn Parse(const eoMessage &msg)
Parses a msg using learned in Profile from Device.
eoReturn
contains all the return values from different functions
Definition: eoApiDef.h:40
eoReturn SetType(uint8_t type)
EnOcean Equipment Profiles.
Definition: eoD2EEProfile.h:96
CHANNEL_TYPE
Definition: eoChannelEnums.h:169
The class to handle eoEEP_D24100.
Definition: eoEEP_D24100.h:370