]> git.basschouten.com Git - openhab-addons.git/blob
106aaee772d59d94a3bb22ee8dd43d4cc495099c
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2024 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.solax.internal.model.local;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.eclipse.jdt.annotation.Nullable;
17 import org.openhab.binding.solax.internal.model.InverterType;
18
19 /**
20  * The {@link LocalInverterData} Interface for the parsed inverter data in meaningful format
21  *
22  * @author Konstantin Polihronov - Initial contribution
23  */
24 @NonNullByDefault
25 public interface LocalInverterData {
26
27     @Nullable
28     String getWifiSerial();
29
30     @Nullable
31     String getWifiVersion();
32
33     InverterType getInverterType();
34
35     @Nullable
36     String getRawData();
37
38     default double getPV1Voltage() {
39         return Short.MIN_VALUE;
40     }
41
42     default double getPV1Current() {
43         return Short.MIN_VALUE;
44     }
45
46     default short getPV1Power() {
47         return Short.MIN_VALUE;
48     }
49
50     default double getPV2Voltage() {
51         return Short.MIN_VALUE;
52     }
53
54     default double getPV2Current() {
55         return Short.MIN_VALUE;
56     }
57
58     default short getPV2Power() {
59         return Short.MIN_VALUE;
60     }
61
62     default double getPVTotalPower() {
63         return getPV1Power() + getPV2Power();
64     }
65
66     default double getPVTotalCurrent() {
67         return getPV1Current() + getPV2Current();
68     }
69
70     default double getBatteryVoltage() {
71         return Short.MIN_VALUE;
72     }
73
74     default double getBatteryCurrent() {
75         return Short.MIN_VALUE;
76     }
77
78     default short getBatteryPower() {
79         return Short.MIN_VALUE;
80     }
81
82     default short getBatteryTemperature() {
83         return Short.MIN_VALUE;
84     }
85
86     default short getInverterTemperature1() {
87         return Short.MIN_VALUE;
88     }
89
90     default short getInverterTemperature2() {
91         return Short.MIN_VALUE;
92     }
93
94     default short getBatteryLevel() {
95         return Short.MIN_VALUE;
96     }
97
98     default short getFeedInPower() {
99         return Short.MIN_VALUE;
100     }
101
102     default short getPowerUsage() {
103         return Short.MIN_VALUE;
104     }
105
106     default double getTotalEnergy() {
107         return Short.MIN_VALUE;
108     }
109
110     default short getTotalBatteryDischargeEnergy() {
111         return Short.MIN_VALUE;
112     }
113
114     default short getTotalBatteryChargeEnergy() {
115         return Short.MIN_VALUE;
116     }
117
118     default double getTotalPVEnergy() {
119         return Short.MIN_VALUE;
120     }
121
122     default short getTotalFeedInEnergy() {
123         return Short.MIN_VALUE;
124     }
125
126     default double getTotalConsumption() {
127         return Short.MIN_VALUE;
128     }
129
130     default double getTodayEnergy() {
131         return Short.MIN_VALUE;
132     }
133
134     default double getTodayFeedInEnergy() {
135         return Short.MIN_VALUE;
136     }
137
138     default double getTodayConsumption() {
139         return Short.MIN_VALUE;
140     }
141
142     default double getTodayBatteryDischargeEnergy() {
143         return Short.MIN_VALUE;
144     }
145
146     default double getTodayBatteryChargeEnergy() {
147         return Short.MIN_VALUE;
148     }
149
150     default double getInverterVoltage() {
151         return Short.MIN_VALUE;
152     }
153
154     default double getInverterCurrent() {
155         return Short.MIN_VALUE;
156     }
157
158     default short getInverterOutputPower() {
159         return Short.MIN_VALUE;
160     }
161
162     default double getInverterFrequency() {
163         return Short.MIN_VALUE;
164     }
165
166     default double getVoltagePhase1() {
167         return Short.MIN_VALUE;
168     }
169
170     default double getVoltagePhase2() {
171         return Short.MIN_VALUE;
172     }
173
174     default double getVoltagePhase3() {
175         return Short.MIN_VALUE;
176     }
177
178     default double getCurrentPhase1() {
179         return Short.MIN_VALUE;
180     }
181
182     default double getCurrentPhase2() {
183         return Short.MIN_VALUE;
184     }
185
186     default double getCurrentPhase3() {
187         return Short.MIN_VALUE;
188     }
189
190     default short getOutputPowerPhase1() {
191         return Short.MIN_VALUE;
192     }
193
194     default short getOutputPowerPhase2() {
195         return Short.MIN_VALUE;
196     }
197
198     default short getOutputPowerPhase3() {
199         return Short.MIN_VALUE;
200     }
201
202     default short getTotalOutputPower() {
203         return Short.MIN_VALUE;
204     }
205
206     default double getFrequencyPhase1() {
207         return Short.MIN_VALUE;
208     }
209
210     default double getFrequencyPhase2() {
211         return Short.MIN_VALUE;
212     }
213
214     default double getFrequencyPhase3() {
215         return Short.MIN_VALUE;
216     }
217
218     default short getInverterWorkModeCode() {
219         return Short.MIN_VALUE;
220     }
221
222     default String getInverterWorkMode() {
223         return String.valueOf(getInverterWorkModeCode());
224     }
225
226     default String toStringDetailed() {
227         return "WifiSerial = " + getWifiSerial() + ", WifiVersion = " + getWifiVersion() + ", InverterType = "
228                 + getInverterType() + ", BatteryPower = " + getBatteryPower() + "W, Battery SoC = " + getBatteryLevel()
229                 + "%, FeedIn Power = " + getFeedInPower() + "W, Total PV Power = " + (getPV1Power() + getPV2Power())
230                 + "W";
231     }
232 }