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 | |
|---|---|
command | Obligatoriskt. Vilket kommando som ska köras |
iotnodeId | Enheten det gäller |
integrationName | Vilken integration det ska skickas till. Valfritt om enheten redan tillhör en |
data | Kommandots 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:
-
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.
-
Hämta kön, detta så att du, användaren, kan se vad som för närvarande finns i kön.
-
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.
ChirpStack downlink
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
}
Netmore downlink
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

Skapa en knapp som kommer att utlösa en regel när den trycks
- Välj en förinställning i rullgardinsmenyn, eller välj anpassad för att ange din egen text
- Gå till Regelmotorn och gå till Regler
- Regeln som är ansluten till knappen kommer att ha följande format:
enhetens-namn.knappens-namnt.ex.Källare-ljus.På - 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.