Data Types~
There are 5 major data types that openHASP uses when communicating over MQTT:
Boolean~
Properties with a boolean data type accept these values and are case insensitive:
- true/- ON/- 1/- yes
- false/- OFF/- 0/- no
The return value will be either 1/0 or on/off depending on the context.
Integer~
Numeric properties have integer values with a variable minimum and maximum input value.   
Certain object properties also support negative values.
Details
int8 (signed) supports values ranging from -128 to 127.  
uint8 (unsigned) supports values ranging from 0 to 255.  
int16 (signed) supports values ranging from -32768 to 32767.   
uint16 (unsigned) supports values ranging from 0 to 65535.
String~
Properties that accept textual input. When sending raw text in the MQTT payload or as command parameter no quotes are needed.  
Only when a text value is included in a jsonl or json command, it needs to be quoted accoring to JSON rules.
JSON Object~
Some properties can be set or retrieved in JSON format too. The JSON object has several keys that have a boolean, integer or string data type.
Example: {"cover":"cover.my_room","position":"50"}
Colors~
Color values can be:
- Short names (from table below)
- RGB hex code (#rrggbb)
- Short hex code (#rgb)
- RGB565 number format (0..65535)
| Hex Code | Short Name | Hex Code | Short Name | 
|---|---|---|---|
| #00FFFF | Cyan or Aqua | #FFC0CB | Pink | 
| #00FF00 | Lime | #DDA0DD | Plum | 
| #008000 | Green | #DA70D6 | Orchid | 
| #008080 | Teal | #EE82EE | Violet | 
| #0000FF | Blue | #FF00FF | Magenta or Fuchsia | 
| #000080 | Navy | #800080 | Purple | 
| #808000 | Olive | #4B0082 | Indigo | 
| #CD853F | Peru | #B00000 | Blush | 
| #A0522D | Sienna | #FF0000 | Red | 
| #A52A2A | Brown | #FF6347 | Tomato | 
| #800000 | Maroon | #FA8072 | Salmon | 
| #FFFFFF | White | #FF7F50 | Coral | 
| #FFFAFA | Snow | #FFA500 | Orange | 
| #FFFFF0 | Ivory | #FFD700 | Gold | 
| #FAF0E6 | Linen | #FFFF00 | Yellow | 
| #F5F5DC | Beige | #F0E68C | Khaki | 
| #F0FFFF | Azure | #FFE4C4 | Bisque | 
| #C0C0C0 | Silver | #F5DEB3 | Wheat | 
| #808080 | Gray or Grey | #D2B48C | Tan | 
| #000000 | Black | 
Setting Color~
Examples:
| 1 2 3 4 |  | 
Return values~
When retrieving the color of an object, both the HTML representation as the RGB values are returned separately.
The format will be a json object with components:
- color : 6 digit hexadecimal code preceeded by a hash #sign.
- r : byte value for red (0..255)
- g : byte value for green (0..255)
- b : byte value for blue (0..255)
For example, the color returned by a color picker change event is:
| 1 |  | 
Variables~
Some properties can be set with variable data at plate runtime. Use the strings below to retrieve data:
- %ip%- IP address of the plate
- %hostname%- hostname (nodename)
- %ssid%- SSID of the network connected to
- %model%- plate model (set in the firmware)
- %version%- firmware version number