Konfigurace pravidel

Pravidla v IoT Central slouží jako přizpůsobitelný nástroj pro reakci, který se aktivuje při aktivně monitorovaných událostech z připojených zařízení. Následující části popisují, jak se pravidla vyhodnocují. Můžete definovat jednu nebo více akcí, ke kterým dochází při aktivaci pravidla, tento článek popisuje e-mail, webhook a skupiny akcí služby Azure Monitor. Další informace o dalších typech akcí najdete v tématu Použití pracovních postupů k integraci aplikace Azure IoT Central s jinými cloudovými službami.

Výběr cílových zařízení

V části Cílová zařízení vyberte, na jaký druh zařízení se toto pravidlo vztahuje. Filtry umožňují dále upřesnit, jaká zařízení by se měla zahrnout. Filtry používají vlastnosti v šabloně zařízení k filtrování sady zařízení. Filtry samy o sobě neaktivují akci. Na následujícím snímku obrazovky cílí pravidlo na zařízení Lednice . Filtr uvádí, že pravidlo by mělo obsahovat pouze ledničky , kde vlastnost Manufactured State se rovná Washingtonu.

Screenshot that shows a filter definition in a rule.

Použití více podmínek

Podmínky určují, na kterých zařízeních se pravidlo aktivuje. Do pravidla můžete přidat více podmínek a určit, jestli se má pravidlo aktivovat, pokud jsou splněné všechny podmínky nebo některé z podmínek jsou splněné.

Na následujícím snímku obrazovky zkontrolují podmínky, kdy je teplota větší než 70 ° F a vlhkost je menší než 10 %. Pokud je některý z těchto příkazů pravdivý, pravidlo se vyhodnotí jako true a aktivuje akci.

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

Poznámka:

V současné době se podporují jenom podmínky telemetrie.

Použití vlastnosti cloudu v poli hodnoty

Na cloudovou vlastnost můžete odkazovat ze šablony zařízení v poli Hodnota pro podmínku. Vlastnost cloudu a hodnota telemetrie musí mít podobné typy. Pokud je například teplota dvojitá, v rozevíracím seznamu Hodnota se jako možnosti zobrazí pouze vlastnosti cloudu typu double.

Pokud zvolíte hodnotu telemetrie typu události, rozevírací seznam Hodnota obsahuje možnost Libovolný. Možnost Libovolná znamená, že se pravidlo aktivuje, když vaše aplikace obdrží událost tohoto typu, ať už datovou část.

Použití agregačních oken

Můžete zadat časovou agregaci, která aktivuje pravidlo na základě časového intervalu. Podmínky pravidla vyhodnocují agregovaná časová okna telemetrických dat jako přeskakující okna. Pokud jsou v pravidle nějaké filtry vlastností, použijí se na konci časového intervalu. Na následujícím snímku obrazovky je časové období pět minut. Každé pět minut se pravidlo vyhodnotí za posledních pět minut telemetrických dat. Data se vyhodnocují pouze jednou v okně, ke kterému odpovídá.

A diagram showing how tumbling windows are defined.

Vytvoření e-mailové akce

Při vytváření e-mailové akce musí být e-mailová adresa ID uživatele v aplikaci a uživatel se musí k aplikaci alespoň jednou přihlásit. Můžete také zadat poznámku, která se má zahrnout do e-mailu. IoT Central ukazuje příklad toho, jak e-mail vypadá, když se pravidlo aktivuje:

Screenshot that shows an email action for a rule.

Vytvoření akce webhooku

Webhooky umožňují připojit aplikaci IoT Central k jiným aplikacím a službám pro vzdálené monitorování a oznámení. Webhooky automaticky upozorňují ostatní aplikace a služby, které se připojíte při každém aktivaci pravidla v aplikaci IoT Central. Aplikace IoT Central odešle požadavek POST do koncového bodu HTTP druhé aplikace pokaždé, když se aktivuje pravidlo. Datová část obsahuje podrobnosti o zařízení a podrobnosti o triggeru pravidla.

