Hoppa till huvudinnehåll

Kommandon

Genom vår REST-api kan du skicka kommandon till dina enheter, såsom att köa LoRa nedlänkar och inkludera/exkludera z-wave-enheter. Denna dokumentation är utformad för att komplettera vår Swagger-dokumentation och URL:en är staging.yggio.net/api/iotnodes/command.

Hur ett kommando fungerar​

Ett kommando är ett meddelande som Yggio lämnar vidare till integrationen enheten tillhör. Yggio pratar inte med enheten självt: det lämnar kommandot till nätverksservern eller tillverkarmolnet, som levererar det. Två saker följer av det. Vad ett kommando kan göra beror på integrationen, inte på Yggio, och ett kommando som accepterats har köats snarare än levererats.

Varje kommando är samma anrop, PUT /api/iotnodes/command, med samma fyra fält:

{
"command": "loraAppServerQueueDownlink",
"integrationName": "ChirpStack",
"iotnodeId": "5d2c6561ecb9a30aa5fc3e41",
"data": {}
}
Fält
commandObligatoriskt. Vilket kommando som ska köras
iotnodeIdEnheten det gäller
integrationNameVilken integration det ska skickas till. Valfritt om enheten redan tillhör en
dataKommandots egen payload. Dess form beror på kommandot

integrationName och enhetens egen connector pekar båda ut vart det ska skickas. En av de två krävs, och integrationName vinner om båda anges.

Kommandonamnen och den data var och ett förväntar sig skiljer sig per integration, vilket är varför avsnitten nedan är ordnade per integration snarare än per kommando. Under Iotnodes i Swagger UI går samma endpoint att anropa interaktivt.

Att skicka ett kommando kräver Write-åtkomst till enheten, och resursen Device på din roll.

LoRa​

Nedlänk​

Det generella sättet att använda nedlänkar är följande:

  1. Köa en nedlänk, när enheten är schemalagd att ta emot en nedlänk (beroende på klass) kommer den att försvinna från kön.

  2. Hämta kön, detta så att du, användaren, kan se vad som för närvarande finns i kön.

  3. Tömma kön, ta bort alla köade nedlänkar från kön.

Hur man använder dessa tre kommandon varierar från integration till integration.

Köa ett objekt​

method: PUT

body:

{
"command":"loraAppServerQueueDownlink", //string, use as is
"integrationName":"ChirpStack", //string, use as is
"iotnodeId":"5d2c6561ecb9a30aa5fc3e41", //string, yggioId of the device
"data": {
"confirmed": false, //bool, we're currently not using confirmed,
"reference": "I sent this to configure blabla", //string, reference to the payload in plain text
"fPort": "5", //string, port
"data": "1111" //string, hex, payload to be sent to the device
}
}

Hämta kön​

method: PUT

body:

{
"command": "loraAppServerGetDeviceQueue", //string, use as is
"integrationName": "ChirpStack", //string, use as is
"iotnodeId": "5d2c6561ecb9a30aa5fc3e41", //string, yggioId of the device
}

Radera kön​

method: PUT

body:

{
"command": "loraAppServerFlushQueue", //string, use as is
"integrationName": "ChirpStack", //string, use as is
"iotnodeId": "5d2c6561ecb9a30aa5fc3e41", //string, yggioId of the device
}

Köra ett objekt​

method: PUT

body:

{
"command": "apiCall", //string, use as is
"iotnodeId": "60a3b1fd26b01f00074aa625", //string, yggioId of the device
"data": {
"callName": "sendDownlink", //string, use as is
"callData": {
"devEui": "70B3D52C00019041", //string, devEui of the iotnode
"payload":{
"fPort": "2", //string, port
"payloadHex": "aaaaa" //string, hex, payload to be sent to the device
}
}
}
}

Hämta kön​

method: PUT

body:

{
"command": "apiCall", //string, use as is
"iotnodeId": "60a3b1fd26b01f00074aa625", //string, yggioId of the device
"data":{
"callName": "getDownlinks", //string, use as is
"callData": {
"devEui": "70B3D52C00019041" //string, devEui of the iotnode
}
}
}

Radera kön​

method: PUT

body:

{
"command": "apiCall", //string, use as is
"iotnodeId": "60a3b1fd26b01f00074aa625", //string, yggioId of the device
"data": {
"callName": "clearDownlinks", //string, use as is
"callData": {
"devEui": "70B3D52C00019041" //string, devEui of the iotnode
}
}
}

Kommandoknappar​

kommandoknappar

Skapa en knapp som kommer att utlösa en regel när den trycks

  1. Välj en förinställning i rullgardinsmenyn, eller välj anpassad för att ange din egen text
  2. Gå till Regelmotorn och gå till Regler
  3. Regeln som är ansluten till knappen kommer att ha följande format: enhetens-namn.knappens-namn t.ex. Källare-ljus.På
  4. Lägg till en åtgärd i regeln och tryck på Spara. Det är inte nödvändigt att lägga till ett utlösningsvillkor, eftersom regeln redan använder knappen som utlösningsvillkor.