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.
-
Open the web interface of the icom Data Suite using a browser:
-
192.168.1.10 or ids.local [1]
-
User name: insys (default)
-
Password: icom (default)
-
-
In the Data points → Digital I/Os menu under Inputs, add a new input ():
-
Description: Input 2.1
-
Input: 2.1
-
Click on Save settings.
-
-
In the Datapoints → Flags menu, add a new flag:
-
Description: trigger message
-
Type: Bit
-
Click on Save settings.
-
-
In the Datapoints → Timer menu, add a new timer () and edit it ():
-
Description: message delay timer
-
Type: Countdown, triggered after 3 minutes
-
Click on Save settings.
-
-
In the Messages → Contacts 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.
-
-
In the Messages → SMS 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
-
-
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.
-
-
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.
-
-
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.
-
-
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.
-
-
Activate the profile ().
-
Close Input 1 to check whether the SMS is sent as intended.
-
Close Input 1 again within the delay time to verify that the SMS is not sent again.
-
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 Interfaces → Slot 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.
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
Back to the Configuration Guides for the icom Data Suite
Back to overview