• Edited

We're announcing an update that will change the way device telemetry is published into MQTT. At the moment, telemetry is published regardless of it freshness.
We will change this behavior and will publish only the latest telemetry data.
If you're filtering telemetry at client side, you can subscribe to the entire message topic: flespi/message/gw/devices/{id}

The update will be installed on November 23rd.

It is now possible to refer to the last known parameter value from the plugin validator and the msg-expression plugin. For example, you can use speed - #speed to determine the difference in speed between two consecutive device messages.

15 days later

New Modem of type POD IoT Suite is available in flespi.

perform request via interactive API

response will be like

12 days later
5 days later

We plan to get rid of duplicate messages if the stream is subscribed to both the device and the channel. In this case, only the device message will be sent. The update will take place on December 8th.

a month later

If you want to restrict access to devices only from groups, you must use the newly added in-groups selector instead of all in the token ACL.

a month later
  • Edited

We found out that device groups are becoming quite popular tool to simplify and automate bulk management of device connections with various plugins, streams and calculators. That's why we decided to increase the number of included device groups by an order of magnitude per each Commercial Plan:

This change extends flespi functionality and does not add any extra fee. We already implemented it and welcome our commercial users to enjoy more device groups available in their plan.

    We enabled the possibility to store JSON arrays in device telemetry. Previously message parameters that contained JSON array as a value were skipped from telemetry publications and now this feature is unlocked.

    Mostly the change will be visible for users of BLE-enabled devices.

    a month later

    shal
    We discovered that we left the method by mistake during this update. The method is GET gw/channel-protocols/{selector}/commands/{selector}. We will mark it as deprecated and give it one month to transition to the GET gw/channel-protocols/{selector}/device-types/{selector}?fields=commands method.

      5 days later

      We are on the half way to start flespi operations from the second datacenter.

      Second datacenter will contain a set of all flespi services but with dedicated set of IP addresses to split traffic between datacenters. Thus you may need to adjust IP whitelisting configuration on your side. Please update any such configuration before next week (up to April 3).

      For those who do not use any kind of IP whitelisting there won't be any noticable changes.

      For those who protected their integration with IP filter (this is mostly related to streams and some channels) please be informed that flespi may use alternative source IP for its requests towards your integration. Thus any kind of firewall or IP filter where you previously configured 185.213.2.10 as whitelisted IP address please also add 185.213.2.110 which is an alternative source IP for flespi services or just specify our whole subnet 185.213.2.0/24 which is operated solely by flespi.

      For those who are filtering traffic on MNO towards flespi channel's IP 185.213.2.30 please be aware that starting from next week channel host may also resolve to an alternative address 185.213.2.130.

      2 months later

      We have resolved the issue where two channels at the same hierarchy level were simultaneously processing TCP connections from a single device. Now, when a connection is established to any channel, it will break the existing connection.

      16 days later

      We have added a new field to the device called "groups," which contains a list of groups that the device is a member of. The field can be used to select devices based on group name or ID. The field format is as follows:

      [
        {"id": 1, "name": "group1"},
        {"id": 2, "name": "group2"},
      ]

      Examples:

      • To get a list of groups: GET /gw/devices/all?fields=groups
      • To send a command to all members of a group (by name): POST /gw/devices/groups.name=group1/commands
      • To send a command to all members of a group (by ID): POST /gw/devices/groups.id=1/commands
      • To send a command to all devices that are not in any group: POST /gw/devices/groups=[]/commands
      4 days later
      • Edited

      We have improved the response format of the GET gw/channels/{ch-selector}/idents/{idents-selector} method. It now includes the device ID and the last time when this ident was active:

      [...{
            "channel_id": 123,
            "device_id": 321,
            "ident": "1234567890123456",
            "last_active": 1686040736.261311,
            "source": "127.0.0.1:48993" 
      },...]

      The same information is available in the MQTT state. The topic format is: flespi/state/gw/channels/XXX/idents/YYY

      adsa We have added new fields to the device that function similarly to the previously added groups field. The newly added fields include: plugins, streams and calcs.

      • adsa replied to this.
        7 days later

        We have enhanced the error output for REST requests. The error message now includes the specific field or selector that caused the error.:

        GET https://gw.flespi.io/gw/channels/all?fields=xxxx'
        {"result":[],"errors":[{"field":"xxxx","reason":"field is not allowed"}]
        7 days later

        adsa We have supported plugin fields. It is useful to filter out devices by field value:
        GET gw/devices/plugins.fields.serial=XXXX

        8 days later

        We have enhanced the webhooks functionality by introducing new features:

        HTTP Requests chain: Now, you can send up to 5 sequential HTTP requests for each message. The responses from the finished requests will be available for the subsequent requests.

        Requests Validation Expression: Each request includes a validation expression. If the expression fails, several options are available to handle the situation.

        22 days later

        Similar to what was initially done with channels we implemented access to raw traffic for streams. Now you can explore full traffic exchange between flespi and 3rd party platform. Access to traffic is available for all types of streams: AWS, Azure, Google Pub/Sub, HTTP, MQTT, AMQP and so on.