Commit Graph
35 Commits
Author SHA1 Message Date
Carlo 2136122398 0.6.9: azione sulla copertina (P8) — il boost senza aprire l'app
Sulla copertina compare l'icona del boost (CoverAction). Una sola azione: la
documentazione Silica ammette piu' di una azione ma dice che lo stile delle app
di sistema ne mostra una. CoverBackground eredita da Cover, quindi l'elenco
dichiarato li' si attacca; l'icona e' iconSource (non icon.source del Button:
sbagliarlo non da' errore, l'icona semplicemente non compare). La riga in fondo
si ancora a Cover.coverActionArea, cosi' l'icona non la copre.

Nuovo controllo statico tests/cover_action_check.py: elenco figlio diretto del
Cover, una sola azione, icona che esiste, id del comando presente nella tabella
del bridge. Il componente e' nominato nella guida Silica dell'SDK di Carlo.
2026-10-11 11:35:49 +02:00
Carlo 1ac1617c2c tests: controllo statico che le etichette dei tasti ci stiano
Le etichette si leggono da MainPage.qml e dal catalogo, la geometria dai numeri
misurati sul telefono: se un'etichetta si allunga (o l'icona si ingrandisce) il
controllo lo segnala prima della build. Su "Commands" fallisce, come deve.
2026-10-11 11:28:58 +02:00
Carlo 92f179186a 0.6.8: icone dei tasti alla misura del tema (iconSizeExtraSmall), etichette che ci stanno
Le icone della 0.6.7 erano disegnate a piena misura e il pulsante Silica le
portava a Theme.iconSizeMedium (64 px, misurato sullo screenshot del telefono):
in un tasto largo un terzo di schermo restavano 41 px di testo e le etichette
uscivano tagliate. Ora il tasto dichiara icon.width/height:
Theme.iconSizeExtraSmall e i glifi riempiono il loro riquadro.

Con la geometria vera (tasto 161 px, rientri 16, distacco 24) le etichette
Assenza/Torna/Altro e Away/Home/More ci stanno con margine; "Comandi" (8
lettere) no: il tasto dice Altro, la pagina resta Comandi impianto.

