Zendure SolarFlow: show off-grid AC power as Power Output 2 in status activity (Output 1 is to grid)

This commit is contained in:
Andreas Shimokawa
2025-12-25 20:15:03 +01:00
parent db92b58083
commit 8f866a4773
2 changed files with 7 additions and 1 deletions
@@ -30,6 +30,7 @@ import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.SolarEquipmentStatusActivity; import nodomain.freeyourgadget.gadgetbridge.devices.SolarEquipmentStatusActivity;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
@@ -55,6 +55,7 @@ public class SolarFlowDeviceSupport extends AbstractBTLESingleDeviceSupport {
private int solarPower2 = -1; private int solarPower2 = -1;
private int solarPower3 = -1; private int solarPower3 = -1;
private int solarPower4 = -1; private int solarPower4 = -1;
private int gridOffPower = -1;
private int outputHomePower = -1; private int outputHomePower = -1;
private int batteryTemp; private int batteryTemp;
private int hyperTmp; private int hyperTmp;
@@ -62,6 +63,7 @@ public class SolarFlowDeviceSupport extends AbstractBTLESingleDeviceSupport {
private String deviceId; private String deviceId;
private int firmwareVersion = -1; private int firmwareVersion = -1;
public SolarFlowDeviceSupport() { public SolarFlowDeviceSupport() {
super(LOG); super(LOG);
addSupportedService(UUID_SERVICE_MAIN); addSupportedService(UUID_SERVICE_MAIN);
@@ -201,6 +203,9 @@ public class SolarFlowDeviceSupport extends AbstractBTLESingleDeviceSupport {
if (properties.has("solarPower4")) { if (properties.has("solarPower4")) {
solarPower4 = properties.getInt("solarPower4"); solarPower4 = properties.getInt("solarPower4");
} }
if (properties.has("gridOffPower")) {
gridOffPower = properties.getInt("gridOffPower");
}
if (properties.has("hyperTmp")) { if (properties.has("hyperTmp")) {
hyperTmp = (properties.getInt("hyperTmp") - 2731) / 10; hyperTmp = (properties.getInt("hyperTmp") - 2731) / 10;
} }
@@ -260,7 +265,7 @@ public class SolarFlowDeviceSupport extends AbstractBTLESingleDeviceSupport {
.putExtra(SolarEquipmentStatusActivity.EXTRA_TEMP1, hyperTmp) .putExtra(SolarEquipmentStatusActivity.EXTRA_TEMP1, hyperTmp)
.putExtra(SolarEquipmentStatusActivity.EXTRA_TEMP2, batteryTemp) .putExtra(SolarEquipmentStatusActivity.EXTRA_TEMP2, batteryTemp)
.putExtra(SolarEquipmentStatusActivity.EXTRA_OUTPUT1_WATT, outputHomePower) .putExtra(SolarEquipmentStatusActivity.EXTRA_OUTPUT1_WATT, outputHomePower)
.putExtra(SolarEquipmentStatusActivity.EXTRA_OUTPUT2_WATT, -1) .putExtra(SolarEquipmentStatusActivity.EXTRA_OUTPUT2_WATT, gridOffPower)
.putExtra(SolarEquipmentStatusActivity.EXTRA_PANEL1_WATT, solarPower1) .putExtra(SolarEquipmentStatusActivity.EXTRA_PANEL1_WATT, solarPower1)
.putExtra(SolarEquipmentStatusActivity.EXTRA_PANEL2_WATT, solarPower2) .putExtra(SolarEquipmentStatusActivity.EXTRA_PANEL2_WATT, solarPower2)
.putExtra(SolarEquipmentStatusActivity.EXTRA_PANEL3_WATT, solarPower3) .putExtra(SolarEquipmentStatusActivity.EXTRA_PANEL3_WATT, solarPower3)