Alarmları Yönetme

ThingsOn Kural Moturu'nu kullanarak muhtemel bir senaryoya göre alarm oluşturma - alarm iptal etme

Cihazınızın sıcaklık okumalarını toplamak ve ThingsOn'a göndermek için DHT22 sensörünü kullandığınızı varsayalım. DHT22 sensörü -40 ila 80 °C sıcaklık okumaları için uygundur. Sıcaklık bu aralığın dışında ise, alarm oluşturmak istiyoruz.

Sıcaklık > 80 °C veya Sıcaklık < -40 °C ise mevcut alarmı oluşturun veya güncelleyin Sıcaklık > -40 °C ve <80 °C ise alarmı silin.

ThingsOn'a Cihaz ekleyin. Adı Thermostat Home, tipi Thermostat olsun.

Rule Chains -> Add new Rule Chain seçin. Name : Create & Clear Alarms olacak şekilde girin.

Script Filter düğümünü ekleyin ve True bir ilişki türü ile Input düğümüne bağlayın. Bu düğüm aşağıdaki kodu kullanarak “sıcaklık beklenen aralıkta” koşulunu doğrulayacaktır:

return msg.temperature < -40 || msg.temperature > 80;

Create alarm düğümü ekleyin ve bunu True ilişki türüne sahip bir Script Filter düğümüne bağlayın. Bu düğüm, Message Originator için yapılandırılmış alarm tipi ile en yeni alarmı, yani Thermostat Home alarmını yükler. Gönderilen sıcaklık beklenen aralıkta değilse kod True döndürür.

Düğüme İsim ve Alarm Tipi verin.

Clear alarm düğümü ekleyin ve bunu False ilişki türüne sahip bir Script Filter düğümüne bağlayın. Bu düğüm, Message Originator için yapılandırılmış alarm tipi ile en yeni alarmı, yani Thermostat Home alarmını yükler. Gönderilen sıcaklık beklenen aralıkta değilse kod False döndürür.

Düğüme İsim ve Alarm Tipi verin.

Root Rule Chain'i Düzenleme

Root Rule Chain, başlangıçta aşağıdaki gibidir:

Rule Chain düğümünü ekleyin ve bir Success ilişki türü ile birlikte Script Filter düğümüne bağlayın. Bu düğüm, gelen Mesajı belirtilen Create & Clear Alarms kural zincirine iletir.

İsim alanını Create & Clear Alarms olarak girin. Sonuç şu şekilde olmalıdır:

Sonuçları doğrulamak için Create Alarm ve Delete Alarm düğümündeki hata ayıklama modu düğmesine basın.

Sıcaklık = 99 verisi gönderin. Alarm oluşacaktır.

curl -v -X POST -d '{"temperature":99}' https://cloud.thingson.io/api/v1/$ACCESS_TOKEN/telemetry --header "Content-Type:application/json"

Sıcaklık = 30 verisi gönderin. Alarm temizlenecektir.

curl -v -X POST -d '{"temperature":30}' https://cloud.thingson.io/api/v1/$ACCESS_TOKEN/telemetry --header "Content-Type:application/json"

Last updated