Skip to content

Repository-Format

ATLAS nutzt ein eigenes Repository-Format für installierbare Plugins. Ein Repository ist bewusst kein Home-Assistant-Add-on-Repository: Es muss sich mit ATLAS-Metadaten ausweisen, damit die Administration nicht versehentlich beliebige Home-Assistant-Repositories als Plugin-Quelle akzeptiert.

Referenz

  • Demo-Repository: https://github.com/rockbaer2007/atlas-plugin-repository-demo
  • Repository-Datei: https://raw.githubusercontent.com/rockbaer2007/atlas-plugin-repository-demo/main/repository.json
  • Installations-Zwischenseite: https://rockbaer2007.github.io/atlas-plugin-repository-demo/install.html

Struktur

text
repository.json
plugins/
  example-plugin/
    plugin.atlas-plugin.json
    icon.png
    preview.png
    README.md

Felder

FeldZweck
kindMuss atlas.plugin.repository sein.
atlas.typeMuss plugin-repository sein.
atlas.schemaVersionSchema-Version der ATLAS-Repository-Datei.
nameAnzeigename des Repositorys.
versionVersion des Repository-Katalogs.
homepageOptionale Projekt- oder GitHub-Seite.
installPageOptionale ATLAS-Zwischenseite zum Kopieren der Repository-URL.
plugins[]Liste installierbarer Plugins.
plugins[].idEindeutige Plugin-ID.
plugins[].atlas.typeMuss plugin sein.
plugins[].atlas.schemaVersionSchema-Version des Plugin-Eintrags.
plugins[].nameAnzeigename des Plugins.
plugins[].versionVeröffentlichte Plugin-Version.
plugins[].descriptionFallback-Kurzbeschreibung.
plugins[].descriptionsOptionale lokalisierte Beschreibungen, zum Beispiel de und en.
plugins[].iconPfad oder URL zum Plugin-Icon. Ein Icon reicht für Hub und Administration.
plugins[].previewOptionaler Pfad oder URL zu einem Vorschaubild.
plugins[].packagePfad oder URL zum installierbaren Paket.
plugins[].manifestFallback-Pfad oder URL zum Manifest.
plugins[].capabilitiesDeklarierte Fähigkeiten.
plugins[].compatibilityATLAS-/Host-Kompatibilität.

Relative Pfade werden relativ zur geladenen repository.json aufgelöst. package zeigt auf das installierbare Plugin-Paket, manifest bleibt als lesbarer Fallback für Vorschau, Diagnose und manuelle Prüfung erhalten.

Beispiel

json
{
  "kind": "atlas.plugin.repository",
  "atlas": {
    "type": "plugin-repository",
    "schemaVersion": 1
  },
  "name": "ATLAS Plugin Demo Repository",
  "version": "0.1.0",
  "plugins": [
    {
      "id": "atlas-homeassistant-card-editor",
      "atlas": {
        "type": "plugin",
        "schemaVersion": 1
      },
      "name": "Home Assistant Card Editor",
      "version": "0.1.54",
      "description": "Referenz-Plugin für Home-Assistant-Cards.",
      "descriptions": {
        "de": "Referenz-Plugin für Home-Assistant-Cards.",
        "en": "Reference plugin for Home Assistant cards."
      },
      "icon": "plugins/card-editor/icon.svg",
      "preview": "plugins/card-editor/preview.png",
      "package": "plugins/card-editor/atlas-plugin.json",
      "manifest": "plugins/card-editor/plugin.atlas-plugin.json",
      "capabilities": ["homeassistant.card-editor"],
      "compatibility": {
        "atlas": ">=0.1.54",
        "host": ["administration", "hub", "homeassistant-addon"]
      }
    }
  ]
}