2 * Copyright (c) 2010-2023 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;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.eclipse.jdt.annotation.Nullable;
19 * The {@link InverterData} Interface for the parsed inverter data in meaningful format
21 * @author Konstantin Polihronov - Initial contribution
24 public interface InverterData {
27 String getWifiSerial();
30 String getWifiVersion();
32 InverterType getInverterType();
37 default double getPV1Voltage() {
38 return Short.MIN_VALUE;
41 default double getPV1Current() {
42 return Short.MIN_VALUE;
45 default short getPV1Power() {
46 return Short.MIN_VALUE;
49 default double getPV2Voltage() {
50 return Short.MIN_VALUE;
53 default double getPV2Current() {
54 return Short.MIN_VALUE;
57 default short getPV2Power() {
58 return Short.MIN_VALUE;
61 default double getPVTotalPower() {
62 return getPV1Power() + getPV2Power();
65 default double getPVTotalCurrent() {
66 return getPV1Current() + getPV2Current();
69 default double getBatteryVoltage() {
70 return Short.MIN_VALUE;
73 default double getBatteryCurrent() {
74 return Short.MIN_VALUE;
77 default short getBatteryPower() {
78 return Short.MIN_VALUE;
81 default short getBatteryTemperature() {
82 return Short.MIN_VALUE;
85 default short getBatteryLevel() {
86 return Short.MIN_VALUE;
89 default short getFeedInPower() {
90 return Short.MIN_VALUE;
93 default short getPowerUsage() {
94 return Short.MIN_VALUE;
97 default double getTotalEnergy() {
98 return Short.MIN_VALUE;
101 default short getTotalBatteryDischargeEnergy() {
102 return Short.MIN_VALUE;
105 default short getTotalBatteryChargeEnergy() {
106 return Short.MIN_VALUE;
109 default double getTotalPVEnergy() {
110 return Short.MIN_VALUE;
113 default short getTotalFeedInEnergy() {
114 return Short.MIN_VALUE;
117 default double getTotalConsumption() {
118 return Short.MIN_VALUE;
121 default double getTodayEnergy() {
122 return Short.MIN_VALUE;
125 default double getTodayFeedInEnergy() {
126 return Short.MIN_VALUE;
129 default double getTodayConsumption() {
130 return Short.MIN_VALUE;
133 default double getTodayBatteryDischargeEnergy() {
134 return Short.MIN_VALUE;
137 default double getTodayBatteryChargeEnergy() {
138 return Short.MIN_VALUE;
141 default double getInverterVoltage() {
142 return Short.MIN_VALUE;
145 default double getInverterCurrent() {
146 return Short.MIN_VALUE;
149 default short getInverterOutputPower() {
150 return Short.MIN_VALUE;
153 default double getInverterFrequency() {
154 return Short.MIN_VALUE;
157 default double getVoltagePhase1() {
158 return Short.MIN_VALUE;
161 default double getVoltagePhase2() {
162 return Short.MIN_VALUE;
165 default double getVoltagePhase3() {
166 return Short.MIN_VALUE;
169 default double getCurrentPhase1() {
170 return Short.MIN_VALUE;
173 default double getCurrentPhase2() {
174 return Short.MIN_VALUE;
177 default double getCurrentPhase3() {
178 return Short.MIN_VALUE;
181 default short getOutputPowerPhase1() {
182 return Short.MIN_VALUE;
185 default short getOutputPowerPhase2() {
186 return Short.MIN_VALUE;
189 default short getOutputPowerPhase3() {
190 return Short.MIN_VALUE;
193 default short getTotalOutputPower() {
194 return Short.MIN_VALUE;
197 default double getFrequencyPhase1() {
198 return Short.MIN_VALUE;
201 default double getFrequencyPhase2() {
202 return Short.MIN_VALUE;
205 default double getFrequencyPhase3() {
206 return Short.MIN_VALUE;
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())