Dokumentation

Bildschirme: CLI-Befehle

Bildschirme koppeln, auflisten, bespielen, zuweisen, taggen, verschieben, neu laden und löschen; Ordner, Links, Videowände und Live-Ansicht verwalten.

Jeder Befehl läuft wie in der CLI-Referenz beschrieben: globale Flags, JSON-Ausgabe, Beendigungscodes, Revisionen und Wiederholungen.

Bildschirme

Ein Bildschirm ist ein Player. Diese Befehle lesen ihn, weisen ihm eine Playlist zu und verwalten sein Leben. Revisionsvoraussetzungen sind bei Schreibvorgängen optional.

Tags gruppieren Bildschirme in Flotten. Jeder Bildschirm trägt 0 bis 16 einzigartige Tags mit 1 bis 32 Buchstaben oder Ziffern, gesetzt mit screen tag. screen assign, screen reload, screen toast, screen tag und screen screenshot nehmen eine Bildschirm-ID, mehrere IDs oder --tag TAG und eine Flottenantwort meldet jeden Bildschirm: siehe Flottenergebnisse.

Bildschirmordner gruppieren Bildschirme nach Ort, ein Ordner pro Bildschirm. Ein Flottenbefehl akzeptiert auch --folder ID: siehe Bildschirmordner.

Ein Bildschirm in einem geschützten Ordner beantwortet eine Playlist-Änderung mit pending_review für eine zweite genehmigende Person und lehnt Änderungen an Tag, Feldern, Standort, Zeitzone, Videowand, Ersetzen, Löschen, Archivieren, Aussetzen, Display, Lautstärke, Toast und play-page mit protected_target ab (Exit 5).

Eine storage_full-Warnung bei screen list, screen show, screen update, screen assign oder screen publish bedeutet, dass auf dem Gerät, auf dem der Player läuft, kein Platz für seine Inhalte ist: Geben Sie dort Speicher frei und versuchen Sie es dann erneut.

screen pair#

Koppeln Sie einen Player mit dem auf seinem Bildschirm angezeigten Code.

screen pair <code...> [--name NAME] [--folder ID]
ParameterTypErforderlichStandardNotizen
<code...>stringjakeineDer sechsstellige Kopplungscode, den der Player anzeigt. Leerzeichen, Bindestriche und Groß-/Kleinschreibung werden ignoriert, sodass ein in zwei Gruppen angezeigter Code mit oder ohne Anführungszeichen funktioniert.
--name NAMEstringneinein unbenutzter Name wie Screen NAnzeigename des Bildschirms, 1 bis 120 Zeichen.
--folder IDstringneinProjektstammDer Bildschirmordner sfd_, in den der Bildschirm gelegt wird. Ein auf Bildschirmordner beschränkter Agent muss einen Ordner seines Bereichs nennen; der Projektstamm und jeder andere Ordner antworten mit outside_screen_scope (Exit 3).
screenrig screen pair "$PAIRING_CODE" --name "Lobby"
screenrig screen pair "$PAIRING_CODE" --folder sfd_01EXAMPLEFOLDER000000000

Die Antwort enthält public_url und den gekoppelten screen. Der Player schließt die Kopplung beim nächsten Kontakt mit dem Dienst ab, ohne dass am Display etwas zu tun ist: screen show meldet state active und online true, sobald sie abgeschlossen ist. Führen Sie nach einer unterbrochenen Anfrage denselben Befehl erneut aus, um den gespeicherten Idempotenzschlüssel wiederzuverwenden.

browser setup#

Die Einrichtung eines Browser-Players anhand des angezeigten Codes abschließen.

browser setup --code CODE [--open]
ParameterTypErforderlichStandardNotizen
--code CODEstringjakeineDer Einrichtungscode, den der Browser-Player anzeigt.
--openbooleanneinausDen Browser-Player öffnen.
screenrig browser setup --code SETUP_CODE --open

Die Antwort enthält code, status (claimed), screen_id und player_public_url des Bildschirms. Die CLI hält eine URL zurück, die ihre Sicherheitsprüfungen nicht besteht, mit der Warnung player_url_withheld. Ein ungültiger oder abgelaufener Code erstellt keinen Bildschirm. Führen Sie nach einer unterbrochenen Anfrage denselben Befehl erneut aus.

screen list#

Bildschirme auflisten. Archivierte Bildschirme werden ausgelassen, es sei denn, Sie fordern sie an.

screen list [--state archived] [--tag TAG] [--folder ID|root] [--field NAME=VALUE...] [--near LAT,LON,KM]
ParameterTypErforderlichStandardNotizen
--statestringneinaktive BildschirmeDer einzige akzeptierte Wert ist archived, der nur archivierte Bildschirme auflistet.
--tag TAGstringneinjeder BildschirmNur Bildschirme auflisten, die genau dieses Tag tragen.
--folder ID|rootstringneinjeder BildschirmListet nur die Bildschirme direkt in diesem Bildschirmordner sfd_ auf, nicht die seiner Unterordner, oder mit root nur Bildschirme außerhalb jedes Ordners.
--field NAME=VALUEstringneinkeineListet nur Bildschirme auf, deren Feld NAME genau VALUE enthält. Wiederholbar, jeder Name einmal; ein Bildschirm muss auf alle zutreffen.
--near LAT,LON,KMstringneinkeineListet nur Bildschirme auf, die sich innerhalb von KM Kilometern um den Punkt befinden, in Dezimalgrad; KM ist größer als 0. Ein Bildschirm ohne Standort wird ausgelassen.
screenrig screen list --tag Lobby
screenrig screen list --folder sfd_01EXAMPLEFOLDER000000000
screenrig screen list --field region=north
screenrig screen list --near 47.6062,-122.3321,25

Die Filter werden kombiniert. Jede Zeile enthält tags, folder_id, fields und location des Bildschirms, sofern vorhanden. Mit --human fügt die Tabelle nur dann eine Spalte hinzu, wenn ein aufgelisteter Bildschirm den Wert hat: PLATFORM, REASON (archive_reason eines archivierten Bildschirms), TAGS, FOLDER, FIELDS, LOCATION, ASSIGNED (ein Bildschirm, der etwas anderes als seine Standard-Playlist abspielt), HEALTH (ein Bildschirm, der Aufmerksamkeit braucht) und UPGRADE (ein Bildschirm, dessen Player noch auf die ausgestellte Playlist-Version umstellt oder dabei gescheitert ist). --state archived listet außerdem Bildschirme auf, die ein Player selbst archiviert hat (device_reset, device_unpair), sowie Bildschirme, die screen replace archiviert hat (replaced).

screen show#

Einen Bildschirm lesen, einschließlich Revision, Zuordnung und Aktivität.

screen show <id>
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
screenrig screen show scr_01EXAMPLESCREEN00000000

tags listet die Flotten-Tags des Bildschirms. effective_playlist, takeover und playlist_schedule berichten, was der Bildschirm abspielt und warum; siehe Zeitpläne und Übernahmen. health und die Host-Fähigkeiten des Players sind in Gerätezustand und Stromversorgung. online ist wahr, solange ein Player verbunden ist, einschließlich eines kurzen Wiederverbindungsfensters. Optionale last_online_at und last_ip erscheinen nach der ersten Verbindung. Optionales observation meldet die Oberflächen, die ein Player gezeichnet hat: id, width, height, pixel_ratio und presentation. Alle diese sind schreibgeschützt; screen update kann sie nicht senden, und ein archivierter Bildschirm liefert seine Zeile weiterhin zurück.

commands listet die letzten 10 Neustarts, Neuladevorgänge, Cache-Leerungen, App-Neustarts und Updates des Bildschirms auf, den ältesten zuerst, jeweils mit seinem type, seinem state (queued, sent, done, failed, expired, cancelled oder superseded), seinem source (schedule für einen Neustart, den ein Neustartplan ausgelöst hat; fehlt bei einem, den eine Person angefordert hat), seinem expires_at und wann er gesendet oder ausgeführt wurde. reboot_schedule und next_reboot_at melden den Neustartplan des Bildschirms und den Beginn seines nächsten Neustartfensters. Eine Cache-Leerung, ein App-Neustart oder ein Update, die der Player beendet hat, enthält außerdem cause und eine kurze detail, die --human als Spalte CAUSE und als Zeile unter der Tabelle ausgibt. suspension enthält message und since eines ausgesetzten Bildschirms. Ein von screen replace archivierter Bildschirm meldet replaced_by, den Bildschirm, auf den sein Gerät umgezogen ist. Mit --human gibt screen show jeden davon aus.

last_outage meldet den letzten Ausfall des Bildschirms: offline_since, back_at und duration_s und, sobald ein Zustandsbericht sie festlegt, eine likely_cause aus device_restart, app_crash, app_restart, network oder platform; sie fehlt, wenn screenRIG sie nicht bestimmen kann. Ein Neustart wird festgelegt, sobald der Bildschirm zurückkehrt, während eine Netzwerk- oder screenRIG-Ursache auf den nächsten Zustandsbericht des Players wartet, was bis zu fünfzehn Minuten dauern kann. glass enthält die Urteile, die screenRIG aus den Wiedergabeberichten und Screenshots des Bildschirms gezogen hat. Mit --human gibt screen show Last outage und Likely cause sowie Playlist stalled, Blank screen oder Frozen picture für ein Urteil aus, das ein Problem gefunden hat; Benachrichtigungen sagt, was die Urteile nicht beurteilen.

folder_id nennt den Ordner des Bildschirms und fehlt im Projektstamm. fields, location und wall erscheinen, sobald sie gesetzt sind: siehe screen update und screen wall set. Jeder Eintrag in observation.surfaces trägt außerdem rotation, wenn der Player ihn lesen kann, und eine Videowand meldet einen Eintrag pro Ausgang, benannt, wie screen wall set sie entgegennimmt.

