# Package lynx
# Funktioner
# apiCall
Genomför ett autentiserat anrop till API:et med gatewayens användarnamn och lösenord. Svara med ett LUA objekt.
# Parametrar
Namn | Valfri | Beskrivning |
---|---|---|
Method | Nej | HTTP Metod att använda. |
Path | Nej | Path of the URL to request. |
Body | Ja | Body i requester. |
IoTCfg | Ja | En config att ladda parametrar och autentisering ifrån. |
# Exempel
local res = lynx.apiCall("POST", "/api/v2/functionx/1", {
type = "test",
meta = {key1 = "val1"}
})
# apiCallRaw
Gör en GET request till API:et med gatewayens eller angiven autentisering. Resultatet ges tillbaka som en sträng vid okej eller error som objekt.
# Parametrar
Namn | Valfri | Beskrivning |
---|---|---|
Path | Nej | Path i IoT Open API:et att använda. |
IoTCfg | Ja | En config att ladda parametrar och autentisering ifrån. |
# Exempel
local resRaw = lynx.apiCallRaw("/api/vw/functionx/1")
# getFunctions
Hämta en lista på funktioner för den här installationen genom API:et.
# Parametrar
Name | Optional | Description |
---|---|---|
Filter | Ja | Metadata eller type för att filtrera listan på funktioner. |
# Exempel
local functions = lynx.getFunctions({
key1 = "value1",
key2 = "value2"
})
# createFunction
Skapa en ny funktion för tillhörande installation via API:et.
# Parametrar
Namn | Valfri | Beskrivning |
---|---|---|
fn | Nej | Hela funktionsobjektet som skal skapas. |
# Exempel
local fn = {
type = "example",
installation_id = 12,
meta = {
name = "My exmaple",
topic_read = "obj/example/sensor/1/value"
}
}
lynx.createFunction(fn)
# deleteFunction
Ta bort en funktion på tillhörande installation via API:et.
# Parametrar
Namn | Valfri | Beskrivning |
---|---|---|
id | Nej | ID på funktionen som skall tas bort. |
# Exempel
lynx.deleteFunction(7)
# getApps
Hämtar alla configurerade edge-appar för tillhörande installation.
# Exempel
local apps = lynx.getApps()
# downloadApp
Laddar ner den exekverbara koden som fil för en app. Svaret ges som exekverbara koden i en textsträng.
# Parametrar
Namn | Valfri | Beskrivning |
---|---|---|
App-ID | Ja | ID på appen som ska laddas ner. |
Version | Ja | Version på appen som ska laddas ner. |
# Exempel
local appCode = lynx.downloadApp(1, "0.3.5")
# getStatus
Hämta senaste kända värde för specifierade topics eller alla topics vid nil
.
Observera att det finns ett kort avbrott mellan ett publicerat värde och att det
kan hämtas från API:et.
# Parametrar
Namn | Valfri | Beskrivning |
---|---|---|
topics | Ja | Lista med topics att hämta data för. |
# Exempel
local statuses = lynx.getStatus()
# getLog
Hämnta historisk data av MQTT värden från den tillhörande installationen. Ger ofta stora mängder data.
# Parametrar
Namn | Valfri | Beskrivning |
---|---|---|
to | Nej | Hämta loggar fram till detta unix-timestamp. |
from | Nej | Hämta loggar från detta unix-timestamp. |
limit | Nej | Begränsa antalet rader med svar. |
# Exempel
local logs = lynx.getLog(1603365159, 1603355159, 100)
# getDevices
Hämta en lista på enheter för installationen via API:et.
# Parametrar
Namn | Valfri | Beskrivning |
---|---|---|
Filter | Ja | Metadata eller type för att filtrera listan på enheter. |
# Exempel
local devices = lynx.getDevices({
key1 = "value1",
key2 = "value2"
})
# createDevice
Skapa en nu enhet för tillhörande installation via API:et.
# Parametrar
Namn | Valfri | Beskrivning |
---|---|---|
dev | Nej | Hela enhets-objektet som skall skapas. |
# Exempel
local dev = {
type = "example",
installation_id = 12,
meta = {
name = "A device",
serial = "ABCD1234"
}
}
lynx.createDevice(fn)
# deleteDevice
Ta bort en enhet på tillhörande installation via API:et.
# Parametrar
Namn | Valfri | Beskrivning |
---|---|---|
id | Nej | ID på enheten som skall tas bort. |
# Exempel
lynx.deleteDevice(7)
# notify(id, body)
Gör så att backendet använder ett notifieringsutskick via API:et.
# Parametrar
Namn | Valfri | Beskrivning |
---|---|---|
id | Nej | ID för utskick att använda. |
body | Ja | Data som inkluderas till servern, kan användas i mallar. |
# Exempel
local myData = {
value = 23.5,
action = "over"
}
lynx.notify(12, myData)