Mengonfigurasi aturan

Aturan di IoT Central berfungsi sebagai alat respons yang dapat disesuaikan dan memicu peristiwa terpantau secara aktif dari perangkat yang terhubung. Bagian berikut ini menjelaskan cara aturan dievaluasi. Anda dapat menentukan satu atau beberapa tindakan yang terjadi ketika aturan memicu, artikel ini menjelaskan email, webhook, dan grup tindakan Azure Monitor. Untuk mempelajari tentang jenis tindakan lain, lihat Menggunakan alur kerja untuk mengintegrasikan aplikasi Azure IoT Central Anda dengan layanan cloud lainnya.

Memilih perangkat target

Gunakan bagian perangkat target untuk memilih jenis perangkat yang diterapkan aturan ini. Filter memungkinkan Anda untuk menyempurnakan perangkat apa yang harus disertakan. Filter menggunakan properti pada templat perangkat untuk memfilter kumpulan perangkat. Memfilter perangkt sendiri tidak memicu tindakan. Dalam cuplikan layar berikut, aturan menargetkan perangkat Kulkas . Filter menyatakan bahwa aturan hanya boleh mencakup Kulkas di mana properti Negara Manufaktur sama dengan Washington.

Screenshot that shows a filter definition in a rule.

Menggunakan beberapa kondisi

Kondisi menentukan perangkat mana yang dipicu aturan. Anda dapat menambahkan beberapa kondisi pada aturan dan menentukan apakah aturan harus memicu ketika semua kondisi true atau salah satu kondisinya true.

Dalam cuplikan layar berikut, kondisi memeriksa kapan suhu lebih besar dari 70 ° F dan kelembaban kurang dari 10%. Jika salah satu dari pernyataan ini benar, aturan dievaluasi menjadi true dan memicu tindakan.

Screenshot shows a refrigerator monitor with conditions specified for temperature and humidity.

Catatan

Saat ini hanya kondisi telemetri yang didukung.

Menggunakan properti cloud di bidang nilai

Anda dapat mereferensikan properti cloud dari templat perangkat di bidang Nilai untuk sebuah kondisi. Properti cloud dan nilai telemetri harus memiliki jenis yang sama. Misalnya, jika Suhunya ganda, maka hanya properti cloud dari jenis ganda yang muncul sebagai opsi di Nilai menurun.

Jika Anda memilih nilai telemetri jenis peristiwa, Nilai menurun menyertakan opsi Apa pun. Opsi Apa pun berarti aturan diterapkan saat aplikasi Anda menerima peristiwa jenis tersebut, apa pun payload-nya.

Menggunakan rentang agregat

Anda dapat menentukan agregasi waktu untuk memicu aturan Anda berdasarkan rentang waktu. Kondisi aturan mengevaluasi rentang waktu agregat pada data telemetri sebagai jendela tumbling. Jika ada filter properti dalam aturan, ini akan diterapkan pada akhir rentang waktu. Dalam cuplikan layar berikut, jendela waktu adalah lima menit. Setiap lima menit, aturan mengevaluasi data telemetri pada lima menit terakhir. Data hanya dievaluasi sekali di rentang yang sesuai.

A diagram showing how tumbling windows are defined.

Membuat tindakan surel

Saat membuat tindakan email, alamat email harus berupa ID pengguna dalam aplikasi, dan pengguna tersebut harus masuk ke aplikasi setidaknya sekali. Anda juga dapat menetapkan catatan untuk disertakan dalam email. IoT Central memperlihatkan contoh tampilan email saat aturan memicu:

Screenshot that shows an email action for a rule.

Membuat tindakan webhook

Webhook memungkinkan Anda menyambungkan aplikasi IoT Central ke aplikasi dan layanan lain untuk pemantauan dan pemberitahuan jarak jauh. Webhook otomatis memberi tahu aplikasi dan layanan lain yang Anda sambungkan setiap kali aturan dipicu di aplikasi IoT Central Anda. Aplikasi IoT Central Anda mengirimkan permintaan POST ke titik akhir HTTP aplikasi lain setiap kali aturan memicu. Payload berisi detail perangkat dan detail pemicu aturan.

Dalam contoh ini, Anda terhubung ke RequestBin untuk menguji pemberitahuan:

  1. Navigasi ke RequestBin.

  2. Pilih Buat RequestBin.

  3. Masuk dengan salah satu metode yang tersedia.

  4. Salin URL titik akhir RequestBin Anda.

  5. Tambahkan tindakan ke aturan Anda:

    Screenshot that shows the webhook creation screen.

  6. Pilih tindakan webhook, masukkan nama tampilan, lalu tempelkan URL RequestBin sebagai URL Panggilan Balik.

  7. Simpan aturan.

Kini saat aturan memicu, Anda akan melihat permintaan baru muncul di RequestBin.

Payload

Ketika aturan memicu, akan dibuat permintaan HTTP POST ke URL panggilan balik. Permintaan tersebut berisi payload JSON dengan telemetri, perangkat, aturan, dan detail aplikasi. Payload terlihat seperti cuplikan JSON berikut:

