0.7.0: assenza con date, conto alla rovescia del boost, catalogo rifatto

- AwayDialog.qml: popup con inizio e fine (Dialog, ValueButton,
  DatePickerDialog: componenti e proprieta' verificati nella guida Silica
  dell'SDK). Il tasto Assenza apre il popup invece di mandare il comando;
- conto alla rovescia 30:00 -> 00:00 in Home e in copertina, con i secondi
  dell'impianto (AiraJson::countdown + timer che si riallinea a ogni lettura);
- commandPayload accetta campi extra (start/end);
- catalogo: lupdate leggeva solo i C++ e marcava 151 voci QML come obsolete.
  Ora src e qml espliciti: 197 stringhe, 0 non tradotte;
- versione 0.7.0 (spec, main.cpp), PROTOCOL, README/PIANO, post per il forum.
This commit is contained in:
Carlo
2026-10-11 12:05:59 +02:00
parent 6ef6f5bfd8
commit d2cb9d692f
17 changed files with 481 additions and 80 deletions
+85 -48
View File
@@ -54,97 +54,97 @@
<translation>In funzione</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="197"/>
<location filename="../src/airajson.cpp" line="213"/>
<source>server unreachable</source>
<translation>server non raggiungibile</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="198"/>
<location filename="../src/airajson.cpp" line="214"/>
<source>HTTP error %1</source>
<translation>errore HTTP %1</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="238"/>
<location filename="../src/airajson.cpp" line="254"/>
<source>No data</source>
<translation>Nessun dato</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="242"/>
<location filename="../src/airajson.cpp" line="258"/>
<source>Attention: one error</source>
<translation>Attenzione: un errore</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="243"/>
<location filename="../src/airajson.cpp" line="259"/>
<source>Attention: %1 errors</source>
<translation>Attenzione: %1 errori</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="245"/>
<location filename="../src/airajson.cpp" line="261"/>
<source>Away mode</source>
<translation>Assenza</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="247"/>
<location filename="../src/airajson.cpp" line="263"/>
<source>Night mode</source>
<translation>Modalità notte</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="249"/>
<location filename="../src/airajson.cpp" line="265"/>
<source>Heating at full power</source>
<translation>Riscaldamento al massimo</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="251"/>
<location filename="../src/airajson.cpp" line="267"/>
<source>Heating the hot water</source>
<translation>Sta scaldando l&apos;acqua</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="253"/>
<location filename="../src/airajson.cpp" line="269"/>
<source>Working</source>
<translation>In funzione</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="254"/>
<location filename="../src/airajson.cpp" line="270"/>
<source>Everything is fine</source>
<translation>Tutto regolare</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="264"/>
<location filename="../src/airajson.cpp" line="280"/>
<source>Attention: one error on the plant</source>
<translation>Attenzione: un errore sull&apos;impianto</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="265"/>
<location filename="../src/airajson.cpp" line="281"/>
<source>Attention: %1 errors on the plant</source>
<translation>Attenzione: %1 errori sull&apos;impianto</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="267"/>
<location filename="../src/airajson.cpp" line="283"/>
<source>Away mode: the house is saving energy.</source>
<translation>Modalità assenza: la casa sta risparmiando.</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="269"/>
<location filename="../src/airajson.cpp" line="285"/>
<source>Night mode is on.</source>
<translation>Modalità notte attiva.</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="271"/>
<location filename="../src/airajson.cpp" line="287"/>
<source>Boost: the house is heating at full power.</source>
<translation>Boost: la casa sta scaldando a pieno regime.</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="273"/>
<location filename="../src/airajson.cpp" line="289"/>
<source>The heat pump is heating the hot water.</source>
<translation>La pompa di calore sta scaldando l&apos;acqua calda.</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="275"/>
<location filename="../src/airajson.cpp" line="291"/>
<source>The heat pump is working.</source>
<translation>La pompa di calore sta lavorando.</translation>
</message>
<message>
<location filename="../src/airajson.cpp" line="276"/>
<location filename="../src/airajson.cpp" line="292"/>
<source>Relax: the heat pump is running smoothly.</source>
<translation>Relax: la pompa di calore funziona regolarmente.</translation>
</message>
@@ -152,70 +152,98 @@
<context>
<name>ApiClient</name>
<message>
<location filename="../src/apiclient.cpp" line="124"/>
<location filename="../src/apiclient.cpp" line="132"/>
<source>Bridge address not configured</source>
<translation>Indirizzo del bridge non configurato</translation>
</message>
<message>
<location filename="../src/apiclient.cpp" line="146"/>
<location filename="../src/apiclient.cpp" line="258"/>
<location filename="../src/apiclient.cpp" line="301"/>
<location filename="../src/apiclient.cpp" line="154"/>
<location filename="../src/apiclient.cpp" line="267"/>
<location filename="../src/apiclient.cpp" line="310"/>
<source>Set the bridge address and token</source>
<translation>Configura indirizzo e token del bridge</translation>
</message>
<message>
<location filename="../src/apiclient.cpp" line="166"/>
<location filename="../src/apiclient.cpp" line="174"/>
<source>Server unreachable (timeout)</source>
<translation>Server non raggiungibile (timeout)</translation>
</message>
<message>
<location filename="../src/apiclient.cpp" line="185"/>
<location filename="../src/apiclient.cpp" line="289"/>
<location filename="../src/apiclient.cpp" line="193"/>
<location filename="../src/apiclient.cpp" line="298"/>
<source>Unreadable response from the bridge</source>
<translation>Risposta del bridge non interpretabile</translation>
</message>
<message>
<location filename="../src/apiclient.cpp" line="205"/>
<location filename="../src/apiclient.cpp" line="214"/>
<source>Enter the bridge address</source>
<translation>Inserisci l&apos;indirizzo del bridge</translation>
</message>
<message>
<location filename="../src/apiclient.cpp" line="221"/>
<location filename="../src/apiclient.cpp" line="230"/>
<source>Timeout: no response</source>
<translation>Timeout: nessuna risposta</translation>
</message>
<message>
<location filename="../src/apiclient.cpp" line="222"/>
<location filename="../src/apiclient.cpp" line="231"/>
<source>Unreachable (HTTP %1)</source>
<translation>Irraggiungibile (HTTP %1)</translation>
</message>
<message>
<location filename="../src/apiclient.cpp" line="226"/>
<location filename="../src/apiclient.cpp" line="235"/>
<source>Bridge reachable</source>
<translation>Bridge raggiungibile</translation>
</message>
<message>
<location filename="../src/apiclient.cpp" line="266"/>
<location filename="../src/apiclient.cpp" line="310"/>
<location filename="../src/apiclient.cpp" line="275"/>
<location filename="../src/apiclient.cpp" line="319"/>
<source>Bridge not configured</source>
<translation>Bridge non configurato</translation>
</message>
<message>
<location filename="../src/apiclient.cpp" line="278"/>
<location filename="../src/apiclient.cpp" line="287"/>
<source>Timeout: no statistics</source>
<translation>Timeout: statistiche non disponibili</translation>
</message>
<message>
<location filename="../src/apiclient.cpp" line="324"/>
<location filename="../src/apiclient.cpp" line="333"/>
<source>Timeout: command not sent</source>
<translation>Timeout: comando non inviato</translation>
</message>
<message>
<location filename="../src/apiclient.cpp" line="331"/>
<location filename="../src/apiclient.cpp" line="340"/>
<source>Command sent</source>
<translation>Comando inviato</translation>
</message>
</context>
<context>
<name>AwayDialog</name>
<message>
<location filename="../qml/pages/AwayDialog.qml" line="22"/>
<source>Away mode</source>
<translation>Assenza</translation>
</message>
<message>
<location filename="../qml/pages/AwayDialog.qml" line="23"/>
<source>Activate</source>
<translation>Attiva</translation>
</message>
<message>
<location filename="../qml/pages/AwayDialog.qml" line="27"/>
<source>From</source>
<translation>Dal</translation>
</message>
<message>
<location filename="../qml/pages/AwayDialog.qml" line="37"/>
<source>To</source>
<translation>Al</translation>
</message>
<message>
<location filename="../qml/pages/AwayDialog.qml" line="49"/>
<source>The house stays at 15 °C and starts heating again on the day chosen as &quot;To&quot;.</source>
<translation>La casa resta a 15 °C e riprende a scaldare il giorno scelto come "Al".</translation>
</message>
</context>
<context>
<name>CommandsPage</name>
<message>
@@ -347,12 +375,17 @@
<translation>Acqua calda</translation>
</message>
<message>
<location filename="../qml/cover/CoverPage.qml" line="159"/>
<location filename="../qml/cover/CoverPage.qml" line="142"/>
<source>boost %1</source>
<translation>boost %1</translation>
</message>
<message>
<location filename="../qml/cover/CoverPage.qml" line="163"/>
<source>Not updated · last %1</source>
<translation>Non aggiornato · ultimo %1</translation>
</message>
<message>
<location filename="../qml/cover/CoverPage.qml" line="160"/>
<location filename="../qml/cover/CoverPage.qml" line="164"/>
<source>outside %1 °C</source>
<translation>esterna %1 °C</translation>
</message>
@@ -530,47 +563,51 @@
<translation>Acqua calda</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="230"/>
<location filename="../qml/pages/MainPage.qml" line="232"/>
<source>Boost · %1</source>
<translation>Boost · %1</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="242"/>
<source>Tap a value to adjust it</source>
<translation>Tocca un valore per regolarlo</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="238"/>
<location filename="../qml/pages/MainPage.qml" line="250"/>
<source>Quick actions</source>
<translation>Azioni rapide</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="250"/>
<location filename="../qml/pages/MainPage.qml" line="262"/>
<source>Boost</source>
<translation>Boost</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="266"/>
<location filename="../qml/pages/MainPage.qml" line="278"/>
<source>Home</source>
<translation>Torna</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="266"/>
<location filename="../qml/pages/MainPage.qml" line="278"/>
<source>Away</source>
<translation>Assenza</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="272"/>
<location filename="../qml/pages/MainPage.qml" line="284"/>
<source>Away mode off</source>
<translation>Assenza disattivata</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="275"/>
<source>Away mode on</source>
<translation>Assenza attivata</translation>
<translation type="vanished">Assenza attivata</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="285"/>
<location filename="../qml/pages/MainPage.qml" line="305"/>
<source>More</source>
<translation>Altro</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="308"/>
<location filename="../qml/pages/MainPage.qml" line="328"/>
<source>Outside %1 °C · Thermostat %2 °C · Zones %3</source>
<translation>Esterno %1 °C · Termostato %2 °C · Zone %3</translation>
</message>
@@ -585,7 +622,7 @@
<translation>Bridge non configurato. Apri le impostazioni e inserisci l&apos;indirizzo del server e il token.</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="256"/>
<location filename="../qml/pages/MainPage.qml" line="268"/>
<source>Starting DHW boost</source>
<translation>Avvio del boost ACS</translation>
</message>