Integrate your own application/service

External application

When using our API’s through your external applications you can now display settings and perform actions in ZBOS Control. How this is accomplished is by using a RAIL API Layer which will ask the external application to store it’s app settings, app definitions and/or localized strings in the RAIL. The RAIL itself will, on boot, send all its app settings, app definitions and localized strings to ZBOS Control which will then display all these options in the Apps & Config page.

Visual representation

structure overview

RAIL API Layer

Can be accessed on boot, which will be needed to display applications with settings or actions when opening Apps & Config the first time, or after boot, which will update the Apps & Config page if new applications, settings or translations are added.

On boot

The external application will need to listen to requests send out from the RAIL and respond with a MQTT message.

  • zbos/applications/registration/request
    Register app definitions through Applications API.

  • zbos/translations/request
    Register localized strings through Translations API.

  • zbos/settings/request
    Register app settings through Settings API.

rail startup

After boot

The external application can send out MQTT messages to the RAIL to register extra app settings, app definitions or localized strings that needs to be added. These should be different from the ones registered on boot.

android app example

Apps & Config

The Apps & Config page can be accessed by using ZBOS Control.

  1. Retrieve all categories

    1. Returns a list of categories

  2. Retrieve applications foreach category

    1. Returns a list of applications per category

  3. Retrieve translations

    1. Returns a list of translations

  4. Retrieve applications icons

    1. Returns a list of icons for applications

control apps config

Change settings

control action config update

Perform an action

apps and config custom action

When receiving a message to start an action that needs to be performed, a response needs to be send to confirm if the action is performed or not.