Regels configureren
Regels in IoT Central fungeren als een aanpasbaar antwoordprogramma dat activeert op actief bewaakte gebeurtenissen van verbonden apparaten. In de volgende secties wordt beschreven hoe regels worden geëvalueerd. U kunt een of meer acties definiëren die plaatsvinden wanneer een regel wordt geactiveerd. In dit artikel worden e-mail-, webhook- en Azure Monitor-actiegroepen beschreven. Zie Werkstromen gebruiken om uw Azure IoT Central-toepassing te integreren met andere cloudservices voor meer informatie over andere actietypen.
Doelapparaten selecteren
Gebruik de sectie Doelapparaten om te selecteren op welk type apparaten deze regel van toepassing is. Met filters kunt u verder verfijnen welke apparaten moeten worden opgenomen. De filters gebruiken eigenschappen op de apparaatsjabloon om de set apparaten omlaag te filteren. Filters zelf activeren geen actie. In de volgende schermopname is de regel gericht op Koelkastapparaten . Het filter geeft aan dat de regel alleen koelkasten moet bevatten waar de eigenschap Manufactured State gelijk is aan Washington.
Meerdere voorwaarden gebruiken
Voorwaarden bepalen op welke apparaten de regel wordt geactiveerd. U kunt meerdere voorwaarden toevoegen aan een regel en opgeven of de regel moet worden geactiveerd wanneer aan alle voorwaarden wordt voldaan of aan een van de voorwaarden wordt voldaan.
In de volgende schermopname controleren de voorwaarden wanneer de temperatuur groter is dan 70° F en de vochtigheid kleiner is dan 10%. Wanneer een van deze instructies waar is, resulteert de regel in waar en wordt een actie geactiveerd.
Notitie
Momenteel worden alleen telemetrievoorwaarden ondersteund.
Een cloudeigenschap gebruiken in een waardeveld
U kunt verwijzen naar een cloudeigenschap van de apparaatsjabloon in het veld Waarde voor een voorwaarde. De cloudeigenschap en telemetriewaarde moeten vergelijkbare typen hebben. Als temperatuur bijvoorbeeld een dubbele waarde is, worden alleen cloudeigenschappen van het type dubbel weergegeven als opties in de vervolgkeuzelijst Waarde .
Als u een telemetriewaarde voor het gebeurtenistype kiest, bevat de vervolgkeuzelijst Waarde de optie Any. De optie Alle betekent dat de regel wordt geactiveerd wanneer uw toepassing een gebeurtenis van dat type ontvangt, ongeacht de nettolading.
Statistische vensters gebruiken
U kunt een tijdaggregatie opgeven om uw regel te activeren op basis van een tijdvenster. Regelvoorwaarden evalueren geaggregeerde tijdvensters op telemetriegegevens als tumblingvensters. Als er eigenschapsfilters in de regel staan, worden deze toegepast aan het einde van het tijdvenster. In de volgende schermopname is het tijdvenster vijf minuten. Elke vijf minuten evalueert de regel op de laatste vijf minuten telemetriegegevens. De gegevens worden slechts eenmaal geëvalueerd in het venster waarop deze overeenkomen.
Een e-mailactie maken
Wanneer u een e-mailactie maakt, moet het e-mailadres een gebruikers-id in de toepassing zijn en moet de gebruiker ten minste één keer zijn aangemeld bij de toepassing. U kunt ook een notitie opgeven die u wilt opnemen in het e-mailbericht. IoT Central toont een voorbeeld van hoe het e-mailbericht eruitziet wanneer de regel wordt geactiveerd:
Een webhookactie maken
Met webhooks kunt u uw IoT Central-app verbinden met andere toepassingen en services voor externe bewaking en meldingen. Webhooks melden automatisch andere toepassingen en services die u verbindt wanneer een regel wordt geactiveerd in uw IoT Central-app. Uw IoT Central-app verzendt een POST-aanvraag naar het HTTP-eindpunt van de andere toepassing wanneer een regel wordt geactiveerd. De nettolading bevat apparaatdetails en details van regeltriggers.
In dit voorbeeld maakt u verbinding met RequestBin om de melding te testen:
Navigeer naar RequestBin.
Selecteer Een RequestBin maken.
Meld u aan met een van de beschikbare methoden.
Kopieer de URL van uw RequestBin-eindpunt.
Voeg een actie toe aan uw regel:
Kies de webhookactie, voer een weergavenaam in en plak de RequestBin-URL als de Callback-URL.
Sla de regel op.
Wanneer de regel wordt geactiveerd, ziet u nu dat er een nieuwe aanvraag wordt weergegeven in RequestBin.
Nettolading
Wanneer een regel wordt geactiveerd, wordt er een HTTP POST-aanvraag naar de callback-URL verzonden. De aanvraag bevat een JSON-nettolading met de telemetrie, het apparaat, de regel en de toepassingsgegevens. De nettolading ziet eruit als het volgende JSON-fragment:
{
"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"
}
}
Als de regel gedurende een bepaalde periode geaggregeerde telemetrie bewaakt, bevat de nettolading een telemetriesectie die er als volgt uitziet:
{
"telemetry": {
"<interface_instance_name>": {
"Humidity": {
"avg": 39.5
}
}
}
}
Wijzigingsmelding voor gegevensindeling
Als u vóór 3 april 2020 een of meer webhooks hebt gemaakt en opgeslagen, verwijdert u de webhook en maakt u een nieuwe webhook. Oudere webhooks gebruiken een afgeschafte payload-indeling:
{
"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>"
}
}
Een Azure Monitor-groepsactie maken
In deze sectie wordt beschreven hoe u Azure Monitor-actiegroepen gebruikt om meerdere acties toe te voegen aan een IoT Central-regel. U kunt een actiegroep aan meerdere regels koppelen. Een actiegroep is een verzameling meldingsvoorkeuren die zijn gedefinieerd door de eigenaar van een Azure-abonnement.
U kunt actiegroepen maken en beheren in Azure Portal of met een Azure Resource Manager-sjabloon.
Een actiegroep kan:
- Meldingen verzenden, zoals een e-mailbericht, een sms of een spraakoproep.
- Voer een actie uit, zoals het aanroepen van een webhook.
In de volgende schermopname ziet u een actiegroep waarmee e-mail- en sms-meldingen worden verzonden en een webhook wordt aanroepen:
Als u een actiegroep in een IoT Central-regel wilt gebruiken, moet de actiegroep zich in hetzelfde Azure-abonnement bevinden als de IoT Central-toepassing.
Wanneer u een actie toevoegt aan de regel in IoT Central, selecteert u Azure Monitor-actiegroepen.
Kies een actiegroep uit uw Azure-abonnement:
Selecteer Opslaan. De actiegroep wordt nu weergegeven in de lijst met acties die moeten worden uitgevoerd wanneer de regel wordt geactiveerd.
De volgende tabel bevat een overzicht van de informatie die naar de ondersteunde actietypen wordt verzonden:
Actietype | Uitvoerindeling |
---|---|
E-mailen | Standaard-e-mailsjabloon voor IoT Central |
Sms | Azure IoT Central-waarschuwing: ${applicationName} - "${ruleName}" triggered on "${deviceName}" at ${triggerDate} ${triggerTime} |
Spraak | Azure I.O.T Central-waarschuwing: regel "${ruleName}" triggered on device "${deviceName}" at ${triggerDate} ${triggerTime}, in application ${applicationName} |
Webhook | { "schemaId" : "AzureIoTCentralRuleWebhook", "data": {"regular webhook payload"}} |
De volgende tekst is een voorbeeld van een sms-bericht van een actiegroep:
iotcentral: Azure IoT Central alert: Contoso - "Low pressure alert" triggered on "Motion sensor 2" at March 20, 2019 10:12 UTC
Regels gebruiken met IoT Edge-modules
Een beperking is van toepassing op regels die worden toegepast op IoT Edge-modules. Regels voor telemetrie van verschillende modules worden niet geëvalueerd als geldige regels. In het volgende voorbeeld bevindt de eerste voorwaarde van de regel zich op een temperatuurtelemetrie van module A. De tweede voorwaarde van de regel is gebaseerd op een vochtigheidstelemetrie op module B. Omdat de twee voorwaarden afkomstig zijn van verschillende modules, hebt u een ongeldige set voorwaarden. De regel is niet geldig en genereert een fout wanneer u de regel probeert op te slaan.
Volgende stappen
Nu u hebt geleerd hoe u een regel configureert in uw Azure IoT Central-toepassing, kunt u leren hoe u geavanceerde regels configureert met behulp van Power Automate of Azure Logic Apps.