2 * Copyright (c) 2010-2021 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
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
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.teleinfo.internal.reader.io.serialport;
15 import static org.openhab.binding.teleinfo.internal.TeleinfoBindingConstants.*;
17 import javax.measure.Unit;
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.openhab.core.library.unit.Units;
23 * The {@link Label} enum defines all Teleinfo labels and their format.
25 * @author Nicolas SIBERIL - Initial contribution
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);
65 private ValueType type;
66 private String channelName;
69 Label(ValueType type, String channelName, Unit<?> unit) {
71 this.channelName = channelName;
75 public ValueType getType() {
79 public String getChannelName() {
83 public Unit<?> getUnit() {