Flottenverbindungen
Ein Flottenlink ist eine Player-URL, die Sie in einem Geräte-Manager wie einer Kiosk-App in der Google Admin-Konsole einfügen. Jedes Gerät, das sie öffnet, wird sein eigener Bildschirm in diesem Projekt, ohne Kopplungscode. Eine Organisation hat höchstens 50 Flottenlinks über alle ihre Projekte.
Jeder neue Bildschirm erhält die Tags, Felder und Playlist des Links sowie ein Label vom Gerät: zuerst die Administrator-Asset-ID, dann den Standort, sonst das nächste Standard-Label. Ein Gerät behält seinen einen Bildschirm über Neustarts und Neuladen hinweg. Nach einem Powerwash oder einer Neuinstallation stellt ein Gerät, das die Seriennummer oder DUID eines Bildschirms meldet, den eine Flottenverbindung dieses Projekts erstellt hat, diesen Bildschirm wieder her, anstatt einen neuen zu erstellen, sobald sein alter Schlüssel zehn Minuten lang still war. screen show gibt fleet_link_id für einen Bildschirm zurück, den eine Flottenverbindung erstellt hat, und --human druckt Created by fleet link: flk_…. Die ID bleibt nach dem Löschen des Links erhalten.
Ein Link kann zu einem von Ihnen gewählten Zeitpunkt enden: --expires-at hindert ihn ab dann am Erstellen und Wiederherstellen von Bildschirmen, wie es ein deaktivierter Link tut, und ein Gerät, das ihn öffnet, zeigt seinen Kopplungscode. Die Bildschirme, die er erstellt hat, spielen weiter. fleet-links show --android-provisioning gibt die Payload aus, die ein auf Werkseinstellungen zurückgesetztes Android-Gerät als Geräteeigentümer bereitstellt; siehe Android-Geräteeigentümer per QR-Code.
Die URL, https://play.screenrig.ai/player/#fleet=srfl_…, ist eine Anmeldeinformation, die Bildschirme erstellt. Geben Sie sie nur an den Geräteverwalter weiter. Das Geheimnis befindet sich im URL-Fragment, das Browser niemals an einen Server senden. Eine Nur-Lese-Anmeldeinformation erhält data.url leer mit url_redacted: true, und die menschliche Ausgabe sagt dann URL: withheld from a Read only credential. Andernfalls gibt die menschliche Ausgabe die URL unter einem Sensitive fleet link URL-Label aus, und fleet-links list --human druckt sie nie. Der CLI prüft eine zurückgegebene URL vor dem Drucken: HTTPS, den /player/-Pfad und das Geheimnis nur in #fleet=. Er verweigert eine URL, die die Prüfung nicht besteht, mit der Warnung fleet_link_url_withheld und hält Flottenlink-Antworten aus seinem Betriebsprotokoll fern.
| Problemcode | Beenden | Bedeutung |
|---|---|---|
fleet_link_limit_reached | 5 | Die Organisation hat bereits 50 Flottenlinks. Es wurde nichts erstellt. Bitte löschen Sie zuerst einen. |
invalid_request | 8 | Ein Feld wurde abgelehnt, z. B. ein --playlist-id, das keine Playlist in diesem Projekt benennt. error.next ist playlist list für eine unbekannte Playlist. |
not_found | 4 | Kein Flotten-Link mit dieser ID im Projekt. |
revision_conflict | 6 | Die --expect-rev Revision war veraltet. Führen Sie fleet-links show aus und versuchen Sie es erneut. |
fleet_link_secret_unavailable | 3 | fleet-links show --android-provisioning hat keine verwendbare URL erhalten, wie bei einer Nur-Lese-Anmeldeinformation. Eine Manage-Anmeldung erhält sie. |
fleet-links create#
Erstellen Sie einen Flottenlink und erhalten Sie dessen Player-URL.
fleet-links create --name NAME [--tag TAG]... [--field NAME=VALUE]... [--playlist-id ID] [--max-screens N]
[--expires-at TIME] [--disabled]| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
--name NAME | string | ja | keine | Der Name des Links, 1 bis 80 Zeichen ohne Steuerzeichen. |
--tag TAG | string | nein | keine Tags | Ein Tag für jeden neuen Bildschirm, 1 bis 32 Buchstaben oder Ziffern. Wiederholen Sie ihn oder listen Sie Tags kommasepariert auf; höchstens 16. |
--field NAME=VALUE | string | nein | keine Felder | Ein Feld für jeden neuen Bildschirm, das Karten als {screen.field.NAME} lesen. NAME besteht aus 1 bis 32 Kleinbuchstaben, Ziffern oder Unterstrichen, VALUE aus 1 bis 200 Zeichen. Wiederholbar; höchstens 32. |
--playlist-id ID | string | nein | keine | Die pl_ Playlist, die jedem neuen Bildschirm zugewiesen wird. |
--max-screens N | integer | nein | kein Limit | Die höchste Anzahl an Bildschirmen, die der Link erstellt, 1 bis 10000. |
--expires-at TIME | string | nein | nie | Wann der Link aufhört, Bildschirme zu erstellen und wiederherzustellen: eine RFC-3339-Zeit mit Sekunden und Zone, etwa 2026-12-31T23:59:59Z. Eine bereits vergangene Zeit lässt den Link sofort ablaufen. |
--disabled | boolean | nein | aus | Deaktiviert erstellen. Es werden keine Bildschirme erstellt, bis fleet-links update --enable. |
screenrig fleet-links create --name "Lobby displays" --tag Lobby --tag Floor2 --playlist-id pl_01EXAMPLEPLAYLIST000000screenrig fleet-links create --name "Trade show" --field booth=A12 --expires-at 2026-12-31T23:59:59ZDer Umschlag ist der Flottenlink mit seiner Player-URL in data.url. Tragen Sie diese URL im Geräte-Manager ein. Nach einer unterbrochenen oder mehrdeutigen Erstellung führen Sie denselben Befehl innerhalb von 24 Stunden erneut aus: Er verwendet den gespeicherten Idempotenzschlüssel, und der Server liefert denselben Link zurück, anstatt einen neuen zu erstellen.
fleet-links list#
Flottenverbindungen dieses Projekts auflisten, älteste zuerst.
fleet-links listscreenrig fleet-links listEine Nur-Lese-Anmeldeinformation erhält jede data.items[].url leer mit url_redacted: true. --human druckt ID, LABEL, ENABLED, SCREENS, TAGS und LAST_USED, ergänzt EXPIRES, solange ein aufgelisteter Link ein Ablaufdatum hat, und markiert einen abgelaufenen mit (expired), und druckt niemals die URL. SCREENS ist die Anzahl der Bildschirme, die der Link erstellt hat, oder erstellt/max mit --max-screens; Wiederherstellungen werden nicht gezählt.
fleet-links show#
Eine Flottenverbindung prüfen und deren Player-URL erhalten.
fleet-links show <id> [--android-provisioning]| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
<id> | string | ja | keine | Die flk_ Flotten-Link-ID. |
--android-provisioning | boolean | nein | aus | Gibt das Bereitstellungs-JSON für den Android-Geräteeigentümer dieses Links statt seiner Details aus, zum Kodieren als QR-Code für ein auf Werkseinstellungen zurückgesetztes Gerät. Es enthält das Geheimnis des Links, daher ist eine Manage-Anmeldung erforderlich. |
screenrig fleet-links show flk_01EXAMPLELINK0000screenrig fleet-links show flk_01EXAMPLELINK0000 --android-provisioningscreens_created zählt die Bildschirme, die der Link erstellt hat, und last_used_at ist das letzte Mal, dass er einen erstellt oder wiederhergestellt hat. expires_at ist vorhanden, wenn der Link ein Ablaufdatum hat, und die menschenlesbare Ausgabe markiert es mit (expired), sobald es verstrichen ist.
Mit --android-provisioning ersetzen data.id und data.provisioning die Details des Links. Das JSON enthält das Geheimnis des Links: Zeigen Sie seinen QR-Code nur der Person am Gerät. Eine Nur-Lese-Anmeldeinformation erhält keine URL, aus der sich das Geheimnis ableiten ließe, und bekommt fleet_link_secret_unavailable (Exit 3). Android-Geräteeigentümer per QR-Code listet die Payload.
fleet-links update#
Ändern Sie, was ein Flottenlink den von ihm erstellten Bildschirmen ab jetzt gibt.
fleet-links update <id> [--name NAME] [--enable | --disable] [--tag TAG]... [--clear-tags]
[--field NAME=VALUE]... [--clear-fields]
[--playlist-id ID | --clear-playlist] [--max-screens N | --clear-max-screens]
[--expires-at TIME | --clear-expires-at] [--expect-rev REVISION]| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
<id> | string | ja | keine | Die flk_ Flotten-Link-ID. |
--name NAME | string | Mindestens eine Änderung | Unverändert | 1 bis 80 Zeichen. |
--enable | boolean | Mindestens eine Änderung | aus | Der Link erstellt und stellt Bildschirme wieder her. |
--disable | boolean | Mindestens eine Änderung | aus | Der Link erstellt und stellt keine Bildschirme wieder her; ein Gerät, das ihn öffnet, zeigt stattdessen seinen Kopplungscode an. |
--tag TAG | string | Mindestens eine Änderung | Unverändert | Ersetzt das gesamte Tag-Set. Wiederholen Sie es oder listen Sie Tags kommasepariert auf; maximal 16. |
--clear-tags | boolean | Mindestens eine Änderung | aus | Neue Bildschirme erhalten keine Tags. |
--field NAME=VALUE | string | Mindestens eine Änderung | Unverändert | Ersetzt die gesamte Feldmenge, wie bei fleet-links create. Wiederholbar; höchstens 32. |
--clear-fields | boolean | Mindestens eine Änderung | aus | Neue Bildschirme erhalten keine Felder. |
--playlist-id ID | string | Mindestens eine Änderung | Unverändert | Die pl_ Playlist für neue Bildschirme. |
--clear-playlist | boolean | Mindestens eine Änderung | aus | Neue Bildschirme erhalten keine Playlist. |
--max-screens N | integer | Mindestens eine Änderung | Unverändert | Die meisten Bildschirme, die der Link insgesamt erstellt, 1 bis 10000. |
--clear-max-screens | boolean | Mindestens eine Änderung | aus | Die Obergrenze entfernen. |
--expires-at TIME | string | Mindestens eine Änderung | Unverändert | Setzt oder verschiebt das Ablaufdatum: eine RFC-3339-Zeit mit Sekunden und Zone. Eine bereits vergangene Zeit lässt den Link sofort ablaufen. |
--clear-expires-at | boolean | Mindestens eine Änderung | aus | Entfernt das Ablaufdatum; der Link läuft nie ab. |
--expect-rev REVISION | string | nein | keine | Optionale Revisionsvoraussetzung. |
screenrig fleet-links update flk_01EXAMPLELINK0000 --playlist-id pl_01EXAMPLEPLAYLIST000000update ändert nur die Felder, die Sie übergeben, und nur für Bildschirme, die der Link von jetzt an erstellt. Bildschirme, die er bereits erstellt hat, behalten ihre Tags, Playlist und Bezeichnung. Ein abgelaufener Link verhält sich wie ein deaktivierter, bis sein Ablauf verschoben oder entfernt wird. Die URL bleibt unverändert; verwenden Sie rotate, um sie zu ersetzen.
fleet-links rotate#
URL eines Flotten-Links ersetzen und den neuen erhalten.
fleet-links rotate <id> [--expect-rev REVISION]| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
<id> | string | ja | keine | Die flk_ Flotten-Link-ID. |
--expect-rev REVISION | string | nein | keine | Optionale Revisionsvoraussetzung. |
screenrig fleet-links rotate flk_01EXAMPLELINK0000Der Umschlag enthält die neue URL in data.url. Die alte URL funktioniert sofort nicht mehr: Ein Gerät, das sie öffnet, zeigt seinen Kopplungscode an. Bildschirme, die den Link bereits erstellt haben, spielen weiter, da ein gekoppelter Player den Link nie wieder anzeigt. Tragen Sie die neue URL im Geräte-Manager ein. Führen Sie nach einer unterbrochenen oder mehrdeutigen Rotation denselben Befehl erneut aus: Er verwendet den gespeicherten Idempotenzschlüssel, und der Server liefert die bereits erfolgte Rotation zurück, statt erneut zu rotieren.
fleet-links delete#
Einen Flotten-Link löschen. Seine URL funktioniert sofort nicht mehr, die von ihm erstellten Bildschirme bleiben bestehen.
fleet-links delete <id> [--expect-rev REVISION]| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
<id> | string | ja | keine | Die flk_ Flotten-Link-ID. |
--expect-rev REVISION | string | nein | keine | Optionale Revisionsvoraussetzung. |
screenrig fleet-links delete flk_01EXAMPLELINK0000Bildschirme, die den Link erstellt haben, behalten ihre Playlists und Tags.
Migration
migrate überträgt Medien, Playlists, Layouts, Zeitpläne und Bildschirme Ihrer bisherigen Signage-Plattform in das Projekt. Es läuft in der CLI auf Ihrem Rechner: Der Schlüssel der Plattform wird aus --credentials FILE mit NAME=VALUE-Zeilen gelesen, geht nur an diese Plattform und wird nie gespeichert, ausgegeben, protokolliert oder an screenRIG gesendet, das nur gewöhnliche Schreibvorgänge für Medien, Playlists, Flottenlinks, Kampagnen und Bildschirme sieht. migrate vendors listet die Plattformen auf, die es liest, und der Fallback files liest einen Ordner oder .zip mit Medien einer beliebigen anderen Plattform.
Führen Sie die Schritte der Reihe nach aus: migrate vendors (was eine Plattform annimmt), migrate scan (das Konto lesen und melden, was übernommen werden kann und was nicht; es braucht keine Anmeldung bei screenRIG), migrate apply --dry-run (der Plan), migrate apply (braucht Manage-Zugriff), dann migrate pair für jeden Bildschirm.
--dir DIR ist das Migrationsverzeichnis, standardmäßig ./screenrig-migration-VENDOR, erstellt mit dem Modus 0700. Es enthält scan.json (den Scan und seinen Bericht), map.json (welches Objekt aus welchem alten Element geworden ist, gebunden an diese API-URL, dieses Projekt, diesen Anbieter und dieses Quellkonto) und staging/ (laufende Downloads). apply und pair verwenden das eine screenrig-migration-*-Verzeichnis im Arbeitsverzeichnis oder nehmen --dir entgegen; in einem Verzeichnis läuft immer nur einer von beiden.
| Problemcode | Beenden | Bedeutung |
|---|---|---|
migration_dir_mismatch | 2 | Das Verzeichnis wurde für ein anderes Projekt, eine andere API-URL, einen anderen Anbieter oder ein anderes Quellkonto erstellt. Verwenden Sie einen anderen Wert für --dir. |
vendor_refused | 3 | Die Plattform hat den Schlüssel abgelehnt. Erstellen Sie einen schreibgeschützten Schlüssel (migrate vendors VENDOR zeigt, wie), korrigieren Sie die Datei --credentials und führen Sie denselben Befehl erneut aus. |
vendor_not_found | 4 | Die Plattform hat mit 404 geantwortet. --url ist meist falsch. |
vendor_rate_limited | 7 | Die Plattform begrenzt die Anfragen mit diesem Schlüssel. Führen Sie den Befehl später erneut aus. |
vendor_file_gone | 8 | Die Adresse einer Mediendatei ist abgelaufen oder geschützt. Ein erneuter Lauf von migrate scan aktualisiert sie, und --files liefert eine Datei, die weiterhin fehlschlägt. |
vendor_file_stalled | 8 | Ein Medien-Download ist stumm geblieben. Führen Sie apply erneut aus. |
vendor_bad_response | 9 | Die Plattform hat eine Antwort gesendet, die die CLI nicht verwenden kann. |
vendor_unavailable | 9 oder 10 | Die Plattform war nicht erreichbar oder schlug weiterhin fehl. |
migrate vendors#
Listet die Plattformen auf, die migrate liest, was jede annimmt und wie man ihren schreibgeschützten Schlüssel erstellt.
migrate vendors [VENDOR]| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
VENDOR | string | nein | jede Plattform | Die ID einer Plattform. Eine ID, die nicht aufgelistet ist, ergibt usage_error (Exit 2) und nennt die vorhandenen IDs. |
screenrig migrate vendors
screenrig migrate vendors filesEs arbeitet offline und braucht keine Anmeldung. data.vendors enthält für jede Plattform id und name; inputs, mit den flags, die sie annimmt (jeweils mit flag und required, und values für eine Region) und den credentials-Zeilen, die ihre Schlüsseldatei enthält (name, secret, required und help); connect, die Schritte, die einen schreibgeschützten Schlüssel erzeugen; maps, was übernommen wird; skips, was nicht; docs; und example, ein funktionierender migrate scan-Befehl. Plattformen sind nach ID sortiert, files zuletzt. files nimmt einen Ordner oder .zip und eine optionale Zeitzone entgegen und braucht keinen Schlüssel.
migrate scan#
Liest ein Signage-Konto und meldet, was übernommen werden kann und was nicht. Es schreibt scan.json und sendet nichts an screenRIG.
migrate scan --from VENDOR [--url ADDRESS] [--region REGION] [--timezone ZONE] [--files PATH]
[--credentials FILE] [--dir DIR]| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
--from VENDOR | string | ja | keine | Die zu lesende Plattform: eine ID aus migrate vendors oder files. |
--url ADDRESS | string | pro Plattform | keine | Die Adresse einer selbst gehosteten Plattform. |
--region REGION | string | pro Plattform | keine | Die Region eines gehosteten Kontos, für eine Plattform mit Regionen. |
--timezone ZONE | string | nein | keine | Ein IANA-Zeitzonenname wie America/Toronto, gesetzt auf jedem Bildschirm, dessen alte Plattform keinen nennt. Ohne ihn folgt ein Bildschirm der Zone, die sein Player meldet. |
--files PATH | Pfad | pro Plattform | keine | Ein Ordner oder .zip. Mit --from files enthält er die Medien; bei einer anderen Plattform enthält er die Originale, die die API dieser Plattform nicht herausgeben kann, zugeordnet zu ihren Medien nach Dateiname. |
--credentials FILE | Pfad | pro Plattform | keine | Die Schlüsseldatei: NAME=VALUE-Zeilen mit den Namen, die migrate vendors VENDOR auflistet. Leerzeilen und #-Kommentare werden übersprungen, und ein Wert darf in einem Paar Anführungszeichen stehen. Ein erforderlicher Name, der in der Datei fehlt, ergibt usage_error (Exit 2) und nennt ihn. |
--dir DIR | Pfad | nein | ./screenrig-migration-VENDOR | Das Migrationsverzeichnis. |
screenrig migrate scan --from files --files ./signage-media
screenrig migrate scan --from files --files ./signage-media.zip --dir ./old-signage --timezone America/TorontoEine Option, die die Plattform nicht annimmt, oder eine, die sie braucht und die fehlt, ergibt usage_error (Exit 2) und nennt, was die Plattform annimmt. Keine Option nimmt den Schlüssel selbst entgegen. Ein neuer Scan ersetzt scan.json und behält map.json, und er endet mit 0, wenn er abgeschlossen ist, auch wenn einige Elemente nicht übernommen werden können.
data ist der Bericht: vendor, label, scanned_at, found und importable (Zählungen von media, playlists, layouts, schedules, groups und screens), not_imported (jeweils mit kind, source_id, name, reason und meist einem Schritt next), lossy (jeweils mit kind, source_id, name und was unterwegs geschieht: change), notes, dir und scan_file. Eine Datei, die die Plattform herausgibt, wird unter apply heruntergeladen. Eine Datei, die sie nicht herausgibt oder nur als neu codierte Kopie liefert, wird nach Namen in --files zugeordnet; gibt es keinen oder mehrere Treffer, steht sie in not_imported oder lossy mit dem Schritt, der sie behebt.
--from files braucht keinen Schlüssel. Es liest jede Bild-, Video- und Audiodatei anhand ihres Inhalts, nicht ihrer Endung. Eine optionale Datei playlists.csv im Stammverzeichnis hat die Spalten playlist, file (ein Pfad oder ein eindeutiger Dateiname), duration (Sekunden) und order; ohne sie wird jeder Ordner mit Medien zu einer Playlist in natürlicher Reihenfolge der Dateinamen, und die Dateien im Stammverzeichnis bilden eine nach dem Ordner oder der ZIP-Datei benannte Playlist. Eine optionale Datei screens.csv hat name, group (mehrere, getrennt durch ;), playlist und timezone, und jede Zeile wird zu einem Wartebildschirm, dessen Gruppen zu Tags werden. Andere Dateien und verschlüsselte ZIP-Einträge stehen in not_imported. Ein files-Scan hat keine Zeitpläne: Erstellen Sie sie mit campaign create, sobald die Playlists existieren.
migrate apply#
Importiert, was der Scan gefunden hat: Medien, Playlists und Layouts, Wartebildschirme und Kampagnen. Ein erneuter Lauf ist unbedenklich.
migrate apply [--dir DIR] [--dry-run] [--only KINDS] [--folder ID] [--canvas WIDTHxHEIGHT]
[--credentials FILE] [--concurrency N] [--no-transcode]| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
--dir DIR | Pfad | nein | das eine ./screenrig-migration-*-Verzeichnis | Das Migrationsverzeichnis, das scan.json enthält. |
--dry-run | boolean | nein | aus | Liest das Projekt und gibt den Plan aus. Es schreibt nichts und braucht keinen Schlüssel. |
--only KINDS | string | nein | alle vier | Durch Kommas getrennt, jeder Wert höchstens einmal: media, playlists, screens, schedules. |
--folder ID | string | nein | ein neuer Ordner mit dem Namen Imported from und dem Namen der Plattform | Ein vorhandener Medienordner (mfd_…) für die importierten Medien. |
--canvas WIDTHxHEIGHT | string | nein | 1920x1080 | Die Leinwand einfacher Playlists, jede Seite mindestens 16 Pixel. Ein Layout behält seine eigene Größe. |
--credentials FILE | Pfad | nein | keine | Die Schlüsseldatei, die nur gelesen wird, wenn eine Mediendatei von der Plattform heruntergeladen wird. |
--concurrency N | integer | nein | 4 | Gleichzeitig importierte Medien, 1 bis 8. |
--no-transcode | boolean | nein | aus | Laden Sie die Quelldaten unverändert hoch, wie media upload es tut. |
screenrig migrate apply --dry-run
screenrig migrate apply --dir ./screenrig-migration-files
screenrig migrate apply --only media,playlists --concurrency 2apply importiert der Reihe nach: Medien in einen Ordner, Playlists und Layouts, pro altem Bildschirm einen Wartebildschirm und pro Zeitplan, den Kampagnen ausdrücken können, eine Kampagne. Die Plattform wird nur noch zum Herunterladen von Mediendateien gelesen. Eine Playlist hat pro Element eine Seite: Bilder und Videos füllen die Leinwand, eine Webadresse wird zu einer iframe-Seite, Audio wird zum Soundtrack und eine verschachtelte Playlist wird eingebettet. Ein Layout wird zu einer Playlist auf einer eigenen Leinwand mit einer Seite pro Element seiner Hauptzone. Ein Zeitplan, der sich monatlich, jährlich, stündlich oder minütlich oder an einem nummerierten Wochentag des Monats wiederholt, kann keine Kampagne werden: scan listet ihn in not_imported auf.
--dry-run liest nur das Projekt und antwortet mit data.plan (für media, playlists, layouts, screens und schedules: die Zählungen create, reuse, recreate, waiting und fail), data.items, data.bytes zum Herunterladen, data.placeholders-Zählungen und data.project, die verwendeten Flottenlinks und Kampagnen im Vergleich zu ihren Höchstwerten von 50 und 100. Der Fortschritt geht als JSON-Zeilen an stderr (migrate_progress mit phase, done und total) oder mit --human als Text. Ein erneuter Lauf verwendet wieder, was noch existiert, erstellt alles neu, was Sie gelöscht haben, und ändert nie, was er erstellt hat. Ein echter Lauf antwortet mit data.applied (dieselben Zählungen), data.waiting (Elemente, die auf Medien oder eine nicht importierte Playlist warten, jeweils mit reason), data.failed, data.placeholders (ein Eintrag pro altem Bildschirm mit source_id, name und state: linked, unlinked, paired, finished oder waiting), data.tags und data.folder_id.
Eine Gruppe wird zu einem Tag aus Buchstaben und Ziffern, nummeriert, wenn er mit einem Tag kollidiert, den ein anderer Bildschirm trägt. Eine Kampagne zielt auf die Tags der Gruppen und Bildschirme, die ihr Zeitplan nennt, mit ihren Daten, Tagen, Uhrzeiten und ihrer Priorität. Eine Kampagne liest ihre Daten und Uhrzeiten in der eigenen Zeitzone jedes Bildschirms und braucht eine Standard-Playlist (no_default_playlist): scan vermerkt die Bildschirme, denen sie fehlt, und screen assign setzt sie nach der Kopplung.
Ein Wartebildschirm ist ein Flottenlink für einen Bildschirm, der den alten Namen, die Gruppen als Tags und die Playlist trägt. Eine Organisation enthält höchstens 50 Flottenlinks über alle ihre Projekte; die übrigen sind unlinked in data.placeholders und warten auf einen Player-Code (migrate pair). Ein Player, der einen Link öffnet, wird zu einem Bildschirm, und ein erneuter Lauf von apply gibt ihm den alten Namen und die Zeitzone und löscht den Link. apply gibt nie eine Flottenlink-URL aus: fleet-links show tut es.
Ein fehlschlagendes Element behält ok true mit data.failed (jeweils mit key, name, code, status und detail) und die Warnung migration_items_failed; die Elemente, die davon abhängen, warten, und der Exit-Code folgt dem Status des letzten Fehlers. Eine Mediendatei, die allein fehlschlägt (eine abgelaufene Adresse, eine Antwort, die keine Datei ist, ein Download, der stumm bleibt), lässt nur dieses Medium fehlschlagen; bei einer abgelaufenen Adresse führen Sie migrate scan erneut aus. Eine Ablehnung, die sich für jedes Element wiederholen würde (quota_exceeded, campaign_limit_reached, insufficient_access, pending_review, die Ablehnung des Schlüssels durch die Plattform, eine verlorene Verbindung), beendet den Lauf mit data.stopped (code, detail und next) und dem Exit-Code dieses Problems. Beheben Sie die Ursache und führen Sie denselben Befehl erneut aus: Er setzt dort fort, wo er angehalten hat.
migrate pair#
Koppelt einen Player-Code mit einem Wartebildschirm und übernimmt dessen alten Namen, Playlist, Zeitzone und Tags.
migrate pair <CODE...> --screen ID_OR_NAME [--dir DIR]| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
<CODE...> | string | ja | keine | Der Code, den der Player anzeigt, etwa ABC 234: sechs Zeichen aus 23456789ABCDEFGHJKMNPQRSTUVWXYZ, in Groß- oder Kleinschreibung. Leerzeichen und Bindestriche dazwischen werden ignoriert, daher braucht er keine Anführungszeichen. |
--screen ID_OR_NAME | string | ja | keine | Der Wartebildschirm: seine Quell-ID oder sein genauer alter Name. Bei einem Namen, den zwei Bildschirme teilen, werden ihre IDs aufgelistet. |
--dir DIR | Pfad | nein | das eine ./screenrig-migration-*-Verzeichnis | Das Migrationsverzeichnis. |
screenrig migrate pair ABC 234 --screen "Front desk"
screenrig migrate pair ABC234 --screen 3 --dir ./old-signageFühren Sie zuerst migrate apply aus: Die Kopplung braucht die Zuordnung und die Playlist, die dabei entstanden sind. pair beansprucht den Code für den Bildschirm unter seinem alten Namen, setzt seine Playlist, Zeitzone und das Feld migrated_from, setzt seine Tags, löscht den Link des Wartebildschirms und zeichnet das Ergebnis auf. data enthält source_id, name, screen_id, steps (paired, updated, tagged, link deleted, recorded), next und, wenn dieser Lauf den Code beansprucht hat, public_url. Jeder Schritt wird aufgezeichnet, sobald er abgeschlossen ist, sodass ein erneuter Lauf zu Ende bringt, was eine unterbrochene Kopplung offen gelassen hat. Ein bereits gekoppelter Bildschirm ergibt resource_conflict (Exit 5) und nennt ihn. Der Player schließt die Kopplung ab, sobald er das nächste Mal den Dienst kontaktiert; screen show meldet dann state active.