Skip to content

Sigfox IoT Gateway Service

Summary

This supports the integration between Murano and Sigfox.

Operations

Name Tag Summary
sigfox.backendApi() BackendApi
sigfox.muranoSync() MuranoSync
sigfox.removeCallback() RemoveCallback
sigfox.sendDownlinkData() SendDownlinkData

Configuration parameters

Name Type Description
domain string Sigfox backend domain
Default: "backend.sigfox.com"
apiUser string Sigfox username for basic authentication
apiPassword string Sigfox password for basic authentication
callbacks [ object ] Sigfox callbacks definition (Only allow one payloadConfig setting per deviceTypeId)
callbacks[].deviceTypeId string Sigfox device type id
callbacks[].payloadConfig [ object ] Sigfox device uplink payload resources definition
callbacks[].payloadConfig[].resource string Murano product resource value path definition.
To specify or access a field of an embedded resource with dot notation, concatenate the embedded resource name with the dot (.) and the field name: ".[:]"
Example for resource value in the embedded object: "data_in.temperature".
Example for resource value in the embedded array: "data.0".
callbacks[].payloadConfig[].definition ^[0-9]*:(bool|char|int|uint|float)(:(6[0-4]|[0-5]?[0-9]))?(:(little|big)-endian)?(:[0-7]*)?$ The resource field definition as defined by Sigfox payload syntax. http://docs.exosite.com/development/services/sigfox/decoding-grammar/
Grammar: ":".
For example, ":uint:8".
callbacks[].metadataConfig object Sigfox meta data registration
callbacks[].metadataConfig.^(batt|temp|operatorName|countryCode|lat|lng)$ ^[\w.]+$ The resource name, if it is not set, it will use the default name.

Operations

backendApi

Description

A connector of Sigfox backend APIs

Arguments

Name Type Description
alias string Alias for matching of service config list
apiBody object Variables in the body, the names should be exactly the same with their API
apiPath string The path of Sigfox API, e.g. /api/v2/devices/19C3B/callbacks-not-delivered
apiUser string Sigfox username for basic authentication
apiMethod "GET", "POST", "PUT", "DELETE" HTTP method of the Sigfox API
apiQueryString object Variables in the query string, the names should be exactly the same with their API

Responses

  • Returns nil for The reponse body is the same with Sigfox API, please refer to their doc.

  • Returns nil for Ok

  • Returns {object} when Service error

    Error response schema {object}

    Name Type Description
    error string Error message
    status "100", "101", "200", "201", "202", "203", "204", "205", "206", "300", "301", "302", "303", "304", "305", "307", "400", "401", "402", "403", "404", "405", "406", "407", "408", "409", "410", "411", "412", "413", "414", "415", "416", "417", "500", "501", "502", "503", "504", "505" Http status code

Example

-- apiUser or alias is exclusive identity, use one of those two
local ret = Sigfox.backendApi({
  apiUser = "<your Sigfox api user name>",
  apiPath = "/api/v2/devices/19C3B/callbacks-not-delivered",
  apiMethod = "GET",
  apiQueryString = { limit = 1 }
})

muranoSync

Description

Scan and remove zombie devices stored in this service All provisioning work are done in this service, users should not remove the device manually in Murano UI side. If the user still makes the mistake, this API is used for fixing such problem.

Responses

  • Returns nil for Sync succesffully

  • Returns nil for Duplicate sync job is not allowed

  • Returns {object} when Service error

    Error response schema {object}

    Name Type Description
    error string Error message
    status "100", "101", "200", "201", "202", "203", "204", "205", "206", "300", "301", "302", "303", "304", "305", "307", "400", "401", "402", "403", "404", "405", "406", "407", "408", "409", "410", "411", "412", "413", "414", "415", "416", "417", "500", "501", "502", "503", "504", "505" Http status code

Example

local ret = Sigfox.muranoSync()

removeCallback

Description

Remove a callback in Sigfox backend

Arguments

Name Type Description
alias string Alias for matching of service config list
apiUser string Sigfox username for basic authentication
deviceTypeId string Sigfox device type id

Responses

  • Returns nil for Ok

  • Returns {object} when Service error

    Error response schema {object}

    Name Type Description
    error string Error message
    status "100", "101", "200", "201", "202", "203", "204", "205", "206", "300", "301", "302", "303", "304", "305", "307", "400", "401", "402", "403", "404", "405", "406", "407", "408", "409", "410", "411", "412", "413", "414", "415", "416", "417", "500", "501", "502", "503", "504", "505" Http status code

Example

-- apiUser or alias is exclusive identity, use one of those two
local ret = Sigfox.removeCallback({
  deviceTypeId = "<your Sigfox device type id>",
})

sendDownlinkData

Description

Send downlink data for multiple devices in next transaction

Arguments

Name Type Description
alias string Alias for matching of service config list
apiUser string Sigfox username for basic authentication
deviceTypeId string Sigfox device type id
downlinkData [ string ] DownlinkData

Responses

  • Returns nil for Ok

  • Returns {object} when Service error

    Error response schema {object}

    Name Type Description
    error string Error message
    status "100", "101", "200", "201", "202", "203", "204", "205", "206", "300", "301", "302", "303", "304", "305", "307", "400", "401", "402", "403", "404", "405", "406", "407", "408", "409", "410", "411", "412", "413", "414", "415", "416", "417", "500", "501", "502", "503", "504", "505" Http status code

Example

-- apiUser or alias is exclusive identity, use one of those two
local ret = Sigfox.sendDownlinkData({
  deviceTypeId = "<your Sigfox device type id>",
  downlinkData = {"SN001", "00F0111145EA0007"}
})