rachelr77
@roberts-r · Kasım 2025 tarihinde katıldı
Facility manager · buildings · new to IoT
- Konular
- 2
- Yanıtlar
- 34
- Puan
- 0
Oluşturulan forum yanıtları
Yapay zekâ tarafından English dilinden çevrildi ·
Bunu iki binamızdaki çamaşır makineleri için (jeton sayımları) yaptım, bu yüzden programcı olmasam da bende işe yarayan yöntemi anlatayım.Her sütun için çalışan toplamı, birkaç dakikada bir, düz sayılar olarak gönderin:
{"vend.col1": 1834, "vend.col2": 977, "vend.col3": 2210, ...}
Sonra grafik kartında “increase” toplama işlevini seçin. Bu, sayaçlar için tasarlanmış: her aralık, sayacın ne kadar arttığını gösterir ve kart yeniden başlatma nedeniyle değer düşerse, devasa bir negatif değer yerine sıfırdan saymaya başlar. Yani aynı aralık içinde iki kez yeniden başlatıp eski değerin üzerine çıkmadığınız sürece yeniden başlatma bir şeye mal olmaz.Her satış için {“col3”: 1} göndermek de “sum” ile çalışır, ancak bir mesaj kaybolursa sayım kalıcı olarak gider. Toplamlarla bir sonraki mesaj eksiği kapatır.Beni şaşırtan bir nokta: gün aralıkları UTC günleridir. Biz Doğu saatine göre çalışıyoruz, bu yüzden “günlük” çubuklarım akşam 7 ya da 8’de bölündü. Yerel günler için saatlik aralıklar kullanın ve saatleri toplayın, ya da buna katlanın.”Muhtemelen boş” durumu için: ikmal anındaki toplamı saklayın (ben bunu Pazartesi günü cihaz sayfasından sütun başına bir sunucu özniteliği olarak yazıyorum) ve toplamın bundan farkı yaklaşık 38’i geçtiğinde uyarı verin. Bu kısmı bir akışta yapıyorum, çünkü bir alarm koşulu iki değer arasında aritmetik yapamaz.Sayfa: 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? 😅

