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 errorError 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 errorError 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 errorError 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 errorError 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"}
})