manifest_upgrade meldet, ob der Player auf die ihm ausgestellte Playlist-Version umgestellt hat. Sein state ist none, pending, downloading, preparing, activating, retrying, failed, blocked, partial oder current, neben desired_playlist und active_playlist (id, name und revision), der letzten Version, die der Player bestätigt hat; das beweist nicht, dass jede Sitzung sie zeigt. Ein fehlschlagendes oder teilweises Upgrade trägt außerdem code, attempt, retry_at und missing_page_count. --human gibt Target v42 · Playing v41 aus. Ein fehlgeschlagenes Upgrade plant keine Wiederholung: Beheben Sie die Ursache und führen Sie dann screen reload aus oder weisen Sie die Playlist erneut zu. Eine gespeicherte Zuweisung bestätigt die Wiedergabe nicht.

applications_unsupported erscheint, solange der gekoppelte Player application- oder iframe-Seiten nicht anzeigen kann: Das Manifest bleibt unverändert, und der Player überspringt sie. recovery_pending erscheint, solange ein Display, das seine gespeicherte Identität verloren hat, anbietet, sich als dieser Bildschirm wieder zu verbinden, mit dem expires_at des Angebots und den Werten platform, model, firmware und manufacturer, die das Display meldet: siehe screen recover.

screen update#

Ändert Name, Playlist-Zuweisung, Zeitzonen-Überschreibung, Felder oder Standort eines Bildschirms in einem Aufruf.

