Hoppa till huvudinnehåll

Regelmotorn Legacy

Introduktion​

Regelmotorn är baserad på IFTTT, vilket står för "If This Then That", och är en kraftfull och användarvänlig motor som gör det möjligt att automatisera uppgifter och integrera olika digitala tjänster genom en enkel regelmotor. Kärnfunktionen i IFTTT ligger i dess förmåga att skapa regeluttryck, som följer en grundläggande "om-då"-logik. Varje regel kopplar samman två tjänster: "triggern" ("om"-delen) och "åtgärden" ("då"-delen). Till exempel kan du ställa in en regel för att automatiskt skicka ett e-postmeddelande, publicera data eller slå på eller av en ställdon när ett visst villkor är uppfyllt. Regelmotorn integreras med Yggio Flow, Yggio Translators och Yggios AI/ML-moduler för att leverera kraftfulla anpassade analyser, algoritmer och händelsehanteringsmöjligheter.

Den äldre regelmotorn, som visar regler med sina villkor och åtgärder

De flesta regler baseras på enkla villkor, vilket gör plattformen mycket tillgänglig även för användare utan teknisk expertis. Dessa regler fungerar enligt en enkel "sant eller falskt"-logik, där en åtgärd utlöses om ett visst villkor uppfylls. Till exempel kan du ställa in en regel där, om väderprognosen förutspår regn (villkoret), då skickas ett SMS-meddelande för att påminna dig om att ta med ett paraply (åtgärden). Denna enkelhet gör det möjligt för användare att skapa kraftfulla automationssekvenser med minimal ansträngning.

Regler utlöses av villkor. Om villkoren är uppfyllda kommer åtgärder att utföras. Du kan skapa egna regler, villkor och åtgärder.

Regelmotorn (Legacy)​

Viktigt att veta: Du kan inte ändra fördefinierade regler, villkor eller åtgärder. De kommer att återställas till sitt ursprungliga tillstånd.

  1. Logga in på ditt konto
  2. Klicka på "Apps" i navigeringsfältet
  3. Klicka på "Rule Engine" för att gå till regelmotorn

Skapa en regel​

Formuläret Create rule i den äldre regelmotorn

  1. Klicka på ikonen "Rules" i Regelmotorn
  2. Välj "Add Rule" på mitten av vänstra sidan
  3. Ange regelnamn
  4. Välj en NÄR-trigger. Denna funktion definierar när något ska göras. Tryck på "+"-knappen i mitten och välj sedan en IoT-nod, en timer eller ett cronjob samt ett villkor.
  5. VALFRITT: Välj ett OCH OM-villkor. Denna funktion tillåter regeln att fortsätta utföras om villkoret uppfylls. Tryck på "+"-knappen i mitten och välj sedan en IoT-nod och ett villkor eller ett tidsintervall.
  6. Välj en GÖR-åtgärd. Denna funktion utför något när NÄR- och OM-villkoren är uppfyllda. Tryck på "+"-knappen i mitten och välj sedan en åtgärd och ett mål att utföra åtgärden på.
  7. Tryck på "Add Rule" längst ner till vänster

Kompletterande information

  • Alla textfält är sökbara, vilket gör det snabbt och enkelt att hitta en specifik IoT-nod, ett villkor eller en åtgärd.
  • Flera IoT-noder kan grupperas i en rad för att utvärdera en NÄR-trigger.
  • Flera IoT-noder kan grupperas i en rad för att utvärdera ett OM-villkor.
  • Flera mål kan grupperas i en rad för att utföra en GÖR-åtgärd.
  • Alla NÄR-triggers, även när de är grupperade i en rad, fungerar på en ELLER-basis, vilket innebär att regeln kommer att triggas om någon av dem blir sann.
  • Alla OM-villkor, även när de är grupperade i en rad, fungerar på en OCH-basis, vilket innebär att alla villkor måste vara sanna för att OM-villkoret ska vara uppfyllt.
  • NÄR-triggers är tillståndsbaserade och reagerar endast på förändringar, såsom en övergång från falskt till sant eller en förändring från 19 till 20.
  • När du väljer ett objekt från en lista försvinner det från listan, vilket möjliggör snabbt val av även hundratals IoT-noder i en regel genom att först söka och sedan välja.
  • En GÖR-åtgärd finns tillgänglig för att initiera en annan regel, vilket gör att regelmotorn kan hantera regelkedjor.
  • Alla GÖR-åtgärder kan fördröjas genom att ställa in en timer, vilket möjliggör skapandet av timerbaserade regler. När en åtgärdstimer har startats kan den inte stoppas och kommer att utlösa den tillhörande åtgärden när den löper ut.

Skapa ett villkor​

