Difference between revisions of "SIGFOX"

From HSYCO
Jump to navigation Jump to search
Line 43: Line 43:
 
Callback messages must be configured in Sigfox backend by composing an URL in the following format:
 
Callback messages must be configured in Sigfox backend by composing an URL in the following format:
  
<pre>http://<hsyco_ip_address>:<port>/hsyco/sigfox/<I/O_server_name>?id={device}&key1={var1}&key2={var2}...</pre>
+
<pre>http://<hsyco_ip_address>:<port>/hsyco/sigfox/<I/O_server_name>?key=<callbackkey>&id={device}&field1={var1}&field2={var2}...</pre>
  
 
E.g.
 
E.g.
  
<pre>http://93.45.12.54:7777/hsyco/sigfox/sgfx?id={BE1234}&time={time}&data={data}&seqNumber={seqNumber}</pre>
+
<pre>http://93.45.12.54:7777/hsyco/sigfox/sgfx?key=Abc1234&id={BE1234}&time={time}&data={data}&seqNumber={seqNumber}</pre>
  
The URL key "id" must be always present while other fields are optionals and can be set accordingly to the type of callback you are configuring in Sigfox Backend.
+
The URL fields "key" and "id" must be always present in every URL composition while other fields are optionals and can be set accordingly to the type of callback you are configuring in Sigfox backend. Fields order is irrelevant. Below are reported all URL fields that SIGFOX driver can process:
 +
 
 +
<pre>key, id, time, data, seqNumber, batt, temp, key, lqi, deviceTypeId</pre>
  
 
=== Options ===
 
=== Options ===

Revision as of 13:49, 20 October 2020

Sigfox is a global network operator founded that builds wireless networks to connect low-power objects such as electricity meters and smartwatches, which need to be continuously on and emitting small amounts of data. This driver allows you to communicate with Sigfox Cloud in order to retrieve messages and status updates collected from devices. As reported in the Sigfox backend, each device is grouped into a device type.

HSYCO Configuration

Add the SIGFOX I/O Server in the I/O Servers section of the Settings and set its parameters:

Authentication

  • User: optional API username
  • Password: optional API password

Devices list file

At the first run of SIGFOX driver a file named "sigfox-devices_<I/O_Server_name>.ini" will be created . This file can contain a series of line, each line represents informations of a single device and can have the following format:

<device_id>:name=<device_name>,model=<device_model>
<device_id>:model=<device_model>,name=<device_name>
<device_id>:name=<device_name>
<device_id>:model=<device_model>
<device_id>

E.g.

BE1234:name=homesensor,model=eccoswitch
BE1234:model=eccoswitch,name=homesensor
BE1234:name=homesensor
BE1234:model=eccoswitch
BE1234


Device id must be present in each line while name and model are optional. Device identifiers are considered as case insensitive by the SIGFOX I/O Server, so there can't be two identifiers with the same sequence of characters in upper/lower case, e.g. "BE1234" and "be1234" are considered the same.

Message types

To retrieve device messages from Sigfox Cloud you can use API and/or callbacks. API are easier to set up but they require to wait for an interval to expire (max 30 seconds) to get every new message sent by devices to Sigfox cloud. Callbacks are a little bit tricky to set up but there allow to retrieve every new message sent by devices as soon as Sigfox Cloud receives it.

API

In order to use Sigfox API you have to create an API user in Sigfox backend (unless you already have an existing one), then use the newly API user credentials to set User and Password in SIGFOX I/O Server configuration

Callbacks

In order to use Sigfox callbacks services you must have a public IP address and you need to forward router ports to let outside traffic to get into your network, you have to specify the callbacks internal port in SIGFOX I/O Server options. Callback messages must be configured in Sigfox backend by composing an URL in the following format:

http://<hsyco_ip_address>:<port>/hsyco/sigfox/<I/O_server_name>?key=<callbackkey>&id={device}&field1={var1}&field2={var2}...

E.g.

http://93.45.12.54:7777/hsyco/sigfox/sgfx?key=Abc1234&id={BE1234}&time={time}&data={data}&seqNumber={seqNumber}

The URL fields "key" and "id" must be always present in every URL composition while other fields are optionals and can be set accordingly to the type of callback you are configuring in Sigfox backend. Fields order is irrelevant. Below are reported all URL fields that SIGFOX driver can process:

key, id, time, data, seqNumber, batt, temp, key, lqi, deviceTypeId

Options

ID Default Values Description
startupevents true true generate IO events also during the driver’s start-up phase
false start generating events only after HSYCO is aligned with the current status of the system
acceptunknown false true accept incoming messages from devices whose id isn't specified in sigfox-devices.ini
false doesn't accept incoming messages from devices whose id isn't specified in sigfox-devices.ini
callbackport <portNumber> internal port used to receive incoming callback messages from Sigfox Cloud
callbackkey <text> key used in Sigfox URL callbacks to receive incoming callback messages
pollinterval 30000 1000<=n<=30000 interval (in milliseconds) between two consecutive HTTP calls at Sigfox Cloud (only for API)

SIGFOX Utility

Use the SIGFOX Utility to automatically discover new devices or configure existing ones.

Datapoints

ID Value R/W Description
connection online R the driver is ready to accept incoming messages from Sigfox Cloud
offline R initialization of the driver failed or loop cycle failed
devicetype.<devicetypeId>.name <text> R the name of the device type corresponding to devicetypeId (only obtainable with API)
device.<deviceId>.devicetype <text> R the ID of the device type in which deviceId is grouped
device.<deviceId>.name <text> R the name of deviceId (only obtainable with API)
device.<deviceId>.lastseen <ts> R timestamp (in Epoch time) of the last message sent by deviceId
device.<deviceId>.msg <text> R last message sent by deviceId (Hexadecimal format)
device.<deviceId>.token.end <ts> R deviceId token end date (in Epoch time) (only obtainable with API)
device.<deviceId>.lqi 0 R link quality indicator (computed from the last message received by Sigfox Cloud). 0=limit, 1=average, 2=good, 3=excellent, 4=not available
1 R
2 R
3 R
4 R
device.<deviceId>.batt.tx <val> R battery voltage (during transmission) of deviceId
device.<deviceId>.batt.idle <val> R battery voltage (in idle state) of deviceId
device.<deviceId>.temp <val> R internal temperature (C˚) of deviceId

Release Notes

3.8.0

  • initial release