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