Akış, bir tuval üzerindeki blokların zinciridir. Bir tetikleyici akışı bir mesajla başlatır; ardından bloklar denetler, yönlendirir, dönüştürür, depolar, bekler ve eylemde bulunur. Akışlar Hermetry’nin en esnek otomasyon aracıdır: cihaz verilerinizi depolar, türetilmiş değerleri hesaplar, dış sistemleri çağırır, bildirim ve komut gönderir ve zamanlamalara, webhook’lara ve olaylara tepki verir.
Akışları Automation altında oluşturursunuz. Her akış taslak olarak düzenlenir ve yalnızca Deploy ile yayınladığınızda çalışır; her yayın, geri dönebileceğiniz numaralı bir sürümdür.
Hermetry’de akışların yaptıkları işler
| İş | Nasıl |
|---|---|
| Cihaz verilerini depolama | Kök akış her cihaz mesajını alır ve telemetri ile öznitelikleri kaydeder. Verileri yalnızca akışlar depolar. |
| Alarm kurallarını değerlendirme | Kök akışın Alarm rules bloğu, cihaz profilinin alarm kurallarını çalıştırır. |
| Değerleri türetme | Cihaz mesajı ile Save telemetry arasındaki bloklar yeni anahtarları hesaplar. |
| Entegre etme | HTTP request, MQTT out ve Webhook blokları veriyi dışarı gönderir; bir Webhook tetikleyicisi ise veriyi içeri alır. |
| Tepki verme | Zamanlamalar, alarmlar, öznitelik değişiklikleri, adlandırılmış zamanlayıcılar ve olaylar iş başlatır. |
| İnsanlara ve cihazlara haber verme | Notify, Raise alarm, Send command ve Set shared attribute blokları. |
Ana bilgisayarlar
Her akış, oluşturulurken seçilen ve asla değiştirilmeyen tek bir host‘a aittir:
| Host | Görünen ad | Aldığı veriler | Tipik akışlar |
|---|---|---|---|
| IoT | IoT | Cihaz mesajları, alarmlar, öznitelik değişiklikleri; ayrıca zamanlamalar, webhook’lar ve olaylar | Kök akış, profil kök akışları, alarm yükseltmeleri, cihaz verisi entegrasyonları |
| General | General | Zamanlamalar, webhook’lar, olaylar ve diğer akışların mesajları | Bir cihazın mesajı üzerinde çalışmayan entegrasyonlar ve işler |
Kullanabileceğiniz blokları host belirler: cihaz blokları (Save telemetry, Send command, Raise alarm …) yalnızca IoT host’unda bulunur. Bkz. Hosts, the root flow and profile root flows.
Akışlar, alarm kuralları ve Rules kartı
| Araç | En uygun kullanım | Nerede oluşturulur |
|---|---|---|
| Alarm rules | Bir cihaz profilinin okumaları üzerinde eşikler ve koşullar; debounce, histerezis ve bildirimlerle | Cihaz profilinin Alarm rules sekmesi. Alarm rules on device profiles |
| Rules kartı | Operatörler için “Bu olduğunda, şunu yap”: komutlar, ayarlar, bildirimler, Manual ve Auto modları | Bir gösterge panelinin Rules kartı. The rules engine |
| Akışlar | Diğer her şey: verileri dönüştürme ve depolama, entegrasyonlar, diğer ikisinin ifade edemediği mantık | Automation |
Rules kartındaki bir kural da bir akış olarak çalışır. Akış listesinde Built by rozetiyle görünür ve salt okunur açılır; değiştirmek için Rules kartını kullanın ya da burada düzenlemek üzere Detach into an ordinary flow seçeneğini kullanın (bu işlem geri alınamaz). Bkz. alarm bölümündeki Flows.
Kimin neyi yapabileceği
| İzin | Varsayılan rol | İzin verir |
|---|---|---|
| View flows and the node catalog | Admin | Akış listesini ve düzenleyiciyi salt okunur açma |
| Create, edit and deploy flows | Admin | Akışları oluşturmak, düzenlemek ve yayınlamak; içe ve dışa aktarma dahil her şey |
| Deploy flows with control-level nodes | Admin | Cihazları veya diğer akışları kontrol eden bloklarla akışları yayınlama |
| Inject messages, see payloads and dead letters | Admin | Mesaj içeriklerini görme, hata ayıklama, canlı durumdan test etme, başarısız mesajları yeniden oynatma |
| Call session-auth webhooks of deployed flows | User | Bir gösterge paneli kontrolünden veya uygulama sayfasından oturum webhook’u aracılığıyla bir akış başlatma |
Bkz. Permissions reference.
Mesajlar
Bloklar mesajları iletir. En çok kullanacağınız alanlar:
| Alan | İçerir |
|---|---|
msg.payload | Veri: bir cihazın okumaları, bir webhook’un gövdesi, bir zamanlamanın tetiklenme anı |
msg.topic | Kısa bir etiket; birçok blok belleğini bu alana göre tutar |
msg.metadata | Mesaj hakkında bilgiler: deviceId, deviceName, profileName, msgType, ts (alınma zamanı), recordTs (okuma zamanı) ve daha fazlası. Asla saklanmaz. |
msg.msgType | telemetry, attributes, connect, alarm … Salt okunur. |
msg.originator | Mesajın kimi ilgilendirdiği: bir cihaz, kuruluş veya akış. Salt okunur. |
Blok ayarlarındaki değerler sabit değerler, msg.payload.level gibi yollar, ifadeler veya {{ }} şablonları olabilir. Bkz. Condition blocks.
Bu bölümde
| Sayfa | Kapsamı |
|---|---|
| The flow editor | Tuval, palet, bağlantılar, blok ayarları, kaydetme ve yayınlama |
| Hosts, the root flow and profile root flows | Cihaz mesajlarının nereye gittiği ve verilerin nasıl depolandığı |
| Versions, testing and rollback | Taslaklar, sürümler, test çalıştırıcısı, geri alma, içe ve dışa aktarma |
| Protections and failed messages | Otomatik duraklatmalar, acil durdurma, başarısız mesajlar ve uyarılar |
| Flow templates | Başlangıç için hazır akışlar |
| Flow limits | Plan limitleri ve sabit limitler |
| Trigger blocks | Bir akışı neyin başlattığı |
| Condition blocks | Evet/hayır testleri ve ifade dili |
| Routing and timing blocks | Switch, gate, split, join, delay, rate limit … |
| Data transform blocks | Change, calculate, template, JSON, CSV, bytes … |
| Counters, statistics and watchdogs | Hatırlayan bloklar |
| The script block | Bir akışta JavaScript |
| Action blocks | HTTP, MQTT, webhook’lar, olaylar, değişkenler, zamanlayıcılar, diğer akışlar, günlükleme |
| IoT data blocks | Telemetri ve öznitelikleri kaydetme, alarm kuralları, zenginleştirme |
| Alarm, command and notify blocks | Alarmlar, cihaz komutları, cihaz istekleri, bildirimler |
| Connections and secrets | MQTT broker’ları ve HTTP uç noktaları |
| Flow cookbook | Hazır oluşturulabilir akışlar |
| Troubleshooting flows | Bir akışın ne yaptığını anlama |

