Dokumentation

Datenquellen: CLI-Befehle

Feeds von Drittanbietern lesen, eine Karte planmäßig von einer externen Adresse aktuell halten und Microsoft- und Google-Verbindungen speichern.

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

Feeds

Ein Feed ist Drittanbieterdaten, die screenRIG abruft und zwischenspeichert, wie Wetter, Warnungen, Kurse und Schlagzeilen. feeds get liest ein Feed-Dokument, dasselbe Dokument, das eine eingebaute Karte mit denselben Parametern liest. Der Befehl ruft nie einen Drittanbieter auf.

feeds get#

Lesen Sie einen Feed einmal. Ein Feed ohne Dokument antwortet mit pending und seiner Wiederholzeit.

feeds get <family> [--lat DEGREES --lon DEGREES] [--radius-km KM] [--min-magnitude N] [--hours N]
                   [--basins LIST] [--base CODE] [--symbols IDS] [--currency CODE] [--url URL]...
                   [--station ID] [--country CODE] [--category drug|food] [--region NAME] [--date YYYY-MM-DD]
                   [--provider tfl|entur|digitransit] [--stops IDS] [--system ID]
                   [--public] [--geocode NAME:VALUE]... [--min-severity LEVEL] [--max-severity LEVEL]
                   [--min-urgency LEVEL] [--min-certainty LEVEL] [--event NAME]... [--exclude-event NAME]...
                   [--sender NAME]... [--status STATUS]... [--scope SCOPE]... [--language TAG]...
                   [--area-unknown hide|show]
ParameterTypErforderlichStandardNotizen
<family>stringjakeineweather, airquality, alerts, rates, crypto, earthquakes, cyclones, headlines, cap, tides, launches, drugalerts, respiratory, almanac, outdoorsafety, departures oder bikeshare.
--lat DEGREESnumberpro FamiliekeineBreitengrad, -90 bis 90, zusammen mit --lon. Erforderlich für weather, airquality, alerts, earthquakes, outdoorsafety und bikeshare; optional für cyclones, cap, tides und almanac.
--lon DEGREESnumberpro FamiliekeineLängengrad, -180 bis 180, zusammen mit --lat.
--radius-km KMnumbernein500 für earthquakesearthquakes Radius oder die cyclones Fläche, von 10 bis 20000 km. Erfordert --lat und --lon.
--min-magnitude MAGNITUDEnumbernein2.5earthquakes: minimale Magnitude, 0 bis 9.
--hours HOURSnumbernein24earthquakes: Fenster in Stunden, 1 bis 168.
--basins LISTstringneinalle Beckencyclones: durch Kommas getrennte Becken at, ep, cp, wp.
--base CODEstringneinEURrates: Basiswährung.
--symbols IDSstringja, für cryptokeineKommagetrennte Krypto-IDs oder Ticker, maximal 20.
--currency CODEstringneinusdcrypto: Angebotswährung.
--station IDstringneinkeinetides: eine NOAA-Gezeitenvorhersage-Stations-ID aus sieben Buchstaben oder Ziffern, etwa 9414290. Ohne sie wählen --lat und --lon die nächste Station im Umkreis von 100 km.
--country CODEstringpro Familiekeinedrugalerts: us, ca oder gb (erforderlich). respiratory: us oder gb (erforderlich). almanac: das ISO-3166-1-Land, dessen Feiertage aufgelistet werden.
--category CATEGORYstringneindrugdrugalerts: drug oder food.
--region NAMEstringneindas ganze Landrespiratory: ein US-Bundesstaat, ein Territorium oder DC per Name oder Postleitzahl-Kürzel, oder England oder eine UKHSA-Region, höchstens 48 Zeichen.
--date YYYY-MM-DDstringneindie Tage um heutealmanac: ein fester Tag.
--provider PROVIDERstringja, für departureskeinedepartures: der Verkehrsanbieter der Haltestellen, tfl, entur oder digitransit.
--stops IDSstringja, für departureskeinedepartures: ein bis vier Haltestellen-IDs des Anbieters, durch Kommas getrennt, etwa die TfL-StopPoint-ID 940GZZLUOXC, die Entur-IDs NSR:StopPlace:337 und NSR:Quay:568 oder die Digitransit-gtfsId HSL:1040129.
--system IDstringneindas nächste Systembikeshare: eine Bike-Sharing-System-ID, etwa Mobibikes_CA_Vancouver. Ohne sie wird das nächste gelistete System verwendet, das --lat und --lon abdeckt.
--url URLstringja, für headlineskeineheadlines: eine RSS- oder Atom-Feed-URL. cap: eine CAP-Alarm- oder ATOM/RSS-Index-URL; maximal 5 Wiederholungen.
--publicbooleanneinan ohne --urlcap: liest auch die öffentlichen Alarm-Feeds, die --lat und --lon abdecken. Erfordert --lat und --lon.
--geocode NAME:VALUEstringneinkeinecap: ein Gebietscode des Standorts, wie UGC:WAC033. Wiederholbar. Erfordert --lat und --lon.
--min-severity LEVELstringneinkeinecap: nur Alarme auf oder über minor, moderate, severe oder extreme.
--max-severity LEVELstringneinkeinecap: nur Alarme auf oder unter minor, moderate, severe oder extreme.
--min-urgency LEVELstringneinkeinecap: nur Alarme, die mindestens so dringend sind: past, future, expected oder immediate.
--min-certainty LEVELstringneinkeinecap: nur Alarme, die mindestens so sicher sind: unlikely, possible, likely oder observed.
--event NAMEstringneinirgendein Ereigniscap: nur dieses Ereignis; * steht für eine beliebige Zeichenfolge. Wiederholbar.
--exclude-event NAMEstringneinkeinecap: dieses Ereignis auslassen. Wiederholbar.
--sender NAMEstringneinirgendein Absendercap: nur Alarme von diesem Absender. Wiederholbar.
--status STATUSstringneinActualcap: Alarmstatus zum Lesen: Actual, Exercise, Test oder System. Wiederholbar.
--scope SCOPEstringneinPubliccap: Alarmbereich zum Lesen: Public, Restricted oder Private. Wiederholbar.
--language TAGstringneinen für almanaccap: Sprachpräferenz; die erste vorhandene gewinnt. Wiederholbar. almanac: die Ausgabe von „On This Day“, eine von ar, bs, cs, de, en, es, fr, it, pt, ru, sv, tr, uk oder zh.
--area-unknown MODEstringneinhidecap: ein Alarm, der nur durch Gebietscodes mitgeteilt wird, die der Standort nicht hat: hide oder show.
screenrig feeds get weather --lat 49.25 --lon -123
screenrig feeds get rates --base EUR
screenrig feeds get crypto --symbols btc,eth --currency usd
screenrig feeds get earthquakes --lat 49.25 --lon -123 --radius-km 500 --min-magnitude 4 --hours 72
screenrig feeds get cyclones --basins at,ep
screenrig feeds get headlines --url https://example.com/news.xml
screenrig feeds get cap --lat 49.25 --lon -123 --geocode UGC:WAC033 --min-severity moderate --event '*warning'
screenrig feeds get cap --url https://example.com/alerts.atom --url https://example.com/other.xml
screenrig feeds get tides --station 9414290
screenrig feeds get drugalerts --country us --category food
screenrig feeds get respiratory --country us --region California
screenrig feeds get almanac --country CA --date 2026-12-25
screenrig feeds get departures --provider tfl --stops 940GZZLUOXC
screenrig feeds get bikeshare --lat 49.25 --lon -123
screenrig feeds get launches

