Node switch
switch düğümü, mesajları içeriğine, yapısına veya diğer koşullara göre yönlendirmek için tasarlanmıştır. Akışlarda koşullu mantık oluşturmak için güçlü bir araçtır.
switch düğümü için 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 inject olarak adlandırılacaktır.
Örnek:
- Düğüm adı:
durumu kontrol et
2. Özellik
Hangi mesaj nesnesi msg özelliğinin koşulları kontrol etmek için kullanılacağını belirtir.
Örnek:
msg.payloadmsg.topicmsg.device.temperature
Ortam özellikleri (flow, global) de desteklenmektedir.
3. Kontrol
- İlk eşleşmeye kadar kontrol et (Varsayılan):
Mesaj, koşulu karşılayan ilk çıkışa yalnızca gönderilir. - Tüm eşleşmeleri kontrol et:
Mesaj, birden fazla koşulu karşılıyorsa birden fazla çıkışa gönderilebilir.
3. Kurallar
Yönlendirme mantığını tanımlar. Her koşul, düğümün çıkışlarından birine bağlıdır. Mesaj, uygun olan ilk çıkışa gönderilecektir.
Mevcut koşul türleri:
==: Değerin eşitliğini kontrol eder.!=: Eşitsizliği kontrol eder.<: Değerin daha az olup olmadığını kontrol eder.<=: Değerin daha az 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 olup olmadığını kontrol eder (dahil).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ğerintrueile eşit olup olmadığını kontrol eder.equals false: Değerinfalseile eşit olup olmadığını kontrol eder.equals null: Değerinnullile eşit olup olmadığını kontrol eder.not equals null: Değerinnullile eşit olmadığını kontrol eder.is of type: Değerin belirtilen türle (örneğin,string,number,boolean) eşleşip eşleşmediğini kontrol eder.empty: Dize, dizi veya nesnenin boş olup olmadığını kontrol eder.not empty: Dize, dizi veya nesnenin boş olmadığını kontrol eder.else: Diğer koşullardan hiçbiri karşılanmadığında çalıştırılır.
Örnek:
msg.payload50'den büyüktür.
Giriş
Düğüm, msg nesnesini kabul eder.
Hangi belirli özelliklerin kontrol edileceği Özellik alanında tanımlanır.
Çıkış
Düğüm, msg mesajını belirtilen koşula karşılık gelen çıkışa gönderir.
Mesaj, hiçbir koşulu karşılamıyorsa çıkışlara gönderilmez.
Kullanım Örnekleri
Örnek 1: Sıcaklık verilerini filtreleme
Görev:
Verileri üç kategoriye ayırın: düşük, normal ve yüksek sıcaklık.
Akış:
[inject] ---> [function] ---> [switch] ---> [debug (düşük sıcaklık)]
| [debug (normal sıcaklık)]
| [debug (yüksek sıcakl ık)]
switch düğümü için Ayarlar:
- Özellik:
msg.payload - Koşullar:
10'dan az→ Çıkış 110 ile 30 arasında→ Çıkış 230'dan büyük→ Çıkış 3
Sonuç:
Sıcaklıklar, değerlerine göre yönlendirilecektir.