EnOcean Link  1.14.0.0
Middleware to Connect EnOcean easily to other Projects
eoEEP_D21120.h
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_D21120_H
29 #define EO_EEP_D21120_H
30 
33 #include "eoD2EEProfile.h"
203 typedef enum
204 {
205  D21120_TTP = 0,
206  D21120_MID = 1,
207  D21120_WMS = 2,
208  D21120_RCPM = 3,
209  D21120_BS = 4,
210  D21120_FC = 5,
211  D21120_RTEMP = 6,
212  D21120_RTEMPCH0 = 7,
213  D21120_ACCTST = 8,
214  D21120_FHO = 9,
215  D21120_FHTSP = 10,
216  D21120_FHTSPCH0 = 11,
217  D21120_ACMSP = 12,
218  D21120_ACFSP = 13,
219  D21120_ACTS = 14,
220  D21120_ACTSCH0 = 15,
221  D21120_FVO = 16,
222  D21120_FVSP = 17,
223  D21120_TSSO = 18,
224  D21120_ATC = 19,
225  D21120_SSC = 20,
226  D21120_ACT = 21,
227  D21120_ACFO = 22,
228  D21120_LOCK = 23,
229  D21120_FVS = 24,
230  D21120_TSCV = 25,
231  D21120_TSCVCH0 = 26,
232  D21120_FHTSR = 27,
233  D21120_ACTSR = 28,
234  D21120_MCF = 29,
235  D21120_RIN = 30,
236  D21120_MT = 31,
237  D21120_ES = 32,
238  D21120_RTOV = 33,
239  D21120_RTOVCH0 = 34,
240 } D21120_CHANNELS;
241 
245 typedef enum
246 {
247  D21120_TTP_HEARTBEAT = 0,
248  D21120_TTP_GATEWAY_SETTING = 1,
249 } D21120_TTP_ENUM;
250 typedef enum
251 {
252  D21120_WMS_FLOORHEATING_SYMBOL = 0,
253  D21120_WMS_AIRCONDITION_SYMBOL = 1,
254  D21120_WMS_FANVENTILATION_SYMBOL = 2,
255  D21120_WMS_RESERVED = 3,
256 } D21120_WMS_ENUM;
257 typedef enum
258 {
259  D21120_RCPM_FLOORHEATING__AIRCONDITION__FANVENTILATION = 0,
260  D21120_RCPM_FLOORHEATING = 1,
261  D21120_RCPM_AIRCONDITION = 2,
262  D21120_RCPM_FANVENTILATION = 3,
263  D21120_RCPM_FLOORHEATING__AIRCONDITION = 4,
264  D21120_RCPM_FLOORHEATING__FANVENTILATION = 5,
265  D21120_RCPM_AIRCONDITION__FANVENTILATION = 6,
266 } D21120_RCPM_ENUM;
267 typedef enum
268 {
269  D21120_BS_SOLAR_POWERED = 0,
270  D21120_BS_BACKUP_BATTERYPOWERED = 1,
271  D21120_BS_BACKUP_BATTERYLOW = 2,
272  D21120_BS_BACKUP_BATTERYEMPTY = 3,
273 } D21120_BS_ENUM;
274 typedef enum
275 {
276  D21120_FC_NOERROR = 0,
277  D21120_FC_TEMPERATURE_SENSOR_ERROR = 1,
278 } D21120_FC_ENUM;
279 typedef enum
280 {
281 } D21120_RTEMP_ENUM;
282 typedef enum
283 {
284  D21120_ACCTST_FALSE = 0,
285  D21120_ACCTST_TRUE = 1,
286 } D21120_ACCTST_ENUM;
287 typedef enum
288 {
289  D21120_FHO_UNOCCUPIEDOFF = 0,
290  D21120_FHO_OCCUPIEDON = 1,
291 } D21120_FHO_ENUM;
292 typedef enum
293 {
294  D21120_FHTSP_RESERVED = 31,
295 } D21120_FHTSP_ENUM;
296 typedef enum
297 {
298  D21120_ACMSP_OFF = 0,
299  D21120_ACMSP_COOLING = 1,
300  D21120_ACMSP_HEATING = 2,
301  D21120_ACMSP_AUTO = 3,
302 } D21120_ACMSP_ENUM;
303 typedef enum
304 {
305  D21120_ACFSP_AUTO = 0,
306  D21120_ACFSP_OFF_STAGE_0 = 1,
307  D21120_ACFSP_LOW_STAGE_1 = 2,
308  D21120_ACFSP_MEDIUM_STAGE_2 = 3,
309  D21120_ACFSP_HIGH_STAGE_3 = 4,
310 } D21120_ACFSP_ENUM;
311 typedef enum
312 {
313  D21120_ACTS_RESERVED = 31,
314 } D21120_ACTS_ENUM;
315 typedef enum
316 {
317  D21120_FVO_UNOCCUPIEDOFF = 0,
318  D21120_FVO_OCCUPIEDON = 1,
319 } D21120_FVO_ENUM;
320 typedef enum
321 {
322  D21120_FVSP_AUTO = 0,
323  D21120_FVSP_OFF_STAGE_0 = 1,
324  D21120_FVSP_LOW_STAGE_1 = 2,
325  D21120_FVSP_MEDIUM_STAGE_2 = 3,
326  D21120_FVSP_HIGH_STAGE_3 = 4,
327 } D21120_FVSP_ENUM;
328 typedef enum
329 {
330  D21120_TSSO_BUILT_IN_SENSOR = 0,
331  D21120_TSSO_REMOTE_SENSOR = 1,
332 } D21120_TSSO_ENUM;
333 typedef enum
334 {
335  D21120_ATC_5_MINUTES = 0,
336  D21120_ATC_5_SECONDS = 1,
337  D21120_ATC_30_SECONDS = 2,
338  D21120_ATC_1_MINUTE = 3,
339  D21120_ATC_3_MINUTES = 4,
340  D21120_ATC_10_MINUTES = 5,
341  D21120_ATC_15_MINUTES = 6,
342  D21120_ATC_30_MINUTES = 7,
343 } D21120_ATC_ENUM;
344 typedef enum
345 {
346  D21120_SSC_3_MINUTES = 0,
347  D21120_SSC_1_SECOND = 1,
348  D21120_SSC_10_SECONDS = 2,
349  D21120_SSC_30_SECONDS = 3,
350  D21120_SSC_1_MINUTE = 4,
351  D21120_SSC_5_MINUTES = 5,
352  D21120_SSC_10_MINUTES = 6,
353  D21120_SSC_30_MINUTES = 7,
354 } D21120_SSC_ENUM;
355 typedef enum
356 {
357  D21120_ACT_OFF_COOLING_HEATING_FAN = 0,
358  D21120_ACT_OFF_COOLING_FAN = 1,
359  D21120_ACT_OFF_COOLING_HEATING_FAN_AUTO = 2,
360  D21120_ACT_RESERVED = 3,
361 } D21120_ACT_ENUM;
362 typedef enum
363 {
364  D21120_ACFO_AUTO_LOW_MEDIUM_HIGH = 0,
365  D21120_ACFO_AUTO_LOW_HIGH = 1,
366  D21120_ACFO_LOW_HIGH = 2,
367  D21120_ACFO_HIGH = 3,
368 } D21120_ACFO_ENUM;
369 typedef enum
370 {
371  D21120_LOCK_UNLOCK = 0,
372  D21120_LOCK_LOCK = 1,
373 } D21120_LOCK_ENUM;
374 typedef enum
375 {
376  D21120_FVS_AUTO_LOW_MEDIUM_HIGH = 0,
377  D21120_FVS_AUTO_LOW_HIGH = 1,
378  D21120_FVS_LOW_HIGH = 2,
379  D21120_FVS_HIGH = 3,
380 } D21120_FVS_ENUM;
381 typedef enum
382 {
383  D21120_TSCV_RESERVED = 15,
384 } D21120_TSCV_ENUM;
385 typedef enum
386 {
387  D21120_FHTSR_5_____35_C = 0,
388  D21120_FHTSR_10_____30_C = 1,
389  D21120_FHTSR_10_____25_C = 2,
390  D21120_FHTSR_10_____20_C = 3,
391  D21120_FHTSR_10_____15_C = 4,
392  D21120_FHTSR_15_____30_C = 5,
393  D21120_FHTSR_15_____25_C = 6,
394  D21120_FHTSR_15_____20_C = 7,
395 } D21120_FHTSR_ENUM;
396 typedef enum
397 {
398  D21120_ACTSR_5_____35_C = 0,
399  D21120_ACTSR_10_____30_C = 1,
400  D21120_ACTSR_10_____25_C = 2,
401  D21120_ACTSR_10_____20_C = 3,
402  D21120_ACTSR_10_____15_C = 4,
403  D21120_ACTSR_15_____30_C = 5,
404  D21120_ACTSR_15_____25_C = 6,
405  D21120_ACTSR_15_____20_C = 7,
406 } D21120_ACTSR_ENUM;
407 typedef enum
408 {
409  D21120_MCF_COMPLETE = 0,
410  D21120_MCF_INCOMPLETE = 1,
411 } D21120_MCF_ENUM;
412 typedef enum
413 {
414  D21120_RIN_FALSE = 0,
415  D21120_RIN_TRUE = 1,
416 } D21120_RIN_ENUM;
417 typedef enum
418 {
419  D21120_MT_GATEWAY = 0,
420  D21120_MT_FLOORHEATING = 1,
421  D21120_MT_AIRCONDITION = 2,
422  D21120_MT_FANVENTILATION = 3,
423 } D21120_MT_ENUM;
424 typedef enum
425 {
426  D21120_ES_NOERROR = 0,
427  D21120_ES_REMOTE_TEMPERATURE_SENSOR_ERROR = 1,
428 } D21120_ES_ENUM;
429 typedef enum
430 {
431 } D21120_RTOV_ENUM;
432 
433 
435 {
436 
437 public:
438  eoReturn SetType(uint8_t type);
439 
440  virtual eoReturn SetCommand(uint8_t cmd);
441 
442  virtual eoReturn Parse(const eoMessage &msg);
443  virtual eoReturn SetValue(CHANNEL_TYPE type, uint32_t value, uint8_t index);
444 
445  eoEEP_D21120(uint16_t size=14);
446  virtual ~eoEEP_D21120();
447 };
450 #endif // !eoEEP_D21120
uint8_t type
Type.
Definition: eoProfile.h:69
eoMessage msg
helper function to convert bits
Definition: eoProfile.h:302
Message Class for communication.
Definition: eoMessage.h:47
eoReturn SetType(uint8_t type)
virtual 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
EnOcean Equipment Profiles.
Definition: eoD2EEProfile.h:96
CHANNEL_TYPE
Definition: eoChannelEnums.h:169
virtual eoReturn SetCommand(uint8_t cmd)
The class to handle eoEEP_D21120.
Definition: eoEEP_D21120.h:434