Eylem blokları bir şey yapar: başka bir sistemi çağırmak, bir mesaj yayımlamak, bir değişken saklamak, bir zamanlayıcı başlatmak, mesajı başka bir akışa devretmek ya da bir günlük satırı yazmak. Cihaz, alarm ve bildirim eylemleri kendi sayfalarında yer alır: IoT veri blokları ve Alarm, komut ve bildirim blokları.
Giden blokların ortak davranışı
HTTP request, MQTT out ve Webhook şu kuralları paylaşır:
| Konu | Davranış |
|---|---|
| Risk | External: içeren bir dağıtım onay ister |
| Yeniden deneme | Yalnızca geçici hatalar yeniden denenir; varsayılan 3 deneme (retry_* ayarları), en fazla 5, 1 s’den başlayarak üstel geri çekilme ile |
| Idempotency | Bir mesajın her denemesi aynı anahtarı taşır (X-Idempotency-Key veya MQTT 5 kullanıcı özelliği idempotency-key), bir çökmeden veya yeniden oynatmadan sonra da, böylece alıcı yinelenenleri ayıklayabilir |
| Teslimat | En az bir kez |
| Devre kesici | Çağrıları sürekli başarısız olan bir blok, bir süre çağrılarını duraklatır (circuit_open) |
| Geç mesajlar | late: skip (varsayılan; mesaj durur ve Too old olarak sayılır) ya da send (kesintiden sonra birikmiş veriyi de alması gereken bir veri akışı) |
| Testler | Bir test çalıştırması hiçbir şey göndermez, gönderecek olduğunu bildirir |
| Sıra | HTTP request ve MQTT out çağrıları, onları yapan çalıştırmadan ayrı çalışır: cihazın bir sonraki mesajı yanıtı beklemez ve çağrıdan sonraki mesajların sırası garanti edilmez |
| Adresler | Özel ve iç adresler reddedilir (ssrf_blocked) |
HTTP request
Bir HTTP uç noktasını çağırır ve yanıtı mesaja koyar. Şema, ana makine, kimlik doğrulama ve TLS yalnızca endpoint bağlantısından gelir, asla mesajdan gelmez. Bkz. Bağlantılar ve sırlar.
| Ayar | Anlamı | Varsayılan | Değerler |
|---|---|---|---|
| endpoint | HTTP uç nokta bağlantısı | gerekli | |
| host | Uç noktanın izin verdiği başka bir ana makine | boş | bir şablon; uç noktanın izinli ana makineleriyle eşleşmelidir |
| method | HTTP yöntemi | GET | GET, POST, PUT, PATCH, DELETE, HEAD |
| path | Uç noktanın temel yoluna eklenir | boş | bir şablon, 1.024 karakter |
| query | Sorgu parametreleri | yok | en fazla 16 satır |
| headers | Ek üstbilgiler | yok | en fazla 16 satır; Host, Authorization, Cookie, Proxy-*, Content-Length, X-Idempotency-Key ve hop-by-hop üstbilgileri reddedilir |
| body | Ne gönderilir | payload | payload, template, none (GET, HEAD, DELETE için gizli) |
| template | Gövde şablonu | boş | en fazla 4.096 karakter |
| template_format | {{ }} değerlerinin nasıl yazılacağı | text | text, json (her değer bir JSON değeri olarak; gövde JSON olmalıdır) |
| timeout_ms | Deneme başına süre | 10,000 | 1.000 ila 30.000 |
| parse | Yanıtın nasıl okunacağı | auto | auto, json, text |
| max_bytes | En büyük yanıt | 64 KiB | 1 ila 256 KiB |
| response_headers | msg.metadata.headers içinde tutulan yanıt üstbilgileri | all | all, list, none (en fazla 32 üstbilgi, 8 KiB) |
| max_parallel | Bu blok için uçuştaki çağrılar | 0 (sınır yok) | 0 ila 64 |
| inline | Çağrıyı çalıştırma içinde tutar, böylece cihazın bir sonraki mesajı yanıtı bekler (dağıtım uyarır) | off | on, off |
| retry_* | Denemeler ve geri çekilme | 3, 1 s’den | |
| late | Yukarıya bakın | skip | skip, send |
Çıkışlar:
out: durum 400’ün altında.msg.payloadgövdedir,msg.statusCode,msg.contentType,msg.metadata.headers. Yönlendirmeler izlenmez.error:http_status(400 ve üzeri, gövdemsg.payloadiçinde),timeout,connect,tls,ssrf_blocked,too_large,invalid_json,invalid_value,oauth_failed,function_error,circuit_open,limit.msg.error.attemptskaç deneme yapıldığını gösterir.
Yeniden denenenler: zaman aşımları, bağlantı hataları ve HTTP 408, 425, 429 (Retry-After dikkate alınarak), 500, 502, 503, 504.
Değerlerden oluşturulan bir JSON gövdesi için template_format: json kullanın ve yer tutucuları tırnaksız bırakın: {"name": {{ msg.payload.name }}, "n": {{ msg.payload.n }}}.
HTTP response
Eşzamanlı bir Webhook tetikleyicisinin çağıranına yanıt verir (reply: response). Bir çalıştırmanın ilk yanıtı geçerli olur.
| Ayar | Anlamı | Varsayılan | Değerler |
|---|---|---|---|
| status | HTTP durumu (msg.statusCode bunu geçersiz kılar) | 200 | 100 ila 599 |
| headers | Yanıt üstbilgileri | yok | content-type, cache-control, location (3xx), x-* (x-forwarded-* hariç) |
| body | Ne gönderilir | payload | payload, template, none |
| template | Gövde şablonu | boş | en fazla 4.096 karakter |
| max_bytes | En büyük gövde | 256 KiB | en fazla 256 KiB |
Hatalar: no_reply_pending, reply_sent, limit. Yanıt yoksa çağıran 204 alır; kancanın zaman aşımından sonra 504.
MQTT out
Yükü kendi brokerınızdaki bir konuya yayımlar, sonra mesajı iletir. Metin metin olarak, diğer her şey JSON olarak gönderilir.
| Ayar | Anlamı | Varsayılan | Değerler |
|---|---|---|---|
| broker | MQTT broker bağlantısı | gerekli | |
| topic | Konu | {{ msg.topic }} | bir şablon, 256 karakter; baştaki ~/ brokerın konu önekidir |
| qos | Teslimat garantisi | 0 | 0, 1, 2 |
| retain | Brokerdan mesajı saklamasını istemek | off | on, off |
| timeout_ms | Onay için süre | 10,000 | 1.000 ila 30.000 |
| max_parallel | Uçuştaki yayımlar | 0 (sınır yok) | 0 ila 64 |
| retry_*, late | Yukarıdaki gibi |
Hatalar: bad_topic (boş, + veya #, ya da öneksiz ~/), timeout, connect, auth, ssrf_blocked, node_not_ready, not_configured, circuit_open, limit. Yalnızca zaman aşımları ve bağlantı hataları yeniden denenir.
Webhook
Mesajı kuruluşunuzun webhook uç noktalarından birine gönderir: imzalı, yeniden denenen ve uç noktanın teslimatlarında listelenen. Bu, garantili teslimat yoludur.
| Ayar | Anlamı | Varsayılan | Değerler |
|---|---|---|---|
| endpoint | Uç nokta | gerekli | Automation message olayına abone olan etkin uç noktalar |
| topic | topic olarak gönderilir | {{ msg.topic }} | bir şablon, 256 karakter |
| body | Konunun yanında ne gönderilir | payload | payload, payload and metadata |
| metadata_keys | Gönderilen üst veri anahtarları | yok | en fazla 20 |
| late | Yukarıya bakın | skip | skip, send |
Alıcı automation.message olayını, topic, payload, originator, flowId, flowVersion, nodeId, actor ve listelenen üst verilerle alır. out, kuyruğa alındığında msg.metadata.webhook.deliveryId taşır. Hatalar: endpoint_not_found, endpoint_inactive, enqueue_failed, not_configured, node_not_ready, circuit_open, limit (webhook’lar planınızda yok). Bkz. Webhooks.
Olay yayımla
Herhangi bir akışta, kaynağı flow olan Event tetikleyicisinin dinlediği bir olay gönderir.
| Ayar | Anlamı | Varsayılan | Değerler |
|---|---|---|---|
| kind | Olayın adı | gerekli | önce küçük harfli bir harf, sonra küçük harfler, rakamlar, _ ve .; en fazla 32 karakter |
| data | Taşıdığı veri | msg.payload | herhangi bir değer türü; nesne olmayan değer { "value": … } içine sarılır |
Dinleyiciler msg.payload olarak veriyi, msg.topic olarak flow/<kind> alır. Hatalar: rate_limited, invalid_value (hatalı kind veya “emit: depth”: zincirin beşinci adımı). Dağıtım, görülebilen bir döngüyü reddeder (flow_cycle). Geç bir mesaj hiçbir olay yaymaz.
Değişken ata
Bir akış ya da genel değişkende bir değer saklar.
| Ayar | Anlamı | Değerler |
|---|---|---|
| path | Değişken | flow.<name> veya global.<name>, daha derin anahtarlara izin verilir; kalıcı depo için flow.persist:<name> |
| value | Saklanacak değer | herhangi bir değer türü; hiçbir şey (null) onu kaldırır |
Hatalar: invalid_value, limit (depo dolu; eski değer kalır). Sınırlar: akış başına 1 MiB, genel değişkenler için 4 MiB. Testte, testin kendi kopyası yazılır.
Zamanlayıcı
Adlandırılmış bir zamanlayıcıyı başlatır, yeniden başlatır ya da iptal eder. Süresi dolduğunda, bu adla her Named timer tetikleyicisi çalışır.
| Ayar | Anlamı | Varsayılan | Değerler |
|---|---|---|---|
| name | Tüm akışlarca paylaşılan zamanlayıcı | gerekli | |
| op | Başlat (yeniden) ya da iptal et | start | start, cancel |
| ms | Süre (msg.ms bunu geçersiz kılar) | 1 dk | 0 ila 7 gün |
Çalışan bir zamanlayıcıyı başlatmak onu sıfırdan yeniden başlatır: bekçi (watchdog) deseni. queue_full hatası “too many timers”: kuruluş 60 sn ve altında 64 zamanlayıcı ya da daha uzunlardan 10.000 zamanlayıcı tutar. Geç bir mesaj hiçbir zamanlayıcıyı başlatmaz ya da iptal etmez.
Bir akışı etkinleştir veya devre dışı bırak
Akış listesindeki anahtar gibi, başka bir akışı açar ya da kapatır.
| Ayar | Anlamı | Varsayılan | Değerler |
|---|---|---|---|
| flow | Akış | gerekli | kuruluşun dağıtılmış bir akışı, bu akış değil |
| state | Etkinleştir veya devre dışı bırak | enable | enable, disable |
out, msg.metadata.flow_enable { flow, enabled, changed } taşır. Hatalar: not_configured, self_reference, not_found, not_approved, conflict, invalid, limit (dakikada 6’dan fazla anahtar). Bu bloğu içeren bir akışın dağıtımı yazılı onay gerektirir.
Akışı çalıştır
Mesajı başka bir akışın Flow input girişine devreder ve bu dalı sonlandırır.
| Ayar | Anlamı | Değerler |
|---|---|---|
| flow | Çalıştırılacak akış | aynı ana makinedeki başka bir akış; asla kök akış değil |
out çıkışı yoktur; geri bir şey dönmez. Hatalar: not_configured, invalid_value (eksik, devre dışı veya durdurulmuş), forbidden (kök), loop (beşinci atlama). Başka akışlarca çalıştırılan bir akış, bu bloklar kaldırılana kadar silinemez. Mesaj cihazını korur, bu yüzden hedef akışta Save telemetry çalışır.
Link out
Mesajı ada göre Link in bloklarına iletir ya da bir Link call‘a yanıt döndürür.
| Ayar | Anlamı | Varsayılan | Değerler |
|---|---|---|---|
| mode | link (Link in bloklarına) ya da return (çağırana yanıt) | link | link, return |
| targets | Link in adları (link modu) | boş | en fazla 16 |
| name | Dönüşün adı (return modu) | out | çağıranın tanımladığı bir dönüş |
out çıkışı yoktur. Eksik bir hedef, hata değil, hata ayıklama panelinde bir uyarıdır. Dağıtım bilinmeyen adları ve bekleyen blok içermeyen döngüleri reddeder (cycle_sync).
Sistem günlüğü
Akışın günlüğüne bir satır yazar (Activity > Events > Log, 24 saat tutulur).
| Ayar | Anlamı | Varsayılan | Değerler |
|---|---|---|---|
| text | Satır, {{ }} yer tutucularıyla | {{ msg.payload }} | en fazla 512 karakter |
| level | Öncelik | info | info, notice, warn, err |
Debug
Ulaşan mesajları düzenleyicinin Activity > Debug sekmesinde gösterir. out çıkışı yoktur.
| Ayar | Anlamı | Varsayılan | Değerler |
|---|---|---|---|
| property | Neyin gösterileceği | msg.payload | msg (tüm mesaj) ya da bir yol |
| active | Mesajları hiç gösterme | on | on, off |
Debug kayıtları 24 saat tutulur ve hata ayıklama yetkisi olan kişilere görünür. Bloktaki düğme, kaydetmeden onu açıp kapatır.
Harici bir zaman serisi veritabanına yaz
Bir blok, bir veritabanı sunucu bağlantısı üzerinden, kendinize ait harici bir zaman serisi veritabanı sunucusuna mesaj başına bir nokta yazar. Ayarlar: sunucu, bucket ya da veritabanı, measurement, en fazla 16 tag, 1 ila 32 field (tür ile: auto, float, int, string, bool), zaman (varsayılan: ilk denemenin zamanı, her yeniden denemede aynı), timeout_ms (1.000 ila 30.000), yeniden denemeler ve late. out, yazılan measurement, field ve tag ile msg.metadata taşır. Genel bir entegrasyon için, kendi API’nize HTTP request bloğu çoğu zaman daha basittir.

