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

NamnValfriBeskrivning
MethodNejHTTP Metod att använda.
PathNejPath of the URL to request.
BodyJaBody i requester.
IoTCfgJaEn 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

NamnValfriBeskrivning
PathNejPath i IoT Open API:et att använda.
IoTCfgJaEn 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.

Se API Specification

Parametrar

NameOptionalDescription
FilterJaMetadata 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.

Se API Specification

Parametrar

NamnValfriBeskrivning
fnNejHela 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.

Se API Specification

Parametrar

NamnValfriBeskrivning
idNejID på funktionen som skall tas bort.

Exempel

lynx.deleteFunction(7)

getApps

Hämtar alla configurerade edge-appar för tillhörande installation.

Se API Specification

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.

Se API Specification

Parametrar

NamnValfriBeskrivning
App-IDJaID på appen som ska laddas ner.
VersionJaVersion 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.

Se API Specification

Parametrar

NamnValfriBeskrivning
topicsJaLista 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.

Se API Specification

Parametrar

NamnValfriBeskrivning
toNejHämta loggar fram till detta unix-timestamp.
fromNejHämta loggar från detta unix-timestamp.
limitNejBegrä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.

Se API Specification

Parametrar

NamnValfriBeskrivning
FilterJaMetadata 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.

Se API Specification

Parametrar

NamnValfriBeskrivning
devNejHela 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.

Se API Specification

Parametrar

NamnValfriBeskrivning
idNejID 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.

Se API Specification

Parametrar

NamnValfriBeskrivning
idNejID för utskick att använda.
bodyJaData som inkluderas till servern, kan användas i mallar.

Exempel

local myData = {
    value = 23.5,
    action = "over"
}
lynx.notify(12, myData)