Skip to content

Commit

Permalink
fixed: multi tile is sometimes hidden when inverter switches off
Browse files Browse the repository at this point in the history
  • Loading branch information
kwindrem committed Jun 15, 2024
1 parent ad8f1ca commit 8bb9490
Show file tree
Hide file tree
Showing 10 changed files with 70 additions and 18 deletions.
2 changes: 1 addition & 1 deletion FileSets/VersionIndependent/MultiEnhanced.qml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ MbIcon {
bind: Utils.path(inverterService, "/Mode")
}
// flag a VE.Direct inverter
property VBusItem isInverterChargerItem: VBusItem { bind: Utils.path(inverterService, "/IsInverterCharger") }
property VBusItem isInverterChargerItem: VBusItem { bind: Utils.path(=, "/IsInverterCharger") }
property bool isInverter: isInverterChargerItem.valid ? true : false

SvgRectangle
Expand Down
8 changes: 7 additions & 1 deletion FileSets/v2.73/OverviewHubEnhanced.qml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ OverviewPage {
property double alternatorFlow: showAlternator ? noNoise (sys.alternator.power) : 0
property bool showAcLoads: isMulti || sys.acLoad.power.valid || veDirectInverterService != ""
property bool showDcSystem: (hasDcSystemItem.valid && hasDcSystemItem.value > 0) || showAllTiles
property bool showInverter: inverterService != "" || showAllTiles
property bool hasInverter: false
property bool showInverter: hasInverter || showAllTiles

property bool hasAcSolarOnAcIn1: sys.pvOnAcIn1.power.valid
property bool hasAcSolarOnAcIn2: sys.pvOnAcIn2.power.valid
Expand Down Expand Up @@ -1202,6 +1203,7 @@ OverviewPage {
tempsModel.append({serviceName: service.name})
break;;
case DBusService.DBUS_SERVICE_MULTI:
hasInverter = true
root.tempServiceName = service.name
if (temperatureItem.valid && showBatteryTemp)
{
Expand All @@ -1211,13 +1213,16 @@ OverviewPage {
break;;
//////// add for VE.Direct inverters
case DBusService.DBUS_SERVICE_INVERTER:
hasInverter = true
if (veDirectInverterService == "")
veDirectInverterService = service.name;
break;;

//////// add for PV CHARGER voltage and current display
case DBusService.DBUS_SERVICE_SOLAR_CHARGER:
case DBusService.DBUS_SERVICE_MULTI_RS:
if ( service.type == DBUS_SERVICE_MULTI_RS )
hasInverter = true
numberOfPvChargers++
if (numberOfPvChargers === 1)
pvChargerPrefix1 = service.name;
Expand Down Expand Up @@ -1273,6 +1278,7 @@ OverviewPage {
numberOfPvInverters = 0
numberOfAlternators = 0
veDirectInverterService = ""
hasInverter = false
pvChargerPrefix1 = ""
pvChargerPrefix2 = ""
pvChargerPrefix3 = ""
Expand Down
17 changes: 13 additions & 4 deletions FileSets/v3.01/OverviewFlowComplex.qml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,9 @@ OverviewPage {
// for debug, ignore validity checks so all tiles and their flow lines will show
property bool showAllTiles: showInactiveTilesItem.valid && showInactiveTilesItem.value == 3

property bool showInverter: inverterService != "" || showAllTiles
property bool hasInverter: false
property bool showInverter: hasInverter || showAllTiles

property bool showLoadsOnOutput: showInverter || outputLoad.power.valid
property bool showAcInput: isMulti || sys.acInput.power.valid || showAllTiles
property bool hasLoadsOnInput: showAcInput && ! combineAcLoads && (! loadsOnInputItem.valid || loadsOnInputItem.value === 1)
Expand Down Expand Up @@ -1399,17 +1401,23 @@ OverviewPage {
break;;

case DBusService.DBUS_SERVICE_MULTI:
hasInverter = true
root.tempServiceName = service.name
if (temperatureItem.valid && showBatteryTemp)
{
numberOfTemps++
tempsModel.append({serviceName: service.name})
}
break;;
case DBusService.DBUS_SERVICE_INVERTER:
if (veDirectInverterService == "")
case DBusService.DBUS_SERVICE_MULTI_RS:
hasInverter = true
break;;

case DBusService.DBUS_SERVICE_INVERTER:
hasInverter = true
if (veDirectInverterService == "")
veDirectInverterService = service.name;
break;;
break;;
case DBusService.DBUS_SERVICE_BATTERY:
root.tempServiceName = service.name
if (temperatureItem.valid && showBatteryTemp)
Expand All @@ -1427,6 +1435,7 @@ OverviewPage {
numberOfTemps = 0
tempsModel.clear()
veDirectInverterService = ""
hasInverter = false
for (var i = 0; i < DBusServices.count; i++)
{
addService(DBusServices.at(i))
Expand Down
8 changes: 7 additions & 1 deletion FileSets/v3.01/OverviewHubEnhanced.qml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ OverviewPage {
property double alternatorFlow: showAlternator ? noNoise (sys.alternator.power) : 0
property bool showAcLoads: isMulti || sys.acLoad.power.valid || veDirectInverterService != ""
property bool showDcSystem: (hasDcSystemItem.valid && hasDcSystemItem.value > 0) || showAllTiles
property bool showInverter: inverterService != "" || showAllTiles
property bool hasInverter: false
property bool showInverter: hasInverter || showAllTiles

property bool hasAcSolarOnAcIn1: sys.pvOnAcIn1.power.valid
property bool hasAcSolarOnAcIn2: sys.pvOnAcIn2.power.valid
Expand Down Expand Up @@ -1261,6 +1262,7 @@ OverviewPage {
tempsModel.append({serviceName: service.name})
break;;
case DBusService.DBUS_SERVICE_MULTI:
hasInverter = true
root.tempServiceName = service.name
if (temperatureItem.valid && showBatteryTemp)
{
Expand All @@ -1270,13 +1272,16 @@ OverviewPage {
break;;
//////// add for VE.Direct inverters
case DBusService.DBUS_SERVICE_INVERTER:
hasInverter = true
if (veDirectInverterService == "")
veDirectInverterService = service.name;
break;;

//////// add for PV CHARGER voltage and current display
case DBusService.DBUS_SERVICE_SOLAR_CHARGER:
case DBusService.DBUS_SERVICE_MULTI_RS:
if ( service.type == DBUS_SERVICE_MULTI_RS )
hasInverter = true
numberOfPvChargers++
if (numberOfPvChargers === 1)
pvChargerPrefix1 = service.name;
Expand Down Expand Up @@ -1331,6 +1336,7 @@ OverviewPage {
numberOfPvInverters = 0
numberOfAlternators = 0
veDirectInverterService = ""
hasInverter = false
pvChargerPrefix1 = ""
pvChargerPrefix2 = ""
pvChargerPrefix3 = ""
Expand Down
14 changes: 11 additions & 3 deletions FileSets/v3.40~27/OverviewFlowComplex.qml
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,10 @@ OverviewPage {
// for debug, ignore validity checks so all tiles and their flow lines will show
property bool showAllTiles: showInactiveTilesItem.valid && showInactiveTilesItem.value == 3

property bool showInverter: inverterService != "" || showAllTiles
property bool showLoadsOnOutput: showInverter || outputLoad.power.valid
property bool hasInverter: false
property bool showInverter: hasInverter || showAllTiles

property bool showLoadsOnOutput: showInverter || outputLoad.power.valid
property bool showAcInput: isMulti || sys.acInput.power.valid || showAllTiles
property bool hasLoadsOnInput: showAcInput && ! combineAcLoads && (! loadsOnInputItem.valid || loadsOnInputItem.value === 1)
property bool showLoadsOnInput: !dcCoupled && hasLoadsOnInput
Expand Down Expand Up @@ -1359,14 +1361,19 @@ OverviewPage {
break;;

case DBusService.DBUS_SERVICE_MULTI:
hasInverter = true
root.tempServiceName = service.name
if (temperatureItem.valid && showBatteryTemp)
{
numberOfTemps++
tempsModel.append({serviceName: service.name})
}
break;;
case DBusService.DBUS_SERVICE_INVERTER:
case DBusService.DBUS_SERVICE_MULTI_RS:
hasInverter = true
break;;
case DBusService.DBUS_SERVICE_INVERTER:
hasInverter = true
if (veDirectInverterService == "")
veDirectInverterService = service.name;
break;;
Expand All @@ -1387,6 +1394,7 @@ OverviewPage {
numberOfTemps = 0
tempsModel.clear()
veDirectInverterService = ""
hasInverter = false
for (var i = 0; i < DBusServices.count; i++)
{
addService(DBusServices.at(i))
Expand Down
8 changes: 7 additions & 1 deletion FileSets/v3.40~27/OverviewHubEnhanced.qml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ OverviewPage {
property double alternatorFlow: showAlternator ? noNoise (sys.alternator.power) : 0
property bool showAcLoads: isMulti || sys.acLoad.power.valid || veDirectInverterService != ""
property bool showDcSystem: (hasDcSystemItem.valid && hasDcSystemItem.value > 0) || showAllTiles
property bool showInverter: inverterService != "" || showAllTiles
property bool hasInverter: false
property bool showInverter: hasInverter || showAllTiles

property bool hasAcSolarOnAcIn1: sys.pvOnAcIn1.power.valid
property bool hasAcSolarOnAcIn2: sys.pvOnAcIn2.power.valid
Expand Down Expand Up @@ -1257,6 +1258,7 @@ OverviewPage {
tempsModel.append({serviceName: service.name})
break;;
case DBusService.DBUS_SERVICE_MULTI:
hasInverter = true
root.tempServiceName = service.name
if (temperatureItem.valid && showBatteryTemp)
{
Expand All @@ -1266,13 +1268,16 @@ OverviewPage {
break;;
//////// add for VE.Direct inverters
case DBusService.DBUS_SERVICE_INVERTER:
hasInverter = true
if (veDirectInverterService == "")
veDirectInverterService = service.name;
break;;

//////// add for PV CHARGER voltage and current display
case DBusService.DBUS_SERVICE_SOLAR_CHARGER:
case DBusService.DBUS_SERVICE_MULTI_RS:
if ( service.type == DBUS_SERVICE_MULTI_RS )
hasInverter = true
numberOfPvChargers++
if (numberOfPvChargers === 1)
pvChargerPrefix1 = service.name;
Expand Down Expand Up @@ -1327,6 +1332,7 @@ OverviewPage {
numberOfPvInverters = 0
numberOfAlternators = 0
veDirectInverterService = ""
hasInverter = false
pvChargerPrefix1 = ""
pvChargerPrefix2 = ""
pvChargerPrefix3 = ""
Expand Down
18 changes: 13 additions & 5 deletions FileSets/v3.40~8/OverviewFlowComplex.qml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,9 @@ OverviewPage {
// for debug, ignore validity checks so all tiles and their flow lines will show
property bool showAllTiles: showInactiveTilesItem.valid && showInactiveTilesItem.value == 3

property bool showInverter: inverterService != "" || showAllTiles
property bool hasInverter: false
property bool showInverter: hasInverter || showAllTiles

property bool showLoadsOnOutput: showInverter || outputLoad.power.valid
property bool showAcInput: isMulti || sys.acInput.power.valid || showAllTiles
property bool hasLoadsOnInput: showAcInput && ! combineAcLoads && (! loadsOnInputItem.valid || loadsOnInputItem.value === 1)
Expand Down Expand Up @@ -1358,18 +1360,23 @@ OverviewPage {
tempsModel.append({serviceName: service.name})
break;;

case DBusService.DBUS_SERVICE_MULTI:
case DBusService.DBUS_SERVICE_MULTI:
hasInverter = true
root.tempServiceName = service.name
if (temperatureItem.valid && showBatteryTemp)
{
numberOfTemps++
tempsModel.append({serviceName: service.name})
}
break;;
case DBusService.DBUS_SERVICE_INVERTER:
if (veDirectInverterService == "")
case DBusService.DBUS_SERVICE_MULTI_RS:
hasInverter = true
break;;
case DBusService.DBUS_SERVICE_INVERTER:
hasInverter = true
if (veDirectInverterService == "")
veDirectInverterService = service.name;
break;;
break;;
case DBusService.DBUS_SERVICE_BATTERY:
root.tempServiceName = service.name
if (temperatureItem.valid && showBatteryTemp)
Expand All @@ -1387,6 +1394,7 @@ OverviewPage {
numberOfTemps = 0
tempsModel.clear()
veDirectInverterService = ""
hasInverter = false
for (var i = 0; i < DBusServices.count; i++)
{
addService(DBusServices.at(i))
Expand Down
8 changes: 7 additions & 1 deletion FileSets/v3.40~8/OverviewHubEnhanced.qml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ OverviewPage {
property double alternatorFlow: showAlternator ? noNoise (sys.alternator.power) : 0
property bool showAcLoads: isMulti || sys.acLoad.power.valid || veDirectInverterService != ""
property bool showDcSystem: (hasDcSystemItem.valid && hasDcSystemItem.value > 0) || showAllTiles
property bool showInverter: inverterService != "" || showAllTiles
property bool hasInverter: false
property bool showInverter: hasInverter || showAllTiles

property bool hasAcSolarOnAcIn1: sys.pvOnAcIn1.power.valid
property bool hasAcSolarOnAcIn2: sys.pvOnAcIn2.power.valid
Expand Down Expand Up @@ -1258,6 +1259,7 @@ OverviewPage {
tempsModel.append({serviceName: service.name})
break;;
case DBusService.DBUS_SERVICE_MULTI:
hasInverter = true
root.tempServiceName = service.name
if (temperatureItem.valid && showBatteryTemp)
{
Expand All @@ -1267,13 +1269,16 @@ OverviewPage {
break;;
//////// add for VE.Direct inverters
case DBusService.DBUS_SERVICE_INVERTER:
hasInverter = true
if (veDirectInverterService == "")
veDirectInverterService = service.name;
break;;

//////// add for PV CHARGER voltage and current display
case DBusService.DBUS_SERVICE_SOLAR_CHARGER:
case DBusService.DBUS_SERVICE_MULTI_RS:
if ( service.type == DBUS_SERVICE_MULTI_RS )
hasInverter = true
numberOfPvChargers++
if (numberOfPvChargers === 1)
pvChargerPrefix1 = service.name;
Expand Down Expand Up @@ -1328,6 +1333,7 @@ OverviewPage {
numberOfPvInverters = 0
numberOfAlternators = 0
veDirectInverterService = ""
hasInverter = false
pvChargerPrefix1 = ""
pvChargerPrefix2 = ""
pvChargerPrefix3 = ""
Expand Down
3 changes: 3 additions & 0 deletions changes
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
v10.41:
fixed: multi tile is sometimes hidden when inverter switches off

v10.40:
add support for v3.40~27

Expand Down
2 changes: 1 addition & 1 deletion version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v10.40
v10.41

0 comments on commit 8bb9490

Please sign in to comment.