Situation

It often happens that an event is occurring a few times in a row. If it triggers a message, it would trigger it with every occurrence.

Solution

The following example shows how to 'debounce' such a multiple message dispatch.

The event is signalled to the icom Data Suite by closing a switch on input 2.1. The closure of the switch sets a flag. Setting of this flag dispatches then the message and starts a timer. No further message dispatch is possible as long as the timer is running since the message will only be dispatched when the flag changes from 0 to 1 again. The expiry of the timer resets the flag. It can then be set again by the event to trigger the message.

It is prerequisite that you have access to the web interface of the icom Data Suite. The Smart Device must be functional for SMS dispatch. The switch is connected to input 2.1 of the Smart Device.

  1. Open the web interface of the icom Data Suite using a browser:

  2. In the Data pointsDigital I/Os menu under Inputs, add a new input ():

    • Description: Input 2.1

    • Input: 2.1

    • Click on Save settings.

  3. In the DatapointsFlags menu, add a new flag:

    • Description: trigger message

    • Type: Bit

    • Click on Save settings.

  4. In the DatapointsTimer menu, add a new timer () and edit it ():

    • Description: message delay timer

    • Type: Countdown, triggered after 3 minutes

    • Click on Save settings.

  5. In the MessagesContacts menu, add a new contact () and edit it ():

    • Real name: enter the name of the supervisor

    • Phone number: enter the mobile phone number of the supervisor recipient [2]

    • Click on Save settings.

  6. In the MessagesSMS menu, add a new message () and edit it ():

    • Description: input closed message

    • Modem: lte2

    • Recipient: select the supervisor as contact

    • Text: Input 2.1 has been closed

  7. In the Events menu, add a new event () and edit it (): [3]

    • Description: set 'trigger message' flag if input is closed

    • Event: Digital data point has changed

    • Data point: input1 and Changed to LOW (Boolean 0) [4]

    • Action: Set digital data point

    • Data point: flag1 - trigger message set to 1

    • Click on Save settings.

  8. In the Events menu, add a new event () and edit it (): [5]

    • Description: start delay timer if 'trigger message' flag is set

    • Event: Digital data point has changed

    • Data point: flag1 and Changed to 1

    • Action: Start or stop timer

    • Timer: timer1 - message delay timer start

    • Click on Save settings.

  9. In the Events menu, add a new event () and edit it (): [6]

    • Description: send message if 'trigger message' flag is set

    • Event: Digital data point has changed

    • Data point: flag1 and Changed to 1

    • Action: Send message

    • Send message: sms1 - input closed message

    • Click on Save settings.

  10. In the Events menu, add a new event () and edit it (): [7]

    • Description: reset 'trigger message' flag if 'message delay timer' expires

    • Event: Timer expired

    • Timer: timer1 - message delay timer

    • Action: Set digital data point

    • Data point: flag1 - trigger message set to 0

    • Click on Save settings.

  11. Activate the profile ().

  12. Close Input 1 to check whether the SMS is sent as intended.

  13. Close Input 1 again within the delay time to verify that the SMS is not sent again.

  14. Close Input 1 again after the delay time has expired to check that the SMS is sent again.

Troubleshooting

  • Refer to the installation manual of the Smart Device and check the connection and logic of the input used.

  • In order to be able to send an SMS by the icom Data Suite, the modem in the router must know the SMS center number of the provider. This is usually read out from the SIM card. If no number is stored on the SIM card, this must be entered in the InterfacesSlot 2: LTE menu in the web interface of the router.

Resources

The following ASCII configuration can be taken over using copy & paste. It must be observed that the individual parameters need to be adapted to the own application. Correct numbering must be observed for numbered parameters. Moreover, it must be observed that no existing parameters with the same number will be overwritten. A proper functionality can only be ensured if the opened profile has been created from default settings before.

ASCII configuration
datapoints.digital_ios.inputs.input.add
datapoints.digital_ios.inputs.input[1].name=input1
datapoints.digital_ios.inputs.input[1].active=1
datapoints.digital_ios.inputs.input[1].description=Input 2.1
datapoints.digital_ios.inputs.input[1].input=2.1

datapoints.flags.flag.add
datapoints.flags.flag[1].name=flag1
datapoints.flags.flag[1].active=1
datapoints.flags.flag[1].description=trigger message
datapoints.flags.flag[1].type=bit

datapoints.timer.timer.add
datapoints.timer.timer[1].name=timer1
datapoints.timer.timer[1].active=1
datapoints.timer.timer[1].description=message delay timer
datapoints.timer.timer[1].type=countdown
datapoints.timer.timer[1].countdown_hh=
datapoints.timer.timer[1].countdown_mm=3
datapoints.timer.timer[1].countdown_ss=

messages.contacts.contact.add
messages.contacts.contact[1].active=1
messages.contacts.contact[1].name=contact1
messages.contacts.contact[1].real_name=supervisor
messages.contacts.contact[1].email_address=
messages.contacts.contact[1].phone_number=+4917xxxxxxxx

messages.sms.sms.add
messages.sms.sms[1].active=1
messages.sms.sms[1].name=sms1
messages.sms.sms[1].description=input closed message
messages.sms.sms[1].recipient=contact1
messages.sms.sms[1].modem=lte2
messages.sms.sms[1].text=-----BEGIN text-----Input 2.1 has been closed-----END text-----

events.event.add
events.event[1].active=1
events.event[1].description=set 'trigger message' flag if input is closed
events.event[1].event_type=ev_digital
events.event[1].event_digital_datapoint=input1
events.event[1].event_digital_change=to_zero
events.event[1].event_digital_initial_check=0
events.event[1].action_type=act_digital
events.event[1].action_digital_datapoint=flag1
events.event[1].action_digital_change=to_one

events.event.add
events.event[2].active=1
events.event[2].description=start delay timer if 'trigger message' flag is set
events.event[2].event_type=ev_digital
events.event[2].event_digital_datapoint=flag1
events.event[2].event_digital_change=to_one
events.event[2].event_digital_initial_check=0
events.event[2].action_type=act_timer
events.event[2].event_action_timer_name=timer1
events.event[2].event_action_timer_change=start

events.event.add
events.event[3].active=1
events.event[3].description=send message if 'trigger message' flag is set
events.event[3].event_type=ev_digital
events.event[3].event_digital_datapoint=flag1
events.event[3].event_digital_change=to_one
events.event[3].event_digital_initial_check=0
events.event[3].action_type=act_message
events.event[3].action_message=sms1

events.event.add
events.event[4].active=1
events.event[4].description=reset 'trigger message' flag if 'message delay timer' expires
events.event[4].event_type=ev_timer
events.event[4].event_timer_name=timer1
events.event[4].action_type=act_digital
events.event[4].action_digital_datapoint=flag1
events.event[4].action_digital_change=to_zero

1. This IP address and host name only apply in case of a standard default installation.
2. It is recommended to enter the phone number in international notation in the form +491701234567.
3. This event sets the flag that triggers message dispatch and delay timer start.
4. Please note that the inputs of the router may have a different logic. This applies only to input 1 of a plug-in card with power supply.
5. This event starts the delay timer that resets the trigger flag upon expiry.
6. This event sends the notification message.
7. This event resets the trigger flag that the next event can trigger a message dispatch again via this flag.