From 648246b078948c9526c5311074881e9a3b1a7fbc Mon Sep 17 00:00:00 2001 From: Carlo Date: Sun, 11 Oct 2026 18:21:10 +0200 Subject: [PATCH] 0.7.7: un solo tasto del boost, con lo stato della Home MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La pagina Regolazioni aveva due tasti sempre attivi (avvia/ferma) che non dicevano cosa sta facendo l'impianto e potevano contraddire la Home. Ora un ActionButton solo, con testo e comando da api.boostActive — lo stesso dato della Home — piu' il tempo che resta quando il boost corre. --- docs/PIANO.md | 20 ++- qml/pages/SetpointsPage.qml | 24 ++- rpm/harbour-aira.spec | 6 +- src/main.cpp | 4 +- translations/harbour-aira-it.ts | 23 ++- translations/harbour-aira.ts | 275 +++++++++++++++----------------- 6 files changed, 181 insertions(+), 171 deletions(-) diff --git a/docs/PIANO.md b/docs/PIANO.md index b50e7a2..578ff44 100644 --- a/docs/PIANO.md +++ b/docs/PIANO.md @@ -548,7 +548,25 @@ sorgente (`/usr/lib64/qt5/qml/Sailfish/Silica/…`), non in quello che sembra leggendo il proprio QML. `RemorseBase.qml` ha dato la risposta in un minuto, dopo tre diagnosi dedotte e sbagliate. -## 18. Conseguenze dell'uso reale (0.7.0) +## 18. Un solo tasto per il boost, con lo stato della Home — v0.7.7 + +Carlo: *"Unisci i pulsanti boost in modo che ce ne sia solo uno che cambia lo +stato. Lo stato deve essere coerente con la home"*. + +In `SetpointsPage`, sezione *Acqua calda sanitaria*, c'erano **due** pulsanti — +«Avvia boost ACS» e «Ferma boost ACS» — entrambi sempre attivi e nessuno dei due +che dicesse cosa sta facendo l'impianto: si poteva chiedere di fermare un boost +che non c'era, e la pagina poteva contraddire la Home, che invece il boost lo +mostra e lo ferma con lo stesso tasto. + +- un `ActionButton` solo, con `text` e comando scelti da `api.boostActive` — **lo + stesso dato della Home**, quindi le due schermate non possono divergere; +- riga `Boost running · %1 left` con `api.boostCountdown` quando il boost corre, + come il conto alla rovescia della Home; +- senza `confirmText`: la conferma la da' il messaggio in fondo, come in Home + (il remorse resta solo dove serve davvero, sui comandi a tutta larghezza). + +## 19. Conseguenze dell'uso reale (0.7.0) Deciso con l'uso, non in anticipo: diff --git a/qml/pages/SetpointsPage.qml b/qml/pages/SetpointsPage.qml index 304f9c2..527b58c 100644 --- a/qml/pages/SetpointsPage.qml +++ b/qml/pages/SetpointsPage.qml @@ -230,23 +230,31 @@ Page { // ---- boost ------------------------------------------------------ // // Il boost e' dell'acqua calda: si vede con lei. + // + // UN tasto solo, che cambia con lo stato come quello della Home: + // due tasti sempre attivi (avvia / ferma) non dicevano cosa sta + // facendo l'impianto e potevano contraddire la Home. Niente + // confirmText: la conferma la da' il messaggio in fondo, come in + // Home, e il remorse non copre niente. SectionHeader { visible: page.mostraAcqua text: qsTr("Hot water boost") } - ActionButton { - visible: page.mostraAcqua - text: qsTr("Start DHW boost") - confirmText: qsTr("Starting DHW boost") - onTriggered: api.sendCommand("hot_water_boost_on") + Label { + visible: page.mostraAcqua && api.boostActive + x: Theme.horizontalPageMargin + width: parent.width - 2 * Theme.horizontalPageMargin + text: qsTr("Boost running · %1 left").arg(api.boostCountdown) + color: Theme.highlightColor + font.pixelSize: Theme.fontSizeExtraSmall } ActionButton { visible: page.mostraAcqua - text: qsTr("Stop DHW boost") - confirmText: qsTr("Stopping DHW boost") - onTriggered: api.sendCommand("hot_water_boost_off") + text: api.boostActive ? qsTr("Stop DHW boost") : qsTr("Start DHW boost") + onTriggered: api.sendCommand(api.boostActive ? "hot_water_boost_off" + : "hot_water_boost_on") } Label { diff --git a/rpm/harbour-aira.spec b/rpm/harbour-aira.spec index 2c7d095..5dd7009 100644 --- a/rpm/harbour-aira.spec +++ b/rpm/harbour-aira.spec @@ -1,6 +1,6 @@ Name: harbour-aira Summary: Control your Aira heat pump through a local bridge -Version: 0.7.6 +Version: 0.7.7 Release: 1 Group: Qt/Qt License: MIT @@ -37,6 +37,10 @@ Address and token of the bridge live in the app settings (AppConfigLocation); no personal data is stored in the binary. %changelog +* Sun Oct 11 2026 Carlo - 0.7.7-1 +- Regolazioni, acqua calda: un solo tasto del boost che cambia con lo stato + (avvia / ferma) invece di due sempre attivi, con il tempo che resta. Lo stato + e' quello della Home (api.boostActive): stesso dato, stessa verita'. * Sun Oct 11 2026 Carlo - 0.7.6-1 - via il RemorseItem dai tasti rapidi: Silica se lo ri-parenta dentro la fila dei tre tasti e ci disegna sopra il banner, coprendoli (succedeva premendo); diff --git a/src/main.cpp b/src/main.cpp index ec1e4b7..0de3ced 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -21,7 +21,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[]) app->setOrganizationName(QStringLiteral("harbour")); app->setApplicationName(QStringLiteral("aira")); - app->setApplicationVersion(QStringLiteral("0.7.6")); + app->setApplicationVersion(QStringLiteral("0.7.7")); Settings settings; ApiClient api(&settings); @@ -36,7 +36,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[]) // Prima riga del log: dice subito se il device sta girando la build nuova // o una stale (trappola nota del build engine). - qDebug() << "harbour-aira v0.7.6 build" << __DATE__ << __TIME__; + qDebug() << "harbour-aira v0.7.7 build" << __DATE__ << __TIME__; view->rootContext()->setContextProperty(QStringLiteral("appSettings"), &settings); view->rootContext()->setContextProperty(QStringLiteral("api"), &api); diff --git a/translations/harbour-aira-it.ts b/translations/harbour-aira-it.ts index 2b6a30d..2ea60e7 100644 --- a/translations/harbour-aira-it.ts +++ b/translations/harbour-aira-it.ts @@ -939,32 +939,27 @@ Obiettivo ACS a %1 °C - + Hot water boost Boost acqua calda - + + Boost running · %1 left + Boost in corso · restano %1 + + + Start DHW boost Avvia boost ACS - - Starting DHW boost - Avvio del boost ACS - - - + Stop DHW boost Ferma boost ACS - - Stopping DHW boost - Arresto del boost ACS - - - + Commands go through the bridge and may take a few seconds. The status refreshes by itself afterwards. I comandi passano dal bridge e possono richiedere qualche secondo. Dopo l'invio lo stato si aggiorna da solo. diff --git a/translations/harbour-aira.ts b/translations/harbour-aira.ts index 4ab5e5a..aeaa6c0 100644 --- a/translations/harbour-aira.ts +++ b/translations/harbour-aira.ts @@ -247,117 +247,117 @@ CommandsPage - + Refresh - + Data - + Plant - + Settings - + Plant commands - + Modes - + Away mode - + Lowers the house and stops the hot water - + Forced heating - + Heats at full power until you stop it - + Heating - + The heating can turn on - + Heating will be disabled - + Domestic hot water - + Hot water active - + The heat pump keeps the water in temperature - + Domestic hot water will stop being heated - + Legionella cycle - + Starting the legionella cycle: it takes a while - + Noise - + Night mode for one hour - + The switches show the current state of the plant: the Status section is not needed any more. - + Commands go through the bridge and may take a few seconds. The status refreshes by itself afterwards. @@ -398,122 +398,122 @@ - + Refresh - + Plant - + Settings - + Data - + Numbers calculated by Aira in the cloud: the app only reads them from your own bridge. - + Reading the data... - + Month of %1 - + This month - + Heat produced - + What the heat pump gave the house - + Electricity used - + What the heat pump took from the grid - + Efficiency, domestic hot water - + Efficiency, heating - + Efficiency (COP) is how much heat the pump delivers for each unit of electricity: higher is better. - + Your savings, last %1 days - + Saved on the bill - + Compared with a gas boiler - + CO₂ avoided - + Not released into the air - + Smart Tariff Control - + Saving from heating when energy is cheaper - + Efficiency month by month - + Savings month by month @@ -536,89 +536,79 @@ - + Refresh - + Data - + Plant - - + + Settings - + Bridge not configured. Open the settings and enter the server address and the token. - + House - - + + target %1 °C - + Hot water - + Boost · %1 - + Tap a value to adjust it - + Quick actions - + Boost - + Stop - - Stopping DHW boost - - - - - Starting DHW boost - - - - + Home - + Away @@ -627,11 +617,6 @@ More - - - Away mode off - - Outside %1 °C · Thermostat %2 °C · Zones %3 @@ -651,217 +636,217 @@ - + Refresh - + Data - + Settings - + Plant - + Status - + Connection - + Mode - + Away mode - + Night mode - + Forced heating - + Inline heater - + Manual mode - + Defrost - + Signature lights - + Pump - + Allowed modes - + Outdoor temperature - + Indoor temperature (pump) - + Zones - + Last reading - + Accessories - + No wall thermostat - + Aira wall thermostat - + Zone %1 · Connected - + Measured temperature - + Humidity - + Signal - + Battery - + low - + ok - + Article - + Versions - + Device ID - + Platform - + Connectivity - + Climate control - + Outdoor unit - + Outdoor unit EEPROM - + Errors - + No errors reported by the plant. - + Errors reported - + Diagnostics - + Plant check @@ -869,117 +854,117 @@ SetpointsPage - + Refresh - + Data - + Plant - + Settings - + Setpoints - + Heating the house - + Current target - + What the plant is keeping now - + New house target - + Set house to %1 °C - + House temperature to %1 °C - + Domestic hot water - + DHW target - + Water now %1 °C - + New target - + Set target %1 °C - + DHW target to %1 °C - + Hot water boost - + Start DHW boost - + Starting DHW boost - + Stop DHW boost - + Stopping DHW boost - + Commands go through the bridge and may take a few seconds. The status refreshes by itself afterwards.