switch Düğümü
switch düğümü, mesajların içeriğine, yapısına veya diğer koşullara bağlı olarak yönlendirilmesi için tasarlanmıştır. Bu, akışlarda koşullu mantık oluşturmak için güçlü bir araçtır.
switch Düğüm Ayarları

1. İsim
Düğümün adını belirtmek için bir alan.
İsim, çalışma alanında görüntülenir ve düğümü kolayca tanımlamaya yardımcı olur.
Boş bırakılırsa, düğüm switch olarak adlandırılacakt ır.
Örnek:
- Düğüm adı:
check status
2. Özellik
Hangi msg mesaj nesnesinin özelliğinin koşulları kontrol etmek için kullanılacağını belirtir. Varsayılan olarak — payload.
Örnek:
msg.payloadmsg.topicmsg.device.temperature
Ayrıca ortam özellikleri (flow, global) de desteklenmektedir.
3. Kontrol
- tüm kuralları kontrol et (varsayılan):
Mesaj, birden fazla koşula uyuyorsa birden fazla çıkışa gönderilebilir. - ilk eşleşmeden sonra dur:
Mesaj, koşula uyan ilk çıkışa yalnızca gönderilir.
4. Kurallar
Yönlendirme mantığını tanımlar. Her kural, düğümün bir çıkışına bağlıdır: ne kadar kural varsa o kadar çıkış vardır. Birden fazla eşleşme olduğunda mesajın kaç çıkışa gideceğini Kontrol alanı belirler.
Bir kuralın iki alanı vardır: Koşul — koşul türü ve Değer — karşılaştırma için değer. equals true, equals false, equals null, not equals null, empty ve not empty koşulları için Değer alanı gösterilmez.
Mevcut koşul türleri:
==: Değerin eşitliğini kontrol eder.!=: Eşitsizliği kontrol eder.<: Değerin daha küçük olup olmadığını kontrol eder.<=: Değerin daha küçük veya eşit olup olmadığını kontrol eder.>: Değerin daha büyük olup olmadığını kontrol eder.>=: Değerin daha büyük veya eşit olup olmadığını kontrol eder.has key: Nesnenin belirtilen anahtarı içerip içermediğini kontrol eder.between: Değerin belirtilen aralıkta (dahil) olup olmadığını kontrol eder.contains: Dize veya dizinin belirtilen değeri içerip içermediğini kontrol eder.matches regex: Dizenin düzenli ifadeye uyup uymadığını kontrol eder.equals true: Değerintrueolup olmadığını kontrol eder.equals false: Değerinfalseolup olmadığını kontrol eder.equals null: Değerinnullolup olmadığını kontrol eder.not equals null: Değerinnullolup olmadığını kontrol eder.is of type: Değerin belirtilen türe (örneğin,string,number,boolean) uyup uymadığını kontrol eder.empty: Dize, dizi veya nesnenin boş olup olmadığını kontrol eder.not empty: Dize, dizi veya nesnenin boş olup olmadığını kontrol eder.else: Diğer koşullardan hiçbiri sağlanmadığında çalışır.
Örnek:
- Koşul:
>, Değer:50
Giriş Verileri
Düğüm, msg nesnesini alır.
Hangi özelliklerin kontrol edileceği Özellik alanında belirtilir.
Çıkış Verileri
Düğüm, belirtilen koşula uyan çıkışa msg mesajını gönderir.
Eğer mesaj hiçbir koşula uymuyorsa, çıkışlara gönderilmez.
Kullanım Örnekleri
Örnek 1: Sıcaklık Verilerinin Filtrelenmesi
Görev:
Verileri üç kategoriye ayırmak: düşük, normal ve yüksek sıcaklık.
Akış:
[inject] ---> [function] ---> [switch] ---> [debug (low temp)]
| [debug (normal temp)]
| [debug (high temp)]
switch Düğüm Ayarları:
- Özellik:
msg.payload - Koşullar:
is less than 10→ Çıkış 1is between 10 and 30→ Çıkış 2is greater than 30→ Çıkış 3
Sonuç:
Sıcaklıklar, değerlerine bağlı olarak yönlendirilecektir.