Ana məzmuna keçin

switch düyü

switch düyüsü mesajların məzmununa, strukturuna və ya digər şərtlərə əsasən yönləndirilməsi üçün nəzərdə tutulmuşdur. Bu, axınlarda şərti məntiq yaratmaq üçün güclü bir alətdir.


switch düyüsünün parametrləri

IMG2

1. Ad

Düyünün adını göstərmək üçün sahə.
Ad iş sahəsində görünür və düyünü asanlıqla tanımağa kömək edir.
Boş qoyulsa, düyü inject adlanacaq.

Nümunə:

  • Düyünün adı: check status

2. Xüsusiyyət

Hangi msg mesaj obyektinin xüsusiyyətinin şərtləri yoxlanılacağını göstərir.

Nümunə:

  • msg.payload
  • msg.topic
  • msg.device.temperature

Həmçinin mühit xüsusiyyətləri (flow, global) və JSONata ifadələri ( $ ilə başlayır) də dəstəklənir.


3. Yoxlama

  • İlk uyğunluğa qədər yoxlama (Default):
    Mesaj yalnız şərtə uyğun olan ilk çıxışa göndərilir.
  • Bütün uyğunluqları yoxlama:
    Mesaj bir neçə şərtə uyğun gəlirsə, bir neçə çıxışa göndərilə bilər.

3. Qaydalar

Yönləndirmə məntiqini müəyyən edir. Hər bir şərt düyünün çıxışlarından birinə bağlanır. Mesaj ilk uyğun çıxışa göndəriləcək.

Mövcud şərt tipləri:

  • ==: Dəyərin bərabərliyini yoxlayır.
  • !=: Bərabərsizliyi yoxlayır.
  • <: Dəyərin kiçik olub-olmadığını yoxlayır.
  • <=: Dəyərin kiçik və ya bərabər olub-olmadığını yoxlayır.
  • >: Dəyərin böyük olub-olmadığını yoxlayır.
  • >=: Dəyərin böyük və ya bərabər olub-olmadığını yoxlayır.
  • has key: Obyektin göstərilən açarı ehtiva edib-etmədiyini yoxlayır.
  • between: Dəyərin göstərilən aralıqda (daxil olmaqla) olub-olmadığını yoxlayır.
  • contains: Sətirin və ya massivinin göstərilən dəyəri ehtiva edib-etmədiyini yoxlayır.
  • matches regex: Sətirin müntəzəm ifadəyə uyğun olub-olmadığını yoxlayır.
  • equals true: Dəyərin true-ya bərabər olub-olmadığını yoxlayır.
  • equals false: Dəyərin false-ya bərabər olub-olmadığını yoxlayır.
  • equals null: Dəyərin null-a bərabər olub-olmadığını yoxlayır.
  • not equals null: Dəyərin null-a bərabər olmadığını yoxlayır.
  • is of type: Dəyərin göstərilən tipə (məsələn, string, number, boolean) uyğun olub-olmadığını yoxlayır.
  • empty: Sətirin, massivinin və ya obyektinin boş olub-olmadığını yoxlayır.
  • not empty: Sətirin, massivinin və ya obyektinin boş olmadığını yoxlayır.
  • else: Əgər digər şərtlərdən heç biri yerinə yetməzsə, icra olunur.

Nümunə:

  • msg.payload 50-dən böyükdür

Giriş məlumatları

Düyü msg obyektini qəbul edir.
Hansı xüsusiyyətlərin yoxlanılacağı Xüsusiyyət sahəsində müəyyən edilir.


Çıxış məlumatları

Düyü msg mesajını müəyyən edilmiş şərtə uyğun olan çıxışa göndərir.
Əgər mesaj heç bir şərtə uyğun gəlmirsə, o, çıxışlara göndərilmir.


İstifadə nümunələri

Nümunə 1: Temperatur məlumatlarının filtrlenməsi

Tapşırıq:
Məlumatları üç kateqoriyaya ayırmaq: aşağı, normal və yüksək temperatur.

Axın:

[inject] ---> [function] ---> [switch] ---> [debug (low temp)]
| [debug (normal temp)]
| [debug (high temp)]

switch düyüsünün parametrləri:

  • Xüsusiyyət: msg.payload
  • Şərtlər:
    1. is less than 10 → Çıxış 1
    2. is between 10 and 30 → Çıxış 2
    3. is greater than 30 → Çıxış 3

Nəticə:
Temperaturlar dəyərlərinə əsasən yönləndiriləcək.