]> git.basschouten.com Git - openhab-addons.git/blob
433fb136c862a54a18708728d8688f0fa1dd4a62
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2021 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
7  * This program and the accompanying materials are made available under the
8  * terms of the Eclipse Public License 2.0 which is available at
9  * http://www.eclipse.org/legal/epl-2.0
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.teleinfo.internal.reader.io.serialport;
14
15 import static org.openhab.binding.teleinfo.internal.TeleinfoBindingConstants.*;
16
17 import javax.measure.Unit;
18
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.openhab.core.library.unit.Units;
21
22 /**
23  * The {@link Label} enum defines all Teleinfo labels and their format.
24  *
25  * @author Nicolas SIBERIL - Initial contribution
26  */
27 @NonNullByDefault
28 public enum Label {
29
30     ADCO(ValueType.STRING, NOT_A_CHANNEL, Units.ONE),
31     OPTARIF(ValueType.STRING, NOT_A_CHANNEL, Units.ONE),
32     BASE(ValueType.INTEGER, CHANNEL_BASE_FRAME_BASE, Units.WATT_HOUR),
33     HCHC(ValueType.INTEGER, CHANNEL_HC_FRAME_HCHC, Units.WATT_HOUR),
34     HCHP(ValueType.INTEGER, CHANNEL_HC_FRAME_HCHP, Units.WATT_HOUR),
35     EJPHN(ValueType.INTEGER, CHANNEL_EJP_FRAME_EJPHN, Units.WATT_HOUR),
36     EJPHPM(ValueType.INTEGER, CHANNEL_EJP_FRAME_EJPHN, Units.WATT_HOUR),
37     PTEC(ValueType.STRING, CHANNEL_PTEC, Units.ONE),
38     MOTDETAT(ValueType.STRING, CHANNEL_MOTDETAT, Units.AMPERE),
39     ISOUSC(ValueType.INTEGER, CHANNEL_ISOUSC, Units.AMPERE),
40     IINST(ValueType.INTEGER, CHANNEL_CBEMM_IINST, Units.AMPERE),
41     IINST1(ValueType.INTEGER, CHANNEL_CBETM_IINST1, Units.AMPERE),
42     IINST2(ValueType.INTEGER, CHANNEL_CBETM_IINST2, Units.AMPERE),
43     IINST3(ValueType.INTEGER, CHANNEL_CBETM_IINST3, Units.AMPERE),
44     ADIR1(ValueType.INTEGER, CHANNEL_CBETM_SHORT_ADIR1, Units.AMPERE),
45     ADIR2(ValueType.INTEGER, CHANNEL_CBETM_SHORT_ADIR2, Units.AMPERE),
46     ADIR3(ValueType.INTEGER, CHANNEL_CBETM_SHORT_ADIR3, Units.AMPERE),
47     ADPS(ValueType.INTEGER, CHANNEL_CBEMM_ADPS, Units.AMPERE),
48     IMAX(ValueType.INTEGER, CHANNEL_CBEMM_IMAX, Units.AMPERE),
49     IMAX1(ValueType.INTEGER, CHANNEL_CBETM_LONG_IMAX1, Units.AMPERE),
50     IMAX2(ValueType.INTEGER, CHANNEL_CBETM_LONG_IMAX2, Units.AMPERE),
51     IMAX3(ValueType.INTEGER, CHANNEL_CBETM_LONG_IMAX3, Units.AMPERE),
52     PMAX(ValueType.INTEGER, CHANNEL_CBETM_LONG_PMAX, Units.WATT),
53     HHPHC(ValueType.STRING, CHANNEL_HHPHC, Units.ONE),
54     PPOT(ValueType.STRING, CHANNEL_CBETM_LONG_PPOT, Units.ONE),
55     PAPP(ValueType.INTEGER, CHANNEL_PAPP, Units.VOLT_AMPERE),
56     BBRHCJB(ValueType.INTEGER, CHANNEL_TEMPO_FRAME_BBRHCJB, Units.WATT_HOUR),
57     BBRHPJB(ValueType.INTEGER, CHANNEL_TEMPO_FRAME_BBRHPJB, Units.WATT_HOUR),
58     BBRHCJW(ValueType.INTEGER, CHANNEL_TEMPO_FRAME_BBRHCJW, Units.WATT_HOUR),
59     BBRHPJW(ValueType.INTEGER, CHANNEL_TEMPO_FRAME_BBRHPJW, Units.WATT_HOUR),
60     BBRHCJR(ValueType.INTEGER, CHANNEL_TEMPO_FRAME_BBRHCJR, Units.WATT_HOUR),
61     BBRHPJR(ValueType.INTEGER, CHANNEL_TEMPO_FRAME_BBRHPJR, Units.WATT_HOUR),
62     PEJP(ValueType.INTEGER, CHANNEL_EJP_FRAME_PEJP, Units.MINUTE),
63     DEMAIN(ValueType.STRING, CHANNEL_TEMPO_FRAME_DEMAIN, Units.ONE);
64
65     private ValueType type;
66     private String channelName;
67     private Unit<?> unit;
68
69     Label(ValueType type, String channelName, Unit<?> unit) {
70         this.type = type;
71         this.channelName = channelName;
72         this.unit = unit;
73     }
74
75     public ValueType getType() {
76         return type;
77     }
78
79     public String getChannelName() {
80         return channelName;
81     }
82
83     public Unit<?> getUnit() {
84         return unit;
85     }
86 }