]> git.basschouten.com Git - openhab-addons.git/blob
bd0e03c7a42adcd24e67db2ac1402903961d25fb
[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.local;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.binding.solax.internal.connectivity.rawdata.local.LocalConnectRawDataBean;
17
18 /**
19  * The {@link X3HybridG4InverterData} is responsible for handling commands, which are
20  * sent to one of the channels.
21  *
22  * @author Henrik Tóth - Initial contribution
23  *         (based on X1/X3 G4 parser from Konstantin Polihronov)
24  */
25 @NonNullByDefault
26 public class X3MicOrProG2InverterData extends CommonLocalInverterData {
27
28     public X3MicOrProG2InverterData(LocalConnectRawDataBean data) {
29         super(data);
30     }
31
32     // Inverter data
33
34     @Override
35     public double getVoltagePhase1() {
36         return ((double) getData(0)) / 10;
37     }
38
39     @Override
40     public double getVoltagePhase2() {
41         return ((double) getData(1)) / 10;
42     }
43
44     @Override
45     public double getVoltagePhase3() {
46         return ((double) getData(2)) / 10;
47     }
48
49     @Override
50     public double getCurrentPhase1() {
51         return ((double) getData(3)) / 10;
52     }
53
54     @Override
55     public double getCurrentPhase2() {
56         return ((double) getData(4)) / 10;
57     }
58
59     @Override
60     public double getCurrentPhase3() {
61         return ((double) getData(5)) / 10;
62     }
63
64     @Override
65     public short getOutputPowerPhase1() {
66         return getData(6);
67     }
68
69     @Override
70     public short getOutputPowerPhase2() {
71         return getData(7);
72     }
73
74     @Override
75     public short getOutputPowerPhase3() {
76         return getData(8);
77     }
78
79     @Override
80     public double getPV1Voltage() {
81         return ((double) getData(9)) / 10;
82     }
83
84     @Override
85     public double getPV2Voltage() {
86         return ((double) getData(10)) / 10;
87     }
88
89     @Override
90     public double getPV1Current() {
91         return ((double) getData(12)) / 10;
92     }
93
94     @Override
95     public double getPV2Current() {
96         return ((double) getData(13)) / 10;
97     }
98
99     @Override
100     public short getPV1Power() {
101         return getData(15);
102     }
103
104     @Override
105     public short getPV2Power() {
106         return getData(16);
107     }
108
109     @Override
110     public double getFrequencyPhase1() {
111         return ((double) getData(18)) / 100;
112     }
113
114     @Override
115     public double getFrequencyPhase2() {
116         return ((double) getData(19)) / 100;
117     }
118
119     @Override
120     public double getFrequencyPhase3() {
121         return ((double) getData(20)) / 100;
122     }
123
124     @Override
125     public short getInverterWorkModeCode() {
126         return getData(21);
127     }
128
129     @Override
130     public double getTotalEnergy() {
131         return ((double) getData(22)) / 10;
132     }
133
134     @Override
135     public double getTodayEnergy() {
136         return ((double) getData(24)) / 10;
137     }
138
139     @Override
140     public short getInverterTemperature1() {
141         return getData(26);
142     }
143
144     @Override
145     public short getInverterTemperature2() {
146         return getData(27);
147     }
148
149     @Override
150     public short getTotalOutputPower() {
151         return getData(78);
152     }
153 }