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

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

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

Résolu 8 7

Traduit de English par IA ·

Responsable de site, atelier de peinture automobile. La finance veut un chiffre hebdomadaire de gaz pour les fours de peinture chaque lundi à 7 h, et actuellement quelqu’un relève le compteur à la main le dimanche soir. Pas idéal.Le compteur est un compteur à membrane Landis+Gyr avec sortie impulsionnelle à contact Reed, 1 impulsion = 0,01 m³. Un de nos techniciens de maintenance a installé un ESP32 dessus, qui compte les impulsions par interruption et publie le total cumulé une fois par minute :

{"gas_m3": 18234.57}

Cela fonctionne dans Hermetry depuis un mois et le graphique semble correct. Je pensais qu’il existait un rapport planifié quelque part qui envoie le total hebdomadaire par e-mail, mais j’ai tout parcouru sans en trouver. Que font les autres dans ce cas ? Je préfère ne pas devoir exporter un CSV chaque lundi, c’est justement ce que je veux supprimer.

Ground loops are my cardio.
♥ 2

Traduit de English par IA ·

Moi aussi, j’aimerais le savoir, c’est la même chose pour les compteurs de gaz de nos bâtiments.

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

Traduit de English par IA ·

Le total des impulsions est-il conservé lors d’une coupure de courant ? Si l’ESP32 repart de zéro après une panne, vos totaux hebdomadaires seront faux.

♥ 2

Traduit de English par IA ·

La valeur est stockée dans une FRAM et survit aux coupures de courant. Elle ne revient à zéro que lorsque nous flashons un nouveau firmware.

Ground loops are my cardio.
♥ 0

Traduit de English par IA ·

Je pensais qu’il existait une option « Envoyer le rapport » sur les tableaux de bord ?

If it isn't logged, it didn't happen.
♥ 2

Traduit de English par IA ·

Je ne pense pas. La page Exporter les données indique qu’il n’existe pas de rapports intégrés planifiés ou envoyés par e-mail. Les cartes proposent un téléchargement CSV et Excel, mais il faut que quelqu’un clique.

♥ 0

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

Traduit de English par IA ·

En service depuis la semaine dernière sur le boîtier de reporting qui gère déjà nos rapports de poste. Le premier lundi, la valeur était un peu décalée car j’utilisais des tranches de 1d et nous venions de passer à l’heure d’été. Je suis passé à des tranches de 1h et elle correspond à la lecture manuelle à 0,1 m³ près. Le service financier est satisfait, et personne ne relève plus le compteur le dimanche soir.

Ground loops are my cardio.
♥ 1

Traduit de English par IA ·

Le même schéma fonctionne pour les compteurs d’eau. increase nous a sauvés lorsqu’un compteur a été remplacé en milieu de mois et que le nouveau a démarré à 0.

♥ 0
9 sujets de 1 à 9 (sur un total de 9)
  • 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