Why are you sending states of counters instead of number of buttons pressed ?
Skiply provides industrial solutions. Therefore, we can not afford to loose any customer data. LPWAN networks like Sigfox and LoRaWan are great. But, like any radio communication system, a frame can be corrupted or not transmitted. If you do not take this into consideration in your design, and send only "pulses", if it happens, you will loose data.
This is why we decided to provide a system that is robust enough to support bad or missing radio frames. Each time that a user presses a button, the corresponding index is incremented. Thus, depending of the parameters that you set on your device, the system will send the data at periodic interval, or a few seconds after an action. The application server will receive this state, and calculate the increment since last transmission. Even if a frame has been lost, the total number of buttons pressed will always be found.
Thanks to this method, we can also send thousands of votes each day, for instance for the satisfaction use case, despite the 140 messages limitation / day of the LPWANs.
From an intergration point of view, it seems to be more complex. This means that you have to store the last index values in a database (or persistent variable). If you do not feel confortable with that, we can provide an api that will make this job for you.
A pulse mode is available, but we do not recommand to use this mode in production.
Author: Jérôme Chambard Last update: 19/11/2019 16:59
I just received my Smilio Action. Where can I get my data ?
It depends on how you bought your Smilio Action.
If you bought the product without any service
You must subscribe to a LPWAN operator. It can be Sigfox, or any LoRaWan ready network (Orange in France, Machine-Q in the US, etc.). You will have to provision your device with the PAC code (Sigfox) or with the provided keys / id (LoRaWan).
Alternatively, you can use your own private LoRaWAN network. To make your connected buttons work, you need to provision the device on your Network Server (Orbiwise, Actility, TTN, etc.)
If you bought the product with the api service
We push the data directly to the endpoint that you gave us at the order.
Author: Jérôme Chambard Last update: 15/07/2018 11:43
Where can I find the Sigfox End Product Certificate ?
In order to register your connected buttons Smilio Action on the Sigfox Network, you may require to enter the End Product Certificate.
It is: P_0056_99E6_01
Please find attached the full certificate.
Author: Jérôme Chambard Last update: 15/07/2018 12:01
Download user manual Smilio Action
To install and ensure correct operation of your Smilio Action, please read carefully and follow the instructions contains in this user manual :
For Smilio Action bought from August 1st, 2019 (FW 2.0.1.4) : Download
For Smilio Action bought from September 21st, 2018 to July 31st, 2019 (FW 2.0.1.x) : Download
For Smilio Action bought before September 21st, 2018 (FW 1.19) :Download
Author: Estelle Marin-Lamellet Last update: 08/08/2019 15:50
What is the “Skiply Push API” (SPA) ?
Principle
Each LPWAN operator sends data with different formats and/or protocols (REST, MQTT, Pub/Sub…): the SPA delivers a standard json payload to your server. It always remains the same, independently from the Network Operator (Sigfox or LoRaWAN). Therefore, it acts as a high level roaming system.
The SPA decodes the data whatever the Running mode / frame is (pulse, count, code, battery level), taking into consideration the version of your device’s firmware.
The SPA does the annoying job for you: calculation of the increments, checking the data consistency, and eliminating “bad frames”.
We POST data to the URL of your choice (you can include API key as parameter or custom header). See the Skiply API documentation to know how to manage this parameters.
sq_num = frame sequence number, to identify if a frame has been missed
frameType = "01"
ack = always 0 for this frame type
battery_level = in volts
code = type of frame
Retry
The Push API will send data to the endpoint defined in the group configuration, and wait for a 200 code in return. If the system doesn't receive a 200 response, a new try will be done after 60 seconds. If the retry fails, an error is logged with the missed data and error code returned.
Author: Jérôme Chambard Last update: 03/02/2023 13:51
How can I send different messages depending on the button pressed in Zapier, without having to use Path (only available from Professional Plan)?
Path is perfect if you are afraid to write code. But you can spare a lot of steps in your zap using the "Run Javascript" Action in Zapier.
Let's take an example. The following code in the "Run Javacript" Action will change the message depending on a combination of buttons pressed:
The following action (for instance a SMS with Twilio) will be able to use the new "message" variable generated by this script.
If you want to change the destination number for each device, you can use the Google Sheet lookup action, using a variable "Action" to retrieve the correct number.
Author: Jérôme Chambard Last update: 28/02/2019 08:40
Zapier indicate a check interval from 5 to 15 minutes , but I need an immediate action after pressing a button. How can I do?
The check interval applies only when Zapier needs to collect data periodically. In the case of use with Skiply API, the webhook will trigger the Zap as soon as it receives data. That means that there is no waiting time.
Author: Jérôme Chambard Last update: 28/02/2019 09:44
How can I discriminate "confirmed service requests", using the magnetic badge, from "non confirmed service requests"?
There are several ways to use the magnetic badge. One of them allows to discriminate "confirmed service requests", using the magnetic badge, from "non confirmed service requests". for instance, a confirmed request could be considered as an urgent request.
To do that, you should use the code mode (RNM 9 in the documentation):
The user has TPB seconds to press one or several buttons corresponding to his request, calculated from the first push.
If a badge is used before expiration of TPB, the radio frame is sent immediatly, with ack = 1 (Skiply API) or a raw payload beginning with 0x03 (direct integration).
If no badge is presented before the expiration of TPB, a frame will be sent with ack = 0 (Skiply API ) or a raw payload beginning with 0x02 (direct integration).
The entire list of parameters to be set to implement this use can can be found on the Skiply configurator.
Author: Jérôme Chambard Last update: 27/05/2019 17:36
How to use Smilio Action on TTN (The Things Network)?
This video shows how to register a Smilio Action connected button to the LoRaWan network TTN (The Things Network).
Author: Jérôme Chambard Last update: 28/05/2019 08:55
How to create a field service management system with Directus and Smilio Action?
How you can use the headless CMS Directus with Smilio Action to create a very efficient app to manage the field services.
Author: Jérôme Chambard Last update: 28/05/2019 08:57
What are the recommended configurations for Smilio Action?
In order to help you to set your device depending on your use case, you will find hereunder a few standard configurations. All acronyms are defined in the user manual that has been sent to you by email.
We recommend that you read it carefully before changing the default configuration of your Smilio Action.
All the configurations presented hereunder are made with :
Backoff = 0
Duty Cycle = 1 (use 0 only for test on private networks)
Piggyback = 0
Lwf = 0x00
Force DR0 at join = 0 (use 1 in combinaison with ADR = 0 if you want to always use SF12 for maximum radio power)
Should you need any further information, do not hesitate to contact our support department: support@skiply.org
Smilio Action Cancellation / Validation
Parameters values
Running Mode 1 = a single push permitted among all buttons and on the same button during “TPB”
TPB = 5 seconds
EAT = 1 (immediate sending)
Downlink payload
0501800105010005 (ADR OFF)
0501880105010005 (ADR ON)
Smilio Action Multiservices
Parameters values
Running Mode 2 = a single push permitted on each button and on the same button during “TPB”
TPB = 5 seconds
EAT = 0 (periodic sending)
CSC = 1 (periodic sending only in case of counter change)
DTX = 10 (periodic sending: every 10 minutes)
Downlink payload
0510800A05020005 (ADR OFF)
0510880A05020005 (ADR ON)
Smilio Action 3 Smileys
Periodic sending every 15 minutes
Parameters values
Running Mode 1 = a single push permitted among all buttons and on the same button during “TPB”
TPB = 5 seconds
EAT = 0 (periodic sending)
CSC = 1 (periodic sending only in case of counter change)
DTX = 15 (periodic sending: every 15 minutes)
Downlink payload
0510800F05010005 (ADR OFF)
0510880F05010005 (ADR ON)
Periodic sending every 30 minutes
Parameters values
Running Mode 1 = a single push permitted among all buttons and on the same button during “TPB”
TPB = 5 seconds
EAT = 0 (periodic sending)
CSC = 1 (periodic sending only in case of counter change)
DTX = 30 (periodic sending: every 30 minutes)
Downlink payload
0510801E05010005 (ADR OFF)
0510881E05010005 (ADR ON)
Author: Jérôme Chambard Last update: 21/08/2019 08:24
How to configure data routing to Skiply servers
In the case you manage your devices network connection and you want to push back data to our servers to access our services, it is necessary to configure a callback of data from your operator to our servers.
The configuration is done from your operator backend, by declaring/registering the routing endpoint to our servers (HTTP POST request).
NB: If you manage different types of devices on your backend, please configure your routing so that only data from Skiply devices is sent to our servers!
According to your operator:
Live Object: Data menu, then Routing. Use “Message filters” to limit data routing to Skiply device
Objenious: Connection menu, then Routing scenarios and click on “Create a new scenario”. Use Groups to limit data routing to Skiply devices
Sigfox: use the device types and the configuration of their “Callback”
Author: Josselin Last update: 09/10/2020 12:09
What are the LoRaWAN MAC version and regional parameters of Smilio A?
For provisionning in TTN or Chirpstack, you will need to create a device profile.
LoRaWAN MAC version must be 1.0.2 and regional parameters must be A
Author: Jérôme Chambard Last update: 03/02/2023 14:06
What are the LoRaWAN MAC version and regional parameters of Smilio A?
For provisionning in TTN or Chirpstack, you will need to create a device profile.
LoRaWAN MAC version must be 1.0.2 and regional parameters must be A
Author: Jérôme Chambard Last update: 03/02/2023 14:07
Smilio Satisfaction
Why are you sending states of counters instead of number of buttons pressed ?
Skiply provides industrial solutions. Therefore, we can not afford to loose any customer data. LPWAN networks like Sigfox and LoRaWan are great. But, like any radio communication system, a frame can be corrupted or not transmitted. If you do not take this into consideration in your design, and send only "pulses", if it happens, you will loose data.
This is why we decided to provide a system that is robust enough to support bad or missing radio frames. Each time that a user presses a button, the corresponding index is incremented. Thus, depending of the parameters that you set on your device, the system will send the data at periodic interval, or a few seconds after an action. The application server will receive this state, and calculate the increment since last transmission. Even if a frame has been lost, the total number of buttons pressed will always be found.
Thanks to this method, we can also send thousands of votes each day, for instance for the satisfaction use case, despite the 140 messages limitation / day of the LPWANs.
From an intergration point of view, it seems to be more complex. This means that you have to store the last index values in a database (or persistent variable). If you do not feel confortable with that, we can provide an api that will make this job for you.
A pulse mode is available, but we do not recommand to use this mode in production.
Author: Jérôme Chambard Last update: 19/11/2019 16:59
How to remove a Smilio terminal attached with double-sided adhesive?
To remove your Smilio terminal from a vertical support, you have to be equipped with a thin and robust cable (iron wire or fishing line).
Unroll a sufficient length to tighten the wire and pass it behind the device (start on the top of the box). Then, make lateral moves (back and forth movements) in order to saw the resin located between the wall and the Smilio terminal.
Repeat the movement until you have completely removed the terminal from its adhesive part (ensure that it does not fall at the end). If there are still some traces of adhesive on your wall, they can easily be removed with a clean cloth and surgical spirit. (90° of alcohol).
Author: Aurélie Fontaine Last update: 04/02/2019 14:39
How to assemble and install my Smilio wall display ?
Watch our video:
Author: Jérôme Chambard Last update: 30/01/2021 17:33
API Skiply
What is the “Skiply Push API” (SPA) ?
Principle
Each LPWAN operator sends data with different formats and/or protocols (REST, MQTT, Pub/Sub…): the SPA delivers a standard json payload to your server. It always remains the same, independently from the Network Operator (Sigfox or LoRaWAN). Therefore, it acts as a high level roaming system.
The SPA decodes the data whatever the Running mode / frame is (pulse, count, code, battery level), taking into consideration the version of your device’s firmware.
The SPA does the annoying job for you: calculation of the increments, checking the data consistency, and eliminating “bad frames”.
We POST data to the URL of your choice (you can include API key as parameter or custom header). See the Skiply API documentation to know how to manage this parameters.
sq_num = frame sequence number, to identify if a frame has been missed
frameType = "01"
ack = always 0 for this frame type
battery_level = in volts
code = type of frame
Retry
The Push API will send data to the endpoint defined in the group configuration, and wait for a 200 code in return. If the system doesn't receive a 200 response, a new try will be done after 60 seconds. If the retry fails, an error is logged with the missed data and error code returned.
Author: Jérôme Chambard Last update: 03/02/2023 13:51
How can I send different messages depending on the button pressed in Zapier, without having to use Path (only available from Professional Plan)?
Path is perfect if you are afraid to write code. But you can spare a lot of steps in your zap using the "Run Javascript" Action in Zapier.
Let's take an example. The following code in the "Run Javacript" Action will change the message depending on a combination of buttons pressed:
The following action (for instance a SMS with Twilio) will be able to use the new "message" variable generated by this script.
If you want to change the destination number for each device, you can use the Google Sheet lookup action, using a variable "Action" to retrieve the correct number.
Author: Jérôme Chambard Last update: 28/02/2019 08:40
Zapier indicate a check interval from 5 to 15 minutes , but I need an immediate action after pressing a button. How can I do?
The check interval applies only when Zapier needs to collect data periodically. In the case of use with Skiply API, the webhook will trigger the Zap as soon as it receives data. That means that there is no waiting time.
Author: Jérôme Chambard Last update: 28/02/2019 09:44
This map is usefull, but not as detailed as the one available in the Sigfox backend (service maps), where you can see the number of gateways available in the area and the margins:
Skiply offers to its customers the possibility to check the coverage for a single GPS coordinates thru the API.
outdoorCoverage = number of gateways covering the area (outdoor).
indoorCoverage = number of gateways covering the area (indoor).
bestMargin = best margin in dB.
Author: Jérôme Chambard Last update: 24/06/2019 13:11
LPWAN Networks » LoRaWAN
What are the LoRaWAN MAC version and regional parameters of Smilio A?
For provisionning in TTN or Chirpstack, you will need to create a device profile.
LoRaWAN MAC version must be 1.0.2 and regional parameters must be A
Author: Jérôme Chambard Last update: 03/02/2023 14:06
What are the LoRaWAN MAC version and regional parameters of Smilio A?
For provisionning in TTN or Chirpstack, you will need to create a device profile.
LoRaWAN MAC version must be 1.0.2 and regional parameters must be A
Author: Jérôme Chambard Last update: 03/02/2023 14:07
Smilio displays
How to assemble and install my Smilio wall display A3+?
Follow our video...
Author: Aurélie Fontaine Last update: 17/10/2019 14:43
How can I assemble my Smilio stand display?
Follow the video:
Author: Aurélie Fontaine Last update: 04/11/2019 14:46
Ubiqod
What is the Ubiqod platform? Can I use it with my IoT devices?
Ubiqod is a traceability platform.
With Ubiqod, you can connect any Skiply device, but also QR codes (static and dynamic) to third party systems likes monday.com, Microsoft Power Automate, Zapier or Google Sheet.
Ubiqod is a self-service platform, which means that you can open a free account and test it by yourself without the need to contact us. A button simulator is included in order to let you test the system without having to deal with the constrainst of real buttons.
If you need to plug your buttons to the platform, you will have to contact your Skiply reseller.
Ubiqod is suitable for users looking for nocode system to build their own App with connected buttons or QR codes.
Author: Jérôme Chambard Last update: 30/01/2021 17:37
LPWAN Networks » Helium
How to send the configuration downlink to a device connected to Helium?
When you build a configuration downlink with the Skiply configurator tool, you get a payload that looks like: 0510901E05010005
To send this downlink directly to a device connected to Helium network from your Helium console, you first need to convert this hexadecimal payload into a Base64 string.
In our example, 0510901E05010005 (in hexa) will become BRCQHgUBAAU= (Base64).
Then, enter this payload into the downlink tool in the console:
Be very carreful to enter PORT 2.
After adding the downlink to the Queue, you have to wait for the device to send a data frame. If the configuration changes, the device will reboot and join again to clear past configuration.
Author: Jérôme Chambard Last update: 24/02/2022 07:17