weather, airquality, alerts, earthquakes, outdoorsafety und bikeshare brauchen --lat und --lon, die immer zusammengehören; earthquakes nimmt außerdem --radius-km, --min-magnitude und --hours, und bikeshare nimmt --system. cyclones nimmt --basins, und mit --lat, --lon und --radius-km zusammen nur die Stürme in der Nähe dieses Orts. rates nimmt --base, crypto braucht --symbols und nimmt --currency, und headlines braucht --url. tides braucht --station oder --lat und --lon für die nächste Vorhersagestation. drugalerts braucht --country und nimmt --category, respiratory braucht --country und nimmt --region, und almanac nimmt --country, --language, --lat, --lon und --date. departures braucht --provider und --stops, und launches nimmt keine Flags. Ein Flag, das die Familie nicht kennt, wird abgelehnt. Eingebaute Karten beschreibt die Daten jeder Familie.

cap liest die CAP-Alarme, die zu einem Ort passen. Es benötigt --url (wiederholbar, bis zu 5 CAP-Alarm- oder ATOM/RSS-Index-URLs) oder --lat und --lon, die die öffentlichen Feeds lesen, die den Ort abdecken; --public fügt diese öffentlichen Feeds den --url-Quellen hinzu. Die Filterflags spiegeln die Mitglieder eines triggers create --pull-Objekts wider.

Ein zwischengespeichertes Dokument antwortet mit 200 und fetchedAt und attribution: Zeigen Sie die Quellenangabe überall dort an, wo die Daten dies anzeigen. Ohne Dokument meldet der Umschlag Zustand pending, retry_after_seconds und retry_at mit Exit 0; die CLI wiederholt nicht, führen Sie den Befehl nach retry_at erneut aus. Eine Organisation registriert höchstens 50 neue Feed-Schlüssel pro Tag, und rate_limited folgt darüber hinaus. Karten leiten Feed-Schlüssel aus statischen Parametern ab; schreiben Sie keine feed oder feed: Schlüssel selbst.

