This is an old revision of the document!


ISAAC integration

This application note shows the steps involved in setting up Blocks to communicate with Smart Monkeys ISAAC A/V monitor and management system.

Setup the Issac device

Please follow the vendors documentation for the device setup. This documentation aims to explain the necessary steps to be taken in Blocks. The Pixilab Blocks module must be loaded in Isaac.

Make the driver available to the server

Copy the driver files Isaac.js (driver) and Isaac.ts (source code file) from the drivers-archive to the drivers directory in PIXILAB-Block-root/script.

Configure the driver

Open the blocks editor and add the Issac system as a Network device. In the driver custom options field we must add some configuration using JSON syntax. A typical example will look like this:

{
  "protocol":"http",
  "heartbeatInterval": 10000,
  "variables": ["Realm.ISAAC.variable.isaacCounter.value"],	
  "events": ["ISAAC.examples.addOne","ISAAC.examples.removeOne"],	
  "subsystemExternalId": "Blocks"
}

Where: protocol (optional, string) Can be 'http' | 'https' and specifies the protocol for the ISAAC connection, defaults to 'http'

token (optional, string) is passed in the isaac-token header, only to be used in case Isaac is configured to use a token.

heartbeatInterval (optional, number) How often to send "heartbeats" to Isaac, in mS for the health indication.

variables (optional, string array) An array of full property paths to properties we want to be logged in ISAAC.

events (optional, string array) An array of tasks specified as name.group.task exposed as Isaac events. This allow the task to be called from i.e. an ISAAC schedule.

Sending log messages from Blocks

The driver exposes a callable named log that can be used in task programming to log messages to ISAAC.