Il pulsante Silica non espone il carattere, quindi il testo non si puo'
rimpicciolire: l'unica leva e' l'icona. Prova ripetibile con i numeri misurati
in docs/icona/tasti-alla-misura-vera.png.
2026-10-11 11:27:51 +02:00
kaneda f1fdc9dfdb 0.6.7: icone sui tre tasti delle azioni rapide (fiamma, casa, manopole), disegnate in casa 2026-10-11 10:08:43 +02:00
kaneda afb2878a8c 0.6.6: dalla Home si aprono le regolazioni dell'oggetto toccato, non di tutto l'impianto 2026-10-11 09:59:25 +02:00
kaneda a788255593 0.6.5: sulla copertina l'acqua si chiama Acqua calda come in Home; attuale piu' grande, obiettivo attaccato 2026-10-11 08:24:49 +02:00
kaneda 462ea035ca piano: sezione 10 (0.6.1-0.6.4) e stato del nucleo allineato 2026-10-11 08:20:52 +02:00
kaneda c237818e3c 0.6.4: copertina con Casa e Acqua, attuale / impostata su due righe etichettate 2026-10-11 08:14:12 +02:00
kaneda e3e365cbfc 0.6.3: nuova icona (casa con l'onda calda); conteggi del README inglese allineati a 85/85 2026-10-11 08:05:39 +02:00
kaneda 27f97dabef proposte di icona: quattro direzioni disegnate a 172 e 86 px (scripts/icon_proposals.py) 2026-10-11 08:01:14 +02:00
kaneda 4be5caea81 0.6.2: documenti e conteggi allineati (85/85 verifiche del nucleo) 2026-10-10 18:28:46 +02:00
kaneda a281a7e112 0.6.2: pallino rosso solo per un allarme che ferma la macchina (avviso = ambra)
Il pallino era rosso per qualunque voce nell'elenco errori: un semplice avviso
(compressore limitato dalla temperatura esterna, caso reale del 10/10) sembrava
un guasto. Ora il ponte espone in /summary anche error_severity e
alarm_stopping, e il livello 3 (rosso) e' riservato agli allarmi che fermano la
macchina o di severita' CRITICAL/ERROR; avviso = ambra. Copertina allineata.

6 verifiche nuove nell'harness del nucleo (avviso/stop/critical/error/
precedenza sul modo attivo/gravita' ignota = ambra).
2026-10-10 18:16:04 +02:00
kaneda 4050b3b5d7 0.6.1: la Home non si apriva (doppio Component.onCompleted); controllo automatico delle assegnazioni duplicate 2026-10-10 12:22:15 +02:00
kaneda 70fe2299ba Home: riga di log che misura il contenuto contro lo schermo (per la prima build sul telefono) 2026-10-10 09:55:53 +02:00
kaneda 75c61cace2 0.6.0: copertina con pallino di stato, numeri vecchi spenti ed etichetta esterna; catalogo 191/191 2026-10-10 09:55:30 +02:00
kaneda 5305fab309 spec: nome della cartella dei sorgenti allineato alla 0.6.0 2026-10-10 09:53:30 +02:00
kaneda 36033daf3f 0.6.0 blocco 3: copertina, versione, documenti e anteprime nelle due lingue 2026-10-10 09:52:32 +02:00
kaneda 85702880d5 0.6.0 blocco 2: Comandi impianto con interruttori, diagnostica in Impianto
- CommandsPage: 4 interruttori (TextSwitch) al posto di 8 pulsanti in coppie
  accendi/spegni, piu' 3 pulsanti per le azioni senza stato. Gli interruttori
  seguono il dato vero (automaticCheck: false), non anticipano l'impianto, e
  la sezione 'Stato attuale' non serve piu'.
- La pagina si chiama 'Comandi impianto'.
- PlantPage: frase estesa dello stato, diagnostica (verifica impianto) e le
  letture che non avevano posto (pompa, modi consentiti, manuale, sbrinamento,
  luci di firma).
- SettingsPage: 'Salva' e 'Prova connessione' diventano 'Salva e prova'.
- ApiClient: dopo un comando riuscito lo stato si rilegge da solo (prima non
  si aggiornava nulla: l'aggiornamento automatico non esisteva).
- NoticeBar anche su Dati, Impianto e Comandi; via i messaggi dentro il
  contenuto che scorre.
2026-10-10 09:48:41 +02:00
kaneda d5b63b57df 0.6.0 blocco 1: Home di consultazione e pagina Regolazioni
- Home: stato in una riga col pallino, due letture grandi toccabili, tre
  azioni rapide; via i due slider, i sette pulsanti e la scheda separata.
- Nuova pagina Regolazioni: un blocco per grandezza, valore attuale sempre
  visibile, preimpostazioni per le dita fredde, conferma esplicita; il
  pulsante e' attivo solo se c'e' davvero qualcosa da cambiare.
- Messaggi dei comandi spostati in ApiClient (api.notice) con NoticeBar
  ancorata in fondo: prima nascevano fuori dallo schermo.
- Stato breve/esteso/livello in C++ (testabile senza SDK), 18 verifiche
  nuove: 79/79.
- stale + lastUpdate: la Home dice 'aggiornato alle HH:MM' e spegne i
  numeri vecchi invece di farli passare per freschi.
- 192/192 stringhe tradotte (54 nuove).
2026-10-10 09:47:16 +02:00
kaneda 667ff63907 studio UX/UI: analisi delle schermate attuali e proposta per la 0.6.0
docs/UX-STUDIO.md: 10 problemi rilevati (esito dei comandi fuori vista,
12 pulsanti con coppie acceso/spento, doppia navigazione, dati vecchi
mostrati come attuali), la proposta (Home di sola consultazione, pagina
Regolazioni, interruttori, feedback ancorato), microcopy, piano di
verifica e decisioni da prendere. Schemi in docs/ux/.
2026-10-10 09:31:39 +02:00
kaneda 6eea29f99d controllo di contratto fra i QML e il bridge (tests/ui_contract_check.py)
Le chiavi lette dalle pagine vengono confrontate con quelle che /summary e
/stats restituiscono davvero: la UI non si puo' eseguire senza il kit Silica,
quindi un refuso resterebbe invisibile fino al primo build sul telefono.
2026-10-10 09:16:38 +02:00
kaneda a48ec86822 documentazione 0.5.0: PROTOCOL (/stats, campi dispositivo), PIANO, conteggi dei test 2026-10-10 09:15:48 +02:00
kaneda 4f279a18b0 0.5.0: riordino come l'app ufficiale (home, Dati, Impianto)
- home: temperatura esterna e in casa/assente in alto, messaggio di stato,
  scheda impianto con temperatura stanza e acqua calda; comandi sotto
- pagina Dati: calore prodotto, elettricita' usata, COP acqua calda e
  riscaldamento, risparmio, CO2 evitata, Smart Tariff Control (mese per mese)
- pagina Impianto: stato, termostato a parete, versioni software, errori
- bridge 0.4.0: rotta /stats (servizio statistiche del cloud) e blocco
  dispositivo in /summary (ID breve, versioni, termostato)
- C++: parseStats, formatNumber, formatMoney, monthLabel (separatore e
  valuta secondo la lingua); 61/61 verifiche del nucleo
- anteprime aggiornate (dati, impianto) in inglese e italiano
2026-10-10 08:59:03 +02:00
Carlo ec7333a185 spec RPM: il catalogo italiano si rigenera in build anche se sailfishapp_i18n non lo produce 2026-10-10 08:21:29 +02:00
Carlo fddd21e16a 0.4.0: interfaccia in italiano e inglese, scelta nelle impostazioni
L'inglese è la lingua sorgente delle stringhe; l'italiano sta nel catalogo
translations/harbour-aira-it.ts (99 stringhe), che lupdate aggiorna e lrelease
compila in build. Di serie la lingua del sistema, con ripiego sull'inglese.

- nuova classe Translator: risolve la lingua prima di createView e allinea
  QLocale::setDefault, così anche i numeri seguono la lingua (23,0 °C in
  italiano, 23.0 °C in inglese) — le temperature passano da formatValue, non
  più dal toFixed() di JavaScript che metteva sempre il punto
- Qt 5.6 non ha QQmlEngine::retranslate(): al cambio di lingua la radice QML
  viene ricaricata (setSource ricrea il componente anche a url invariata)
- le etichette di stato in airajson.cpp usano QCoreApplication::translate per
  esteso: lupdate non riconosce una funzione wrapper e le avrebbe perse
- selettore della lingua in Impostazioni (Sistema / English / Italiano)
- test: 41/41, carica il .qm vero come fa main.cpp e verifica entrambe le
  lingue, il ripiego e i formati numerici
- anteprime bilingui (docs/anteprima/ inglese, it/ italiano), README e PIANO
  aggiornati, spec RPM con i cataloghi in %files
2026-10-10 08:19:20 +02:00
Carlo e0dcf1f830 README in inglese per il repo pubblico; la versione italiana resta come README.it.md 2026-10-10 08:05:23 +02:00
Carlo f6e670b408 bridge nel repo: sorgenti, unit systemd e istruzioni per i tester
- bridge/ con aira_bridge.py, setup_creds.py, aira_probe.py, test offline
- percorsi di configurazione via AIRA_CONFIG_DIR (default invariato)
- README del bridge in inglese: installazione, servizio, firewall, sicurezza
- README principale aggiornato (il bridge non è più 'fuori dal repo')
2026-10-10 07:44:41 +02:00
Carlo 071684da15 allineo versione nei sorgenti e i componenti nella lista del .pro 2026-10-10 07:29:36 +02:00
Carlo 8b293f3565 0.3.0: pagina Altri comandi (assenza, night mode, forzato, legionella, ACS) 2026-10-10 07:26:47 +02:00
Carlo 2f6c939603 0.2.1: temperatura della casa in cima alla home, acqua calda in sezione dedicata 2026-10-10 07:14:57 +02:00
Carlo 8f0f129fd5 docs: 0.2.0 riscaldamento, servizio systemd e regola firewall 2026-10-10 07:12:36 +02:00
Carlo 7ef9d1e999 0.2.0: riscaldamento - obiettivo temperatura casa per zona, stato zone in copertina 2026-10-10 07:12:17 +02:00
Carlo d25da7a91f docs: anteprima di layout delle tre schermate + script di rendering 2026-10-09 21:12:30 +02:00
Carlo ce439cdb76 docs: stato F1/F2 e consegna 0.1.0 2026-10-09 21:01:27 +02:00
Carlo 15963039ea harbour-aira 0.1.0: client Sailfish per pompa di calore Aira (bridge HTTP + stato e comandi ACS) 2026-10-09 21:00:59 +02:00