Konfiguration¶
Alles, was du nach der Installation im Asset Server einstellst: Zugang für die Satelliten, Namespaces und die Sounds selbst.
Zugang für die Satelliten einrichten¶
Der Server ist nach dem Start leer und geschützt: Die Satelliten brauchen ein Token, um Sounds abzuholen. Das legst du in der Verwaltungs-Oberfläche an:
- Melde dich an der Verwaltungs-Oberfläche als
adminan (siehe Installation). -
Wechsle im Admin-Bereich auf den Tab Service Accounts und wähle New. Als Name passt z. B.
satellite-download. Nach dem Anlegen erscheint der Account in der Liste:
-
Klicke beim neuen Account auf Manage und trage im Feld Permissions eine Zeile
satellite:readein. Speichere mit Save Permissions.
-
Klicke auf Create Token und kopiere das Token sofort — es wird nur ein einziges Mal angezeigt.

Ein Service Account mit read auf satellite darf auch alle Assets der übergeordneten
Namespaces lesen (siehe unten).
Satelliten auf den eigenen Server umstellen¶
Dazu brauchst du drei Angaben:
| Feld | Wert |
|---|---|
| URL | http://<IP-des-Docker-Hosts>:8080 (ohne / am Ende) |
| Token | das Token aus dem vorherigen Schritt |
| Namespace | leer lassen — der Default ist satellite |
Wo du sie einträgst, hängt davon ab, ob der Satellit schon läuft — alle Wege sind in der Übersicht beschrieben. Hier die passenden Oberflächen dazu:
Neue Satelliten: Trage URL und Token im ioBroker-Adapter unter Satellite Defaults ein, bevor du das erste Image erzeugst. Jedes weitere Image übernimmt sie dann automatisch.

Beim Erzeugen eines Images im Satellite Manager stehen dieselben Felder noch einmal im Dialog und sind dort vorbelegt — du kannst sie also auch pro Gerät überschreiben:

Laufende Satelliten: Jeder Satellit hat in seiner eigenen Web-Oberfläche einen Abschnitt "Asset Server" mit URL, Token und Namespace. Ein Firmware-Neubau ist nicht nötig, die Werte werden auf dem Satelliten selbst gespeichert.

Namespaces¶
Assets sind in Namespaces organisiert. Es gibt drei von Anfang an: shared als
Wurzel, darunter core und satellite. Sie vererben nach unten:
- Ein Asset in
sharedsteht sowohl incoreals auch insatellitezur Verfügung. - Ein Asset in
satellitegilt nur für Satelliten, eines incorenur für Core. - Gibt es dasselbe Asset auf mehreren Ebenen, gewinnt die spezifischste — ein
playinsatelliteüberschreibt also einplayinshared.
core wird aktuell nicht genutzt
Der Namespace core ist für Assets gedacht, die Hannah Core selbst braucht. Core holt
derzeit keine Assets vom Asset Server, der Namespace bleibt also leer. Er wird trotzdem
angelegt, falls Core später wieder Assets bekommt — löschen musst du ihn nicht. Alle
Sounds, die du brauchst, gehören in satellite.

Du kannst weitere Namespaces anlegen, z. B. satellite-test als Kind von satellite, um
Sounds auf einem einzelnen Satelliten auszuprobieren. Dessen Namespace trägst du dann in der
Web-Oberfläche dieses Satelliten ein.

Sounds einspielen¶
Ein frisch installierter Server enthält keine Sounds — die Satelliten bleiben stumm, bis
welche da sind. Am schnellsten geht es mit dem Starter-Paket, das die Standard-Sounds der
Satelliten enthält (alarm_ring, connect, message_chime und timer_jingle):
hannah-assets.tar.gz herunterladen
-
Melde dich als
adminan und öffne den Tab Assets. Oben rechts findest du die Schaltflächen Export, Import und Upload.
-
Klicke auf Import, wähle die heruntergeladene Datei und lass als Ziel As named in the bundle stehen. Der Namespace
satellitewird bei Bedarf angelegt.
-
Mit Import bestätigen. Der Dialog zeigt dir danach, was eingespielt wurde:

Im Tab Assets siehst du die Sounds jetzt, wenn du den Namespace satellite auswählst:

Bereits vorhandene Sounds
Hast du einen Sound mit demselben Namen schon selbst angelegt, ersetzt der Import ihn nur, wenn du Overwrite assets whose content differs ankreuzt.
Eigene Sounds¶
Eigene Sounds lädst du entweder über Upload in der Verwaltungs-Oberfläche hoch oder per
Kommandozeile mit dem im Quellcode
enthaltenen scripts/asset-cli.ps1 (PowerShell 7+). Zum Hochladen braucht der Account
write auf dem Ziel-Namespace — das ist der admin, nicht der Satelliten-Account.
API¶
Für eigene Integrationen: die Manifest-/Download-Endpunkte sind unter Asset Server (Entwickler) dokumentiert.