## Automationen: Intervall

ID: interval
Website: /doku/automationen/interval/

Abbildung: [Detailansicht: Intervall. Markierte Beschriftungen zeigen die Einstellungen im Editor. Die Abbildung zeigt eine Beispielkonfiguration, keine ausgeführte Aktion.](/ref-auto-interval.detail.png)

1. Trigger-Typ: Hier wählst du, welches Ereignis die Automation startet.
2. Intervall: Abstand zwischen zwei geplanten Ausführungen; Zahl und Einheit gehören zusammen.
3. Job oder Makro: Hier steht das Ziel, das bei einer passenden Auslösung gestartet wird.
4. Wenn bereits aktiv: Bestimmt die Startentscheidung, falls dieses Ziel bereits läuft.
5. Cooldown: Mindestabstand zwischen angenommenen Starts; die Einheit ist Sekunden.
### errors

Eine Triggerbeobachtung ist noch kein erfolgreicher Zielstart. Prüfe active, Ziel-ID, Pflichtparameter, aktives Zeitfenster, Cooldown und bereits laufendes Ziel. Für Webhooks zusätzlich Port, Netzwerkmodus und Authentifizierung prüfen; für Datei-Trigger muss der Ordner existieren. Diagnose und Startentscheidung stehen im Automationsverlauf.

### example

Lege eine deaktivierte Automation an, wähle den beschriebenen Trigger beziehungsweise die Ziel-/Startregel und teste den Zieljob zuerst manuell. Die Dateianleitung zeigt die vollständige Hülle mit trigger, action und run_policy.

### field.interval

Positiver Wiederholungsabstand als TimeSpan-Text, zum Beispiel 00:15:00 für fünfzehn Minuten.

### field.kind

Abgeleitete Triggerart zur Anzeige. Für die polymorphe Deserialisierung ist $type maßgeblich; die kanonische Vorlage zeigt die zusätzlich geschriebenen Kind/kind-Werte.

### field.kind.option.FileSystemEvent

Start bei einem passenden Datei-/Ordnerereignis.

### field.kind.option.Hotkey

Start über Tastenkombination.

### field.kind.option.Interval

Start in einem positiven Wiederholungsintervall.

### field.kind.option.OnceAt

Einmaliger Start zu einem zukünftigen Zeitpunkt.

### field.kind.option.ProcessExited

Start, wenn ein passender Prozess beendet wird.

### field.kind.option.ProcessStarted

Start, wenn ein passender Prozess neu erscheint.

### field.kind.option.Schedule

Start zu einer Uhrzeit an ausgewählten Wochentagen.

### field.kind.option.SystemEvent

Start bei einem unterstützten Sitzungs-/Energie-/Systemereignis.

### field.kind.option.Webhook

Start durch einen authentifizierten HTTP-POST-Aufruf.

### field.kind.option.WindowEvent

Start bei einem passenden Fensterereignis.

### field.kind.option.WindowsEvent

Start über eine unterstützte Funktion des Windows-Ereigniskatalogs.

### field.start_immediately

Startet die Intervall-Automation beim Aktivieren unmittelbar, bevor das erste Intervall abgewartet wird.

### purpose

Startet das Ziel nach einem positiven Wiederholungsintervall. start_immediately entscheidet über den ersten unmittelbaren Start beim Aktivieren. Prüfe bereits laufende Ziele und Cooldown, wenn ein Lauf länger dauert als sein Intervall.

### Vertrag (Metadaten; keine Konfigurationsdatei)
```json
{
  "id": "interval",
  "name": "Intervall",
  "fields": [
    {
      "id": "interval",
      "name": "interval",
      "type": "TimeSpan",
      "options": [],
      "defaultValue": "00:15:00"
    },
    {
      "id": "kind",
      "name": "kind",
      "type": "AutomationTriggerKind",
      "options": [
        "Hotkey",
        "OnceAt",
        "Schedule",
        "Interval",
        "ProcessStarted",
        "ProcessExited",
        "WindowEvent",
        "FileSystemEvent",
        "SystemEvent",
        "WindowsEvent",
        "Webhook"
      ],
      "defaultValue": "Interval"
    },
    {
      "id": "start_immediately",
      "name": "start_immediately",
      "type": "Boolean",
      "options": [],
      "defaultValue": true
    }
  ]
}
```

### Strukturelle Serializer-Vorlage
```json
{
  "$type": "interval",
  "Kind": "Interval",
  "interval": "00:15:00",
  "start_immediately": true,
  "kind": "Interval"
}
```

