]> git.basschouten.com Git - openhab-addons.git/blob
cf20302892b64270fea35040cde0f8eff742cb1a
[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 getBatteryLevel() {
86         return Short.MIN_VALUE;
87     }
88
89     default short getFeedInPower() {
90         return Short.MIN_VALUE;
91     }
92
93     default short getPowerUsage() {
94         return Short.MIN_VALUE;
95     }
96
97     default double getTotalEnergy() {
98         return Short.MIN_VALUE;
99     }
100
101     default short getTotalBatteryDischargeEnergy() {
102         return Short.MIN_VALUE;
103     }
104
105     default short getTotalBatteryChargeEnergy() {
106         return Short.MIN_VALUE;
107     }
108
109     default double getTotalPVEnergy() {
110         return Short.MIN_VALUE;
111     }
112
113     default short getTotalFeedInEnergy() {
114         return Short.MIN_VALUE;
115     }
116
117     default double getTotalConsumption() {
118         return Short.MIN_VALUE;
119     }
120
121     default double getTodayEnergy() {
122         return Short.MIN_VALUE;
123     }
124
125     default double getTodayFeedInEnergy() {
126         return Short.MIN_VALUE;
127     }
128
129     default double getTodayConsumption() {
130         return Short.MIN_VALUE;
131     }
132
133     default double getTodayBatteryDischargeEnergy() {
134         return Short.MIN_VALUE;
135     }
136
137     default double getTodayBatteryChargeEnergy() {
138         return Short.MIN_VALUE;
139     }
140
141     default double getInverterVoltage() {
142         return Short.MIN_VALUE;
143     }
144
145     default double getInverterCurrent() {
146         return Short.MIN_VALUE;
147     }
148
149     default short getInverterOutputPower() {
150         return Short.MIN_VALUE;
151     }
152
153     default double getInverterFrequency() {
154         return Short.MIN_VALUE;
155     }
156
157     default double getVoltagePhase1() {
158         return Short.MIN_VALUE;
159     }
160
161     default double getVoltagePhase2() {
162         return Short.MIN_VALUE;
163     }
164
165     default double getVoltagePhase3() {
166         return Short.MIN_VALUE;
167     }
168
169     default double getCurrentPhase1() {
170         return Short.MIN_VALUE;
171     }
172
173     default double getCurrentPhase2() {
174         return Short.MIN_VALUE;
175     }
176
177     default double getCurrentPhase3() {
178         return Short.MIN_VALUE;
179     }
180
181     default short getOutputPowerPhase1() {
182         return Short.MIN_VALUE;
183     }
184
185     default short getOutputPowerPhase2() {
186         return Short.MIN_VALUE;
187     }
188
189     default short getOutputPowerPhase3() {
190         return Short.MIN_VALUE;
191     }
192
193     default short getTotalOutputPower() {
194         return Short.MIN_VALUE;
195     }
196
197     default double getFrequencyPhase1() {
198         return Short.MIN_VALUE;
199     }
200
201     default double getFrequencyPhase2() {
202         return Short.MIN_VALUE;
203     }
204
205     default double getFrequencyPhase3() {
206         return Short.MIN_VALUE;
207     }
208
209     default String toStringDetailed() {
210         return "WifiSerial = " + getWifiSerial() + ", WifiVersion = " + getWifiVersion() + ", InverterType = "
211                 + getInverterType() + ", BatteryPower = " + getBatteryPower() + "W, Battery SoC = " + getBatteryLevel()
212                 + "%, FeedIn Power = " + getFeedInPower() + "W, Total PV Power = " + (getPV1Power() + getPV2Power())
213                 + "W";
214     }
215 }