{
    "timestamp": "2020-04-06T00:20:15.06Z",
    "action": {
        "id": "<id>",
        "type": "WebhookAction",
        "rules": [
            "<rule_id>"
        ],
        "displayName": "Webhook 1",
        "url": "<callback_url>"
    },
    "application": {
        "id": "<application_id>",
        "displayName": "Contoso",
        "subdomain": "contoso",
        "host": "contoso.azureiotcentral.com"
    },
    "device": {
        "id": "<device_id>",
        "etag": "<etag>",
        "displayName": "Refrigerator Monitor - 1yl6vvhax6c",
        "instanceOf": "<device_template_id>",
        "simulated": true,
        "provisioned": true,
        "approved": true,
        "cloudProperties": {
            "City": {
                "value": "Seattle"
            }
        },
        "properties": {
            "deviceinfo": {
                "firmwareVersion": {
                    "value": "1.0.0"
                }
            }
        },
        "telemetry": {
            "<interface_instance_name>": {
                "humidity": {
                    "value": 47.33228889360127
                }
            }
        }
    },
    "rule": {
        "id": "<rule_id>",
        "displayName": "Humidity monitor"
    }
}

Jika aturan memantau telemetri agregat selama periode waktu tertentu, payload akan berisi bagian telemetri yang tampak seperti:

{
    "telemetry": {
        "<interface_instance_name>": {
            "Humidity": {
                "avg": 39.5
            }
        }
    }
}

Pemberitahuan perubahan format data

Jika Anda memiliki satu atau beberapa webhook yang dibuat dan disimpan sebelum 3 April 2020, menghapus webhook dan buat yang baru. Webhook yang lebih lama menggunakan format payload yang tidak digunakan lagi:

{
    "id": "<id>",
    "displayName": "Webhook 1",
    "timestamp": "2019-10-24T18:27:13.538Z",
    "rule": {
        "id": "<id>",
        "displayName": "High temp alert",
        "enabled": true
    },
    "device": {
        "id": "rm1",
        "displayName": "Refrigerator Monitor - rm1",
        "instanceOf": "<device-template-id>",
        "simulated": true,
        "provisioned": true,
        "approved": true
    },
    "data": [{
        "@id": "<id>",
        "@type": ["Telemetry"],
        "name": "temperature",
        "displayName": "Temperature",
        "value": 66.27310467496761,
        "interfaceInstanceName": "sensors"
    }],
    "application": {
        "id": "<id>",
        "displayName": "x - Store Analytics Checkout",
        "subdomain": "<subdomain>",
        "host": "<host>"
    }
}

Membuat tindakan grup Azure Monitor

Bagian ini menjelaskan cara menggunakan grup tindakan Azure Monitoruntuk melampirkan beberapa tindakan ke aturan IoT Central. Anda bisa melampirkan grup tindakan ke beberapa aturan. Grup tindakan adalah kumpulan preferensi pemberitahuan yang ditentukan oleh pemilik langganan Azure.

Anda bisa membuat dan mengelola grup tindakan di portal Microsoft Azure atau dengan templat Azure Resource Manager.

Grup tindakan bisa:

  • Mengirim pemberitahuan seperti email, SMS, atau melakukan panggilan suara.
  • Menjalankan tindakan seperti memanggil webhook.

Tangkapan layar berikut menunjukkan grup tindakan yang mengirim pemberitahuan email dan SMS dan memanggil webhook:

Screenshot that shows an action group in the Azure portal.

Untuk menggunakan grup tindakan dalam aturan IoT Central, grup tindakan harus berada dalam langganan Azure yang sama dengan aplikasi IoT Central.

Saat Anda menambahkan tindakan ke aturan pada IoT Central, pilih Grup Tindakan Azure Monitor.

Pilih grup tindakan dari langganan Azure Anda:

Screenshot that shows an action group in an IoT Central rule.

Pilih Simpan. Grup tindakan sekarang muncul dalam daftar tindakan yang akan dijalankan saat aturan dipicu.

Tabel berikut ini meringkas informasi yang dikirim ke tipe tindakan yang didukung:

Jenis tindakan Format output
email Templat email Standard IoT Central
SMS Pemberitahuan Azure IoT Central: ${applicationName} - "${ruleName}" triggered on "${deviceName}" at ${triggerDate} ${triggerTime}
Suara Pemberitahuan Azure I.O.T Central: aturan "${ruleName}" triggered on device "${deviceName}" at ${triggerDate} ${triggerTime}, in application ${applicationName}
Webhook { "schemaId" : "AzureIoTCentralRuleWebhook", "data": {"regular webhook payload"}}

Teks berikut adalah contoh pesan SMS dari grup tindakan:

iotcentral: Azure IoT Central alert: Contoso - "Low pressure alert" triggered on "Motion sensor 2" at March 20, 2019 10:12 UTC

Menggunakan aturan dengan modul IoT Edge

Pembatasan berlaku untuk aturan yang diterapkan ke modul IoT Edge. Aturan tentang telemetri dari modul yang berbeda tidak dievaluasi sebagai aturan yang valid. Misalnya, kondisi pertama aturan ini ada pada telemetri suhu dari Modul A. Kondisi kedua aturan ini ada pada telemetri kelembaban pada Modul B. Karena kedua kondisi berasal dari modul yang berbeda, Anda memiliki adalah serangkaian kondisi yang tidak valid. Aturan ini tidak valid dan menimbulkan kesalahan ketika Anda mencoba menyimpan aturan.

Langkah berikutnya

Setelah mempelajari cara mengonfigurasi aturan di aplikasi Azure IoT Central, Anda dapat mempelajari cara Mengonfigurasi aturan tingkat lanjut menggunakan Power Automate atau Azure Logic Apps.