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

Réponse : Consommation hebdomadaire de gaz d'un ESP32 à comptage d'impulsions sur notre compteur Landis+Gyr, envoyée chaque lundi à la finance par e-mail

Traduit de English par IA ·

Banerjee a raison, il n’existe pas de rapport envoyé par e-mail. Nous faisons cela pour une vingtaine de compteurs d’énergie avec un petit script sur notre propre serveur, basé sur l’API d’historique. Cela représente une demi-journée de travail et il tourne sans modification depuis un an.Demandez l’agrégat increase. Pour un compteur comme gas_m3, il donne la hausse par intervalle, et il gère un redémarrage du compteur (par exemple après votre flash de firmware) en recomptant à partir de zéro au lieu de passer en négatif.

import requests, time, smtplib
from email.message import EmailMessage
BASE = "https://<host>/tenant/<tenantId>"
KEY = "sk_live_..."   # Read-only telemetry key, IP allowlist = this server
now = int(time.time() * 1000)
week_ago = now - 7 * 24 * 3600 * 1000
r = requests.get(BASE + "/api/telemetry/series", headers={"Authorization": "Bearer " + KEY},
params={"kind": "iot_device", "entityId": "<meter device id>", "keys": "gas_m3",
"from": week_ago, "to": now, "bucket": "1h", "agg": "increase"}, timeout=30)
r.raise_for_status()
# sum the hourly increases and mail the total to finance

Nous le lançons avec cron à 07:00 le lundi. Quelques enseignements :

  • Les intervalles journaliers sont des jours UTC. Si la finance veut des jours locaux, demandez des intervalles de 1h et additionnez-les vous-même.
  • Donnez à la clé API le préréglage Read-only et une liste d’adresses IP autorisées ne contenant que ce serveur. Les clés expirent par défaut après 90 jours : programmez un rappel ou choisissez une durée plus longue (un an maximum).
  • Au maximum 50 clés et 10 000 points par clé et par requête, ce qui est largement suffisant pour une lecture horaire hebdomadaire.

Si vous préférez ne pas faire tourner de serveur, un flux avec un déclencheur Schedule et un bloc de requête HTTP peut appeler votre propre service de reporting pour créer et envoyer le rapport. Nous avons opté pour le script.Exporting data présente ces deux options.

Solution acceptée♥ 8