
Communication Protocol 3000
BTN - Button ID according to the configuration in 
RED, GREEN, BLUE- Color intensity for each base color. Values are from 0 (No color) to 255 (Full color). Plain buttons that support only on/off light should ignore values of these parameters (except if all set to zero – same as turning light off).
STATE :
"0" or "Off" (Color parameters can be ignored). "1" or "On"
"2" or "Slow" for slow blink "3" or "Fast" for fast blink
RESULT – OK if command has been executed.
“#DEV_ID@RGB ERR 003” should be returned if any parameter exceeds its limits (for example – Button ID does not exist).
Example:
Master Device:#03@RGB 1,0,255,0,1CR
Result: Device Application needs to light on its button 1 and set color to Full green.
Device Application response: ~03@RGB 1,0,255,0,1 OKCRLF
Get RGB button leds configuration #DEV_ID@RGB? BTNCR  | ~DEV_ID@RGB | 
  | BTN,RED,GREEN,BLUE,STATE CRLF  | 
Device that implements lit buttons should reply this request and give its button color and state. Device can support full color buttons or just plain on/off lights.
BTN - Button ID according to the configuration in 
RED, GREEN, BLUE- Color intensity for each base color. Values are from 0 (No color) to 255 (Full color). Plain buttons that support only on/off light can set these parameters to any value (except if all are set to zero – same as turning light off).
STATE =
"0" or "Off" (Values of color parameters doesn’t matter). "1" or "On"
"2" or "Slow" for slow blink "3" or "Fast" for fast blink
Example:
Master Device:#03@RGB? 1CR
Device Application response: ~03@RGB 1,0,255,0,1CRLF
Write text to LCD  | #DEV_ID@LCD LCD_ID,”TEXT”CR | ~DEV_ID@LCD LCD_ID,”TEXT”  | 
  | 
  | RESULTCRLF | 
Device that implements label (LCD) should react to this command and set its “LCD” (or text label).
LCD_ID – Label (LCD) ID according to the configuration in 
TEXT – The text to display in the label (This parameter should be enclosed by quotation marks, character 34 in Ascii)
RESULT
– OK if command has been executed.
“LCD ERR 003” should return if any parameter exceeds its limits (for example – LCD with this ID doesn’t exist).
Read text from LCD  | 
  | #DEV_  | ID@LCD?  | LCD_ID  | CR  | 
  | ~DEV_ | ID@LCD  | LCD_ID  | ,”  | TEXT  | ”  | CRLF  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | ||||
Device that implements label (LCD) should react to this command and set its “LCD” (or text label).  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | |||||
LCD_ID – Label (LCD) ID according to the configuration in 
TEXT – The text to display in the label (This parameter should be enclosed by quotation marks, character 34 in Ascii)
Restore User Interface  | #01@UI  | DEVICE_ID  | CR  | ~01@UI | DEVICE_ID  | OK  | CRLF  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
After answering OK, the master will send to the device commands to refresh user interface elements like RGB buttons and LCD labels. For example:
#DEV_ID@RGB 1,
#DEV_ID@RGB 2, …(All RGB)
RED, GREEN,
RED, GREEN,
BLUE,
BLUE,
STATE
CR STATE
CR
#DEV_ID@LCD 1,”TEXT”CR #DEV_ID@LCD 2,”TEXT”CR …(All LCD)
Use this command to get the current user interface state on program start or refreshing the GUI.
13