Vorschau · Entwicklungsstand 1.6.1
Automationen einrichten

- 1Trigger-Typ
Hier wählst du, welches Ereignis die Automation startet.
- 2Uhrzeit und Tage
Legt die Uhrzeit und Wochentage der wiederkehrenden Ausführung fest.
- 3Job oder Makro
Hier steht das Ziel, das bei einer passenden Auslösung gestartet wird.
- 4Wenn bereits aktiv
Bestimmt die Startentscheidung, falls dieses Ziel bereits läuft.
- 5Cooldown
Mindestabstand zwischen angenommenen Starts; die Einheit ist Sekunden.
Editor-Ausschnitt mit Markierungen · Lightmode · Beispieldaten · Bild anklicken zum Vergrößern. Die Ansichten erklären die Bedienung; noch nicht gewählte Quellen, Geräte oder Modelle müssen für einen ausführbaren Job ergänzt werden.
Benutzer-Doku
Ein Trigger beobachtet etwas. Die Startregeln entscheiden anschließend, ob der ausgewählte Job oder das Makro tatsächlich gestartet wird.
Ziel und Startregeln festlegen
- 1Schritt 1→
Erstelle eine deaktivierte Automation mit einem verständlichen Namen und wähle genau eine Triggerart.
- 2Schritt 2→
Ergänze die spezifischen Felder: bei Hotkey Taste/Modifier, bei Zeitplan Tage/Uhrzeit, bei Ordnern existierender Pfad/Filter/Ereignis, bei Windows-Ereignissen Funktion und angebotene Parameter.
- 3Schritt 3→
Wähle einen vorhandenen Job oder ein Makro. Eine gültige Ziel-ID ist erforderlich; ein Anzeigename allein referenziert das Ziel nicht.
- 4Schritt 4→
Prüfe Cooldown und Zeitfenster. Wähle bewusst das Verhalten bei laufendem Ziel: ignorieren, stoppen, neu starten oder parallel starten.
- 5Schritt 5Abschluss
Teste das Ziel manuell, aktiviere danach die Automation und prüfe Trigger, Entscheidung und Zielrun gemeinsam in Logs.
Leserichtung: von oben nach unten. Die Zahlen zeigen die Reihenfolge.
Die elf Triggerarten
- 1hotkeyWindows-Virtual-Key-Zahl und Modifier-Bitmaske: Alt=1, Ctrl=2, Shift=4, Windows=8; Strg+Alt ist 3.
- 2scheduleWochentage und Uhrzeit für wiederkehrende geplante Starts.
- 3once_atEinmaliger Zeitpunkt mit Offset; vergangene Zeitpunkte bewusst prüfen.
- 4intervalPeriodischer Abstand als TimeSpan.
- 5system_eventEines der angebotenen Systemereignisse, beispielsweise Anwendung oder Sitzung.
- 6file_system_eventÄnderung eines existierenden beobachteten Ordners; Filter, Änderungsart und Unterordner beachten.
- 7process_startedBeobachteter Prozessstart mit den angebotenen Filtern.
- 8process_exitedBeobachtetes Prozessende mit den angebotenen Filtern.
- 9windows_eventEine vom Windows-Katalog als Ereignis unterstützte Funktion.
- 10window_eventBeobachtete Fensteränderung mit Ereignisart, Prozess- und Titelfilter.
- 11webhookAuthentifizierte HTTP-Anforderung an den konfigurierten lokalen Listener.
Schematische Übersicht: Beschriftungen und Werte aus der Referenz, keine nachgezeichnete Bedienoberfläche.
Die tatsächlichen stabilen IDs und konkreten Parameter stehen in den Trigger-Referenzen und Serializer-Vorlagen. Debounce und delay_after_event sind TimeSpan-Werte; Cooldown gehört dagegen zur Startregel.
Entwickler- und Agenten-Doku JSON, Feldnamen, Typen und Verträge
Dieser Bereich erklärt die Bearbeitung von Textdateien und die technischen Verträge. Zur Entwickler-Doku
Automationformat 1
- 1formatVersion / id / name / description / activeVersion 1, eindeutige GUID, Anzeigename, Beschreibung und Aktivierung. Neue Testdateien active=false lassen.
- 2triggerPolymorphes Objekt mit $type. Der kanonische Serializer schreibt zusätzlich Kind/kind als abgeleitete Angaben; die Vorlage unverändert als Struktur nutzen.
- 3actionname als Anzeige, action_type Job oder Makro, passende job_id beziehungsweise makro_id als GUID. Nicht beide Ziele als aktive Auswahl behandeln.
- 4run_policyalready_running_behavior, cooldown als TimeSpan sowie optionale enabled_from / enabled_until als tägliche Uhrzeiten.
- 5created_at / updated_at / last_run_atZeitpunkte mit Offset; last_run_at kann null sein. Kein eigener Erfolgsbeleg für den Zieljob.
Schematische Übersicht: Beschriftungen und Werte aus der Referenz, keine nachgezeichnete Bedienoberfläche.
JSON-Strukturbeispiel – bei Ausschnitten fehlt die vollständige Dateihülle.
{
"formatVersion": 1,
"id": "57f39786-8cfe-eb47-9796-a3248b787cf8",
"name": "Meine Automation",
"description": "",
"active": false,
"trigger": {
"$type": "hotkey",
"Kind": "Hotkey",
"modifiers": 0,
"virtual_key_code": 0,
"debounce": "00:00:00",
"delay_after_event": "00:00:00",
"kind": "Hotkey"
},
"action": {
"name": "",
"job_id": null,
"makro_id": null,
"action_type": "Job"
},
"run_policy": {
"already_running_behavior": "Ignore",
"cooldown": "00:00:00",
"enabled_from": null,
"enabled_until": null
},
"created_at": "2030-01-01T08:00:00+00:00",
"updated_at": "2030-01-01T08:00:00+00:00",
"last_run_at": null
}Webhook verwenden
- 1$typewebhook
- 2KindWebhook
- 3hook_idd4fa91c4-b683-2c23-b89c-7ab50f8b606c
- 4network_modeOffline
- 5port17843
- 6secretDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
- 7online_base_urlLeerer Text
- 8kindWebhook
Schematische Übersicht: Beschriftungen und Werte aus der Referenz, keine nachgezeichnete Bedienoberfläche.
Der Listener verwendet standardmäßig Port 17843. Offline bindet lokal; Lan beziehungsweise Online erweitern den Netzwerkzugriff gemäß Konfiguration. Ein Online-Modus richtet selbst keinen Tunnel ein. Die externe HTTPS-Basisadresse darf keine Query oder Fragmentteile enthalten.
Sende POST an /api/v1/webhooks/{hook_id}. Authentifiziere mit X-Webhook-Secret oder Authorization: Bearer <secret>. Der generierte Secretwert besitzt 48 Hexzeichen; die Validierung verlangt mindestens 24 Zeichen. Verwende für deine Installation einen eigenen Secretwert statt des Platzhalters in der Vorlage.
HTTP 202 bestätigt die Annahme, nicht den erfolgreichen Jobabschluss. Prüfe danach AutomationDecision und den verknüpften Zielrun. Portbelegung, Bind-Adresse, Authentifizierung und Startregeln können einen Start verhindern.
JSON-Strukturbeispiel – bei Ausschnitten fehlt die vollständige Dateihülle.
{
"$type": "webhook",
"Kind": "Webhook",
"hook_id": "d4fa91c4-b683-2c23-b89c-7ab50f8b606c",
"network_mode": "Offline",
"port": 17843,
"secret": "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD",
"online_base_url": "",
"kind": "Webhook"
}