Platform Version 3.4.0

Release Date: 2021-11-10T23:00:00Z
Component: Thinger.io Platform
Release Note: Version 3.4.0

Added

  • Initial version for OAuth2 Client authentication flow, i.e., connecting third party apps like Alexa

  • New plugin: HTTP Device, supporting scaling HTTP devices deployments

    image

  • Hide Menu option for members

    image

  • Improved HTML Widgets with support for custom AngularJS directives!

  • Opening restricted link will redirect to the target url after login

  • Support for disabling Swagger API pages. Available on Host Settings > Deployment

    image

  • Now it is possible to configure X-Frame-Options, to allow adding iframes on known pages. Available on Host Settings > Deployment

    image

  • Endpoints have optional field name for displaying & search purposes

  • Dozens of new server events that can be used with Node-RED, i.e., any resource create/update/delete.

  • API Endpoint ‘/v1/server/events’ to query all available server events

  • API Endpoint ‘/v2/users//events’ with support for registering/unregistering server events, providing commands feedback.

  • Brand configuration for web metadata like keywords and description
    image

  • Devices can now be enabled or disabled from settings

Improved

  • Dashboards now refresh buckets and properties sources in real-time! :rocket:
  • Removed “#!” from URLs. Previous URLs are still valid
  • Platform security by preventing refresh token re-usage
  • Improve refreshing token mechanism on frontend (avoiding multiple queries)
  • Internal event system is now much more flexible and fault tolerant

Fixed

  • Show server version option in custom brand configuration
  • Set Project button not showing sometimes while changing between projects
  • Add resource button with broken layout when switching to a project with some selected items
  • Server not registering above 50 MQTT listeners after restart
  • Password update from users section not triggering internal event for database update
  • New instances not showing Hosts section after initial deployment
  • Time series chart with absolute dates not working
  • Set project dialog not showing Project selector under some circumstances
  • Access token link not working on shared dashboard settings
  • Device connection event trigger order on reconnection when ‘reusing’ credentials
  • Server Event ‘device_state_listener’ not triggering with MQTT devices on disconnect
2 Likes

Very good! Thinger.io always improving its features. Congratulations to @alvarolb and the team.

  • After this correction, I managed to access the Cluster Host in the SMALL plan! :clap: :clap: :clap: :clap: :partying_face: :partying_face: :partying_face:

I would suggest, if possible:

  • It would be interesting for the console of the devices to inform which ones are with “Disabled” status and used a different color, eg gray. Or standardize the columns on the bucket list and endpoints screens, changing the column name from “Enabled” to “State”, and insert a new color to represent “Disabled”. Ex: Connected (green); Disconnected (red); Enabled (Blue); Disabled (Gray).


    See the example below:
    Wouldn’t it be correct to inform it as Disabled? Can’t users be confused when trying to connect a disabled device because the state says Disconnected?




And other implementations:

  • Option to migrate from SMALL plan → MEDIUM preserving data and settings of users, devices, bucket, endpoint, dashboard, token, clusthost


  • The availability of “sa-east-1” Amazon Servers - South America (SĂŁo Paulo) for Private Thinger instances.

  • 2FA “two factor authentication” (Microsoft Authenticator, Google Authenticator
)

  • Include the “Decimal Places” field in the Tachometer widget
    NOTE: As shown in the image, the Widget Tachometer does not have the “Decimal Places” option, similar to Widget Text. This ends up “confusing” the information. In the image, the Tachometer widget shows “053.00”, but ideally it should show “53”, when setting “Decimal Places” to 0.

  • Show the last date value at the top of the widget, when setting “Show Update”. It is an important indicator to let you know that the device is sending data to the bucket. The user learns that the data information is current or may identify a problem with updating bucket data




    Or if keeping the current default, the clock should appear when selecting “Bucket Value: Latest Value”. Currently does not appear
    tarc_time

I don’t know if the problems below are bugs:

  • My Server’s TimeZone is UTC -03:00. In the bucket grid, the time that corresponds to my server’s timezone is informed:
  • Server Date Time 2021-11-12T11:59:12 -03:00
  • Date time of registration in the bucket: 2021-11-12T11:59:12.570Z

But the date of registration in the bucket appears with the letter Z at the end. Does the letter Z indicate that the timezone is UTC 00:00?
The correct case would be: 2021-11-12T11:59:12.570 -03:00 in the bucket’s grid screen?

When exporting the same data to CSV, the value I believe to be correct is informed: 2021-11-12T14:59:12.570Z.

Would it be possible for the CSV data to be exported considering the Server’s UTC, the same as what appears on the bucket’s grid screen?


tz



  • I can’t download it by clicking on the exported CSV link.
    I am successful if I right click and select the option “Save link as
”. Is this a bug?
1 Like
  • Bug setting Tachometer “Major Ticks”
    tarc_metr_2
    tarc_metr

“Major Ticks” is splitting equally to fit the “Range Values”.

Everything works if “Major Ticks” is a divisor of “Range Values”.
Ex: “Range Values” = 100
“Major Ticks” = 20

If “Major Ticks” is not a divisor of “Range Values”, the setting is wrong:
Ex: “Range Values” = 100
“Major Ticks” = 30

Implementation suggestion:

  • I think it’s important for the platform to signal which devices have an encrypted connection with the Thinger Server.
    This information guarantees a better management of devices and allows them to be identified and exchanged in the future by modern devices that allow the connection with encryption.

Example of what I imagined:



Complement of other suggestions:

Example:

Widget/Dashboard:

2 Likes

Implement “Sleeping” state for devices in “Device List” screen.

Justification: It is very common for us to create routines for devices to go into Sleep mode to save battery power or save on data traffic.

The problem is that if we put the device to sleep, the Thinger Server points out that the device is disconnected.

But the device may be disconnected for various reasons that prevent it from working properly. In sleep mode, the device is working correctly, and will wake up again at a defined future time (10, 20, 30 minutes
), to reestablish its connection with the Thinger Server to send or receive data
 sleep then

It would be interesting if the sleep mode could be set by the device (via a function from the Arduino-Library library) or by the Thinger Server, in the same way that today we can set Sampling Interval vs Stream by Device to write to the Bucket.

I imagined something like the highlighting of the name and the time left for the device to wake up:




If this functionality is available, I can use it on my device that uses GSM(M2M) internet connection to save data. Recently, I saw that maintaining the device’s connection with the Thinger Server, using the GSM(M2M) internet, consumes a lot of data with download. And my GSM(M2M) plan only has 20 MBs per month. In addition, instead of appearing disconnected, it would be informed that the device is sleeping and the time until it wakes up again, which is very relevant information to know that everything is working fine.

1 Like
  • Allow inserting comments in json editor

Try it in various ways with // ; / # @
But I could not

It would be important to allow recording information about the variables, such as informing whether the variable represents a number in days, hours, minutes, seconds or millis.

Hi,

Note that a property modified by a device would erase all tags, values and comments and will write just the payload content tags and its values, I guess properties are not conceived to be read and consulted by users but mostly by devices, it’s a kind of bucket but with just one value.

Hope this helps.

1 Like