rule-engine-create-condition

  1. Klicka på ikonen "Condition" i Regelmotorn
  2. Välj "Add Condition" på mitten av vänstra sidan
  3. Ange fältnamnet (som 'temperatureHighAlarm') för ditt villkor från Data-fliken för en IoT-nod i enhetslistan
  4. Ange utvärderingsoperatorn (som '==')
  5. Ange värdet för ditt villkor (som 'true'). Denna funktion använder det angivna värdet som NÄR-trigger eller OM-villkor
  6. Tryck på knappen "Add Condition" på vänster sida

Exempel:

temperatureHighAlarm == true
temperature > 30
temperature < 39.5 || presence == false
temperature > 39.5 && presence == true
message == 'Missing expected report'

Tillåtna datatyper: Integer, Decimal, Boolean, String

Vanliga operatorer: Vanliga operatorer är:

  • == Likhetsoperator (=== strikt likhet)
  • != Olikhetsoperator (!== strikt olikhet)
  • > Större än
  • < Mindre än
  • <= Mindre än eller lika med
  • >= Större än eller lika med
  • || Villkorlig ELLER
  • && Villkorlig OCH

Alla tillåtna operatorer: Tillåtna operatorer finns här

Kompletterande information

  • De vanligaste villkoren är fördefinierade och tillgängliga för att användas direkt i regler.
  • Ett strängvärde ska omslutas av enkla citattecken, som 'Missing expected report'. I Data-fliken i enhetslistan är strängar färgade röda, nummer blåa och booleans gröna.
  • Rekommendationer angående villkor:
    • Använd helst enkla sant- eller falskt-baserade likhets- eller olikhetsvillkor.
    • När > eller < jämförelser är nödvändiga är det att föredra att integrera en översättare med en tröskelkontroll direkt i IoT-noden. Detta lokaliserar tillståndshanteringen till IoT-noden och minskar behovet av ytterligare logik i regelmotorn.
    • För mer komplexa villkor, såsom anpassad avvikelsedetektering, använd befintliga analysalgoritmer (översättare) eller utveckla en egen analyslösning och ladda upp den via API:et.
    • Om analysen kräver ännu mer sofistikering utöver vad anpassade algoritmer erbjuder, utveckla en AI/ML-modell med integrerad dataformatering och ladda upp den till Yggio AI-modulen.

Skapa en åtgärd​

  1. Klicka på ikonen "Action" i Regelmotorn
  2. Välj "Add Action" på mitten av vänstra sidan
  3. Välj vilken typ av åtgärd du behöver och välj den
  4. Ange namnet på din åtgärd
  5. Ange korrekta värden för din åtgärd
  6. Tryck på knappen "Add Action" på vänster sida

Vanligt förekommande åtgärder

  • Email: Skicka ett e-postmeddelande med en anpassad och dynamisk text till mottagaren. E-postens innehåll tillåter HTML-kod för att skapa snyggt formaterade e-postmeddelanden med bilder.

  • SMS: Skicka ett SMS med en anpassad och dynamisk text till mottagaren.

    • Not 1: SMS-ämnesraden är max 11 tecken, annars skickas inget SMS.
    • Not 2: Varje skickat SMS kostar $0.25, för närvarande debiteras det inte extra men antalet skickade SMS måste hållas inom rimliga gränser.
  • Log: Skapa en anpassad loggpost som visas i loggen. Detta kan användas för att sätta larm eller spåra när regler körs. Genom att välja alternativet "dynamic" hämtas logginformationen från JSON-strukturen log : {} i den utlösande IoT-noden, där den satts av en översättare.

    Exempel på en dynamisk logg skriven av en översättare:

    log : {
    'message': 'Modbus configuration not done or not valid.',
    'type': 'Warning',
    'priority': 'Low',
    'category': 'Status'
    }
  • Report: Skapa och skicka en CSV- eller Device Count-rapport (fakturering). Se Report Generator för detaljer

  • LoRaWAN downlink: Skicka en downlink till en LoRaWAN-enhet. Vanligtvis för att styra en ställdon.

  • Zwave downlink: Skicka en downlink till en Zwave-enhet. Vanligtvis för att styra en ställdon.

  • Command: Mycket mångsidig generisk åtgärd för att skicka ett kommando, används till exempel för att publicera ett meddelande på Yggios MQTT-broker eller en annan broker. En Generic MQTT Connector krävs, vilken läggs till som ett mål i GÖR-delen av en regel.

    • Exempel på kommando (observera att tecknet " måste undantas med escape-tecken i regelgränssnittet, så använd /"):
Subject: sendDownlink
Body:
"message": "myMessage",
"mqttTopic": "subTopic"

Dynamisk information

  • Många åtgärder, såsom Email, SMS, Commands, Logs med mera, tillåter att dynamisk information kopplad till den utlösande IoT-noden inkluderas. Denna dynamiska information kan infogas genom att skriva ett uttryck som ${iotnode.fieldname} i åtgärdens specifikation. Vid regelutlösning ersätts platshållaren ${iotnode.fieldName/} med motsvarande värde för fieldname.

