Skip to content

Commit

Permalink
Don't display 'Inverter/Charger' for inverter-only devices
Browse files Browse the repository at this point in the history
Fixes #1865
  • Loading branch information
DanielMcInnes committed Jan 22, 2025
1 parent 4c6f84a commit 48bd44f
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 11 deletions.
21 changes: 11 additions & 10 deletions components/dialogs/InverterChargerModeDialog.qml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,13 @@ ModalDialog {

readonly property string serviceType: BackendConnection.serviceTypeFromUid(serviceUid)
readonly property bool showInverterModesOnly: serviceType === "inverter" && isInverterChargerItem.value !== 1
readonly property bool isMulti: root.serviceType === "inverter" ? isInverterChargerItem.value === 1
: root.serviceType === "vebus" ? numberOfAcInputs.value !== 0
: root.serviceType === "acsystem" ? true
: false // unsupported service
readonly property bool vebusInverterOnlyModel: serviceType === "vebus" && !isMulti // for a vebus inverter-only model, such as a "Phoenix Inverter Compact 12/1200"

title: showInverterModesOnly
title: showInverterModesOnly || vebusInverterOnlyModel
//% "Inverter mode"
? qsTrId("controlcard_inverter_mode")
//% "Inverter / Charger mode"
Expand All @@ -38,11 +43,6 @@ ModalDialog {
Repeater {
id: repeater

readonly property bool isMulti: root.serviceType === "inverter" ? isInverterChargerItem.value === 1
: root.serviceType === "vebus" ? numberOfAcInputs.value !== 0
: root.serviceType === "acsystem" ? true
: false // unsupported service

// Options for inverter services
readonly property var inverterModel: [
{ value: VenusOS.Inverter_Mode_On },
Expand All @@ -52,10 +52,10 @@ ModalDialog {

// Options for vebus and acsystem services
readonly property var inverterChargerModel: [
{ value: VenusOS.InverterCharger_Mode_On, enabled: true },
{ value: VenusOS.InverterCharger_Mode_ChargerOnly, enabled: isMulti },
{ value: VenusOS.InverterCharger_Mode_InverterOnly, enabled: isMulti },
{ value: VenusOS.InverterCharger_Mode_Off, enabled: true },
{ value: VenusOS.InverterCharger_Mode_On },
{ value: VenusOS.InverterCharger_Mode_ChargerOnly, visible: isMulti },
{ value: VenusOS.InverterCharger_Mode_InverterOnly, visible: isMulti },
{ value: VenusOS.InverterCharger_Mode_Off },
{
value: VenusOS.InverterCharger_Mode_Passthrough,
visible: root.serviceType === "acsystem",
Expand All @@ -72,6 +72,7 @@ ModalDialog {
VeQuickItem {
id: isInverterChargerItem
uid: root.serviceUid + "/IsInverterCharger"
onValueChanged: console.log("**********", uid, value)
}

VeQuickItem {
Expand Down
17 changes: 16 additions & 1 deletion pages/controlcards/InverterChargerCard.qml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,16 @@ ControlCard {
property string serviceUid
property string name
readonly property string serviceType: BackendConnection.serviceTypeFromUid(serviceUid)
onServiceTypeChanged: console.log("********************** serviceType:", serviceType)
readonly property int writeAccessLevel: VenusOS.User_AccessType_User
readonly property bool userHasWriteAccess: Global.systemSettings.canAccess(writeAccessLevel)
readonly property bool isMulti: root.serviceType === "inverter" ? isInverterChargerItem.value === 1
: root.serviceType === "vebus" ? numberOfAcInputs.value !== 0
: root.serviceType === "acsystem" ? true
: false // unsupported service

icon.source: "qrc:/images/inverter_charger.svg"
title.text: serviceType === "inverter"
title.text: serviceType === "inverter" || (serviceType === "vebus" && !isMulti)
//: %1 = the inverter name
//% "Inverter (%1)"
? qsTrId("controlcard_inverter").arg(name)
Expand All @@ -41,6 +46,16 @@ ControlCard {
uid: root.serviceUid + "/Settings/Ess/MinimumSocLimit"
}

VeQuickItem {
id: isInverterChargerItem
uid: root.serviceUid + "/IsInverterCharger"
}

VeQuickItem {
id: numberOfAcInputs
uid: root.serviceUid + "/Ac/NumberOfAcInputs"
}

Column {
anchors {
top: parent.status.bottom
Expand Down

0 comments on commit 48bd44f

Please sign in to comment.