]> git.basschouten.com Git - openhab-addons.git/blob
792187f467e5ab23ed0bfcb055cf2eb39a2c2979
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 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.impl;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.binding.solax.internal.connectivity.rawdata.LocalConnectRawDataBean;
17
18 /**
19  * The {@link X1HybridG4InverterData} is an implementation of the single phased inverter data interface for X1 Hybrid G4
20  * inverter.
21  *
22  * @author Konstantin Polihronov - Initial contribution
23  */
24 @NonNullByDefault
25 public class X1HybridG4InverterData extends CommonInverterData {
26
27     public X1HybridG4InverterData(LocalConnectRawDataBean data) {
28         super(data);
29     }
30
31     @Override
32     public double getInverterVoltage() {
33         return ((double) getData(0)) / 10;
34     }
35
36     @Override
37     public double getInverterCurrent() {
38         return ((double) getData(1)) / 10;
39     }
40
41     @Override
42     public short getInverterOutputPower() {
43         return getData(2);
44     }
45
46     @Override
47     public double getInverterFrequency() {
48         return ((double) getData(3)) / 100;
49     }
50
51     @Override
52     public short getFeedInPower() {
53         return getData(32);
54     }
55
56     @Override
57     public double getPV1Voltage() {
58         return ((double) getData(4)) / 10;
59     }
60
61     @Override
62     public double getPV2Voltage() {
63         return ((double) getData(5)) / 10;
64     }
65
66     @Override
67     public double getPV1Current() {
68         return ((double) getData(6)) / 10;
69     }
70
71     @Override
72     public double getPV2Current() {
73         return ((double) getData(7)) / 10;
74     }
75
76     @Override
77     public short getPV1Power() {
78         return getData(8);
79     }
80
81     @Override
82     public short getPV2Power() {
83         return getData(9);
84     }
85
86     @Override
87     public double getBatteryVoltage() {
88         return ((double) getData(14)) / 100;
89     }
90
91     @Override
92     public double getBatteryCurrent() {
93         return ((double) getData(15)) / 100;
94     }
95
96     @Override
97     public short getBatteryPower() {
98         return getData(16);
99     }
100
101     @Override
102     public short getBatteryTemperature() {
103         return getData(17);
104     }
105
106     @Override
107     public short getBatteryLevel() {
108         return getData(18);
109     }
110 }