rachelr77
@roberts-r · Mitglied seit November 2025
Facility manager · buildings · new to IoT
- Themen
- 2
- Antworten
- 34
- Punkte
- 0
Erstellte Forenantworten
Von English mit KI übersetzt ·
Ich habe das für die Waschmaschinen in zwei unserer Gebäude gemacht (Münzzählungen), daher hier das, was bei mir funktioniert hat, obwohl ich kein Programmierer bin.Senden Sie pro Spalte alle paar Minuten einen laufenden Gesamtwert als einfache Zahlen:
{"vend.col1": 1834, "vend.col2": 977, "vend.col3": 2210, ...}
Wählen Sie dann auf der Diagrammkarte die Aggregation „increase“. Sie ist für Zähler gedacht: Jeder Zeitabschnitt zeigt, wie stark der Zähler gestiegen ist, und wenn der Wert wegen eines Neustarts der Steuerung sinkt, wird ab null gezählt, anstatt einen riesigen negativen Wert anzuzeigen. Ein Neustart kostet Sie also nichts, solange Sie nicht zweimal innerhalb eines Abschnitts neu starten und dabei über den alten Wert kommen.Das Senden von {„col3“: 1} pro Verkauf funktioniert ebenfalls mit „sum“, aber wenn eine Nachricht verloren geht, ist die Zählung endgültig weg. Bei Gesamtwerten holt die nächste Nachricht den Rückstand auf.Eine Sache hat mich irritiert: Tagesabschnitte sind UTC-Tage. Wir sind in der Ostzeit, deshalb wurden meine „Tages“-Balken um 19 oder 20 Uhr geteilt. Für lokale Tage verwenden Sie stündliche Abschnitte und addieren die Stunden oder leben einfach damit.Für „wahrscheinlich leer“: Speichern Sie den Gesamtwert zum Zeitpunkt der Befüllung (ich schreibe montags pro Spalte ein Serverattribut über die Geräteseite) und lösen Sie einen Alarm aus, wenn die Differenz zum Gesamtwert etwa 38 überschreitet. Diesen Teil mache ich in einem Flow, weil eine Alarmbedingung keine Rechenoperationen zwischen zwei Werten durchführen kann.Seite: Aggregates and rollups.
I did this for the laundry machines in two of our buildings (coin counts), so here’s what worked for me even though I’m no programmer.
Send a running total per column, every few minutes, as plain numbers:
{"vend.col1": 1834, "vend.col2": 977, "vend.col3": 2210, ...}
Then on the chart card pick the aggregate „increase“. It’s made for counters: each bucket shows how much the counter went up, and if the value goes down because the board rebooted, it counts from zero instead of showing a huge negative. So a reboot costs you nothing as long as you don’t reboot twice inside one bucket and land above the old value.
Sending {„col3“: 1} per vend also works with „sum“, but if a message is lost the count is gone for good. With totals the next message catches up.
One thing that tripped me: day buckets are UTC days. We’re on Eastern time, so my „per day“ bars were split at 7 or 8 pm. For local days use hourly buckets and add up the hours, or just live with it.
For „probably empty“: store the total at refill time (I write a server attribute per column on Monday from the device page) and alert when total minus that passes 38 or so. I do that part in a flow because an alarm condition can’t do arithmetic between two values.
Page is Aggregates and rollups.
Can you print what clientId actually contains right before connect?
Oh I have the same kit! Never knew what white was for
+1, also what’s the difference between pitch, roll and yaw? 😅

