homelab: nach dem Hochfahren des Hosts schon nach einer Minute wieder berichten

Der erste Bericht nach dem Neustart vom 25.09. kam 34 s nach dem Hochfahren –
Proxmox kannte die Gäste noch nicht („unknown“), und zehn Minuten lang zeigte die
Oberfläche jeden Gast als unbekannt. Enthält ein Bericht solche Gäste, folgt der
nächste nach 60 s. Der Grund steht jetzt auf Deutsch da.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-09-25 12:39:54 +02:00
co-authored by Claude Opus 5.5
parent 24bf88a679
commit 0df593c05a
3 changed files with 33 additions and 3 deletions
+14 -2
View File
@@ -1174,8 +1174,9 @@ def dauerbetrieb() -> None:
while True:
try:
if time.time() >= naechster_bericht:
_anfrage("POST", "/api/homelab/ausfuehrer/bericht", bericht())
naechster_bericht = time.time() + BERICHT_ALLE_S
daten = bericht()
_anfrage("POST", "/api/homelab/ausfuehrer/bericht", daten)
naechster_bericht = time.time() + naechster_bericht_in(daten)
auftrag = _anfrage("GET", "/api/homelab/ausfuehrer/auftrag")
if isinstance(auftrag, dict) and auftrag.get("id"):
log.info("Auftrag %s: %s %s", auftrag["id"], auftrag.get("aktion"), auftrag.get("parameter"))
@@ -1191,6 +1192,17 @@ def dauerbetrieb() -> None:
time.sleep(ABFRAGE_ALLE_S)
BERICHT_BALD_S = 60
def naechster_bericht_in(daten: dict) -> int:
"""Wann der nächste Bericht fällig ist. Kurz nach dem Hochfahren kennt Proxmox den Zustand der Gäste noch nicht
(„unknown“): Am 25.09.2026 kam der erste Bericht 34 s nach dem Neustart, und zehn Minuten lang zeigte die
Oberfläche jeden Gast als unbekannt. Dann schon nach einer Minute wieder."""
unklar = any(g.get("status") not in ("running", "stopped", "paused") for g in daten.get("gaeste") or [])
return BERICHT_BALD_S if unklar else BERICHT_ALLE_S
def _konfig_laden() -> dict:
try:
with open(KONFIG, encoding="utf-8") as f: