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
83 lines
3.1 KiB
RPMSpec
83 lines
3.1 KiB
RPMSpec
Name: harbour-aira
|
|
Summary: Control your Aira heat pump through a local bridge
|
|
Version: 0.4.0
|
|
Release: 1
|
|
Group: Qt/Qt
|
|
License: MIT
|
|
URL: https://git.hackatoniclife.com/kaneda/harbour-aira
|
|
Source0: %{name}-%{version}.tar.gz
|
|
Source1: %{name}.desktop
|
|
|
|
Requires: sailfishsilica-qt5 >= 0.10.9
|
|
BuildRequires: pkgconfig(sailfishapp) >= 1.0.2
|
|
BuildRequires: pkgconfig(Qt5Core)
|
|
BuildRequires: pkgconfig(Qt5Qml)
|
|
BuildRequires: pkgconfig(Qt5Quick)
|
|
BuildRequires: pkgconfig(Qt5Network)
|
|
BuildRequires: desktop-file-utils
|
|
# lupdate/lrelease: i .qm si compilano in build (CONFIG += sailfishapp_i18n).
|
|
BuildRequires: qt5-qttools-linguist
|
|
|
|
%global debug_package %{nil}
|
|
|
|
%description
|
|
Native Sailfish OS client for an Aira Home heat pump.
|
|
|
|
It does not talk to the Aira cloud directly: the cloud API is gRPC over HTTP/2
|
|
and Qt 5.6 has no HTTP/2. A small bridge on the user's server (Python,
|
|
pyairahome) keeps the credentials and exposes the plant as JSON over HTTP/1.1.
|
|
The app shows the current state and sends the hot-water commands.
|
|
|
|
The interface is in English and Italian: by default it follows the phone
|
|
language and falls back to English, and the language can also be picked in the
|
|
app settings.
|
|
|
|
Address and token of the bridge live in the app settings (AppConfigLocation);
|
|
no personal data is stored in the binary.
|
|
|
|
%changelog
|
|
* Sat Oct 10 2026 Carlo <carlo@carlobaratto.it> - 0.4.0-1
|
|
- interfaccia in inglese e italiano, scelta nelle impostazioni con ripiego
|
|
sull'inglese; numeri con il separatore decimale della lingua
|
|
* Sat Oct 10 2026 Carlo <carlo@carlobaratto.it> - 0.3.0-1
|
|
- pagina Altri comandi: assenza, night mode, riscaldamento forzato, legionella,
|
|
ACS on/off, verifica impianto; stato attuale in cima alla pagina
|
|
* Fri Oct 09 2026 Carlo <carlo@carlobaratto.it> - 0.2.0-1
|
|
- temperatura della casa e obiettivo per zona (slider 5-30 gradi)
|
|
* Fri Oct 09 2026 Carlo <carlo@carlobaratto.it> - 0.1.0-1
|
|
- prima release: stato impianto, obiettivo ACS, boost ACS
|
|
|
|
%prep
|
|
%setup -q -n %{name}-%{version}
|
|
|
|
%build
|
|
%qmake5
|
|
make %{?_smp_mflags}
|
|
|
|
%install
|
|
make install INSTALL_ROOT=%{buildroot}
|
|
mkdir -p %{buildroot}%{_datadir}/applications
|
|
|
|
# Il desktop file si cerca con find: sfdk usa i sorgenti live (shadow build) e
|
|
# la cartella sorgente puo' chiamarsi harbour-aira-0.1.0 (tarball), harbour-aira
|
|
# (clone) o harbour-aira-main (zip di Gitea).
|
|
DESKTOP=$(find %{_builddir}/.. -maxdepth 4 -name '%{name}.desktop' 2>/dev/null | head -1)
|
|
if [ -z "$DESKTOP" ] && [ -f %{SOURCE1} ]; then DESKTOP=%{SOURCE1}; fi
|
|
if [ -z "$DESKTOP" ]; then
|
|
echo "ERROR: %{name}.desktop not found" >&2
|
|
exit 1
|
|
fi
|
|
install -m 0644 "$DESKTOP" %{buildroot}%{_datadir}/applications/%{name}.desktop
|
|
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop || true
|
|
|
|
%files
|
|
%defattr(-,root,root,-)
|
|
%{_bindir}/%{name}
|
|
%{_datadir}/applications/%{name}.desktop
|
|
%{_datadir}/icons/hicolor/86x86/apps/%{name}.png
|
|
%{_datadir}/icons/hicolor/108x108/apps/%{name}.png
|
|
%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
|
|
%{_datadir}/icons/hicolor/172x172/apps/%{name}.png
|
|
%{_datadir}/%{name}/qml
|
|
%{_datadir}/%{name}/translations/%{name}*.qm
|