Novedad: el cortafuegos de IA supervisa toda la plataforma y explica cada incidente con palabras sencillas. Vea cómo funciona

Re: Tener una Pi en el laboratorio que lea en voz alta las nuevas alarmas de Hermetry a través de un altavoz

Traducido del English por IA ·

Hacemos esto en nuestra planta: una Pi con un altavoz de bocina lee las alarmas críticas por encima del ruido. Ciaran tiene razón, consulta la API de Alarms.Pide a tu administrador una clave de API solo con el permiso de lectura de alarmas (leer alarmas es un permiso de nivel Usuario por defecto) y una lista de IP permitidas para la dirección de la universidad. Luego:

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)

El estado OPEN significa que las alarmas reconocidas dejan de leerse, lo que a la gente le gusta: reconócela en la app y la sala se queda en silencio. Pon a tus reglas de alarma títulos legibles, porque eso es lo que se lee en voz alta, por ejemplo «{{device.name}} temperatura {{value}}». Quince segundos es una frecuencia de sondeo razonable; mantente muy por debajo de los límites de la API. Si algún día obtienes un endpoint público, el webhook alarm.created sustituiría el sondeo: Webhooks.

Solución aceptada♥ 2