Preview and Status of your dashboard

Once you have uploaded your dashboard-template then you are redirected to the status / preview page. Whenever you upload the exact same template, then you will be redirected to the same status page. In other words: You do not need any account at - we are identifying you via your dashboard template. If you loose (or accidentially modify) it, then you will no loger have access to the data displayed on this page.

This page gives you information about the following properties of your dashboard:


The list of datapoints is directly extracted from your template. It gives you an idea what the service thinks what it should do:

  1. id: This is a unique id of your datapoint. It refers to the svg element attribute id which is unique among the template. Inkscape generates unique ids for you automatically.

  2. attributes: This list shows which attributes are modifyable by the service. These attributes are also exposed to your script. Lets assume that the value is [transform, x, y, style] then you will have the following variables in your script: transform x y and style. All of these variables are filled with the data from the corresponding xml attributes. You can manipulate this variables directly from within your script. Attempts to manipulate other variables will have no effect on the rendering of the resulting dashboard.

  3. topic: This is the mqtt-topic where the data is fetched from. It is possible that multiple datapoints are fetching values from the same topic, but it is not possible that one datapoint fetches more than one topic.

  4. value: This is the last mqtt-message value which was fetched by the service. This value is only accepted if it is well-formed (see limitations at the end of the page). The content of this column is accessible via the variable value from within the script.

  5. age: This is the timespan since when the last value for this datapoint arrived at the system. This value gives you an idea of how often values are updated and it can be used to show if any messages are filtered out.

  6. receiving client: This is an anonymous name for a mqtt-client. This color coded tag is referenced in the clients section and shows which client is responsible for fetching the messages. Usually there will be distinct clients for every distinct server where the system should subscribe to mqtt topics.


This table gives you information about the mqtt clients which are used to feed the datapoints with values. Each client represents a connection from our network to a foreign server.

  1. name: This is the unique name of the client. It is used as client-id which is sent to the mqtt broker in the form sdio-[name]. In real life the mqtt-clientid looks like this: sdio-9fcc97f5eb2aab89-1

  2. pool: In order to provide the best expierience we are distributing our mqtt clients over mutiple (geographically disparsed) execution pools. If one of this pools are failing then the clients will automatically be relocated over to another one. The pool-id gives you an idea on which server-pool your client is currently running.

  3. status: This field gives you some information about the status of the client within our system. Usually all of your clients should have the same status. Running indicates a working dashboard, all other stai are indicating abnormal conditions which are very often leading to non functional dashboards. Currently we have the following stati:

    • initial: This is the state which is assigned to 'newborn' clients.
    • running: The client runs in a pool.
    • stalled: This client should actually run in a pool but for whatever reason it doesn't.
    • retired: This Client should not run in a pool. It is a relict from a retired dashboard.
    • relocating: This client is about to be moved to another execution pool.
  4. host: This is the far end of the mqtt connection. It can either be a IP address or a hostname which is resolvable via public DNS.

  5. port: The TCP/IP port on which the client initiates the connection to the mqtt broker. Usually this is 1883 for plain MQTT, and 8883 for MQTT over SSL.

  6. last heartbeat: Your mqtt-client is internally monitored if it is up and running. This field gives you the timestamp when our system has received the last heartbeat signal from this client.

Technical details

This section reveals some details and statistics about your dashboard.

  1. Original filename: This gives you the original filename and the filesize (in Bytes) which was used as you uploaded this dashboard for the first time.

  2. Update interval: This timespan shows how often the values of your datapoints will be inserted into the template. Here an example: If your updateinterval is 120 seconds and you request your dashboard every 10 seconds, then you will see every 12th request a dashboard with new values - regardless if the clients are receiving values faster.

  3. Upload date: The date and time when you first uploaded your dashboard.

  4. End of service: The point in time when we will shut down your clients an stop updating your dashboard. You will be able to access your dashboard till the end of lifetime, but we will not update it anymore.

  5. End of lifetime: From this point on we will delete your dashboard from our systems. It will not be accessable any more.

  6. # Rendered: How often was this dashboard rendered (populated with new data from your clients)

  7. # Accessed: How often was your dashboard accessed by any client. If this number is significantly higher than tne #Rendered, then it is very likely that you (our your customers) are seeing a dashboard with outdated information.


The subscription section shows all subscriptions for this specific dashboard. A subscription is a kind of contract between you (as customer) and (as service provider). You can buy a subscription via one of the explained methods in the Buy page. In general a subscription defines the update interval (often referred as actuality) and the end of service (often reffered as lifetime) of your dashboard.

You can review your subscriptions by clicking on the button of the subscription. It will open a pdf file with either your invoice or the confirmation of a redeemed coupon.

Dashboards which are uploaded through this service for the first time do not have any subscriptions. We allow you to use our service for free and without any limitations - but only for a short evaluation time. If you like the result, then you can make a subscription. Otherwise just leave this dashboard alone and over time it will retire and finally disappear automatically.

We know, that it is hard to keep track of all these deadlines. However - we are not going to bug you with annoying refreshment emails and so on. If you want to keep your dashboard running, then you are responsible for it! We have created a reminder service for you: If you click at the calendar icon at the right side of the 'details' header then you can download an ical file which has the most important deadlines scheduled. You can easily import this *.ical file into your Outlook, Gmail, IPhone or whatever calender you may have.

Offer to buy

If you really decide to buy a dashboard then just have a look at the informational pricetag at the top of the page. The green button 'Yes - make me an offer' brings you to the Buy page where you can purchase a subscription.

If you have an existing subscription and you buy another one, then the first one becomes invalid at the moment where you buy the second one. This is also the reason why the 'Do you like what you see ?' section is only visible if your subscription is going to expire within the next few days.

If you still want to alter your subscription then you can do so, by clicking on the link in the paragraph below the list of subscriptions.


This section provides you with information about how to embed your dashboard. Since this is a very exhaustive topic we decided to make a complete help page about it: Please refer to the Embed page for details about this feature.


We want ensure a high level of availability and also of security. Therefore we have to avoid different situations which have bad influence on these properties.

Animations in the preview

To maintain a certain security level we are displaying the rendered dashboards only within tags. This means that any kind of resources which are linked into the dashboard and also some *.svg related features like animations or embedded scripts are not available in the previews. If you really need this then you have to open the resulting file directly via the fullscreen button []

MQTT Messages

The message throughput is limited to 10 messages per second per client. If this limit is exceeded messages are discarded till the limit is OK again.

  • We accept only messages with a length up to 50 bytes.
  • We keep the history of your last 50 valid messages.
  • We are only accepting messages which are composed of these characters: ASCII characters (A..Z and a..z), digits 0..9, and the following special characters: , . @ [ ] { } ' "

Missbehaving scripts

We do certain things to prevent errors and data leakages in the built-in scripts from your dashboard. The following checks are applied on every single datapoint script of your dashboard:

  1. Statical codeanalysis: If your script has a compiletime error (i.e. because you have entered an invalid statement) then the script will not be executed at all. Therefore it will not have any effect on the dashboard.

  2. Behavioural analysis: If your script goes wild (i.e. because it runs into an infinite loop) then we are stopping it after a certain time

  3. Sandboxing: We have stripped out any possibilities to gain access to variables, files, process information, etc. which are not part of your dashboard.