]> git.basschouten.com Git - openhab-addons.git/blob
55d67f18f4602e911c7a15483aeaf2e47078019e
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 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.kostalinverter.internal.secondgeneration;
14
15 import java.util.ArrayList;
16 import java.util.List;
17
18 import javax.measure.Unit;
19
20 import org.eclipse.jdt.annotation.NonNullByDefault;
21 import org.openhab.core.library.unit.SIUnits;
22 import org.openhab.core.library.unit.Units;
23
24 /**
25  * The {@link SecondGenerationChannelConfiguration} class defines methods, which set up channel configuration,
26  * used in the second generation part of the binding.
27  *
28  *
29  * @author Christian Schneider - Initial contribution
30  * @author Christoph Weitkamp - Incorporated new QuantityType (Units of Measurement)
31  * @author Ã–rjan Backsell - Added channels for (Piko1020, Piko New Generation)
32  */
33
34 @NonNullByDefault
35 public class SecondGenerationChannelConfiguration {
36     public String id;
37     public String tag;
38     public int num;
39     public Unit<?> unit;
40     public String dxsEntries;
41
42     public SecondGenerationChannelConfiguration(String id, String tag, int num, Unit<?> unit, String dxsEntries) {
43         this.id = id;
44         this.tag = tag;
45         this.num = num;
46         this.unit = unit;
47         this.dxsEntries = dxsEntries;
48     }
49
50     public static List<SecondGenerationChannelConfiguration> getChannelConfiguration() {
51         final List<SecondGenerationChannelConfiguration> channelConfiguration = new ArrayList<>();
52
53         channelConfiguration.add(new SecondGenerationChannelConfiguration(
54                 SecondGenerationBindingConstants.CHANNEL_GRIDOUTPUTPOWER, "td", 4, Units.WATT, "67109120"));
55         channelConfiguration.add(new SecondGenerationChannelConfiguration(
56                 SecondGenerationBindingConstants.CHANNEL_YIELD_DAY_SECOND_GEN, "td", 7, Units.WATT_HOUR, "251658754"));
57         channelConfiguration.add(new SecondGenerationChannelConfiguration(
58                 SecondGenerationBindingConstants.CHANNEL_YIELD_TOTAL_SECOND_GEN, "td", 10, Units.KILOWATT_HOUR,
59                 "251658753"));
60         channelConfiguration.add(new SecondGenerationChannelConfiguration(
61                 SecondGenerationBindingConstants.CHANNEL_OPERATING_STATUS, "td", 13, Units.ONE, "16780032"));
62         channelConfiguration.add(new SecondGenerationChannelConfiguration(
63                 SecondGenerationBindingConstants.CHANNEL_GRIDVOLTAGEL1, "td", 16, Units.VOLT, "67109378"));
64         channelConfiguration.add(new SecondGenerationChannelConfiguration(
65                 SecondGenerationBindingConstants.CHANNEL_GRIDCURRENTL1, "td", 19, Units.AMPERE, "67109377"));
66         channelConfiguration.add(new SecondGenerationChannelConfiguration(
67                 SecondGenerationBindingConstants.CHANNEL_GRIDPOWERL1, "td", 22, Units.WATT, "67109379"));
68         channelConfiguration.add(new SecondGenerationChannelConfiguration(
69                 SecondGenerationBindingConstants.CHANNEL_GRIDVOLTAGEL2, "td", 25, Units.VOLT, "67109634"));
70         channelConfiguration.add(new SecondGenerationChannelConfiguration(
71                 SecondGenerationBindingConstants.CHANNEL_GRIDCURRENTL2, "td", 28, Units.AMPERE, "67109633"));
72         channelConfiguration.add(new SecondGenerationChannelConfiguration(
73                 SecondGenerationBindingConstants.CHANNEL_GRIDPOWERL2, "td", 31, Units.WATT, "67109635"));
74         channelConfiguration.add(new SecondGenerationChannelConfiguration(
75                 SecondGenerationBindingConstants.CHANNEL_GRIDVOLTAGEL3, "td", 34, Units.VOLT, "67109890"));
76         channelConfiguration.add(new SecondGenerationChannelConfiguration(
77                 SecondGenerationBindingConstants.CHANNEL_GRIDCURRENTL3, "td", 37, Units.AMPERE, "67109889"));
78         channelConfiguration.add(new SecondGenerationChannelConfiguration(
79                 SecondGenerationBindingConstants.CHANNEL_GRIDPOWERL3, "td", 40, Units.WATT, "67109891"));
80         channelConfiguration.add(new SecondGenerationChannelConfiguration(
81                 SecondGenerationBindingConstants.CHANNEL_DCPOWERPV, "td", 43, Units.WATT, "33556736"));
82         channelConfiguration.add(new SecondGenerationChannelConfiguration(
83                 SecondGenerationBindingConstants.CHANNEL_DC1VOLTAGE, "td", 46, Units.VOLT, "33555202"));
84         channelConfiguration.add(new SecondGenerationChannelConfiguration(
85                 SecondGenerationBindingConstants.CHANNEL_DC1CURRENT, "td", 49, Units.AMPERE, "33555201"));
86         channelConfiguration.add(new SecondGenerationChannelConfiguration(
87                 SecondGenerationBindingConstants.CHANNEL_DC1POWER, "td", 52, Units.WATT, "33555203"));
88         channelConfiguration.add(new SecondGenerationChannelConfiguration(
89                 SecondGenerationBindingConstants.CHANNEL_DC2VOLTAGE, "td", 55, Units.VOLT, "33555458"));
90         channelConfiguration.add(new SecondGenerationChannelConfiguration(
91                 SecondGenerationBindingConstants.CHANNEL_DC2CURRENT, "td", 58, Units.AMPERE, "33555457"));
92         channelConfiguration.add(new SecondGenerationChannelConfiguration(
93                 SecondGenerationBindingConstants.CHANNEL_DC2POWER, "td", 61, Units.WATT, "33555459"));
94         channelConfiguration.add(new SecondGenerationChannelConfiguration(
95                 SecondGenerationBindingConstants.CHANNEL_DC3VOLTAGE, "td", 64, Units.VOLT, "33555714"));
96         channelConfiguration.add(new SecondGenerationChannelConfiguration(
97                 SecondGenerationBindingConstants.CHANNEL_DC3CURRENT, "td", 67, Units.AMPERE, "33555713"));
98         channelConfiguration.add(new SecondGenerationChannelConfiguration(
99                 SecondGenerationBindingConstants.CHANNEL_DC3POWER, "td", 70, Units.WATT, "33555715"));
100
101         return channelConfiguration;
102     }
103
104     public static List<SecondGenerationChannelConfiguration> getChannelConfigurationExt() {
105         final List<SecondGenerationChannelConfiguration> channelConfigurationExt = new ArrayList<>();
106
107         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
108                 SecondGenerationBindingConstants.CHANNEL_AKTHOMECONSUMTIONSOLAR, "td", 73, Units.WATT, "83886336"));
109         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
110                 SecondGenerationBindingConstants.CHANNEL_AKTHOMECONSUMPTIONBAT, "td", 76, Units.WATT, "83886592"));
111         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
112                 SecondGenerationBindingConstants.CHANNEL_AKTHOMECONSUMPTIONGRID, "td", 79, Units.WATT, "83886848"));
113         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
114                 SecondGenerationBindingConstants.CHANNEL_PHASESELHOMECONSUMPL1, "td", 82, Units.WATT, "83887106"));
115         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
116                 SecondGenerationBindingConstants.CHANNEL_PHASESELHOMECONSUMPL2, "td", 85, Units.WATT, "83887362"));
117         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
118                 SecondGenerationBindingConstants.CHANNEL_PHASESELHOMECONSUMPL3, "td", 88, Units.WATT, "83887618"));
119         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
120                 SecondGenerationBindingConstants.CHANNEL_GRIDFREQ, "td", 91, Units.HERTZ, "67110400"));
121         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
122                 SecondGenerationBindingConstants.CHANNEL_GRIDCOSPHI, "td", 94, Units.DEGREE_ANGLE, "67110656"));
123         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
124                 SecondGenerationBindingConstants.CHANNEL_HOMECONSUMPTION_DAY, "td", 97, Units.WATT_HOUR, "251659010"));
125         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
126                 SecondGenerationBindingConstants.CHANNEL_OWNCONSUMPTION_DAY, "td", 100, Units.WATT_HOUR, "251659266"));
127         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
128                 SecondGenerationBindingConstants.CHANNEL_OWNCONSRATE_DAY, "td", 103, Units.PERCENT, "251659278"));
129         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
130                 SecondGenerationBindingConstants.CHANNEL_AUTONOMYDEGREE_DAY, "td", 106, Units.PERCENT, "251659279"));
131         channelConfigurationExt.add(
132                 new SecondGenerationChannelConfiguration(SecondGenerationBindingConstants.CHANNEL_HOMECONSUMPTION_TOTAL,
133                         "td", 109, Units.WATT_HOUR, "251659009"));
134         channelConfigurationExt.add(
135                 new SecondGenerationChannelConfiguration(SecondGenerationBindingConstants.CHANNEL_OWNCONSUMPTION_TOTAL,
136                         "td", 112, Units.WATT_HOUR, "251659265"));
137         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
138                 SecondGenerationBindingConstants.CHANNEL_OPERATINGTIME_TOTAL, "td", 115, Units.HOUR, "251658496"));
139         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
140                 SecondGenerationBindingConstants.CHANNEL_CURRENT, "td", 118, Units.AMPERE, "33556238"));
141         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
142                 SecondGenerationBindingConstants.CHANNEL_CURRENTDIR, "td", 121, Units.ONE, "33556230"));
143         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
144                 SecondGenerationBindingConstants.CHANNEL_CHARGECYCLES, "td", 124, Units.ONE, "33556228"));
145         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
146                 SecondGenerationBindingConstants.CHANNEL_BATTERYTEMPERATURE, "td", 127, SIUnits.CELSIUS, "33556227"));
147         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
148                 SecondGenerationBindingConstants.CHANNEL_LOGINTERVAL, "td", 130, Units.MINUTE, "150995968"));
149         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
150                 SecondGenerationBindingConstants.CHANNEL_S0INPULSECNT, "td", 133, Units.ONE, "184549632"));
151         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
152                 SecondGenerationBindingConstants.CHANNEL_OWNCONSRATE_TOTAL, "td", 136, Units.PERCENT, "251659280"));
153         channelConfigurationExt.add(new SecondGenerationChannelConfiguration(
154                 SecondGenerationBindingConstants.CHANNEL_AUTONOMYDEGREE_TOTAL, "td", 139, Units.PERCENT, "251659281"));
155
156         return channelConfigurationExt;
157     }
158
159     public static List<SecondGenerationChannelConfiguration> getChannelConfigurationExtExt() {
160         final List<SecondGenerationChannelConfiguration> channelConfigurationExtExt = new ArrayList<>();
161
162         channelConfigurationExtExt.add(new SecondGenerationChannelConfiguration(
163                 SecondGenerationBindingConstants.CHANNEL_BATTERYVOLTAGE, "td", 142, Units.VOLT, "33556226"));
164         channelConfigurationExtExt.add(new SecondGenerationChannelConfiguration(
165                 SecondGenerationBindingConstants.CHANNEL_BATSTATEOFCHARGE, "td", 145, Units.PERCENT, "33556229"));
166         channelConfigurationExtExt.add(new SecondGenerationChannelConfiguration(
167                 SecondGenerationBindingConstants.CHANNEL_SELFCONSUMPTION, "td", 148, Units.WATT, "83888128"));
168         return channelConfigurationExtExt;
169     }
170
171     public static List<SecondGenerationChannelConfiguration> getChannelConfigurationConfigurable() {
172         final List<SecondGenerationChannelConfiguration> channelConfigurationConfigurable = new ArrayList<>();
173         channelConfigurationConfigurable.add(new SecondGenerationChannelConfiguration(
174                 SecondGenerationBindingConstants.CHANNEL_BATTERYUSAGECONSUMPTION, "td", 151, Units.WATT, "33556249"));
175         channelConfigurationConfigurable.add(new SecondGenerationChannelConfiguration(
176                 SecondGenerationBindingConstants.CHANNEL_SMARTBATTERYCONTROL, "td", 154, Units.ONE, "33556484"));
177         channelConfigurationConfigurable.add(new SecondGenerationChannelConfiguration(
178                 SecondGenerationBindingConstants.CHANNEL_MAXDEPTHOFDISCHARGE, "td", 157, Units.ONE, "33556247"));
179         channelConfigurationConfigurable.add(new SecondGenerationChannelConfiguration(
180                 SecondGenerationBindingConstants.CHANNEL_SHADOWMANAGEMENT, "td", 160, Units.ONE, "33556483"));
181         channelConfigurationConfigurable.add(new SecondGenerationChannelConfiguration(
182                 SecondGenerationBindingConstants.CHANNEL_EXTERNALMODULECONTROL, "td", 163, Units.ONE, "33556482"));
183         return channelConfigurationConfigurable;
184     }
185 }