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.openhab.binding.solax.internal.connectivity.rawdata.local.LocalConnectRawDataBean;
19 * The {@link X3HybridG4InverterData} is responsible for handling commands, which are
20 * sent to one of the channels.
22 * @author Henrik Tóth - Initial contribution
23 * (based on X1/X3 G4 parser from Konstantin Polihronov)
26 public class X3MicOrProG2InverterData extends CommonLocalInverterData {
28 public X3MicOrProG2InverterData(LocalConnectRawDataBean data) {
35 public double getVoltagePhase1() {
36 return ((double) getData(0)) / 10;
40 public double getVoltagePhase2() {
41 return ((double) getData(1)) / 10;
45 public double getVoltagePhase3() {
46 return ((double) getData(2)) / 10;
50 public double getCurrentPhase1() {
51 return ((double) getData(3)) / 10;
55 public double getCurrentPhase2() {
56 return ((double) getData(4)) / 10;
60 public double getCurrentPhase3() {
61 return ((double) getData(5)) / 10;
65 public short getOutputPowerPhase1() {
70 public short getOutputPowerPhase2() {
75 public short getOutputPowerPhase3() {
80 public double getPV1Voltage() {
81 return ((double) getData(9)) / 10;
85 public double getPV2Voltage() {
86 return ((double) getData(10)) / 10;
90 public double getPV1Current() {
91 return ((double) getData(12)) / 10;
95 public double getPV2Current() {
96 return ((double) getData(13)) / 10;
100 public short getPV1Power() {
105 public short getPV2Power() {
110 public double getFrequencyPhase1() {
111 return ((double) getData(18)) / 100;
115 public double getFrequencyPhase2() {
116 return ((double) getData(19)) / 100;
120 public double getFrequencyPhase3() {
121 return ((double) getData(20)) / 100;
125 public short getInverterWorkModeCode() {
130 public double getTotalEnergy() {
131 return ((double) getData(22)) / 10;
135 public double getTodayEnergy() {
136 return ((double) getData(24)) / 10;
140 public short getInverterTemperature1() {
145 public short getInverterTemperature2() {
150 public short getTotalOutputPower() {