Datenquellen

Eine Datenquelle liest nach Zeitplan eine externe Adresse und schreibt das Ergebnis in die Daten einer Karte, sodass die Karte aktuell bleibt, ohne dass jemand neu veröffentlicht, und Bildschirme das Dokument neu abrufen, wenn es sich ändert. Die Arten sind ics, sheets, csv, json, microsoft365, google_calendar, square, shopify, toast und momentus. Eine Datenquelle schreibt eine Karte, und eine Organisation hat bis zu 200 über alle ihre Projekte. Eine fehlgeschlagene Synchronisierung schreibt nie: Die Karte behält ihr letztes gutes Dokument, und der Status der Datenquelle zeigt den Fehler. Die Einstellungen jeder Art, die Statuscodes und die Datenschutzregeln stehen unter Datenquellen.

Eine Voreinstellung ist eine fertige, getestete json-Quelle für einen Dienst, etwa einen Slack-Kanal, eine Stellenbörse oder eine Build-Übersicht: source presets listet sie auf, source presets NAME zeigt die Felder und Secrets einer Voreinstellung, und source create --preset NAME legt die Quelle an.

Geben Sie jede Zugangsberechtigung als --secret NAME=@FILE an, oder NAME=- für stdin, damit sie aus Ihrem Shell-Verlauf und der Prozessliste herausbleibt. Secrets werden versiegelt gespeichert und nur als maskierter Hinweis zurückgegeben. Die Secret-Namen sind calendar_url.KEY für ics (eines pro Kalender), token für eine csv- oder json-Adresse, die eines braucht (password, client_secret, header.NAME und query.NAME dienen den anderen Anmeldearten, beschrieben unter Anfragen, Anmeldung und Seiten), client_secret für microsoft365 und toast, service_account_key für google_calendar, access_token für square und shopify, api_key und api_secret für momentus und client_secret mit der Einstellung client_id für eine shopify-App, die im Shop installiert ist.

--settings nimmt das gesamte Einstellungsobjekt der Datenquelle als JSON, @FILE oder -. --set KEY=VALUE setzt ein Feld der obersten Ebene und kann wiederholt werden; der Wert ist JSON, wenn er sich parsen lässt (days=14, calendars='[{"key":"lobby"}]'), sonst Text (time_zone=America/Vancouver). Mit beiden ersetzen die Felder von --set die gleichen Felder von --settings; source update mit nur --set ändert diese Felder der gespeicherten Einstellungen. Die Option --config der CLI benennt ihre Zugangsdatendatei und hat nichts mit Datenquellen zu tun.

source list#

Listet die Datenquellen des Projekts auf, die neuesten zuerst, mit ihrem Status.

source list [--after CURSOR]
ParameterTypErforderlichStandardNotizen
--after CURSORstringneinerste SeiteDie data.next_cursor der vorherigen Seite.
screenrig source list

source show#

Zeigt eine Datenquelle: ihre Einstellungen, maskierten Geheimnisse, den letzten Lauf und den letzten Fehler.

source show <source_id>
ParameterTypErforderlichStandardNotizen
<source_id>stringjakeineDie Datenquelle (src_…).
screenrig source show src_01EXAMPLESOURCE000000

source presets#

Listet die fertigen Quellen-Voreinstellungen auf oder zeigt eine mit ihren Feldern und Secrets und wie man sie erhält.

source presets [<name>]
ParameterTypErforderlichStandardNotizen
<name>stringneinjede VoreinstellungDer Name einer Voreinstellung: kleingeschriebene, durch Bindestriche verbundene Wörter, etwa slack-channel.
screenrig source presets
screenrig source presets slack-channel

Die Liste zeigt für jede Voreinstellung den Titel, die Kartentypen, die sie füllt (der erste ist der, für den sie gemacht ist), und ihre Kategorie. Ein Name zeigt die zu setzenden Felder (--set NAME=VALUE: Text mit seinem Muster und einem Beispiel, eine Auswahl oder eine Liste, die ein JSON-Array nimmt), die einzutragenden Secrets (--secret NAME=@FILE) mit dem Ort, an dem der Anbieter jedes ausstellt, wie oft sie aktualisiert, wie lange eine Karte ihre letzten Daten behält und wessen Daten sie unter welchen Bedingungen liest. Es wird nichts angelegt.

source create#

