AmiHomeassist - your smart home from a real Amiga
=================================================
Lights, sockets, blinds and sensors from Home Assistant, arranged on
dashboards of your own. A sidebar on the left with an icon per page,
the contents of the selected page on the right in framed groups. One
click on the switch flips the device. States are polled, so changes
made elsewhere show up by themselves.
You decide what appears and how it looks. A large Home Assistant setup
easily has 900 entities and you want a dozen or two. So there is a
picker with a suggestion you can overrule, and an editor where pages,
groups and devices are put together freely.
NEW IN 0.6
The interface now speaks English, German, Italian and Spanish. English
is built in; the other three ship as catalogues and are loaded through
locale.library. No locale.library, or no matching catalogue, and it
simply carries on in English. Normally the language follows your
setting in Prefs/Locale; if you run an English Workbench but want the
program in your own language, set AmiHomeassistLanguage.
Device names, room names, units and states come from Home Assistant, so
those were already in your own language.
Built with m68k-amigaos-gcc now instead of SAS/C. Nothing changes for
you: same target of 68020 and up, with and without FPU, and the build
proves by disassembly that no FPU instruction slipped in.
WIDGET KINDS
Switch light and switch - the toggle you click
Indicator binary_sensor - window open or closed
Number sensor with its unit
Bar sensor with a fixed range, per cent or watts
Blind cover - up, stop, down, and the position
Text a caption
When you add a device the program suggests a kind, from its domain and
device class. The editor lets you change it.
EASY ON THE WIRE
The full catalogue is fetched once. After that only the states of the
devices actually on screen are polled. In a setup with 941 entities
that is 1.4 KB instead of 55 KB per poll - 98 per cent less. On an
A500 over a slow link that is the difference between usable and not.
Memory grows on demand instead of sitting in fixed tables.
REQUIREMENTS
AmigaOS 2.0 or newer, 68020 or better, no FPU needed
MUI 3.8 or newer
NList.mcc and NListview.mcc from dev/mui/MCC_NList
a TCP/IP stack offering bsdsocket.library
Home Assistant reachable over plain http - https is not supported
a long-lived access token from Home Assistant
A shell version is included that works without MUI: list and switch
devices, for scripts.
Full source is included, MIT licence - except muistubs.c, which comes
from the amimcp project and is Apache 2.0; its licence text is in the
archive. MUI's own developer headers are NOT included, as MUI's licence
permits redistribution of the complete original archive only; the
README says where to get them.
Icons are Material Design Icons (Apache 2.0). The house logo belongs to
the Home Assistant project, which is separate from and unaffiliated
with this program.
Italian and Spanish were not written by native speakers. The
translation files are plain text in the Source drawer - corrections are
welcome and need no recompilation.
Tested on an A500 with PiStorm (Emu68), OS 3.2.3, MUI 3.8.
This program is vibe coded. I described what it should do, an AI wrote
the code, and I read, tested and decided what stayed in. The full
source is in the archive, so you can judge for yourself.
Note on the uploader address: it is written without the @ and the dot
to keep address harvesters out. Put an @ before "gmail" and a dot in
front of "com" and you have it.
AmiHomeassist - dein Smarthome vom Amiga aus
============================================
Lampen, Steckdosen, Rollaeden und Sensoren aus Home Assistant, geordnet
in eigenen Dashboards. Links eine Seitenleiste mit Symbolen, rechts der
Inhalt der gewaehlten Seite in umrandeten Gruppen. Ein Klick auf den
Schalter legt das Geraet um; der Zustand wird zyklisch nachgefuehrt, so
dass Aenderungen von aussen von selbst erscheinen.
Welche Geraete auftauchen und wie sie aussehen, bestimmst du. Eine
grosse Home-Assistant-Installation hat schnell 900 Entitaeten, davon
willst du ein bis zwei Dutzend. Also gibt es eine Auswahl mit einem
Vorschlag zum Ueberstimmen und einen Editor, in dem Seiten, Gruppen und
Geraete frei zusammengestellt werden.
NEU IN 0.6
Die Oberflaeche spricht jetzt Englisch, Deutsch, Italienisch und
Spanisch. Englisch steckt fest im Programm, die anderen drei liegen als
Katalog bei und werden ueber locale.library geladen. Fehlt die
Bibliothek oder passt kein Katalog, laeuft alles auf Englisch weiter.
Normalerweise folgt die Sprache der Einstellung aus Prefs/Locale; wer
sein Workbench englisch faehrt, das Programm aber deutsch will, setzt
AmiHomeassistLanguage.
Geraete- und Raumnamen, Einheiten und Zustaende kommen aus Home
Assistant und waren damit ohnehin in deiner Sprache.
Uebersetzt wird jetzt mit m68k-amigaos-gcc statt mit SAS/C. Fuer dich
aendert sich nichts: gleiches Ziel 68020 aufwaerts, mit und ohne FPU,
und der Bau weist per Disassembler nach, dass keine FPU-Instruktion
hineingeraten ist.
DARSTELLUNGSARTEN
Schalter light und switch
Laempchen binary_sensor - Fenster offen oder zu
Zahl sensor mit Einheit
Balken sensor mit festem Bereich, etwa Prozent oder Watt
Rollladen cover - Auf, Stop, Zu und die Stellung
Text eine Zwischenueberschrift
Beim Hinzufuegen schlaegt das Programm eine Art vor, aus Domain und
Geraeteklasse; im Editor laesst sie sich aendern.
SPARSAM AM NETZ
Den vollen Katalog holt das Programm nur einmal. Im Sekundentakt kommen
danach bloss die Zustaende der Geraete, die tatsaechlich angezeigt
werden. In einer Anlage mit 941 Entitaeten sind das 1,4 KB statt 55 KB
je Abfrage - 98 Prozent weniger. Auf einem A500 an einer langsamen
Leitung entscheidet das darueber, ob das Programm benutzbar ist. Auch
der Speicher waechst nach Bedarf, statt feste Tabellen zu belegen.
VORAUSSETZUNGEN
AmigaOS 2.0 oder neuer, 68020 oder besser, keine FPU noetig
MUI 3.8 oder neuer
NList.mcc und NListview.mcc aus dev/mui/MCC_NList
ein TCP/IP-Stack mit bsdsocket.library
Home Assistant, ueber http erreichbar - https geht nicht
ein Long-Lived Access Token aus Home Assistant
Eine Shell-Fassung liegt bei, die ohne MUI auskommt.
Der Quelltext liegt vollstaendig bei, MIT-Lizenz - ausser muistubs.c,
das aus dem Projekt amimcp stammt und unter Apache 2.0 steht; der
Lizenztext liegt im Archiv. MUIs eigene Entwickler-Header liegen NICHT
bei, weil MUIs Lizenz nur die Weitergabe des vollstaendigen
Originalarchivs erlaubt; die README sagt, woher man sie bekommt.
Die Symbole stammen aus den Material Design Icons (Apache 2.0). Das
Haus-Logo gehoert dem Home-Assistant-Projekt; Home Assistant ist ein
eigenstaendiges Projekt und hat mit diesem Programm nichts zu tun.
Italienisch und Spanisch stammen nicht von Muttersprachlern. Die
Uebersetzungsdateien sind reiner Text im Source-Verzeichnis -
Korrekturen sind willkommen und brauchen keine Neuuebersetzung.
Getestet auf A500 mit PiStorm (Emu68), OS 3.2.3, MUI 3.8.
Dieses Programm ist vibe-coded. Ich habe beschrieben, was es koennen
soll, geschrieben hat den Code eine KI, und gelesen, getestet und
entschieden habe ich. Der Quelltext liegt vollstaendig bei - schau
selbst hinein.
Hinweis zur Uploader-Adresse: sie steht ohne @ und ohne Punkt da, damit
Adresssammler nichts davon haben. Ein @ vor "gmail", ein Punkt vor
"com", fertig.
|