Nouveau : le pare-feu IA surveille toute la plateforme et explique chaque incident en termes simples. Découvrez comment ça marche

Re : Faire lire à voix haute les nouvelles alarmes Hermetry par un haut-parleur, depuis un Pi au labo

Traduit de English par IA ·

Nous faisons cela sur notre atelier : un Pi avec un haut-parleur à pavillon lit les alarmes critiques par-dessus le bruit. Ciaran a raison, interrogez l’API Alarms.Demandez à votre administrateur une clé API avec uniquement l’autorisation de lecture des alarmes (la lecture des alarmes est une autorisation de niveau Utilisateur par défaut) et une liste blanche d’adresses IP pour l’adresse de l’université. Ensuite :

import requests, subprocess, time
H = {"Authorization": f"Bearer {API_KEY}"}
URL = f"https://{HOST}/tenant/{TENANT}/api/iot/alarms"
seen = set()
while True:
    r = requests.get(URL, headers=H, params={"status": "OPEN", "severity": "CRITICAL,MAJOR",
                                             "sort": "opened:desc", "pageSize": 20}, timeout=10)
    for a in r.json()["items"]:
        if a["alarmId"] not in seen:
            seen.add(a["alarmId"])
            subprocess.run(["sh", "-c", f'echo "{a["deviceName"]}: {a["title"]}" | piper --model en_GB-alan-medium.onnx --output-raw | aplay -r 22050 -f S16_LE'])
    time.sleep(15)

Le statut OPEN signifie que les alarmes acquittées ne sont plus lues, ce qui plaît aux gens : acquittez-la dans l’application et la pièce se tait. Donnez à vos règles d’alarme des titres lisibles, car c’est ce qui sera énoncé, par exemple « {{device.name}} température {{value}} ». Quinze secondes est une cadence d’interrogation raisonnable, restez bien en dessous des limites de l’API. Si vous obtenez un jour un point d’accès public, le webhook alarm.created remplacerait l’interrogation : Webhooks.

Solution acceptée♥ 2