harbour-aira 0.1.0: client Sailfish per pompa di calore Aira (bridge HTTP + stato e comandi ACS)
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
[Desktop Entry]
|
||||
Name=Aira
|
||||
Name[it_IT]=Aira
|
||||
Comment=Control your Aira heat pump
|
||||
Comment[it_IT]=Controlla la pompa di calore Aira
|
||||
Exec=harbour-aira
|
||||
Icon=harbour-aira
|
||||
Type=Application
|
||||
X-Nemo-Application-Type=silica-qt5
|
||||
Categories=Utility;
|
||||
|
||||
# Profilo SailJail esplicito: senza [X-Sailjail] la sandbox di Sailfish 5.x usa
|
||||
# il profilo di default, che NASCONDE ~/.config/harbour -> indirizzo e token
|
||||
# non sarebbero persistenti quando l'app viene avviata dal launcher.
|
||||
# OrganizationName/ApplicationName devono combaciare con
|
||||
# QCoreApplication::setOrganizationName/setApplicationName in main.cpp.
|
||||
# Internet e' necessario: l'app parla con il bridge via HTTP.
|
||||
[X-Sailjail]
|
||||
Permissions=Internet
|
||||
OrganizationName=harbour
|
||||
ApplicationName=aira
|
||||
@@ -0,0 +1,67 @@
|
||||
Name: harbour-aira
|
||||
Summary: Control your Aira heat pump through a local bridge
|
||||
Version: 0.1.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
|
||||
|
||||
%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.
|
||||
|
||||
Address and token of the bridge live in the app settings (AppConfigLocation);
|
||||
no personal data is stored in the binary.
|
||||
|
||||
%changelog
|
||||
* 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
|
||||
Reference in New Issue
Block a user