Before start read general assumptions first

Variables

  • It’s simplest way to send control commands into/from your devices
  • After variable changed in one place other devices get notification about this changing ( some kind of publish subscriber)
  • Variable value can be  scheduled – for example You can set variable value to true at weekend at 6am . more here
  • Variable state can be remembered in the system then when device is connected again its sends to this device current state of variable
  • Variable values can be remembered – for example temperature measure by some snesor then displayed as some chart
  • Variables can show weather ( predicted, actual ) , or youtube subscribers, count numbers. more about remote variables here
  • All variables are lsited in variable tab

 

Variable has:

  • Name – shorter is better
  • Type – type of variable
  • Mode – local or remote
  • Properties

Variabels are recognized by name and type. It means You can have two variables with the same name but diffrent type.

 

Variable Mode

  • Local – set by one of the device or by scheduler
  • Remote – read only variables – variable value is based on some setting for example it can show view count of some youtube channel, or weather data. about remote variables read here

 

Variable Type:

  • Boolean – true false
  • Integer – 32 bit signed integer
  • Text – string (max length ~4000 bytes )
  • SmallInteger3 (Small Int x3) – tuple of three signed 16bit integers
  • SmallInteger2 ( Small Int x2 )- tuple of two signed 16bit integers
  • Integer & Boolean (Int and bool) – tuple of 32bit signed integer and string max ~4000bytes
  • Double – 64bit float number
  • Text2 – tuple of two string sum of bytes for two strings cannt be bigger then ~4000
  • SmallInteger2Text2 (Small Integerx2 Text x2) – tuple of two 16bit signed integers and two strings  sum of bytes for two strings cannt be bigger then ~4000

Based on needs You need to choose what type of variable You need, for realy for example it should be boolean since relay has two states, for color RGB led You should choose  SmallInteger3  etc.

 

Variable properties

  • Persistent – last variable state is saved in the system, then after obsering device is restarted it gets last set value of variable (for mode remote its always persistant)
  • History – history of variables values are saved in the system ( time of set is rounded to minute) – its usefull for sensors data, when You can display history as a chart
  • Scheduled – You can set scheduler for variable then at given time variable will change its state automaticly and observing devices will be notified ( for example set value to false at weekends at 6am). More about scheduler here

history variable cannot be scheduled, scheduled variable cannot be history . Both history and scheduled has to be persistent. For remote Mode persistant is true, history is false, scheduler is false

 

Variable belt (visible at variable tab):

  1. Mode of variable : remote, : local
  2. Pesristent properties ( strong color – is turn on by clicking You can change)
  3. History properties ( strong color – is turn on by clicking You can change, after expand You can check history)
  4. Scheduled  ( strong color – is turn on by clicking You can change, after expand more options read more here)
  5. Type
  6. Name
  7. Last set value of variable, with set time ( its visible for persistent variables, or after variable change when this view is open)
  8. More – You can edit, remove or set state of variable

After variable change the belt are become green and slowly fadeout

 

Expanded variable belt

  1. Current observing devices – this is devices which will be notify after this variable will be changed
  2. History of variable – visible only if variable history properties is set
  3. ( not visible beacsue current variable is historical ) Scheduler – more about scheduling here

 

Adding :

Variables can be created manually – from variable tab, and by clicking new variable at right top corner:

and can be add automaticly after one of the device start observing, or set value of variable ( it happens when You add components into the webPage)

 

Set/read variable:

  • For ESP generate a code using wizard
  • For RasbperryPi use code generator
  • For webPage – add components to set variable or write your own javascript code
  • Variable state can be also set and read at variable tab – descipted above
  • Smartphone app

Example of variables messaging

Read more

Variable scheduler
Remote Variables