Legt eine Datenquelle an. Sie läuft innerhalb von Sekunden und danach nach ihrem Zeitplan. Legen Sie zuerst die Karte an und sehen Sie die Vorschau mit source test an.

source create (--kind KIND | --preset NAME) --card CARD_ID --name NAME [--settings JSON|@FILE|-] [--set KEY=VALUE]...
               [--connection-id ID] [--secret NAME=VALUE]... [--refresh DURATION] [--stale-after DURATION|none] [--disabled]
ParameterTypErforderlichStandardNotizen
--kind KINDstringohne --presetkeineics, sheets, csv, json, microsoft365, google_calendar, square, shopify, momentus oder toast.
--preset NAMEstringohne --kindkeineLegt die Quelle aus einer fertigen, getesteten Voreinstellung an (source presets listet sie auf): --set und --settings geben dann die Felder der Voreinstellung an und --secret ihre Zugangsdaten. Nicht mit --kind.
--card CARD_IDstringjakeineDie Karte (crd_…), die die Datenquelle schreibt. Eine Karte hat eine Datenquelle; source_target_taken antwortet auf eine zweite.
--name NAMEstringjakeine1 bis 80 Zeichen.
--settings SETTINGSstringnein{}Das gesamte Einstellungsobjekt der Quelle als JSON, @FILE oder - für stdin. Mit --preset die Felder der Voreinstellung.
--connection-id IDstringneinkeinemicrosoft365 und google_calendar: lesen über eine Projektverbindung (pcn_…, connection list) statt über einen Mandanten, client_id und ein eigenes Secret der Quelle. Das setzt die Einstellung connection_id. Nicht mit --preset kombinierbar.
--set KEY=VALUEstringneinkeineEine Einstellung der obersten Ebene: JSON, wenn sich der Wert parsen lässt (days=14, calendars='[{"key":"lobby"}]'), sonst Text (time_zone=America/Vancouver). Wiederholbar. Mit --preset ein Feld der Voreinstellung: der Text wie geschrieben, außer er ist ein JSON-Array oder -Objekt (die Einträge eines Listenfelds).
--secret NAME=VALUEstringneinkeineZugangsdaten nach Name: NAME=@FILE, NAME=- (höchstens eine Option liest stdin) oder NAME=VALUE. Wiederholbar. Mit --preset die Zugangsdaten der Voreinstellung.
--refresh DURATIONstringneinje nach ArtWie oft synchronisiert wird, von 30s bis 24h, zum Beispiel 90s, 5m oder 1h30m. Die Art legt den Standard und das Minimum fest: 5 Minuten und 1 Minute für ics, sheets, csv und json; 2 Minuten und 1 Minute für microsoft365 und google_calendar; 5 Minuten und 2 Minuten für square, shopify und toast; 1 Minute und 30 Sekunden für momentus. Eine Voreinstellung legt ihre eigenen fest.
--stale-after DURATIONstringneinje nach ArtWie lange die Karte die letzten guten Daten behält, wenn die Quelle nicht aktualisieren kann, von 1m bis 7d, mindestens das Doppelte von --refresh; none behält sie bis zur nächsten Aktualisierung. Danach laufen die Daten auf jedem Bildschirm ab. momentus ist standardmäßig 30m, und eine Voreinstellung legt ihre eigene fest.
--disabledbooleanneinausLegt die Datenquelle angehalten an; bis source update --enable wird nichts abgerufen.
screenrig source create --kind ics --card crd_01EXAMPLECARD000000000 --name "Lobby calendar" --set calendars='[{"key":"lobby"}]' --set time_zone=America/Vancouver --secret calendar_url.lobby=@lobby.url
screenrig source create --kind sheets --card crd_01EXAMPLEMENU0000000000 --name "Cafe menu" --settings @menu-sheet.json
screenrig source create --kind json --card crd_01EXAMPLEKPI00000000000 --name "Daily numbers" --settings @kpi-api.json --secret token=@api.token
screenrig source create --kind square --card crd_01EXAMPLEMENU0000000000 --name "Counter menu" --secret access_token=@square.token
screenrig source create --kind microsoft365 --card crd_01EXAMPLEROOMS0000000000 --name "Meeting rooms" --settings @rooms.json --connection-id pcn_01EXAMPLECONNECTION0000
screenrig source create --preset slack-channel --card crd_01EXAMPLEWALL00000000000 --name "Team wall" --set channel=C0123456789 --secret token=@slack.token

source update#

Ändert eine Datenquelle. Eine andere Änderung als eine Umbenennung setzt ihren Fehlerzähler zurück und führt sie erneut aus.

