]> git.basschouten.com Git - openhab-addons.git/blob
9c4e95118061927d9633418eea02b36dc246d5f3
[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 X1BoostAirMiniInverterData} is an implementation of the single phased inverter data interface for X1 Mini
20  * / X1 Air Mini or X1 Boost Mini inverter.
21  *
22  * @author Konstantin Polihronov - Initial contribution
23  */
24 @NonNullByDefault
25 public class X1BoostAirMiniInverterData extends CommonLocalInverterData {
26
27     public X1BoostAirMiniInverterData(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 getPV1Voltage() {
48         return (double) getData(3) / 10;
49     }
50
51     @Override
52     public double getPV2Voltage() {
53         return (double) getData(4) / 10;
54     }
55
56     @Override
57     public double getPV1Current() {
58         return (double) getData(5) / 10;
59     }
60
61     @Override
62     public double getPV2Current() {
63         return (double) getData(6) / 10;
64     }
65
66     @Override
67     public short getPV1Power() {
68         return getData(7);
69     }
70
71     @Override
72     public short getPV2Power() {
73         return getData(8);
74     }
75
76     @Override
77     public double getInverterFrequency() {
78         return (double) getData(9) / 100;
79     }
80
81     @Override
82     public double getTotalEnergy() {
83         return (double) getData(11) / 10;
84     }
85
86     @Override
87     public double getTodayEnergy() {
88         return (double) getData(13) / 10;
89     }
90
91     @Override
92     public short getPowerUsage() {
93         return (short) Math.round((double) getData(43) / 10);
94     }
95 }