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 - 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 - 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 - 0.2.0-1 - temperatura della casa e obiettivo per zona (slider 5-30 gradi) * Fri Oct 09 2026 Carlo - 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