You must have at least one MQTT profile setup in order to receive any input. Typically your receiving MQTT profile will contain the incoming messages topic and will be different than your output MQTT profile that will contain the topic for outbound messages. Theoretically one MQTT profile could be used for both incoming and outgoing messages on the same topic but it would be like an echo chamber. 

The input received from MQTT profile can cause various actions by Big5.

  1. Create HS3 device. This depends strictly on the MQTT Profile settings. It happens automatically and doesn’t need any action.*
  2. Update HS3 device previously created by the same profile. 
    It happens automatically and doesn’t need any action.*
  3. Set the HS3 device value and string  from the input data. It happens automatically no action needed.  *assuming that the profile was setup properly and the incoming data matches the assumptions used in the profile setting. See “MQTT Profile” for more information. 
  4. Trigger HS3 events

Triggering HS3 events from MQTT input

There are two ways of triggering HS3 events by MQTT input

  1. Natively in HS3 by “Device value has changed or set”. As far as the MQTT input creates/updates devices this very action can be used to¬† trigger an HS3 event.
  2. By Big5 MQTT conditions as explained below.

Go to HS3 conditions drop down menu and look for- and select “Big5 MQTT”

You’ll see several options ( called “matchers”) to act upon the received information. As the name suggests there will be HS3 action if there is a match and no action otherwise. In the sample screenshot below the HS3 action is to send out a text message.

Add text or type / to add content

String matcher. You can provide any string that must be contained in the incoming message in order to trigger. You can also provide the exact starting position of your string within the income message for the trigger to happen. Use 0 for ignoring the position and find the string anywhere.

Example:

Income message: The rain in Spain stays mainly in the plane

String matcher (position):

Spain (0) – will trigger as Spain is within the income message and 0 means disregard position

rain (6) – will not trigger as “rain” does exist but it doesn’t start at position 6

Italy (0) – will not trigger as the word “Italy” is nowhere in the income message.

Training: Will the string “main” (0) trigger.

RegEx matcher. RexEx must produce logical result “true” or “false”. Will trigger if the result is “true” and will not trigger otherwise.

Example

Income message: Temperature = 39 F

RegEx: ${ Numbers(input)[0] > 32}

This income message will trigger HS3 event as it is true that 39 is > 32

Training: Write RegEx to trigger HS3 event if humidity is more than 87 % and the income message is

Temperature = 45 F and humidity = 90 %

Use the sandbox at the bottom of Big5 -> Configuration page to validate your REgEx.

Number matcher: You pick what count in the string to use for matching and to what value to match

Example: 

Income message: Filter=1 Pump=0 Cleaner=1 Solar=0

Matcher setup: looks for number 1 in count 2nd

Result: Will not trigger as the second number in the income message is 0 not 1.

on/off matcher. Same as number matcher but looks for “on” and “off” strings instead.