Live Stream vs "Last Received Data Point"

I was wondering what is the technical difference between setting up a dashboard gauge for Live Stream versus setting it to Historical and using the “Last Received Data Point” option? They seem similar to me and am attempting to satisfy a customer request and trying to figure out if some adjustments to the gauge settings will be helpful.

In terms of the data they display, they are very similar. There are a few behavior differences:

  1. On the initial load of a dashboard, a Live Stream will not show any data until something is received. In many blocks, you’ll get a message saying something like “Waiting for data…”. If your device reports rarely, the user could be looking at a “waiting” message for a long time.
  2. Last Received Data Point will show data on initial load (assuming the device reported at some point in the past).
  3. Last Received Data Point updates with the main dashboard refresh timer, which has a minimum refresh time of 5 seconds. Live Stream updates immediately whenever new data is received.

Thanks for clarifying that.

What our customer’s sometimes complain about is the relevance of the gauge data where they find the “N minutes ago” not intuitive enough in cases where the platform has stopped receiving new device updates. They look at the gauge and see it displaying a seemingly valid number and don’t pay attention to the age. They are looking for the gauge to timeout to show n/a or “waiting for data” or “offline” instead of showing the last data point. Can you think of a workaround to accomplish something like that?

That’s an interested scenario. I can’t think of a workaround using the gauge, but you can implement something using the Indicator Block. The indicator block is quite a bit more powerful in terms of how you want to display the information. We also provide you the lastUpdated variable. You can subtract that from the current time and if that is greater than some value, you can treat the device as “offline” and change the message accordingly.

We’ll have to think about ways to provide better control over the gauges for situations like this.

@Brandon_Cannaday This is exactly what we do. We have an indicator block next to the gauges.

Gauges can really only show the last known value. We use indicator block to explicitly will show if the device is online and any alarms (device) and its current state, running, etc… That way if we loose comms we can indicate what was going on, but you at least have some indication what state (ie the Engine RPM was in tha gauges before this occured) and is it is online or not.

Interesting @Tim_Hoffman. Do you have a screenshot you can share?

Here you go.

We have two types of offline.

1 . Where the actual device is offline but comms/agent is still online.
2. Comms offline.

Our agent continues to update Losant if the device is offline.

An inactivity triggered workflow indicates if the comms is offline.

T

1 Like

@Brandon_Cannaday

Here is what I would suggest for better control over gauges:

  1. Make the {{lastUpdated}} variable available in gauges for use in the title or label areas.
  2. Have the conditions of the gauge be able to pickup {{lastUpdated}} so we could change the color of the gauge based on the age of the data - perhaps could be used to gray out the gauge.
  3. Have the ability to force the gauge value to arbitrary text to display “not available” or “invalid data” or something like that.

Essentially, this would be making a gauge more like an indicator block.

Regards,

Paul

  1. On the initial load of a dashboard, a Live Stream will not show any data until something is received. In many blocks, you’ll get a message saying something like “Waiting for data…”. If your device reports rarely, the user could be looking at a “waiting” message for a long time.

@Brandon_Cannaday Is it possible to force an experience dashboard page to update state after the initial load of the page in order to populate it with some starting data to avoid waiting a long time?

I believe this is the same question from here:

However, I’m typing up a feature ticket for you now :slight_smile:

Hi,

I can not work with live stream… Could you help-me please?

@Marcelo_Bohrer,

That block will display information as data is reported as Device State.

Is the device configured for that block currently connected and reporting data?

Hi,

Is the device configured for that block currently connected and reporting data?

Yes, I am simulating a device and send data by a program Pyhon using MQTT. The Device configured is working. I am sending boolean values…

I too can not to do the dashboard’s indicador to work with conditions. Take a look…

In the dashboard they not change the color

@Marcelo_Bohrer,

In the “Expression” field, you have {{Maquina_01.value}}. That’s not entirely correct.

image

While building your query, see “Value Variable”. The value here will be how you reference the value in the conditionals expressions.

Also, you should check out Course 4 in Losant University. It gives a great walkthrough of how Dashboarding works. There is also a lot of useful information on this block in the Losant Documentation:

For the live stream issue, if you open up Chrome Dev Tools, do you see any errors?

Hi,

Thanks a lot, now it’s works;

Sorry, but still can not to work with live stream. I opened the chrome to take a look in the logs but I don’t understand what’s happening;