2 * Copyright (c) 2010-2024 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.solax.internal.model.local;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.eclipse.jdt.annotation.Nullable;
17 import org.openhab.binding.solax.internal.model.InverterType;
20 * The {@link LocalInverterData} Interface for the parsed inverter data in meaningful format
22 * @author Konstantin Polihronov - Initial contribution
25 public interface LocalInverterData {
28 String getWifiSerial();
31 String getWifiVersion();
33 InverterType getInverterType();
38 default double getPV1Voltage() {
39 return Short.MIN_VALUE;
42 default double getPV1Current() {
43 return Short.MIN_VALUE;
46 default short getPV1Power() {
47 return Short.MIN_VALUE;
50 default double getPV2Voltage() {
51 return Short.MIN_VALUE;
54 default double getPV2Current() {
55 return Short.MIN_VALUE;
58 default short getPV2Power() {
59 return Short.MIN_VALUE;
62 default double getPVTotalPower() {
63 return getPV1Power() + getPV2Power();
66 default double getPVTotalCurrent() {
67 return getPV1Current() + getPV2Current();
70 default double getBatteryVoltage() {
71 return Short.MIN_VALUE;
74 default double getBatteryCurrent() {
75 return Short.MIN_VALUE;
78 default short getBatteryPower() {
79 return Short.MIN_VALUE;
82 default short getBatteryTemperature() {
83 return Short.MIN_VALUE;
86 default short getInverterTemperature1() {
87 return Short.MIN_VALUE;
90 default short getInverterTemperature2() {
91 return Short.MIN_VALUE;
94 default short getBatteryLevel() {
95 return Short.MIN_VALUE;
98 default short getFeedInPower() {
99 return Short.MIN_VALUE;
102 default short getPowerUsage() {
103 return Short.MIN_VALUE;
106 default double getTotalEnergy() {
107 return Short.MIN_VALUE;
110 default short getTotalBatteryDischargeEnergy() {
111 return Short.MIN_VALUE;
114 default short getTotalBatteryChargeEnergy() {
115 return Short.MIN_VALUE;
118 default double getTotalPVEnergy() {
119 return Short.MIN_VALUE;
122 default short getTotalFeedInEnergy() {
123 return Short.MIN_VALUE;
126 default double getTotalConsumption() {
127 return Short.MIN_VALUE;
130 default double getTodayEnergy() {
131 return Short.MIN_VALUE;
134 default double getTodayFeedInEnergy() {
135 return Short.MIN_VALUE;
138 default double getTodayConsumption() {
139 return Short.MIN_VALUE;
142 default double getTodayBatteryDischargeEnergy() {
143 return Short.MIN_VALUE;
146 default double getTodayBatteryChargeEnergy() {
147 return Short.MIN_VALUE;
150 default double getInverterVoltage() {
151 return Short.MIN_VALUE;
154 default double getInverterCurrent() {
155 return Short.MIN_VALUE;
158 default short getInverterOutputPower() {
159 return Short.MIN_VALUE;
162 default double getInverterFrequency() {
163 return Short.MIN_VALUE;
166 default double getVoltagePhase1() {
167 return Short.MIN_VALUE;
170 default double getVoltagePhase2() {
171 return Short.MIN_VALUE;
174 default double getVoltagePhase3() {
175 return Short.MIN_VALUE;
178 default double getCurrentPhase1() {
179 return Short.MIN_VALUE;
182 default double getCurrentPhase2() {
183 return Short.MIN_VALUE;
186 default double getCurrentPhase3() {
187 return Short.MIN_VALUE;
190 default short getOutputPowerPhase1() {
191 return Short.MIN_VALUE;
194 default short getOutputPowerPhase2() {
195 return Short.MIN_VALUE;
198 default short getOutputPowerPhase3() {
199 return Short.MIN_VALUE;
202 default short getTotalOutputPower() {
203 return Short.MIN_VALUE;
206 default double getFrequencyPhase1() {
207 return Short.MIN_VALUE;
210 default double getFrequencyPhase2() {
211 return Short.MIN_VALUE;
214 default double getFrequencyPhase3() {
215 return Short.MIN_VALUE;
218 default short getInverterWorkModeCode() {
219 return Short.MIN_VALUE;
222 default String getInverterWorkMode() {
223 return String.valueOf(getInverterWorkModeCode());
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())