Neuer BenachrichtigungTransport hinter der Aktor-URL "Benachrichtigung": push schickt an alle angemeldeten Geraete (homeMesh.push_abos), mail ueber den SMTP-Zugang aus der config.ini. Ein Abo, das der Push-Dienst mit 404 oder 410 ablehnt, wird geloescht statt weiter angeschrieben. Daneben hoert der Runner auf benachrichtigung/# - darueber schickt die Probe aus den Einstellungen, ohne dass die Weboberflaeche verschluesseln muesste. Zugestellt wird im Haupttakt, nicht im MQTT-Faden. pywebpush, py_vapid und http_ece liegen wie die uebrigen Fremdpakete im Ordner, nicht in site-packages; transports.py haengt ihn an den Suchpfad. Das Schluesselpaar erzeugt vapid_erzeugen.py und bleibt ausserhalb des Git. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
117 lines
4.3 KiB
Plaintext
117 lines
4.3 KiB
Plaintext
# ============================================================================
|
|
# AutoAction-Runner - Konfiguration
|
|
# ============================================================================
|
|
# Kopieren nach config.ini und ausfuellen. config.ini ist nicht versioniert
|
|
# (siehe .gitignore), weil hier Zugangsdaten stehen.
|
|
|
|
# ============================================================================
|
|
# DATENBANK - Geraete und Automatiken (homeMesh)
|
|
# ============================================================================
|
|
[database]
|
|
host = nas.fritz.box
|
|
port = 3310
|
|
database = homeMesh
|
|
user = homeMesh
|
|
password =
|
|
|
|
# ============================================================================
|
|
# DATENBANK - Messwerte (solarLog)
|
|
# ============================================================================
|
|
# Nur fuer die Tabelle `daylight`, aus der Sonnenauf- und -untergang kommen.
|
|
# Leer lassen, wenn dieselben Zugangsdaten wie oben gelten.
|
|
[solar]
|
|
database = solarLog
|
|
user =
|
|
password =
|
|
|
|
# ============================================================================
|
|
# MQTT
|
|
# ============================================================================
|
|
[mqtt]
|
|
broker = nas.fritz.box
|
|
port = 1883
|
|
username =
|
|
password =
|
|
client_id = autoaction_runner
|
|
|
|
# ============================================================================
|
|
# TAHOMA
|
|
# ============================================================================
|
|
# Fuer Aktoren, deren URL mit io:// beginnt. Ohne Token bleiben sie stumm -
|
|
# der Runner protokolliert das dann als Fehler, statt still nichts zu tun.
|
|
[tahoma]
|
|
pin =
|
|
token =
|
|
timeout = 10
|
|
|
|
# ============================================================================
|
|
# KALENDER
|
|
# ============================================================================
|
|
# Fuer fetch_calendar.py, das Feiertage und Schulferien in calendar_days
|
|
# eintraegt. Regionscodes siehe openholidaysapi.org, Bayern ist DE-BY.
|
|
[calendar]
|
|
country = DE
|
|
subdivision = DE-BY
|
|
|
|
# ============================================================================
|
|
# LAUFZEIT
|
|
# ============================================================================
|
|
[runner]
|
|
# Abstand der Auswertung in Sekunden. Die Schleife wartet auf nichts mehr -
|
|
# Geraete fragt der Sammler in eigenen Faeden ab, geschaltet wird im Versand -,
|
|
# deshalb darf der Takt kurz sein. Er bestimmt nur noch, wie schnell eine
|
|
# hereingekommene MQTT-Nachricht ausgewertet wird.
|
|
tick_seconds = 10
|
|
|
|
# Wie oft Geraete abgefragt werden, die nichts von sich aus melden. Getrennt
|
|
# je Transport, weil sie unterschiedlich teuer sind: eine Shelly-Abfrage ist
|
|
# in Millisekunden zurueck, die Tahoma-Box braucht fuer ihre Geraete
|
|
# nacheinander gut zehn Sekunden. In Sekunden.
|
|
poll_http = 60
|
|
poll_wled = 60
|
|
poll_tahoma = 300
|
|
|
|
# Wie lange ein punktgenauer Ausloeser ("um 16:30", "Sonnenaufgang + 00:30")
|
|
# nachtraeglich noch gilt, in Minuten. Faellt die Auswertung in dieser Minute
|
|
# aus - Neustart, haengendes Geraet -, holt der naechste Takt sie nach.
|
|
# Ausgeloest wird trotzdem nur einmal, weil nur die steigende Flanke zaehlt.
|
|
catchup_minutes = 5
|
|
|
|
# Wie oft der Runner nachsieht, ob sich das Regelwerk geaendert hat.
|
|
reload_seconds = 30
|
|
|
|
# Nichts wirklich schalten, nur protokollieren. Zum Ausprobieren neuer Regeln.
|
|
dry_run = false
|
|
|
|
# DEBUG, INFO, WARNING, ERROR
|
|
log_level = INFO
|
|
|
|
# ============================================================================
|
|
# BENACHRICHTIGUNGEN - E-Mail
|
|
# ============================================================================
|
|
# Fuer das Kommando "E-Mail" des Geraets "Benachrichtigungen". Ohne Server
|
|
# und Empfaenger meldet die Automatik einen Fehler ins Protokoll, statt still
|
|
# nichts zu tun.
|
|
#
|
|
# port 587 beginnt im Klartext und wechselt mit STARTTLS (der Normalfall)
|
|
# port 465 spricht von Anfang an verschluesselt
|
|
#
|
|
# Mehrere Empfaenger mit Komma trennen. "von" ist der Absender; viele Anbieter
|
|
# verlangen, dass er gleich dem Anmeldenamen ist.
|
|
[mail]
|
|
server =
|
|
port = 587
|
|
benutzer =
|
|
passwort =
|
|
von =
|
|
an =
|
|
|
|
# ============================================================================
|
|
# BENACHRICHTIGUNGEN - Web Push
|
|
# ============================================================================
|
|
# Das Schluesselpaar erzeugt einmalig SolarManager/vapid_erzeugen.py. Der
|
|
# Pfad muss nur gesetzt werden, wenn die Datei woanders liegt als
|
|
# SolarManager/push_vapid.json.
|
|
[push]
|
|
schluessel =
|