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

Faire lire à voix haute les nouvelles alarmes Hermetry par un haut-parleur via un Pi du labo

Faire lire à voix haute les nouvelles alarmes Hermetry par un haut-parleur via un Pi du labo

Résolu 6 6

Traduit de English par IA ·

Me revoilà. Notre laboratoire dispose de 6 congélateurs et incubateurs sur Hermetry avec des règles d’alarme, et ça fonctionne, mais les alertes partent vers la cloche et personne ne regarde l’écran quand on porte des gants. Le PI a demandé si un haut-parleur pourrait simplement dire « Congélateur 3 température élevée » dans la pièce.J’ai un Pi 4 de rechange et un haut-parleur USB. La synthèse vocale hors ligne fonctionne (j’ai testé piper et espeak-ng, piper sonne bien mieux). Ce que je ne comprends pas, c’est comment le Pi apprend l’existence d’une nouvelle alarme. J’ai configuré un webhook dans Hermetry pointant vers le Pi, mais rien n’arrive jamais. Le Pi est sur le réseau de l’université derrière un NAT, sans adresse publique. Un webhook est-il le mauvais outil ?

Timestamps in UTC or it didn't happen.
♥ 0

Traduit de English par IA ·

Pourrais-tu faire en sorte qu’il annonce cela par e-mail, d’une manière ou d’une autre ? Genre lire la boîte de réception ?

♥ 0

Traduit de English par IA ·

Les webhooks nécessitent une URL HTTPS joignable par Hermetry depuis l’extérieur ; derrière un NAT, ils n’arriveront donc jamais. Il vous faudrait un tunnel ou un reverse proxy, et le service informatique de l’université refusera probablement.

♥ 2

Traduit de English par IA ·

Ou alors inversez le sens et faites en sorte que le Pi interroge. Le pull est préférable au push lorsque le récepteur se trouve derrière un NAT.

♥ 0

Traduit de English par IA ·

je suis, je veux ça aussi pour mon truc d’interphone lol

Ask me about 4–20 mA.
♥ 0

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

Traduit de English par IA ·

Mis en route hier, tout le monde au labo adore. Je n’ai eu besoin de demander rien à l’IT, ce qui était un gain. Seul bémol : j’ai d’abord utilisé status=active et il répétait sans cesse les alarmes acquittées après un redémarrage, car mon seen-set était vide. Je suis passé à OPEN, comme vous l’aviez écrit. Il a aussi fallu remplacer les noms d’appareils « frz-03 » par « freezer three », car piper lisait « frz » de travers.

Timestamps in UTC or it didn't happen.
♥ 1
7 sujets de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.

Rejoignez la discussion

Connectez-vous pour poser et répondre à des questions, aimer les messages utiles et marquer la réponse qui a résolu votre problème. Chaque contribution rapporte des points et des niveaux.

Partager