Exempel:

The temperature detected was ${iotnode.temperature} degrees.
The device reported at ${iotnode.reportedAt}
'devEui': '${iotnode.devEui}'

Meddelandeåtgärder via Connector (SMS, E-post, WhatsApp)​

Detta avsnitt förklarar hur du konfigurerar och använder åtgärder för att skicka SMS-, e-post- eller WhatsApp-meddelanden när en händelse inträffar i Yggio. Det täcker skapande av connectors, konfiguration av åtgärder och alternativ för reservleverans.

Översikt​

  • Åtgärder kan skicka SMS-, e-post- eller WhatsApp-meddelanden när de utlöses av en regel eller en händelse.
  • Användare måste skapa connectors för varje tjänst (SMS, e-post, WhatsApp) innan åtgärder kan skapas.
  • Connectors kan skapas via kontrollpanelen eller direkt från sidan för att skapa åtgärder.
  • SMS- och WhatsApp-åtgärder tillåter att en reserv-e-postadress anges för misslyckad leverans, om en e-postconnector finns.

Skapa connector​

Connectors krävs för varje meddelandetjänst. Skapa dem via:

  • Kontrollpanelen: /control-panel-v2/connectors
  • Åtgärdssidan: Om ingen connector finns kan du skapa en under konfigurationen av åtgärden.

Dokumentation för connectors finns i mappen connectors.

Leverantörer som stöds​

  • SMS: 46elks, Telnyx, Twilio
  • WhatsApp: Twilio
  • E-post: Kundanordnad (valfri SMTP-kompatibel leverantör)

Typer av åtgärder​

E-poståtgärd via connector​

  • Skickar e-post med hjälp av en konfigurerad e-postconnector.
  • Ange ämne och meddelandetext.

En e-poståtgärd konfigurerad mot en connector

SMS-åtgärd via connector​

  • Skickar SMS med hjälp av en konfigurerad SMS-connector.
  • Ange en sparad SMS-connector (eller lägg till en ny connector) och meddelandetext.
  • Lägg valfritt till en reserv-e-postadress för misslyckad SMS-leverans (kräver en e-postconnector).

En SMS-åtgärd konfigurerad mot en connector

WhatsApp-åtgärd via connector​

  • Skickar ett WhatsApp-meddelande med hjälp av en konfigurerad WhatsApp-connector.
  • Ange en sparad WhatsApp-connector (eller lägg till en ny connector) och meddelandetext.
  • Lägg valfritt till en reserv-e-postadress för misslyckad WhatsApp-leverans (kräver en e-postconnector).

En WhatsApp-åtgärd konfigurerad mot en connector

Reserv-e-postalternativ inom respektive connector​

  • För SMS- och WhatsApp-åtgärder kan du ange en reserv-e-postadress.
  • Om leveransen misslyckas kommer systemet att försöka skicka meddelandet via e-post (kräver en e-postconnector).

Exempelarbetsflöde​

  1. Skapa den eller de connectors som krävs för SMS, e-post eller WhatsApp.
  2. (Valfritt) Lägg till en reserv-e-postadress för SMS-/WhatsApp-åtgärder.
  3. Skapa en regelåtgärd för den önskade händelsen.
  4. Välj connectorn och konfigurera meddelandedetaljerna.

Skapa ett tillstånd​

rule-engine-create-condition

  1. Klicka på States-ikonen i Regelmotorn
  2. Tryck på knappen "Add State"
  3. Lägg till tillstånden
  4. Tryck på knappen "Add state" längst ner till vänster

Kompletterande information

  • Tillstånd (States) används för att konstruera avancerade regelkedjor som innefattar tillståndshantering. Ofta refereras tillståndet i OCH OM-delen av en regel.
  • Tillstånd är IoT-noder, vilket innebär att de visas i enhetslistan och kan visas och hanteras som vilken annan IoT-nod som helst.
  • Värdet på ett tillstånd lagras som en sträng med fältnamnet value. Eftersom värdet på ett tillstånd är en sträng bör det kontrolleras i ett villkor omslutet av enkla citattecken, som value=='stateValue1'.
  • Värdet på ett tillstånd ändras av State-åtgärden, som placeras i GÖR-delen av en regel.
  • Det rekommenderas att använda enkla tillstånd som 1, 2, 3 och så vidare. Det finns fördefinierade åtgärder och villkor för att hantera de vanligaste tillståndsvärdena.

rule-engine-create-condition

rule-engine-create-condition

Skapa en kontakt​

  1. Klicka på ikonen "Contacts" i Regelmotorn
  2. Tryck på knappen "Add Contact"
  3. Ange namn, e-post och telefonnummer
  4. Tryck på knappen "Add contact" längst ner till vänster