V tomto příkladu se připojíte k RequestBin a otestujete oznámení:

  1. Přejděte na RequestBin.

  2. Vyberte Vytvořit sadu RequestBin.

  3. Přihlaste se pomocí jedné z dostupných metod.

  4. Zkopírujte adresu URL koncového bodu RequestBin.

  5. Přidejte do pravidla akci:

    Screenshot that shows the webhook creation screen.

  6. Zvolte akci webhooku, zadejte zobrazovaný název a vložte adresu URL requestbinu jako adresu URL zpětného volání.

  7. Uložte pravidlo.

Když se pravidlo aktivuje, zobrazí se v requestBin nový požadavek.

Datová část

Když se pravidlo aktivuje, vytvoří požadavek HTTP POST na adresu URL zpětného volání. Požadavek obsahuje datovou část JSON s telemetrií, zařízením, pravidlem a podrobnostmi o aplikaci. Datová část vypadá jako následující fragment kódu JSON:

{
    "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"
    }
}

Pokud pravidlo monitoruje agregovanou telemetrii za určité časové období, datová část obsahuje oddíl telemetrie, který vypadá takto:

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

Oznámení o změně formátu dat

Pokud máte jeden nebo více webhooků vytvořených a uložených před 3. dubnem 2020, odstraňte webhook a vytvořte nový. Starší webhooky používají zastaralý formát datové části:

{
    "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>"
    }
}

Vytvoření akce skupiny služby Azure Monitor

Tato část popisuje, jak pomocí skupin akcí služby Azure Monitorpřipojit více akcí k pravidlu IoT Central. Skupinu akcí můžete připojit k více pravidlům. Skupina akcí je kolekce předvoleb oznámení definovaných vlastníkem předplatného Azure.

Skupiny akcí můžete vytvářet a spravovat na webu Azure Portal nebo pomocí šablony Azure Resource Manageru.

Skupina akcí může:

  • Pošlete oznámení, jako je e-mail, SMS nebo hlasový hovor.
  • Spusťte akci, jako je volání webhooku.

Následující snímek obrazovky ukazuje skupinu akcí, která odesílá e-maily a sms oznámení a volá webhook:

Screenshot that shows an action group in the Azure portal.

Pokud chcete použít skupinu akcí v pravidle IoT Central, musí být skupina akcí ve stejném předplatném Azure jako aplikace IoT Central.

Když do pravidla v IoT Central přidáte akci, vyberte skupiny akcí služby Azure Monitor.

V předplatném Azure zvolte skupinu akcí:

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

Zvolte Uložit. Skupina akcí se teď zobrazí v seznamu akcí, které se mají spustit při aktivaci pravidla.

Následující tabulka shrnuje informace odeslané do podporovaných typů akcí:

Typ akce Výstupní formát
E-mail Šablona e-mailu Služby IoT Central úrovně Standard
SMS Upozornění Azure IoT Central: ${applicationName} - "${ruleName}" triggered on "${deviceName}" at ${triggerDate} ${triggerTime}
Hlasový hovor Centrální upozornění Azure I.O.T: pravidlo "${ruleName}" triggered on device "${deviceName}" at ${triggerDate} ${triggerTime}, in application ${applicationName}
Webhook { "schemaId" : "AzureIoTCentralRuleWebhook", "data": {"regular webhook payload"}}

Následující text je příkladem zprávy SMS ze skupiny akcí:

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

Použití pravidel s moduly IoT Edge

Omezení se vztahuje na pravidla, která se použijí na moduly IoT Edge. Pravidla telemetrie z různých modulů se nevyhodnocují jako platná pravidla. Podívejte se na následující příklad, první podmínkou pravidla je telemetrie teploty z modulu A. Druhou podmínkou pravidla je telemetrie vlhkosti v modulu B. Vzhledem k tomu, že tyto dvě podmínky pocházejí z různých modulů, máte neplatnou sadu podmínek. Pravidlo není platné a při pokusu o uložení pravidla vyvolá chybu.

Další kroky

Teď, když jste se dozvěděli, jak nakonfigurovat pravidlo v aplikaci Azure IoT Central, se dozvíte, jak nakonfigurovat pokročilá pravidla pomocí Power Automate nebo Azure Logic Apps.