source update <source_id> [--name NAME] [--card CARD_ID] [--settings JSON|@FILE|-] [--set KEY=VALUE]...
                          [--connection-id ID] [--secret NAME=VALUE]... [--unset-secret NAME]... [--refresh DURATION]
                          [--stale-after DURATION|none] [--enable | --disable] [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<source_id>stringjakeineDie Datenquelle (src_…).
--name NAMEstringneinUnverändertBenennt die Datenquelle um.
--card CARD_IDstringneinUnverändertEine andere Karte schreiben.
--settings SETTINGSstringneinUnverändertErsetzt das gesamte Einstellungsobjekt: JSON, @FILE oder - für stdin. Bei einer aus einer Voreinstellung erstellten Quelle werden diese Felder in ihre Einstellungen eingefügt.
--connection-id IDstringneinUnverändertWie bei source create. Eine Quelle von ihren eigenen Zugangsdaten abzulösen, erfordert --settings ohne tenant und client_id sowie --unset-secret client_secret.
--set KEY=VALUEstringneinkeineÄndert eine Einstellung der obersten Ebene der gespeicherten, wie bei source create. Wiederholbar. Bei einer aus einer Voreinstellung erstellten Quelle ein Feld der Voreinstellung; der Wert null entfernt ein optionales Feld.
--secret NAME=VALUEstringneinkeineSetzt ein Geheimnis oder ersetzt es. Wiederholbar. Ein Geheimnis, das Sie nicht senden, behält seinen Wert, es sei denn, die Änderung richtet die Datenquelle auf etwas, das dieses Geheimnis nicht abdeckt (anderer Ursprung, Shop, andere Umgebung oder anderer Mandant): Dann fragt source_secret_required erneut danach.
--unset-secret NAMEstringneinkeineEntfernt ein Geheimnis. Wiederholbar.
--refresh DURATIONstringneinUnverändert30s bis 24h; es gilt das Minimum der Art.
--stale-after DURATIONstringneinUnverändertWie bei source create; none entfernt den Zeitraum.
--enable, --disablebooleanneinUnverändertSetzt den Zeitplan fort oder hält ihn an; die Karte behält ihr letztes Dokument. Höchstens eines von beiden.
--expect-rev REVISIONintegerneindie gelesene RevisionLehnt die Änderung ab, wenn die Datenquelle nicht in dieser Revision ist. --set sichert die gelesene Revision ab, sofern Sie keine andere nennen.

Mindestens eine Änderung ist erforderlich.

screenrig source update src_01EXAMPLESOURCE000000 --set days=14
screenrig source update src_01EXAMPLESOURCE000000 --secret calendar_url.lobby=@new.url --refresh 10m
screenrig source update src_01EXAMPLESOURCE000000 --disable
screenrig source update src_01EXAMPLEPRESET0000000 --set channel=C0123456789 --secret token=@new.token

source test#

Eine Datenquelle als Vorschau ansehen, ohne etwas zu speichern oder zu schreiben: Sie ruft die Adresse ab, bereitet die Antwort für die Karte auf und prüft sie gegen die Karte. Der Umschlag enthält das Dokument, valid, den Pfad und den Grund, wenn die Karte es ablehnt, Warnungen und Zähler. Übergeben Sie eine gespeicherte <source_id>, um sie mit den übrigen Optionen als Überschreibungen zu testen, oder --kind (oder --preset) und --card, um eine nicht gespeicherte zu testen. Ein Abruf- oder Aufbereitungsfehler ist source_test_failed mit dem Grund. Eine csv- oder json-Quelle meldet außerdem die gesendete Anfrage als data.request: ihre Adresse mit eingesetzten Platzhaltern und maskierten geheimen Abfrageparametern, die Namen der gesendeten Header, den Anfang des Bodys und die gelesenen Seiten. Höchstens 30 Vorschauen pro Minute und Organisation.

source test [<source_id>] [--kind KIND | --preset NAME] [--card CARD_ID] [--settings JSON|@FILE|-] [--set KEY=VALUE]...
            [--connection-id ID] [--secret NAME=VALUE]...
ParameterTypErforderlichStandardNotizen
<source_id>stringneinkeineEine gespeicherte Datenquelle zum Testen.
--kind KINDstringohne <source_id> oder --presetkeineWie bei source create.
--preset NAMEstringneinkeineZeigt eine Vorschau einer aus dieser Voreinstellung erstellten Quelle, mit --set und --settings als ihren Feldern und --secret als ihren Zugangsdaten, statt --kind. Nicht mit <source_id> kombinierbar.
--card CARD_IDstringohne <source_id>keineDie zu füllende Karte.
--settings SETTINGSstringneindie gespeicherten EinstellungenDie Einstellungen der Art: JSON, @FILE oder - für stdin.
--connection-id IDstringneinkeineWie bei source create.
--set KEY=VALUEstringneinkeineEine Einstellung der obersten Ebene, wie bei source create; mit einer <source_id> überschreibt sie diese Einstellung der gespeicherten. Wiederholbar.
--secret NAME=VALUEstringneindie gespeicherten GeheimnisseEine Zugangsdaten-Angabe zum Ausprobieren. Wiederholbar.
screenrig source test --kind ics --card crd_01EXAMPLECARD000000000 --set calendars='[{"key":"lobby"}]' --secret calendar_url.lobby=@lobby.url
screenrig source test src_01EXAMPLESOURCE000000
screenrig source test --preset slack-channel --card crd_01EXAMPLEWALL00000000000 --set channel=C0123456789 --secret token=@slack.token

source refresh#

Synchronisiert eine Datenquelle jetzt und zeigt das Ergebnis. Sie läuft inline bis zu 60 Sekunden, setzt den Fehlerzähler zurück und liest die Adresse vollständig. Eine fehlgeschlagene Synchronisierung ändert die Karte nie. source_busy (Exitcode 5) antwortet, solange eine geplante Synchronisierung läuft. Höchstens 6 pro Minute und Datenquelle.

source refresh <source_id>
ParameterTypErforderlichStandardNotizen
<source_id>stringjakeineDie Datenquelle (src_…).
screenrig source refresh src_01EXAMPLESOURCE000000

source rooms#

Prüft, wie Bildschirme den Räumen einer Buchungssystem-Quelle (momentus) zugeordnet sind. Sie liest die Räume der letzten guten Aktualisierung der Quelle und die Bildschirme des Projekts und ruft nichts ab. Sie listet die Räume und Bereiche, die kein Bildschirm anzeigt, und jeden Bildschirm, der einen Raum- oder Bereichswert hat oder dessen Playlist den Raum- oder Bereichsschlüssel der Quelle liest, jeweils mapped, missing (die Playlist liest das Feld, der Bildschirm hat keins) oder unknown (der Wert nennt weder Raum noch Bereich, mit dem vermutlich gemeinten). Korrigieren Sie einen Bildschirm mit screen update scr_ID --field room=ROOM_KEY.

source rooms <source_id>
ParameterTypErforderlichStandardNotizen
<source_id>stringjakeineEine Quelle (src_…), die die Räume eines Buchungssystems liest.
screenrig source rooms src_01EXAMPLESOURCE000000

source delete#

Löscht eine Datenquelle. Die Karte behält das letzte Dokument, das die Datenquelle geschrieben hat.

source delete <source_id> [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<source_id>stringjakeineDie Datenquelle (src_…).
--expect-rev REVISIONintegerneinkeineLehnt das Löschen ab, wenn die Datenquelle nicht in dieser Revision ist.
screenrig source delete src_01EXAMPLESOURCE000000

Verbindungen

Eine Verbindung ist der gespeicherte Zugriff des Projekts auf Microsoft oder Google für Arbeit, die ohne angemeldete Person läuft. Eine microsoft365- oder google_calendar-Datenquelle (source create --connection-id), eine Power-BI-Verbindung (bi connection create powerbi --connection-id) und ein SharePoint-Mediensynchronisierungskonto (media sync account add microsoft365 --connection-id) lesen über eine Verbindung, statt jeweils einen Mandanten, eine Client-ID und ein Secret mitzubringen. Eine Verbindungs-ID beginnt mit pcn_, und eine Organisation hat bis zu 50 Verbindungen über ihre Projekte hinweg. Die Modi, Status und Genehmigungsschritte stehen unter Microsoft und Google verbinden.

Der Modus own_app enthält Ihre eigene Anwendung: bei Microsoft eine Microsoft-Entra-App-Registrierung (--tenant-id, --client-id und der Wert eines Client-Secrets), bei Google den JSON-Schlüssel eines Dienstkontos. Der Modus screenrig_app nutzt die eigene Anwendung von screenRIG und braucht kein Secret: create gibt einen einmaligen Zustimmungslink aus (data.consent_url, gültig bis data.consent_expires_at) für die Person, die die Zustimmung abschließt: einen Microsoft-365-Administrator, der für den Mandanten zustimmt, oder den Inhaber eines Google-Kontos, der lesenden Zugriff auf Kalender gewährt. Senden Sie den Link nur an diese Person und lesen Sie dann status und last_error mit connection show. Eine Power-BI-Verbindung nimmt nur eine own_app-Verbindung entgegen.

Geben Sie ein Client-Secret mit --secret-file FILE und einen Google-Schlüssel mit --service-account-key-file FILE an, oder - für stdin, nie als Argument. Das Lesen braucht Lesezugriff, und jede Änderung braucht Manage-Zugriff.

connection list#

Listet die Verbindungen dieses Projekts mit ihrem Status auf.

connection list

Keine Parameter.

screenrig connection list

connection show#

Zeigt eine Verbindung: ihren Status, den letzten Fehler und den letzten Test.

connection show <id>
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie Verbindung (pcn_…).
screenrig connection show pcn_01EXAMPLECONNECTION0000

connection create microsoft#

Fügt eine Microsoft-365-Verbindung hinzu: Ihre eigene Entra-App oder die Anwendung von screenRIG mit einem Zustimmungslink.

connection create microsoft --mode own_app|screenrig_app [--name NAME]
    [--tenant-id ID --client-id ID --secret-file FILE]
ParameterTypErforderlichStandardNotizen
--mode MODEstringjakeineown_app: Ihre eigene Microsoft-Entra-App-Registrierung mit einem Client-Secret. screenrig_app: die Anwendung von screenRIG, der ein Microsoft-365-Administrator über den einmaligen Link zustimmt, den dieser Befehl ausgibt.
--name NAMEstringneinMicrosoft 3651 bis 80 Zeichen.
--tenant-id IDstringmit own_appkeineIhre Directory (tenant) ID in Microsoft Entra oder deren primäre Domain, etwa contoso.onmicrosoft.com. Zusammen mit --client-id und --secret-file.
--client-id IDstringmit own_appkeineDie Application (client) ID der App-Registrierung.
--secret-file FILEstringmit own_appkeineLiest den Wert des Client-Secrets aus dieser Datei oder - für stdin (nie als Argument); die Datei enthält nur den Wert.
screenrig connection create microsoft --mode own_app --tenant-id contoso.onmicrosoft.com --client-id 0b1d2f3a-4c5e-4f60-8a7b-9c0d1e2f3a4b --secret-file secret.txt
screenrig connection create microsoft --mode screenrig_app --name "Contoso rooms"

Der Modus screenrig_app nimmt weder --tenant-id, --client-id noch --secret-file entgegen: Er gibt den Zustimmungslink (data.consent_url) für den Microsoft-365-Administrator aus, der der Anwendung von screenRIG für den Mandanten zustimmt. Die App-Registrierung führt Calendars.Read für Raumkalender, Sites.Selected oder Files.Read.All für die SharePoint-Mediensynchronisierung und, bei Power BI, Mandanteneinstellungen und Mitgliedschaft im Arbeitsbereich statt Graph-Berechtigungen auf; connection test meldet, welche Berechtigungen das Token trägt. Ein Server ohne die Anwendung von screenRIG antwortet mit connection_app_not_configured: Der Modus own_app funktioniert weiterhin.

connection create google#

Fügt eine Google-Verbindung hinzu: Ihren eigenen Dienstkonto-Schlüssel oder die Anwendung von screenRIG mit einem Anmeldelink.

connection create google --mode own_app|screenrig_app [--name NAME]
    [--service-account-key-file FILE]
ParameterTypErforderlichStandardNotizen
--mode MODEstringjakeineown_app: Ihr eigener Dienstkonto-Schlüssel. screenrig_app: die Anwendung von screenRIG, bei der sich der Inhaber eines Google-Kontos über den einmaligen Link, den dieser Befehl ausgibt, anmeldet und lesenden Zugriff auf Kalender gewährt.
--name NAMEstringneinGoogle Calendar1 bis 80 Zeichen.
--service-account-key-file FILEstringmit own_appkeineLiest die JSON-Schlüsseldatei des Dienstkontos aus dieser Datei oder - für stdin (nie als Argument).
screenrig connection create google --mode own_app --service-account-key-file key.json
screenrig connection create google --mode screenrig_app --name "Venue calendars"

Geben Sie im Modus own_app jeden Raumkalender für die Adresse des Dienstkontos frei oder geben Sie der Quelle ein Subject (domänenweite Delegierung). Der Modus screenrig_app nimmt keinen Schlüssel entgegen und gibt den Anmeldelink (data.consent_url) für den Inhaber des Google-Kontos aus: Das Konto muss jeden Raumkalender sehen, den eine Quelle auflistet, und eine solche Quelle kann kein Subject nennen. Ein Server ohne die Anwendung von screenRIG antwortet mit connection_app_not_configured: Der Modus own_app funktioniert weiterhin.

connection update#

Benennt eine Verbindung um oder ändert im Modus own_app ihren Mandanten, ihre App oder ihr Secret.

connection update <id> [--name NAME] [--tenant-id ID] [--client-id ID]
    [--secret-file FILE] [--service-account-key-file FILE] [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie Verbindung (pcn_…).
--name NAMEstringneinUnverändertBenennt die Verbindung um.
--tenant-id IDstringneinUnverändertMicrosoft own_app: die Directory (tenant) ID oder primäre Domain.
--client-id IDstringneinUnverändertMicrosoft own_app: die Application (client) ID.
--secret-file FILEstringneinUnverändertMicrosoft own_app: liest den Wert des Client-Secrets aus dieser Datei oder - für stdin; er ersetzt das gespeicherte Secret.
--service-account-key-file FILEstringneinUnverändertGoogle own_app: liest den JSON-Schlüssel des Dienstkontos aus dieser Datei oder - für stdin; er ersetzt den gespeicherten Schlüssel.
--expect-rev REVISIONintegerneinkeineLehnt die Änderung ab, wenn die Verbindung nicht in dieser Revision ist (revision_conflict, Exit 6).
screenrig connection update pcn_01EXAMPLECONNECTION0000 --secret-file new-secret.txt
screenrig connection update pcn_01EXAMPLECONNECTION0000 --name "Contoso rooms" --expect-rev 2

Mindestens eine Änderung ist erforderlich. Eine Änderung der Zugangsdaten setzt die Verbindung auf ready zurück, löscht ihren letzten Fehler und ihren letzten Test und verwirft jedes für die alten Zugangsdaten ausgestellte Token: Testen Sie sie erneut. Eine screenrig_app-Verbindung kann nur umbenannt werden: connection connect erzeugt einen neuen Zustimmungslink, um zu ändern, wer zugestimmt hat. Ein ausgelassenes Secret bleibt erhalten.

connection test#

Meldet sich mit einer Verbindung an und prüft, was ihre Zugangsdaten erlauben.

connection test <id>
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie Verbindung (pcn_…).
screenrig connection test pcn_01EXAMPLECONNECTION0000

Bei Microsoft meldet der Test credentials (ein App-Token für den Mandanten) und permissions (welche von Calendars.Read, Sites.Selected, Files.Read.All, Sites.Read.All und Place.Read.All das Token trägt; fehlen alle, schlägt die Prüfung fehl, und Sites.Selected allein ist eine Warnung, weil jede Site eine eigene Freigabe braucht). Bei Google meldet er credentials und nennt das Konto, für das die Kalender sichtbar sein müssen. Eine Ablehnung setzt die Verbindung mit last_error auf error; ein Erfolg setzt sie auf ready zurück. Der Test beurteilt weder die Freigabe eines Kalenders noch eine Postfach-Zugriffsrichtlinie noch eine Site-Freigabe. Höchstens 30 pro Minute und Organisation.

connection connect#

Erzeugt einen neuen einmaligen Zustimmungslink für eine screenrig_app-Verbindung.

connection connect <id>
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie Verbindung (pcn_…).
screenrig connection connect pcn_01EXAMPLECONNECTION0000

data.consent_url ist der Link für die Person, die die Zustimmung abschließt: der Microsoft-365-Administrator oder der Inhaber des Google-Kontos. Er ersetzt jeden früheren Link. Eine funktionierende Verbindung bleibt unverändert, bis die neue Zustimmung abgeschlossen ist; damit lässt sich also auch eine Verbindung erneuern, die auf error gewechselt ist (Zustimmung entfernt, Zugriff widerrufen), oder auf einen anderen Mandanten oder ein anderes Konto umstellen. Eine Verbindung im Modus own_app hat keinen Zustimmungsschritt. Höchstens 20 pro Minute und Organisation.

connection delete#

Löscht eine Verbindung, über die nichts liest.

connection delete <id> [--expect-rev REVISION]
ParameterTypErforderlichStandardNotizen
<id>stringjakeineDie Verbindung (pcn_…).
--expect-rev REVISIONintegerneinkeineLehnt das Löschen ab, wenn die Verbindung nicht in dieser Revision ist (revision_conflict, Exit 6).
screenrig connection delete pcn_01EXAMPLECONNECTION0000
screenrig connection delete pcn_01EXAMPLECONNECTION0000 --expect-rev 2

Solange eine Datenquelle, eine Power-BI-Verbindung oder ein Mediensynchronisierungskonto über die Verbindung liest, lautet die Antwort resource_conflict (Exit 5) und nennt sie. Das Löschen beendet nicht die Seite des Anbieters: Ein Microsoft-365-Mandant behält die Anwendung von screenRIG, bis sein Administrator sie entfernt, und ein Google-Konto behält seine Freigabe, bis sein Inhaber sie widerruft.

Weitere Befehlsgruppen