Neu: Die KI-Firewall überwacht die gesamte Plattform und erklärt jeden Vorfall in einfachen Worten. So funktioniert es

Wöchentlicher Gasverbrauch über einen impulszählenden ESP32 am Landis+Gyr-Zähler, jeden Montag per E-Mail an die Buchhaltung

Wöchentlicher Gasverbrauch über einen impulszählenden ESP32 am Landis+Gyr-Zähler, jeden Montag per E-Mail an die Buchhaltung

Gelöst 8 7

Von English mit KI übersetzt ·

Werksleiter, Lackiererei in der Automobilindustrie. Die Buchhaltung möchte jeden Montag um 7 Uhr einen wöchentlichen Gaswert für die Lackieröfen, und im Moment liest jemand den Zähler am Sonntagabend von Hand ab. Nicht optimal.Der Zähler ist ein Landis+Gyr-Membranzähler mit Reed-Impulsausgang, 1 Impuls = 0,01 m³. Einer unserer Instandhalter hat einen ESP32 daran angeschlossen, der die Impulse per Interrupt zählt und die laufende Summe einmal pro Minute veröffentlicht:

{"gas_m3": 18234.57}

Das läuft seit einem Monat in Hermetry und das Diagramm sieht korrekt aus. Ich bin davon ausgegangen, dass es irgendwo einen geplanten Bericht gibt, der die Wochensumme per E-Mail verschickt, aber ich habe alles durchgeklickt und keinen gefunden. Wie machen das andere? Ich möchte nicht, dass jeden Montag jemand einen CSV-Export erstellt, genau das will ich loswerden.

Ground loops are my cardio.
♥ 2

Von English mit KI übersetzt ·

Das würde ich auch gerne wissen, dasselbe gilt für die Gaszähler unserer Gebäude.

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

Von English mit KI übersetzt ·

Bleibt der Impulszählerstand bei einem Stromausfall erhalten? Wenn der ESP32 nach einem Ausfall bei null beginnt, sind Ihre Wochensummen falsch.

♥ 2

Von English mit KI übersetzt ·

Der Wert wird im FRAM gespeichert und übersteht Stromausfälle. Er wird nur auf null zurückgesetzt, wenn wir neue Firmware aufspielen.

Ground loops are my cardio.
♥ 0

Von English mit KI übersetzt ·

Ich dachte, es gibt in den Dashboards eine Option „Bericht senden“?

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

Von English mit KI übersetzt ·

Ich glaube nicht. Auf der Seite Daten exportieren steht, dass es keine integrierten zeitgesteuerten oder per E-Mail versendeten Berichte gibt. Cards bieten einen CSV- und Excel-Download, aber dafür muss jemand klicken.

♥ 0

Von English mit KI übersetzt ·

Banerjee hat recht, einen versendeten Bericht gibt es nicht. Wir machen das für etwa 20 Energiezähler mit einem kleinen Skript auf unserem eigenen Server, aufgebaut auf der History-API. Es war ein halber Arbeitstag und läuft seit einem Jahr unverändert.Fordern Sie das Aggregat increase an. Für einen Zähler wie gas_m3 liefert es, wie stark er pro Intervall gestiegen ist, und bei einem Zählerneustart (etwa nach Ihrem Firmware-Flash) zählt es ab null weiter, statt ins Negative zu gehen.

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

Wir starten es per Cron montags um 07:00. Einige Erkenntnisse:

  • Tagesintervalle sind UTC-Tage. Wenn die Buchhaltung lokale Tage möchte, fordern Sie 1h an und addieren Sie die Werte selbst.
  • Geben Sie dem API-Schlüssel die Voreinstellung Read-only und eine IP-Allowlist mit nur diesem Server. Schlüssel laufen standardmäßig nach 90 Tagen ab, also setzen Sie eine Erinnerung oder eine längere Gültigkeit (maximal ein Jahr).
  • Pro Schlüssel und Anfrage höchstens 50 Schlüssel und 10.000 Datenpunkte, was für einen wöchentlichen Stundenabruf mehr als genug ist.

Wenn Sie keinen Server betreiben möchten, kann ein Flow mit einem Schedule-Trigger und einem HTTP-Request-Block Ihren eigenen Reporting-Dienst aufrufen, der den Bericht erstellt und versendet. Wir haben uns für das Skript entschieden.Exporting data beschreibt beide Optionen.

Akzeptierte Lösung♥ 8

Von English mit KI übersetzt ·

Läuft seit letzter Woche auf dem Reporting-Rechner, der ohnehin unsere Schichtberichte erstellt. Am ersten Montag war der Wert etwas daneben, weil ich 1d-Intervalle verwendet hatte und wir gerade auf Sommerzeit umgestellt hatten. Ich habe auf 1h-Intervalle umgestellt, jetzt stimmt er mit der manuellen Ablesung auf 0,1 m³ überein. Die Buchhaltung ist zufrieden, und sonntagabends liest niemand mehr den Zähler ab.

Ground loops are my cardio.
♥ 1

Von English mit KI übersetzt ·

Dasselbe Muster funktioniert auch für Wasserzähler. increase hat uns geholfen, als ein Zähler mitten im Monat getauscht wurde und der neue bei 0 begann.

♥ 0
Ansicht von 9 Beiträgen – 1 bis 9 (von insgesamt 9)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.

Mitdiskutieren

Melde dich an, um Fragen zu stellen und zu beantworten, hilfreiche Beiträge mit „Gefällt mir“ zu markieren und die Antwort zu kennzeichnen, die dein Problem gelöst hat. Jeder Beitrag bringt Punkte und Stufen.

Teilen