screen update <id> [--name NAME] [--playlist-id ID | --clear-playlist] [--timezone ZONE | --clear-timezone] [--field NAME=VALUE...] [--unset-field NAME...] [--clear-fields] [--location LAT,LON [--location-name NAME] [--address TEXT] | --clear-location] [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
--name NAMEstringneinUnverändertAnzeigename für den Bildschirm.
--playlist-id IDstringneinUnverändertDie Playlist pl_, die dieser Bildschirm abspielen soll. Nicht mit --clear-playlist.
--clear-playlistbooleanneinausLöscht die eigene Standardzuweisung des Bildschirms. Kopplung und jede andere Inhaltsebene bleiben bestehen, und der Bildschirm ist im Leerlauf, wenn keine zutrifft. Ein archivierter Bildschirm antwortet mit screen_archived. Nicht mit --playlist-id.
--timezone ZONEstringneinUnverändertÜberschreibt die Zeitzone des Bildschirms mit einem IANA-Zonenkennzeichen wie America/Los_Angeles. Validiert gegen die Zonendatenbank des Servers. Nicht mit --clear-timezone.
--clear-timezonebooleanneinausEntfernt die Überschreibung, sodass der Bildschirm wieder der Zone folgt, die sein Gerät meldet. Nicht mit --timezone.
--field NAME=VALUEstringneinUnverändertSetzt ein Feld und lässt die übrigen unberührt. Wiederholbar, jeder Name einmal. NAME besteht aus 1 bis 32 Kleinbuchstaben, Ziffern oder Unterstrichen, VALUE aus 1 bis 200 Zeichen nach dem Trimmen, und ein Bildschirm enthält höchstens 32 Felder. Nicht mit --clear-fields.
--unset-field NAMEstringneinUnverändertEntfernt ein Feld. Wiederholbar. Nicht mit --clear-fields.
--clear-fieldsbooleanneinausEntfernt alle Felder. Nicht mit --field oder --unset-field.
--location LAT,LONstringneinUnverändertWo sich der Bildschirm befindet, in Dezimalgrad: Breitengrad von -90 bis 90, Längengrad von -180 bis 180. Ersetzt den gesamten Standort, wiederholen Sie also --location-name und --address, um sie beizubehalten. Nicht mit --clear-location.
--location-name NAMEstringneinkeineDer kurze Ortsname, den eine Karte anzeigt, 1 bis 40 Zeichen. Erfordert --location.
--address TEXTstringneinkeineEine Adresse für Personen und Agenten, 1 bis 200 Zeichen. Erfordert --location.
--clear-locationbooleanneinausEntfernt den Standort. Nicht mit --location.
--expect-rev REVISIONstringneinkeineOptionale Revisionsvoraussetzung. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.

Geben Sie mindestens eine der Optionen --name, --playlist-id, --clear-playlist, --timezone, --clear-timezone, --field, --unset-field, --clear-fields, --location oder --clear-location an.

screenrig screen update scr_01EXAMPLESCREEN00000000 --name "Lobby"
screenrig screen update scr_01EXAMPLESCREEN00000000 --field store_number=0142 --field region=north
screenrig screen update scr_01EXAMPLESCREEN00000000 --location 47.6062,-122.3321 --location-name "Seattle HQ"
screenrig screen update scr_01EXAMPLESCREEN00000000 --clear-playlist --expect-rev 3

Unter Überprüfung wird eine Änderung von --playlist-id allein wie screen assign vorgeschlagen; eine Vorschlags-Sitzung kann die anderen Felder nicht ändern.

Das Ändern von Feldern oder Standort ändert die Manifest-Revision des Bildschirms, sodass ein Bildschirm, der eine Playlist zeigt, die neuen Werte übernimmt. Karten und Iframe-Seiten lesen sie pro Bildschirm, sodass eine Playlist die eigenen Werte jedes Bildschirms zeigt: {screen.field.NAME}, {screen.name} und {screen.timezone} füllen jeden Textparameter einer Karte, "location": "{screen.location}" füllt den Standort einer Karte in der Form, die diese Karte annimmt, und ein Kartendaten-Schlüssel kann {screen.field.NAME} enthalten, etwa menu-{screen.field.store_number}. Ein Bildschirm, dem ein Feld fehlt, zeigt diesen Text leer, und die Karte kommt ohne diesen Kartendaten-Schlüssel oder Standort aus. screen show listet die Felder und den Standort eines Bildschirms auf, und screen list findet Bildschirme anhand davon. Siehe Bildschirm-Token in Iframe-Adressen und Anwendungsparametern.

screen publish#

Erstellen Sie eine neue Playlist aus einer vorbereiteten Datei und weisen Sie sie einem Bildschirm zu.

screen publish <id> <file> [--expect-rev REVISION] [--note TEXT] [--no-wait] [--poll-ms MS] [--timeout MS] [--no-progress]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
<file>PfadjakeineDas vorbereitete Playlist-Dokument oder - für stdin.
--expect-rev REVISIONstringneinkeineOptionale Bildschirm-Revision-Voraussetzung. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.
--note TEXTstringneinkeineEine Notiz für die Person, die die Änderung überprüft: Klartext, höchstens 280 Zeichen. Wird ignoriert, wenn die Änderung sofort angewendet wird.
--no-waitbooleanneinausKehrt nach der Zuweisung zurück, ohne zu warten, bis der Player die Playlist anzeigt.
--poll-ms MSintegernein2000Intervall zwischen den Bildschirmabfragen während des Wartens.
--timeout MSintegernein120000Frist für das Warten. Sie begrenzt auch jede zugrunde liegende Anfrage.
--no-progressbooleanneinausUnterdrückt die Phasenzeilen auf stderr.
screenrig screen publish scr_LOBBY lobby.json

Dies erstellt eine neue Playlist und weist sie zu. Es aktualisiert keine bestehende Playlist nach Namen. Prüfen Sie zuerst das vorbereitete Dokument. Wiederholen Sie identische Eingaben, um einen mehrdeutigen Fehler fortzusetzen. Die Rückmeldung der Zuweisung beweist keine Wiedergabe; fordern Sie einen Screenshot separat an. Bei Überprüfung gibt es stage: pending_review mit beiden Bewertungen zurück. Siehe Playlists vorbereiten, veröffentlichen und bearbeiten.

Nach der Zuweisung wartet der Befehl, bis der Player die Playlist anzeigt: data.stage ist playing und data.playback_verified ist true. Phasenwechsel werden sofort auf stderr ausgegeben, als JSON-Zeilen oder, mit --human, als Text. Wird nach einer abgeschlossenen Veröffentlichung derselbe Befehl wiederholt, meldet er diese Veröffentlichung (data.already_published), solange der Bildschirm noch ihre Playlist zeigt, und veröffentlicht neu, sobald der Bildschirm weitergewechselt hat.

screen assign#

Weisen Sie einem Bildschirm oder einer Flotte von Bildschirmen eine Playlist zu.

screen assign (<id>... | --tag TAG | --folder ID) --playlist-id ID [--expect-rev REVISION] [--note TEXT]
ParameterTypErforderlichStandardNotizen
<id>...stringeines von <id>, --tag oder --folderkeineEine oder mehrere scr_ Bildschirm-IDs. Mehrere IDs laufen als eine Flottenanfrage.
--tag TAGstringeines von <id>, --tag oder --folderkeineJeder aktive Bildschirm mit diesem Tag.
--folder IDstringeines von <id>, --tag oder --folderkeineJeder aktive Bildschirm im Bildschirmordner sfd_ und in den darin enthaltenen Ordnern.
--playlist-id IDstringjakeineDie pl_ Playlist, die abgespielt werden soll.
--expect-rev REVISIONstringneinkeineNur eine Bildschirm-ID. Optionale Revisionsvoraussetzung. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.
--note TEXTstringneinkeineEine Notiz für die Person, die die Änderung überprüft: Klartext, höchstens 280 Zeichen. Wird ignoriert, wenn die Änderung sofort angewendet wird.
screenrig screen assign scr_01EXAMPLESCREEN00000000 --playlist-id pl_01EXAMPLEPLAYLIST000000
screenrig screen assign --tag Lobby --playlist-id pl_01EXAMPLEPLAYLIST000000
screenrig screen assign --folder sfd_01EXAMPLEFOLDER000000000 --playlist-id pl_01EXAMPLEPLAYLIST000000

Eine Playlist, die Seiten plant, lässt sich jedem Bildschirm zuweisen: Die Zeitpläne werden in der eigenen Zeitzone des Bildschirms gelesen (seine Überschreibung, sonst die Zone, die sein Gerät meldet, sonst UTC).

Um in eine Flotte zu veröffentlichen, erstellen Sie die Playlist einmal mit playlist create und führen dann screen assign --tag TAG --playlist-id ID aus. screen publish richtet sich an einen Bildschirm.

Unter Propose-Zugriff oder in einem Projekt, das eine Überprüfung für Agentenänderungen verlangt, antwortet die Änderung an einem Bildschirm oder an der gesamten Flotte stattdessen mit pending_review: data.review enthält die ID der Überprüfung und ihre url im Dashboard, eine pending_review-Warnung nennt die URL, und data.next ist reviews show ID. Auf dem Display ändert sich nichts, bis eine Person sie genehmigt; wiederholen Sie den Schreibvorgang also nicht. Bei einem Bildschirm in einem geschützten Ordner antwortet dies auf jeder Zugriffsstufe mit pending_review, und eine genehmigende Person, die weder Sie noch die Person ist, für die Sie arbeiten, entscheidet darüber (sonst second_approver_required, Exit 3). Ein auf Bildschirmordner beschränkter Aufrufer weist nur Bildschirmen seines Bereichs zu. Eine gespeicherte Zuweisung bestätigt die Wiedergabe nicht; screen screenshot zeigt, was auf dem Display zu sehen ist.

screen set-timezone#

Überschreibt die Zeitzone, in der die zivilen Regeln eines Bildschirms gelesen werden, oder entfernt die Überschreibung.

screen set-timezone <id> (--timezone ZONE | --clear) [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
--timezone ZONEstringeines von --timezone oder --clearkeineÜberschreibt die Zeitzone des Bildschirms mit einem IANA-Zonenkennzeichen wie Europe/Berlin.
--clearbooleaneines von --timezone oder --clearausEntfernt die Überschreibung, sodass der Bildschirm wieder der Zone folgt, die sein Gerät meldet. Nicht mit --timezone.
--expect-rev REVISIONstringneinkeineOptionale Revisionsvoraussetzung. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.
screenrig screen set-timezone scr_01EXAMPLESCREEN00000000 --timezone America/Los_Angeles
screenrig screen set-timezone scr_01EXAMPLESCREEN00000000 --clear

Jeder Bildschirm hat eine wirksame Zeitzone, und jede zivile Regel liest sie: Seitensichtbarkeit, Werbeplätze, Playlist-Zeitpläne, Übernahmen, Kampagnen, Anzeige- und Neustartpläne und {screen.timezone}. Sie ist diese Überschreibung, sonst die Zone, die der Player des Bildschirms von seinem Gerät meldet, sonst UTC. Ein Bildschirm braucht keine Überschreibung, solange sein Gerät die richtige Zone meldet. screen show gibt die wirksame Zone als Timezone aus, mit ihrer Herkunft, effective_timezone und timezone_source (screen, device oder default) in --json. Eine Änderung der wirksamen Zone erzeugt die Manifestrevision neu.

ZONE ist Area/City, etwa America/New_York oder Asia/Tokyo, oder UTC.

screen wall set#

Richtet die Videowand eines Bildschirms ein: ein Player, der zwei bis zwölf Displays als einen Canvas ansteuert.

screen wall set <id> --outputs NAMES --arrangement row|column|grid [--columns N] [--rotation 0|90|180|270] [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
--outputs NAMESstringjakeineZwei bis zwölf durch Kommas getrennte Ausgangsnamen in physischer Reihenfolge, von links nach rechts und dann von oben nach unten, wie screen show sie unter observation.surfaces auflistet, etwa HDMI-A-1,HDMI-A-2. Jeder besteht aus 1 bis 64 Buchstaben, Ziffern, Punkten, Unterstrichen oder Bindestrichen und wird nur einmal aufgeführt.
--arrangement ARRANGEMENTstringjakeinerow (eine Zeile, von links nach rechts), column (eine Spalte, von oben nach unten) oder grid (Zeilen mit je --columns Ausgängen, von oben nach unten).
--columns Nintegerja, für gridkeineAusgänge pro Zeile eines Rasters: 2 bis 6, wobei die Ausgänge auf mindestens 2 Zeilen verteilt werden. Für row und column abgelehnt.
--rotation DEGREESstringnein0Drehung jedes Ausgangs im Uhrzeigersinn: 0, 90, 180 oder 270. 90 und 270 sind Hochformat-Panels.
--expect-rev REVISIONstringneinkeineOptionale Revisionsvoraussetzung. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.
screenrig screen wall set scr_01EXAMPLESCREEN00000000 --outputs HDMI-A-1,HDMI-A-2 --arrangement row
screenrig screen wall set scr_01EXAMPLESCREEN00000000 --outputs DP-1,DP-2,DP-3 --arrangement row --rotation 90 --expect-rev 4
screenrig screen wall set scr_01EXAMPLESCREEN00000000 --outputs DP-1,DP-2,DP-3,DP-4,DP-5,DP-6 --arrangement grid --columns 3

Ein Player steuert die Displays als eine Videowand, sodass eine Playlist-Seite sich über alle erstreckt. Das Setzen ersetzt die gesamte Videowand, wiederholen Sie also --rotation und --columns, um sie beizubehalten. Nur die Kiosk-Installation des Linux-Players und der Windows-Player deklarieren die Fähigkeit display.wall; jeder andere Player antwortet mit wall_unsupported (Exit 5), und nichts ändert sich. Propose-Zugriff kann eine Videowand nicht ändern (insufficient_access). Eine Wand mit 2 oder 3 Displays erfordert Plus oder höher, eine mit 4 bis 12 Displays Enterprise: Ein Plan ohne sie antwortet mit feature_not_in_plan (Exit 8), während screen wall clear und ein Setzen, das die gespeicherte Wand behält, offen bleiben. Siehe Videowände.

Erstellen Sie die Playlist für die Form der Videowand mit playlist init und der ID des Bildschirms; das schreibt den passenden Canvas und format (displays, arrangement, orientation und columns für ein Raster). Die displays eines Primitivs, etwa [2] oder [1, 2, 5, 6], nennen die Display-Nummern, die es abdeckt, von 1 an von links nach rechts und dann von oben nach unten gezählt, und müssen ein Rechteck der Videowand ausfüllen. Das Zuweisen einer Playlist, deren Format nicht der Form der Videowand entspricht, ist playlist_format_mismatch (Exit 5); eine Playlist ohne Format spielt auf jedem Display dasselbe ab. Sobald der Bildschirm eine Playlist mit passendem Format abspielt, zeigt jedes Display nach einer Änderung 20 Sekunden lang seine Nummer und seinen Namen, sodass Sie die Reihenfolge auf dem Display prüfen können.

screen wall clear#

Entfernt die Videowand eines Bildschirms.

screen wall clear <id> [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
--expect-rev REVISIONstringneinkeineOptionale Revisionsvoraussetzung. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.
screenrig screen wall clear scr_01EXAMPLESCREEN00000000

Die zugewiesene Playlist wird nicht erneut geprüft: Hat sie ein format, wird das Manifest des Bildschirms herabgestuft (wall_format_mismatch), und der Player behält seine letzte gute Seite, bis Sie eine Playlist ohne Format zuweisen. Ein Bildschirm ohne Videowand antwortet unverändert. Propose-Zugriff kann eine Videowand nicht ändern (insufficient_access).

screen archive#

Einen Bildschirm ausblenden und das Glas abdunkeln.

screen archive <id> [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
--expect-rev REVISIONstringneinkeineOptionale Revisionsvoraussetzung. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.
screenrig screen archive scr_01EXAMPLESCREEN00000000

Archivieren blendet den Bildschirm aus der Standardliste aus und verdunkelt das Glas. Die Bindung des Players wird nicht aufgehoben.

Wer den Schlüssel des Displays besitzt, kann sich weiterhin verbinden, während der Bildschirm archiviert ist. Um Hardware endgültig auszumustern, lassen Sie den Bildschirm archiviert oder übertragen Sie den Bildschirm mit screen recover oder screen replace auf neue Hardware; beide setzen den alten Schlüssel außer Kraft.

screen unarchive#

Archivierten Bildschirm in die Standardliste zurückführen.

screen unarchive <id> [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
--expect-rev REVISIONstringneinkeineOptionale Revisionsvoraussetzung. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.
screenrig screen unarchive scr_01EXAMPLESCREEN00000000

Ein Player kann auch seinen eigenen Bildschirm archivieren: ein bestätigtes Zurücksetzen auf einem Player, der einen Schlüssel besitzt, oder das Entkoppeln eines per Cookie gekoppelten Browser-Players. screen show meldet dann archive_reason als device_reset oder device_unpair (project für ein von Ihnen angefordertes Archiv) mit archived_at. Der Bildschirm behält seine Gerätebindung aus allen Gründen, sodass ein Player, der diesen Schlüssel oder Geräte-Cookie noch besitzt, dunkel bleibt und beim Entarchivieren ohne erneutes Koppeln fortsetzt. Der zurückgesetzte oder entkoppelte Player verwirft seinen Schlüssel oder Cookie und koppelt sich als neuer Bildschirm erneut. Ein durch eine bestätigte Bildschirmwiederherstellung ersetzter Schlüssel bleibt außer Dienst.

Ein als replaced durch screen replace archivierter Bildschirm behält keine Gerätebindung, daher lehnt das Entarchivieren ihn ab, und screen delete entfernt ihn.

screen suspend#

Eine Mitteilung auf einem Bildschirm anstelle seines Inhalts anzeigen, bis er fortgesetzt wird.

screen suspend <id> --message TEXT [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
--message TEXTstringjakeineDie Mitteilung, die der Bildschirm anzeigt: 1 bis 280 Zeichen nach dem Trimmen. Zeilenvorschub ist das einzige erlaubte Steuerzeichen, und der Player bricht den Text um und behält seine Zeilenvorschübe.
--expect-rev REVISIONstringneinkeineOptionale Revisionsvoraussetzung. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.
screenrig screen suspend scr_01EXAMPLESCREEN00000000 --message "Closed for stocktake. Back at 9am."

Ein ausgesetzter Bildschirm zeigt die Nachricht anstelle seines Inhalts. Sonst ändert sich nichts: Playlist, Zeitplan, Übernahme und Display-Steuerung bleiben bestehen und entwickeln sich weiter, und screen resume zeigt, was der Bildschirm jetzt anzeigen würde. screen show meldet suspension mit message und since; das erneute Aussetzen eines ausgesetzten Bildschirms ersetzt die Nachricht und behält since. Das Aussetzen erhöht die Bildschirmrevision, und der Player ruft sofort erneut ab. Ein archivierter Bildschirm antwortet mit screen_archived.

screen resume#

Die Aussetzung eines Bildschirms beenden, damit er wieder seinen eigenen Inhalt zeigt.

screen resume <id> [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
--expect-rev REVISIONstringneinkeineOptionale Revisionsvoraussetzung. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.
screenrig screen resume scr_01EXAMPLESCREEN00000000

Fortsetzen zeigt wieder den eigenen Inhalt des Bildschirms an, ausgehend von dem, was der Bildschirm jetzt anzeigen würde, und der Player ruft sofort erneut ab. Ein Bildschirm, der nicht ausgesetzt ist, antwortet unverändert und ohne Revisionsänderung. Ein archivierter Bildschirm antwortet mit screen_archived.

screen delete#

Einen Bildschirm löschen.

screen delete <id> [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
--expect-rev REVISIONstringneinkeineOptionale Revisionsvoraussetzung. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.
screenrig screen delete scr_01EXAMPLESCREEN00000000

Löschen entfernt einen Bildschirm nur, solange ihm kein Player-Schlüssel zugeordnet ist, und screen show meldet deletable: true für diesen Bildschirm. Ein Player, der sich per Code koppelt, ob nativ oder als Browser-Player, besitzt einen Schlüssel, und der Schlüssel bleibt an seinen Bildschirm gebunden: Das Löschen dieses Bildschirms antwortet mit 409 screen_archive_required (Exit-Code 5), archivieren Sie ihn stattdessen. Nur ein per Cookie gekoppelter Browser-Player besitzt keinen Schlüssel, und sein Bildschirm lässt sich löschen, ob er gekoppelt ist oder noch aussteht.

Um ein Display, das einen Schlüssel besitzt, als neuen Bildschirm zu koppeln, bestätigen Sie einen Reset am Player selbst und lösen Sie dann den angezeigten Code mit screen pair ein; der alte Bildschirm bleibt archiviert. Um einen Bildschirm auf Ersatzhardware zu übertragen, verwenden Sie screen recover oder screen replace, wenn diese Hardware bereits als eigener Bildschirm gekoppelt ist.

screen recover#

Verbindet ein Display, das seine gespeicherte Identität verloren hat, wieder mit dem Bildschirm, als der es gekoppelt war.

screen recover <id> [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
--expect-rev REVISIONstringneinkeineOptionale Revisionsvoraussetzung. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.
screenrig screen show scr_01EXAMPLESCREEN00000000
screenrig screen recover scr_01EXAMPLESCREEN00000000

Ein Display, das seine gespeicherte Identität verloren hat und beim Koppeln nun die Hardwarekennungen dieses Bildschirms meldet, macht ein Angebot. screen show meldet es als recovery_pending mit seiner Frist und, wenn das Display sie meldet, mit platform, model, firmware und manufacturer. Nichts wird neu zugeordnet, bis dieser Befehl es bestätigt: Der Bildschirm behält seine Bezeichnung, seine Playlist, Zeitzone, Zeitpläne und seinen Verlauf, und der neue Schlüssel des Displays ersetzt den bisherigen, der nach einem Kulanzfenster von fünfzehn Minuten außer Kraft tritt. Ein durch einen Geräte-Reset archivierter Bildschirm bleibt archiviert, bis screen unarchive ausgeführt wird.

Vergleichen Sie vor der Bestätigung das gemeldete Modell und die Firmware mit dem Display, das Sie erwarten: Jede Anwendung, die auf einem Display läuft, kann dessen Kennungen lesen, sodass das Angebot allein nicht beweist, welches Display anfragt. Der Dienst lehnt ein Angebot ab, solange der aktuelle Player des Bildschirms noch online ist, und ein Bildschirm akzeptiert höchstens drei Angebote pro Stunde. Ohne Angebot antwortet der Befehl mit recovery_not_offered, ein Angebot, dessen Kopplungssitzung abgelaufen ist, antwortet mit recovery_expired, und Kennungen, die mehr als einem Bildschirm zugeordnet sind, antworten mit recovery_ambiguous; nichts wird neu zugeordnet. Die Wiederherstellung reicht nie über Projekte hinaus.

screen replace#

Das als anderer Bildschirm gekoppelte Gerät auf diesen Bildschirm verschieben und dabei die Einstellungen und den Verlauf dieses Bildschirms behalten.

screen replace <id> --with ID [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDer scr_ Bildschirm, der behalten werden soll.
--with IDstringjakeineDer scr_ Bildschirm, dessen gekoppeltes Gerät übernimmt. Er muss ein anderer Bildschirm des Projekts sein.
--expect-rev REVISIONstringneinkeineOptionale Revisionsvoraussetzung für den zu behaltenden Bildschirm. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.
screenrig screen replace scr_01EXAMPLESCREEN00000000 --with scr_01EXAMPLENEWSCREEN000000

Koppeln Sie die neue Hardware zuerst als eigenen Bildschirm und führen Sie dann den Austausch durch. Der Schlüssel des Geräts oder die Anmeldedaten eines Browser-Players öffnen nun <id>; dabei bleiben Name, Tags, Zeitzone, Playlist, Zeitpläne, Übernahme, Display-Zeitplan samt Überschreibung, Videowand, Kommentare, Felder, Standort und Verlauf erhalten, und Host und Player des Ersatzgeräts werden übernommen. Gerätezustand, Status, Speicher und Befehle in der Warteschlange beginnen von vorn. Der durch --with benannte Bildschirm wird mit archive_reason replaced archiviert, und replaced_by benennt <id>. Er behält keine Gerätebindung, daher kann screen unarchive ihn nicht wiederherstellen und screen delete entfernt ihn. Der Schlüssel, den <id> besaß, wird nach einem fünfzehnminütigen Kulanzfenster zurückgezogen, danach wird das alte Gerät abgelehnt. Beide Bildschirme müssen aktiv sein und einen gekoppelten Player haben: Ein Bildschirm, der noch auf die Kopplung wartet, antwortet mit resource_conflict, ein archivierter mit screen_archived, und eine Videowand benötigt einen Ersatz-Player, der display.wall meldet (wall_unsupported). Die Anfrage trägt immer einen Idempotenzschlüssel, und eine exakte Wiederholung gibt die ursprüngliche Antwort zurück.

Um ein Display, das seine gespeicherte Identität verloren hat und nun die Kennungen dieses Bildschirms meldet, wieder diesem Bildschirm zuzuordnen, verwenden Sie screen recover.

screen rotate-public-id#

Eine neue öffentliche ID für einen Bildschirm ausgeben.

screen rotate-public-id <id> [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
--expect-rev REVISIONstringneinkeineOptionale Revisionsvoraussetzung. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.
screenrig screen rotate-public-id scr_01EXAMPLESCREEN00000000

Die public_id des Bildschirms, der Berechtigungsnachweis in seiner öffentlichen URL, wird ersetzt, und jede mit dem alten Wert geöffnete Sitzung endet. Die Kopplung des Players bleibt erhalten: Ein gekoppelter Player öffnet eine neue Sitzung und zeigt weiter seine Inhalte.

screen reload#

Bitten Sie den Player eines Bildschirms oder jeden Player in einer Flotte, einmal neu zu laden.

screen reload (<id>... | --tag TAG | --folder ID) [--expires-in DURATION] [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>...stringeines von <id>, --tag oder --folderkeineEine oder mehrere scr_ Bildschirm-IDs. Mehrere IDs laufen als eine Flottenanfrage.
--tag TAGstringeines von <id>, --tag oder --folderkeineJeder aktive Bildschirm mit diesem Tag.
--folder IDstringeines von <id>, --tag oder --folderkeineJeder aktive Bildschirm im Bildschirmordner sfd_ und in den darin enthaltenen Ordnern.
--expires-in DURATIONstringnein24h, vom Server angewendetWie lange die Anfrage darauf wartet, dass ein Offline-Bildschirm online geht: 90s, 30m, 2h oder 1d, von 60s bis 24h.
--expect-rev REVISIONstringneinkeineNur eine Bildschirm-ID. Optionale Revisionsvoraussetzung.
screenrig screen reload scr_01EXAMPLESCREEN00000000
screenrig screen reload scr_01EXAMPLESCREEN00000000 --expires-in 2h
screenrig screen reload --tag Lobby
screenrig screen reload --folder sfd_01EXAMPLEFOLDER000000000

Die Antwort enthält reload_id, state und expires_at. Einem Bildschirm, der online ist, wird das Neuladen sofort gesendet (state sent); ein Offline-Bildschirm hält es als queued vor und erhält es, wenn er vor expires_at online geht, 24 Stunden nach der Anfrage, sofern --expires-in nichts anderes festlegt. Ein neueres Neuladen ersetzt ein noch in der Warteschlange stehendes; screen show listet die commands des Bildschirms auf, und screen command cancel bricht ein noch in der Warteschlange stehendes ab. In einer Flotte enthält jedes Ergebnis in reload dasselbe Feld state. Ein Web-Player lädt an seiner nächsten Seitenbegrenzung neu; ein nativer Player verbindet sich neu, lädt sein Manifest erneut und prüft auf ein Update. Ein Player ignoriert ein Neuladen innerhalb von zehn Minuten nach dem letzten, auf das er reagiert hat. Neuladen funktioniert bei aktiven und archivierten Bildschirmen und ändert die Bildschirmrevision nicht.

screen toast#

Eine einmalige Nachricht als Bühnen-Chrome auf einem Live-Bildschirm oder einer Flotte posten.

screen toast (<id>... | --tag TAG | --folder ID) --text TEXT [--level info|alert|error] [--duration-ms MS]
ParameterTypErforderlichStandardNotizen
<id>...stringeines von <id>, --tag oder --folderkeineEine oder mehrere scr_ Bildschirm-IDs. Mehrere IDs laufen als eine Flottenanfrage.
--tag TAGstringeines von <id>, --tag oder --folderkeineJeder aktive Bildschirm mit diesem Tag.
--folder IDstringeines von <id>, --tag oder --folderkeineJeder aktive Bildschirm im Bildschirmordner sfd_ und in den darin enthaltenen Ordnern.
--text TEXTstringjakeineEin bis 120 Zeichen, Zeilenumbruch als einziger Umbruch, höchstens drei Zeilen.
--level LEVELstringneininfoinfo, alert oder error. Ein Bildschirm kann die niedrigste Toast-Stufe festlegen, die er anzeigt, und error-Toasts werden immer angezeigt. Ein Player zeigt einen Toast in einer Zeile an, einen Zeilenvorschub als Leerzeichen. Der Erfolg des Befehls belegt keine Sichtbarkeit.
--duration-ms MSintegernein60000, vom Server angewendetZwischen 2000 und 60000, wenn angegeben.
screenrig screen toast scr_01EXAMPLESCREEN00000000 --text "Lobby closed"
screenrig screen toast --tag Lobby --text "Closing in ten minutes"
screenrig screen toast --folder sfd_01EXAMPLEFOLDER000000000 --text "Closing in ten minutes"

Ein Toast ist kein Primitivelement: Es belegt keinen Canvas-Slot, hat keine Ebene und nimmt nicht an Bereitschaft oder Crossfade teil. Das Neueste gewinnt, es gibt keine Warteschlange und kein Abbrechen, und der akzeptierte Umschlag ist nur { expires_at }. Setzen Sie niemals Zugangsdaten oder andere geheime Materialien in den Text.

screen identify#

Den Namen eines Bildschirms eine Weile über seinem Inhalt anzeigen, um ihn vor Ort zu finden.

screen identify <id> [--duration DURATION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
--duration DURATIONstringnein60s, vom Server angewendetWie lange die Überlagerung eingeblendet bleibt, gezählt ab dem Zeitpunkt, zu dem der Player die Anfrage erhält: 30s, 2m oder 1m30s, von 2s bis 10m.
screenrig screen identify scr_01EXAMPLESCREEN00000000
screenrig screen identify scr_01EXAMPLESCREEN00000000 --duration 2m

Der Player zeichnet eine Vollbild-Überlagerung über seinen Inhalt, mit dem Namen des Bildschirms sehr groß und seiner ID klein darunter. Die Wiedergabe läuft darunter weiter, und ein neueres Identifizieren ersetzt die Überlagerung. Der akzeptierte Umschlag enthält identify_id, duration_ms und expires_at 60 Sekunden nach der Anfrage, sodass ein Offline-Bildschirm sie später nie anzeigt. Nur ein Player, der die Fähigkeit identify meldet, zeigt die Überlagerung an: Jeder andere Bildschirm antwortet mit 409 identify_unsupported (Exit-Code 5), und es wird nichts gesendet; aktualisieren Sie daher den Player oder zeigen Sie den Namen mit screen toast an. Ein archivierter Bildschirm antwortet mit screen_archived, und ein Bildschirm, der noch auf die Kopplung wartet, antwortet mit resource_conflict. Das Identifizieren ändert die Bildschirmrevision nicht.

screen play-page#

Startet eine Seite der Playlist, die ein Bildschirm gerade abspielt, um diese Seite per Screenshot zu prüfen.

screen play-page <id> --page-id ID
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
--page-id IDstringjakeineEine Seite der Playlist, die der Bildschirm gerade abspielt: 1 bis 128 Zeichen.
screenrig screen play-page scr_01EXAMPLESCREEN00000000 --page-id welcome
screenrig screen screenshot scr_01EXAMPLESCREEN00000000

Die Seite beginnt auf dem Player des Bildschirms von vorn, und die Rotation läuft von dort weiter, sodass ein anschließend aufgenommener Screenshot diese Seite zeigt, ohne die Rotation abzuwarten. Die Seite muss zur Playlist gehören, die der Bildschirm gerade abspielt: seine Übernahme, sonst eine Kampagne, die gerade gilt, sonst sein Zeitplan, sonst seine zugewiesene Playlist. Jede andere Seite antwortet mit page_not_on_screen (Exit 5), und die Fehlerantwort nennt diese Playlist. Ein Player, der die Fähigkeit play_page in seinem Host-Bericht nicht deklariert, antwortet mit play_page_unsupported (Exit 5), und es wird nichts gesendet: Aktualisieren Sie den Player.

Die Antwort enthält playlist_id, page_id, manifest_revision und expires_at. Die Anfrage läuft nach 60 Sekunden ab und ändert die Revision des Bildschirms nicht. Ein archivierter Bildschirm antwortet mit screen_archived, und ein Bildschirm, der noch auf die Kopplung wartet, antwortet mit resource_conflict. Ein Wiederholungsversuch mit demselben Idempotenzschlüssel gibt die ursprüngliche Antwort erneut wieder.

screen screenshot#

Machen Sie eine Einzelaufnahme eines aktiven Bildschirms oder aller Bildschirme einer Flotte und speichern Sie sie auf der Festplatte.

screen screenshot <id> [--output FILE] [--timeout MS] [--poll-ms MS]
screen screenshot (<id> <id>... | --tag TAG | --folder ID) [--output DIRECTORY] [--concurrency N] [--timeout MS] [--poll-ms MS]
ParameterTypErforderlichStandardNotizen
<id>...stringeines von <id>, --tag oder --folderkeineEine oder mehrere scr_ Bildschirm-IDs.
--tag TAGstringeines von <id>, --tag oder --folderkeineJeder aktive Bildschirm mit diesem Tag, ohne Bildschirmanzahlbegrenzung.
--folder IDstringeines von <id>, --tag oder --folderkeineJeder aktive Bildschirm im Bildschirmordner sfd_ und in den darin enthaltenen Ordnern, ohne Bildschirmanzahlbegrenzung.
--output FILEPfadnein./<id>.webpFür einen Bildschirm ein Dateipfad; eine vorhandene Datei wird ohne Nachfrage überschrieben. Für mehrere IDs, --tag oder --folder ein Verzeichnis, das bei Fehlen erstellt wird und pro Bildschirm eine <screen_id>.webp erhält.
--concurrency Nintegernein4Erfasst gleichzeitig für mehrere IDs, --tag oder --folder, von 1 bis 8.
--timeout MSintegernein35000Wie lange auf die Aufnahme gewartet wird.
--poll-ms MSintegernein500Intervall zwischen Statusabfragen der Aufnahme.
screenrig screen screenshot scr_01EXAMPLESCREEN00000000 --output ./lobby.webp
screenrig screen screenshot --tag Lobby --output ./lobby-shots
screenrig screen screenshot --folder sfd_01EXAMPLEFOLDER000000000 --output ./north-shots

Der Befehl blockiert, bis das WebP auf der Festplatte ist. Der Umschlag meldet screen_id, capture_id, path, bytes, sha256, width und height und niemals Bildbytes. Das Neueste gewinnt: Eine spätere Anfrage ersetzt eine laufende Aufnahme. Ein Screenshot des Web-Players zeichnet jede iframe-Seite als dunkelgraue Kachel mit der Beschriftung „Embedded web page“ und jede Anwendung so, wie sie sich selbst darstellt; das Bild trägt keine Markierung für die Kachel und beweist daher nicht, dass eine Iframe-Seite gerendert wurde.

Bei mehreren IDs, --tag oder --folder, ist die Antwort ein Flottenergebnis mit action: "screenshot", dem selector und dem Verzeichnis output; jedes Ergebnis ok enthält path, bytes, sha256, width und height. Bei --tag listet die CLI zuerst die markierten Bildschirme auf und folgt dabei jeder Listenseite; jede Listenseite ist eine Agentenanfrage, die Aufnahmen selbst werden nicht gezählt, und mehrere IDs brauchen keine Liste. --idempotency-key wird in dieser Form abgelehnt, weil jede Aufnahme ihren eigenen Schlüssel verwendet. Scheitert eine Aufnahme unerwartet, lautet das Ergebnis dieses Bildschirms unexpected_error, es starten keine neuen Aufnahmen, die noch wartenden Bildschirme melden not_attempted, und der Exit-Code ist 1.

Für einen Bildschirm enthält der Umschlag außerdem frame.flat, ob dieses eine Bild einen einzigen einheitlichen Farbton hat, und picture, das Urteil des Bildschirms zu leer oder eingefroren, sofern es eines gibt. Ein einfarbiges Bild allein ist kein Urteil: Ein Übergang zwischen Seiten oder eine absichtlich schwarze Seite sieht genauso aus. Mit --folder listet die CLI den Ordner und jeden Ordner darin auf, ein screen list --folder pro Ordner, und ein Bildschirm, den die Liste als offline zeigt, wird ohne Aufnahme als fehlgeschlagen gemeldet.

Der Server lässt pro Minute 10 Aufnahmen pro Bildschirm, 30 pro Organisation und 30 pro Adresse zu; die CLI wiederholt Antworten mit 429 und 5xx mit Backoff und beachtet Retry-After. Eine Aufnahme, die nicht abgeschlossen werden kann, ist screenshot_unavailable (Exit 5): Der Bildschirm ist offline, die Anfrage timed_out, die angezeigte Seite enthält eine Fläche, die der Player nicht aufnehmen kann (unsupported_surface, etwa ein sichtbares Drittanbieter-Iframe im Browser-Player), die Aufnahme des Players ist fehlgeschlagen (capture_failed), oder die Aufnahme war noch ausstehend, als --timeout ablief. --timeout 0 überlässt das Warten dem Server, der eine unbeantwortete Anfrage nach 30 Sekunden verfallen lässt. Eine fehlgeschlagene Aufnahme enthält error.display, wenn der Player sein Display gemeldet hat: power, connected, reported_at und stale (nach 35 Minuten). Ein aktueller Bericht mit off oder standby legt nahe, es erneut zu versuchen, wenn das Display eingeschaltet ist.

screen live start#

Startet die Live-Ansicht eines Bildschirms oder erneuert sie und gibt die Dashboard-Seite aus, die sie zeigt.

screen live start <id> [--duration DURATION] [--wait DURATION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
--duration DURATIONstringnein5mWie lange die Sitzung dauert, sofern sie nicht erneuert wird: 30s bis 5m, etwa 90s oder 5m. Eine Sitzung endet spätestens fünf Minuten nach ihrem Beginn.
--wait DURATIONstringnein30sWie lange auf den Start der Veröffentlichung durch den Player gewartet wird: 1s bis 10m, oder 0, um sofort zurückzukehren.
screenrig screen live start scr_01EXAMPLESCREEN00000000
screenrig screen live start scr_01EXAMPLESCREEN00000000 --duration 2m --wait 60s

Die Live-Ansicht zeigt im Dashboard als Video, was ein Bildschirm abspielt; die CLI startet, liest und beendet die Sitzung und überträgt das Video nie. data ist die Sitzung mit viewer_url, der zu öffnenden Seite. Das Starten eines Bildschirms, der bereits eine Sitzung hat, erneuert sie: Das Lease reicht dann bis zum späteren von beiden, seinem aktuellen Ende oder --duration ab jetzt, höchstens bis fünf Minuten nach Beginn der Sitzung. Danach endet die Sitzung von selbst: Nichts erneuert oder startet sie neu, und die nächste Sitzung braucht ein neues screen live start. Sie endet früher, wenn das Lease abläuft, bei screen live stop oder wenn der Player sie beendet.

Der Befehl fordert den Player zum Veröffentlichen auf und liest die Sitzung jede Sekunde, höchstens --wait lang, bis der Player die Verbindung meldet. Hat sich der Player nach Ablauf der Wartezeit nicht verbunden, lautet die Antwort weiterhin ok mit der Warnung live_not_ready: Lesen Sie screen live status erneut oder öffnen Sie viewer_url. Eine Sitzung, die während des Wartens endete, ist live_unavailable (Exit 5), und ihr Detail nennt ended_reason, etwa consent_timeout (unter Android erlaubt jemand am Bildschirm die Bildschirmaufnahme einmal bei jedem Start des Players). Auch ein Offline-Bildschirm ist live_unavailable, und ein archivierter antwortet mit screen_archived. Ein Player, der die Fähigkeit live_view nicht deklariert, antwortet mit live_unsupported (Exit 5), und es wird nichts gesendet: Aktualisieren Sie den Player. Ein Server ohne Media-Relay antwortet mit feature_unavailable: Verwenden Sie screen screenshot. Die Live-Ansicht ist kostenlos. Siehe Live-Ansicht.

screen live status#

Liest die Sitzung der Live-Ansicht eines Bildschirms.

screen live status <id>
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
screenrig screen live status scr_01EXAMPLESCREEN00000000

state ist idle (keine Sitzung), requested (der Player wurde angefragt), publishing (das Relay hält sein Video) oder ended, mit ended_reason zehn Minuten lang. publisher.connected ist der eigene Bericht des Players, höchstens 45 Sekunden alt, und kein Beweis für ein Bild. data enthält viewer_url.

screen live stop#

Beendet die Sitzung der Live-Ansicht eines Bildschirms.

screen live stop <id>
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
screenrig screen live stop scr_01EXAMPLESCREEN00000000

Beendet die Sitzung, weist den Player an, die Veröffentlichung zu beenden, und gibt dann die Sitzung im aktuellen Stand aus: ended mit ended_reason stopped. Der Befehl gelingt, wenn keine Sitzung besteht. Eine Sitzung endet außerdem von selbst, wenn ihr Lease abläuft.

screen live frame#

Speichert JPEG-Frames dessen, was ein Bildschirm abspielt, aus seinem Live-Stream, um Wiedergabe und Bewegung zu prüfen.

screen live frame <id> [--output PATH] [--count N] [--interval DURATION] [--duration DURATION] [--wait DURATION] [--stop]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie scr_ Bildschirm-ID.
--output PATHPfadneindas ArbeitsverzeichnisEine Datei für einen Frame oder ein Verzeichnis, das pro Frame frame-<captured_at>.jpg erhält, wobei die Doppelpunkte der Zeit als Bindestriche geschrieben werden. --count über 1 erfordert ein Verzeichnis.
--count Nintegernein1Wie viele neue Frames gespeichert werden.
--interval DURATIONstringnein1sPause zwischen Frames: 1s bis 5m, oder 0, um jeden Frame bei Eintreffen zu übernehmen.
--duration DURATIONstringnein2mLease der Live-Sitzung, die dieser Befehl startet: 30s bis 5m. Der Wert wird verlängert, um die Frames plus 30 Sekunden abzudecken, und ein Lauf, der mehr als fünf Minuten benötigt, wird abgelehnt.
--wait DURATIONstringnein30sWie lange auf den Start der Veröffentlichung durch den Player und auf jeden Frame gewartet wird: 1s bis 10m, oder 0 für einen einmaligen Versuch.
--stopbooleanneinausBeendet die Live-Sitzung am Ende, auch wenn ein Frame fehlgeschlagen ist.
screenrig screen live frame scr_01EXAMPLESCREEN00000000
screenrig screen live frame scr_01EXAMPLESCREEN00000000 --output now.jpg --stop
screenrig screen live frame scr_01EXAMPLESCREEN00000000 --output frames/ --count 5 --interval 1s

Der Befehl startet die Live-Sitzung, wartet, bis der Player veröffentlicht, fordert beim Media-Relay Frames an und liest jeden neuen Frame einmal. Ein Frame ist das Video, wie der Encoder des Players es gesendet hat, auf höchstens 1280x720 skaliert und verlustbehaftet, etwa einer pro Sekunde: Er zeigt Bewegung und was gerade auf dem Display zu sehen ist; vergleichen Sie also Frames (--count 5 --interval 1s), um zu prüfen, ob sich Inhalte bewegen. Er ist kein Screenshot, der weiterhin der Layoutnachweis bleibt. Frames sind kostenlos.

data ist {screen_id, live_id, frames}, mit path, captured_at, width, height, bytes und sha256 pro Frame, und stopped true, wenn --stop die Sitzung beendet hat. Ohne --stop bleibt die Sitzung ihrem Lease überlassen. Ein Player, der nicht innerhalb von --wait veröffentlicht oder innerhalb davon keinen neuen Frame sendet, ist live_not_ready (Exit 5); unter Android erlaubt jemand am Bildschirm die Bildschirmaufnahme einmal bei jedem Start des Players. Eine Sitzung, die beendet wurde oder deren Frames nicht mehr eintreffen, ist live_unavailable (Exit 5). Ein Player ohne die Fähigkeit live_view antwortet mit live_unsupported, und ein Server ohne Media-Relay oder Frames antwortet mit feature_unavailable (Exit 4): Verwenden Sie screen screenshot.

screen tag#

Tags auf einem Bildschirm oder einer Flotte setzen, hinzufügen, entfernen oder löschen.

screen tag (<id>... | --tag TAG | --folder ID) (--set TAGS | --add TAGS | --remove TAGS | --clear) [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>...stringeines von <id>, --tag oder --folderkeineEine oder mehrere scr_ Bildschirm-IDs. Mehrere IDs laufen als eine Flottenanfrage.
--tag TAGstringeines von <id>, --tag oder --folderkeineJeder aktive Bildschirm mit diesem Tag.
--folder IDstringeines von <id>, --tag oder --folderkeineJeder aktive Bildschirm im Bildschirmordner sfd_ und in den darin enthaltenen Ordnern.
--set TAGSstringgenau eine AktionkeineDas gesamte Set mit diesen durch Kommas getrennten Tags ersetzen, z. B. Lobby,Floor2.
--add TAGSstringgenau eine AktionkeineFügen Sie diese durch Kommas getrennten Tags hinzu.
--remove TAGSstringgenau eine AktionkeineDiese durch Kommas getrennten Tags entfernen.
--clearbooleangenau eine AktionausAlle Tags entfernen.
--expect-rev REVISIONstringneinkeineNur eine Bildschirm-ID. Optionale Revisionsvoraussetzung.
screenrig screen tag scr_01EXAMPLESCREEN00000000 --set Lobby,Floor2
screenrig screen tag scr_01EXAMPLESCREEN00000000 --add Spring
screenrig screen tag --tag Lobby --add Spring
screenrig screen tag --folder sfd_01EXAMPLEFOLDER000000000 --add Spring

Ein Tag besteht aus 1 bis 32 Buchstaben oder Ziffern, und ein Bildschirm trägt höchstens 16 eindeutige Tags. Tags wählen Flotten aus; sie sind niemals Autorisierung und erreichen niemals den Player. Das Ändern von Tags erhöht die Bildschirmrevision, nicht die Manifestrevision. Für einen Bildschirm ist der Umschlag der aktualisierte Bildschirm. --add und --remove lesen zuerst den Bildschirm und schreiben die neue Menge geschützt durch --expect-rev oder die gerade gelesene Revision, sodass eine gleichzeitige Änderung revision_conflict (Exit 6) zurückgibt, anstatt überschrieben zu werden; führen Sie den Befehl erneut aus. In einer Flotte gelten --add und --remove atomar für jeden gespeicherten Satz eines Bildschirms, und ein Bildschirm, der mehr als 16 Tags hätte, schlägt in seinem eigenen Ergebnis mit invalid_request fehl.

Überall dort, wo sich Tags ändern (screen tag, eine Bildschirmaktualisierung über die API, der Tag-Editor des Dashboards), listet levels in der Antwort unter gained und lost die Kampagnen auf, deren Tag-Zielgruppe der Bildschirm betreten oder verlassen hat, jeweils mit source (campaign), id, der Anzahl screens und, wenn die Kampagne eine Reichweite hat, reach_before und reach_after. screen tag der Flotte summiert sie über die Flotte. Lesen Sie levels.lost, bevor Sie eine Tag-Änderung für harmlos halten: Das Entfernen des letzten passenden Tags von den Bildschirmen einer Kampagne leert diese Gruppe und löst die reach_dropped- und group_empty-Benachrichtigungen aus.

screen move#

Verschiebt Bildschirme und Bildschirmordner in einen Bildschirmordner oder zurück in den Projektstamm.

screen move <id>... (--folder ID | --root) [--note TEXT]
ParameterTypErforderlichStandardNotizen
<id>...stringjakeineBildschirm-IDs (scr_) und Bildschirmordner-IDs (sfd_) in beliebiger Mischung, jede einmal, insgesamt höchstens 1000.
--folder IDstringeines von --folder oder --rootkeineDer Ziel-Bildschirmordner sfd_.
--rootbooleaneines von --folder oder --rootausVerschiebt in den Projektstamm, außerhalb jedes Ordners.
--note TEXTstringneinkeineEine Notiz für die Person, die die Änderung überprüft: Klartext, höchstens 280 Zeichen. Wird ignoriert, wenn die Änderung sofort angewendet wird.
screenrig screen move scr_01EXAMPLESCREEN00000000 --folder sfd_01EXAMPLEFOLDER000000000
screenrig screen move sfd_01EXAMPLEFOLDER000000000 --root

Die Verschiebung ist eine Alles-oder-nichts-Anfrage. Ein Ordner wird samt Inhalt verschoben und kann nicht in sich selbst oder in einen Ordner in sich verschoben werden; Ordner sind höchstens 10 Ebenen tief verschachtelt. Elemente, die bereits im Ziel liegen, bleiben unverändert und werden nicht gezählt. data.screens und data.folders zählen, was verschoben wurde. data.levels listet unter gained und lost die Kampagnen auf, in deren Ordner-Zielgruppe die verschobenen Bildschirme eingetreten oder aus der sie ausgetreten sind (source campaign, mit reach_before und reach_after), und die Standard-Playlists von Ordnern, die sie zu zeigen begonnen oder aufgehört haben (source folder). Die Bildschirme lösen ihre Playlist innerhalb von etwa 15 Sekunden neu auf; screen show meldet effective_playlist, und campaign explain SCREEN_ID nennt den Grund.

Ein auf Bildschirmordner beschränkter Aufrufer verschiebt nur Bildschirme und Ordner innerhalb seines Bereichs in einen Ordner darin; alles andere, einschließlich des Projektstamms, lehnt die gesamte Verschiebung mit outside_screen_scope ab (Exit 3). Eine Verschiebung in einen oder aus einem geschützten Ordner antwortet mit pending_review und einer protected_change-Überprüfung, über die eine zweite genehmigende Person entscheidet; wiederholen Sie den Schreibvorgang also nicht. --note teilt der genehmigenden Person den Grund mit. Führen Sie nach einer unterbrochenen Anfrage denselben Befehl erneut aus, um den gespeicherten Idempotenzschlüssel wiederzuverwenden.

screen folder list#

Listet die Bildschirmordner des Projekts als Baum auf, mit den aktiven Bildschirmen direkt in jedem Ordner und seiner Standard-Playlist.

screen folder list
screenrig screen folder list

Gibt jeden Bildschirmordner des Projekts zurück, höchstens 1000, nach Name sortiert. data.items enthält pro Ordner id, name, parent_id (null im Projektstamm), default_playlist_id, sofern gesetzt, protected, sofern gesetzt, screens (die aktiven Bildschirme direkt darin, nicht die der darunterliegenden Ordner) und revision. Mit --human ist die Ausgabe der Baum, eine Zeile pro Ordner mit seinem Pfad. Der Ordner eines Bildschirms wird als folder_id in screen list und screen show gemeldet und fehlt im Projektstamm. Nur-Lese-Zugriff genügt.

screen folder show#

Zeigt einen Bildschirmordner an.

screen folder show <id>
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie Bildschirmordner-ID sfd_.
screenrig screen folder show sfd_01EXAMPLEFOLDER000000000

Gibt einen Ordner mit den Feldern zurück, die screen folder list zurückgibt. Nur-Lese-Zugriff genügt.

screen folder create#

Erstellt einen Bildschirmordner im Projektstamm oder in einem anderen Ordner.

screen folder create --name NAME [--parent ID] [--default-playlist-id ID] [--note TEXT]
ParameterTypErforderlichStandardNotizen
--name NAMEstringjakeineOrdnername, getrimmt: 1 bis 100 Zeichen, keine Steuerzeichen, nicht . oder .. und eindeutig unter den Ordnern derselben Ebene (resource_conflict, Exit 5).
--parent IDstringneinProjektstammErstellt ihn im Bildschirmordner sfd_.
--default-playlist-id IDstringneinkeineDie genehmigte Playlist pl_, die die Bildschirme des Ordners zeigen, wenn sie keine eigene haben, es sei denn, ein näher am Bildschirm liegender Ordner legt eine fest (playlist_not_approved, Exit 5).
--note TEXTstringneinkeineEine Notiz für die Person, die die Änderung überprüft: Klartext, höchstens 280 Zeichen. Wird ignoriert, wenn die Änderung sofort angewendet wird.
screenrig screen folder create --name "North Tower"
screenrig screen folder create --name "Level 2" --parent sfd_01EXAMPLEFOLDER000000000 --default-playlist-id pl_01EXAMPLEPLAYLIST000000

Eine Organisation enthält höchstens 1000 Ordner über alle ihre Projekte (quota_exceeded), verschachtelt bis zu 10 Ebenen tief (invalid_request). Legen Sie Bildschirme mit screen move hinein. Ein Ordner adressiert dann seine Bildschirme in den Flottenbefehlen und als Kampagnen-Zielgruppe: siehe Bildschirmordner.

Ein auf Bildschirmordner beschränkter Aufrufer erstellt Ordner nur innerhalb seines Bereichs: --parent muss ein Ordner davon sein (outside_screen_scope, Exit 3). Ein in einem geschützten Ordner erstellter Ordner antwortet mit pending_review und einer protected_change-Überprüfung, über die eine genehmigende Person entscheidet, die weder Sie noch die Person ist, für die Sie arbeiten; wiederholen Sie den Schreibvorgang also nicht. --note teilt der genehmigenden Person den Grund mit. Führen Sie nach einer unterbrochenen Anfrage denselben Befehl erneut aus, um den gespeicherten Idempotenzschlüssel wiederzuverwenden.

screen folder update#

Benennt einen Bildschirmordner um, verschiebt ihn samt Inhalt oder setzt oder löscht seine Standard-Playlist.

screen folder update <id> [--name NAME] [--parent ID | --root] [--default-playlist-id ID | --clear-default] [--expect-rev REVISION] [--note TEXT]
screen folder update <id> --unprotect [--expect-rev REVISION] [--note TEXT]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie Bildschirmordner-ID sfd_.
--name NAMEstringneinUnverändertNeuer Ordnername, nach den Regeln von screen folder create.
--parent IDstringneinUnverändertVerschiebt ihn samt Inhalt unter den Bildschirmordner sfd_. Nicht mit --root.
--rootbooleanneinausVerschiebt ihn in den Projektstamm. Nicht mit --parent.
--default-playlist-id IDstringneinUnverändertDie genehmigte Playlist pl_, die die Bildschirme des Ordners zeigen, wenn sie keine eigene haben. Nicht mit --clear-default.
--clear-defaultbooleanneinausEntfernt seine Standard-Playlist. Nicht mit --default-playlist-id.
--unprotectbooleanneinausSchlägt vor, den Schutz des Ordners aufzuheben. Es wird allein gesendet, ohne eine der obigen Optionen, und eine zweite genehmigende Person entscheidet über die Überprüfung.
--expect-rev REVISIONstringneinkeineOptionale Revisionsvoraussetzung. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.
--note TEXTstringneinkeineEine Notiz für die Person, die die Änderung überprüft: Klartext, höchstens 280 Zeichen. Wird ignoriert, wenn die Änderung sofort angewendet wird.

Geben Sie mindestens eine der Optionen --name, --parent, --root, --default-playlist-id, --clear-default oder --unprotect an.

screenrig screen folder update sfd_01EXAMPLEFOLDER000000000 --name "Northern"
screenrig screen folder update sfd_01EXAMPLEFOLDER000000000 --root
screenrig screen folder update sfd_01EXAMPLEFOLDER000000000 --default-playlist-id pl_01EXAMPLEPLAYLIST000000 --expect-rev 3
screenrig screen folder update sfd_01EXAMPLEFOLDER000000000 --clear-default
screenrig screen folder update sfd_01EXAMPLEFOLDER000000000 --unprotect --note "Menu boards move next week"

Ein Ordner kann nicht in sich selbst oder in einen Ordner in sich verschoben werden, und dieselben Werte bewirken nichts. Eine Verschiebung oder eine Änderung der Standard-Playlist löst die darin liegenden Bildschirme innerhalb von etwa 15 Sekunden neu auf, und data.levels listet die Kampagnen auf, in deren Ordner-Zielgruppe diese Bildschirme eingetreten oder aus der sie ausgetreten sind (source campaign), sowie die Standard-Playlists von Ordnern, die sie erhalten oder verloren haben (source folder).

Eine Umbenennung wirkt bei einem geschützten Ordner sofort. Eine Verschiebung oder eine Standard-Playlist eines Ordners, der geschützt ist oder einen geschützten Ordner enthält, antwortet mit pending_review und einer protected_change-Überprüfung, über die eine zweite genehmigende Person entscheidet (eine genehmigende Person, die weder Sie noch die Person ist, für die Sie arbeiten; sonst second_approver_required, Exit 3). Bis dahin ändert sich nichts, wiederholen Sie den Schreibvorgang also nicht; --note teilt der genehmigenden Person den Grund mit. Eine Person, die genehmigen kann, schützt einen Ordner im Dashboard; die CLI schlägt nur das Aufheben des Schutzes mit --unprotect vor. Siehe Geschützte Ordner. Ein auf Bildschirmordner beschränkter Aufrufer ändert nur Ordner innerhalb seines Bereichs und verschiebt sie nur in ein übergeordnetes Element darin (outside_screen_scope, Exit 3), und nie den Schutz eines Ordners, den sein Bereich nennt.

screen folder delete#

Löscht einen Bildschirmordner; seine Bildschirme und Ordner rücken eine Ebene nach oben.

screen folder delete <id> [--expect-rev REVISION] [--note TEXT]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie Bildschirmordner-ID sfd_.
--expect-rev REVISIONstringneinkeineOptionale Revisionsvoraussetzung. Weglassen, um die aktuelle Ressource zu schreiben. Ein übergebener veralteter Wert ist revision_conflict: erneut abrufen, erneut anwenden, erneut versuchen.
--note TEXTstringneinkeineEine Notiz für die Person, die die Änderung überprüft: Klartext, höchstens 280 Zeichen. Wird ignoriert, wenn die Änderung sofort angewendet wird.
screenrig screen folder delete sfd_01EXAMPLEFOLDER000000000
screenrig screen folder delete sfd_01EXAMPLEFOLDER000000000 --expect-rev 3

Löscht nur den Ordner: Seine Bildschirme und Ordner rücken in den übergeordneten Ordner auf (den Projektstamm, wenn es keinen gibt), und diese Bildschirme lösen ihre Playlist neu auf. data ist id, deleted true und levels, die Kampagnen und Standard-Playlists von Ordnern, die die verschobenen Bildschirme erhalten oder verloren haben, mit reach_before und reach_after jeder Kampagne. Eine Kampagnen-Zielgruppe, die den Ordner nennt, lehnt das Löschen mit resource_conflict ab (Exit 5): Ändern oder löschen Sie diese Kampagnen zuerst.

Ein auf Bildschirmordner beschränkter Aufrufer löscht nur Ordner innerhalb seines Bereichs, nie einen Ordner, den sein Bereich selbst nennt (outside_screen_scope, Exit 3). Ein Ordner, der geschützt ist oder einen geschützten Ordner enthält, antwortet mit pending_review und einer protected_change-Überprüfung, über die eine zweite genehmigende Person entscheidet; wiederholen Sie den Schreibvorgang also nicht. --note teilt der genehmigenden Person den Grund mit.

Flottenergebnisse

Bei mehreren Bildschirm-IDs oder --tag führen screen assign, screen reload, screen toast und screen tag eine Aktion ohne Obergrenze für die Bildschirmzahl aus. Die CLI folgt begrenzten Ergebnisseiten automatisch, wartet, wenn Steuerbudgets erschöpft sind, und behält während des gesamten Vorgangs denselben Schlüssel und dieselbe ausgewählte Flotte. --tag wählt nur aktive Bildschirme aus; IDs dürfen jeden Bildschirm nennen. Eine einzelne Bildschirm-ID behält die Einzelbildschirm-Antwort. Flottenbefehle nehmen kein --expect-rev an, weil Revisionsprüfungen pro Bildschirm gelten. Jeder Flottenbefehl trägt einen Idempotenzschlüssel. Nach einer unterbrochenen Anfrage, etwa bei Verbindungsverlust, führen Sie denselben Befehl erneut aus, um fertige Bildschirme ohne wiederholte Nebenwirkungen erneut abzuspielen. Nach einer eindeutigen Antwort mit Fehlern wiederholen Sie nur die gescheiterten IDs: Den ganzen Befehl erneut auszuführen wirkt wieder auf jeden Bildschirm. Derselbe ausdrückliche --idempotency-key innerhalb von 24 Stunden liefert stattdessen die aufgezeichnete Antwort.

Ein Flottenbefehl akzeptiert Bildschirm-IDs, --tag TAG oder --folder ID; mehr als eines davon anzugeben ist ein Verwendungsfehler (Exit 2).

Der Umschlag behält ok: true. Teilweiser Erfolg ist eine normale Antwort, kein Transportfehler:

{
  "ok": true,
  "data": {
    "action": "reload",
    "matched": 3, "succeeded": 2, "failed": 1,
    "results": [
      { "screen_id": "scr_LOBBY", "status": "ok", "reload": { "reload_id": "…", "expires_at": "…", "state": "sent" } },
      { "screen_id": "scr_GONE", "status": "failed", "problem": { "code": "not_found", "status": 404 } },
      { "screen_id": "scr_ENTRANCE", "status": "ok", "reload": { "reload_id": "…", "expires_at": "…", "state": "queued" } }
    ]
  },
  "warnings": [{ "code": "fleet_partial_failure", "message": "1 of 3 screens failed; 2 succeeded." }]
}

Ein ok-Ergebnis enthält das Ein-Bildschirm-Ergebnis: revision für assign, revision und tags für Tag-Änderungen, reload für Neuladen und toast für Toast. Ein failed-Ergebnis enthält das Problem, das die eigene Anfrage dieses Bildschirms zurückgegeben hätte. Bildschirmbegrenzungen gelten weiterhin innerhalb einer Flottenaktion, sodass ein Flotten-Neuladen oder Toast rate_limited für einen gerade neu geladenen oder getoasteten Bildschirm melden kann; versuchen Sie diese Bildschirm-ID später erneut. Bildschirmbegrenzungen sind 6 Neuladungen und 20 Toasts pro Minute. Flotten-Neuladungen und Toasts belasten auch ein Organisationsbudget von 600 Bildschirmen pro Minute: Der Server pausiert, wenn das verbleibende Budget erschöpft ist, und die CLI beachtet Retry-After vor der automatischen Fortsetzung.

ErgebnisBeendigungscodeWarnung
Jeder zugeordnete Bildschirm war erfolgreich0keine
Einige oder alle Bildschirme sind ausgefallenDer Code des ersten fehlgeschlagenen Bildschirms, z. B. 4 für not_found oder 6 für revision_conflictfleet_partial_failure
Kein Bildschirm gefunden0fleet_no_match
Fehlerhafter Selektor oder Aktion2 oder der eigene Code der Anfrage; keine Bildschirmänderungenkeine

Bildschirmordner

Ein Bildschirmordner ordnet Bildschirme nach Ort. Eine Ordner-ID beginnt mit sfd_, und ein Bildschirm liegt in höchstens einem Ordner, gemeldet als folder_id in screen show und screen list und im Projektstamm nicht vorhanden. Eine Organisation enthält höchstens 1000 Ordner über alle ihre Projekte, verschachtelt bis zu 10 Ebenen tief, mit Namen aus 1 bis 100 Zeichen, die unter Geschwisterordnern eindeutig sind. Tags bleiben für Gruppen, die quer über Orte verlaufen.

screen folder list
screen folder show <id>
screen folder create --name NAME [--parent ID] [--default-playlist-id ID] [--note TEXT]
screen folder update <id> [--name NAME] [--parent ID | --root] [--default-playlist-id ID | --clear-default] [--unprotect] [--expect-rev REVISION] [--note TEXT]
screen folder delete <id> [--expect-rev REVISION] [--note TEXT]
screen move <id>... (--folder ID | --root) [--note TEXT]
screenrig screen folder create --name "North Tower"
screenrig screen folder create --name "Level 2" --parent sfd_01EXAMPLEFOLDER000000000 --default-playlist-id pl_01EXAMPLEPLAYLIST000000
screenrig screen move scr_01EXAMPLESCREEN00000000 --folder sfd_01EXAMPLEFOLDER000000000

screen folder list gibt jeden Ordner in data.items zurück mit id, name, parent_id (null im Projektstamm), default_playlist_id, sofern gesetzt, screens (die aktiven Bildschirme direkt darin) und revision. screen move akzeptiert Bildschirm- und Ordner-IDs in beliebiger Mischung, höchstens 1000 in einer Alles-oder-nichts-Anfrage; ein Ordner wird samt Inhalt verschoben und kann nicht in sich selbst oder in einen Ordner in sich verschoben werden. screen list --folder ID listet nur die Bildschirme direkt in einem Ordner auf.

Bei jedem Flottenbefehl, der --tag TAG akzeptiert, wählt --folder ID jeden aktiven Bildschirm in diesem Ordner und in jedem Ordner darin aus. Eine Kampagne akzeptiert dasselbe: --folder ID bei campaign create und campaign update oder eine {"folder":"sfd_…"}-Regel in --audience, die sich mit Tag-Regeln kombinieren lässt, wie in {"all":[{"folder":"sfd_BUILDING"},{"tag":"overhead"}]}.

Die Standard-Playlist eines Ordners ist das, was seine Bildschirme zeigen, wenn sie keine eigene Playlist haben. Der nächste Ordner über einem Bildschirm, der eine festlegt, gewinnt, und effective_playlist meldet source folder mit der Ordner-ID als entry_id. Eine Übernahme, eine Kampagne, ein Zeitplan und die dem Bildschirm selbst zugewiesene Playlist haben alle Vorrang davor; siehe Zeitpläne und Übernahme. Die Playlist muss genehmigt sein (playlist_not_approved, Exit 5).

Das Verschieben von Bildschirmen oder eines Ordners oder das Ändern der Standard-Playlist eines Ordners löst die betroffenen Bildschirme innerhalb von etwa 15 Sekunden neu auf. levels in der Antwort listet unter gained und lost die Kampagnen, deren Ordner-Zielgruppe diese Bildschirme betreten oder verlassen haben, und die Standard-Playlists von Ordnern, die sie zu zeigen begonnen oder aufgehört haben, jeweils mit source (campaign oder folder), id und der Anzahl screens. Das Löschen eines Ordners löscht nichts darin: Seine Bildschirme und Ordner rücken in den übergeordneten Ordner auf, und resource_conflict (Exit 5) verweigert das Löschen, solange eine Kampagnen-Zielgruppe den Ordner nennt. Das Löschen antwortet mit 200 und levels, wie es ein Verschieben tut.

Schreibvorgänge erfordern Manage-Zugriff: Eine Propose-Sitzung antwortet mit 403 insufficient_access. Eine Änderung, die einen geschützten Ordner betrifft, wartet auf eine zweite genehmigende Person und antwortet mit pending_review, und --note TEXT teilt der genehmigenden Person den Grund mit. Jeder Schreibvorgang hängt screen.folder_created, screen.folder_updated, screen.folder_deleted oder screen.moved an die Projektereignisse an.

Weitere Befehlsgruppen