SMS IO model UC1414

The basic use is complete we will need to automate this on setup. We will need to generate auth codes for our commands aswell as response codes. The codes will be added to there respective ussd locations.
The idea is when you add the device, codes are generated and written direct to new config and then the config is able to be downloaded and then manually imported into the sms io. We will have the ability for dealer to be able to directly download the config too.
Have not decided on this functions placement yet.  

----------------------------------------------
The only config file we can create is the "Command" configuration. This is however helpful as it is the madority of the configuration needed for the SMS-IO.
Admin configuration settings will still need to be manually configured. Those settings are:
General> Basic Settings> "Change Password"
Cellular Settings> 'leave all default, the sim card will autoconfigure'
Application:
Basic Settings> Application Mode> [leave blank]
Device Control Settings> [CHECK] Receive SMS Commmand as Well> "Control Center Number (1):"> [invisible intercom phone number for this door]> "Control Center Number (2):"> 'leave blank or use to test by using your own cell number to test commands'> Sucessful Setuo Confirmation> [CHECK], Setup Failure Confirmation> [UNCHECK]  
Device Report Settings> Report by SMS As Well> [CHECK]> Any Changes Report> [UNCHECK]> Regulart Report INterval> [UNCHECK]> SMS Messaging Format> [Normal]> Number 1> [invisible intercom number of this device]> Number 2-6> [BLANK]> [Save]
Maintenance:
No function here. All units are up to date.

To import Command Configuration File:
Command> Open a command File> "open command file that was created from ii config tool"> Save the comand to Device.
---------------------------------------------

We are predetermining all 8 Command Slots: (Matts config tool refers to them as group 1-8)
All are based on If Recieved a message containing "??????-Reply-STOP-to-opt-out" Then-
ID 1 = Output1 will be activate for 3 s + send a custom message with content "??????"
ID 2 = Output1 will be activate for 0 s + send a custom message with content "?????"
ID 3 = Output1 will be de-activate for 0 s + send a custom message with content "????"
ID 4 = Output1 will be activate for 3600 s + send a custom message with content "F2q95Kc"
ID 5 = Output1 will be activate for 14400 s + send a custom message with content "???" 
ID 6 = Output1 will be activate for 28800 s + send a custom message with content "?????"
ID 7 = not used
ID 8 = If recieved a message containing "Status", then send a status message. (this will give us live status message)

---------
Command File Configurations:
*Assuming we are not doing anything different for some reason. The only thing to modify is index and ussd For the If Section. There will then be Then sections to enter.

If_Action index:
0 = Blank/ No Function
1 = Time (0 time zone)
2 = The signal is weak
3 = Digital Input 1
4 = Digital Input 2
5 = Digital Input 1 or Digital Input 2
6 = Digital Input 1 and Digital Input 2
7 = Received an message **** (This is the one we use for commands)
8 = The Devices Restarts

ussd = Contents of message example (O-mctwq6pU, Reply-Stop-to-opt-out) This is the message the io receives to trigger an action 
*in the past, i have noticed some words do not work. like "reset" or "release" i think i had issues with. random words/text threads i think have been fine tho*


If:
index = 7
ussd = "custom message string we create + STOP-to-opt-out"

-----------
Then2_Action: 
index:
0 = Blank
1 = Send a status message
2 = Send a custom message ****
3 = Output 1
4 = Output 2
5 = Restart the device

ussd = Content to send in our case with an index of 2 example (i0kZDn87g5) This is what we send back to the server as a confirmation.


Then1_Action:
index = 4 (Output 1)
level = 0 (will be activate)
durationWF = 0 (seconds) 1 (milliseconds) 2 (minutes)
duration = 3000 (It looks like it will be milliseconds for the data entered and the durationWF determines how the device hadles it) **ASK MATT ABOUT THIS**


Then2_Action: (for all the command confirmations ID 1-6)
index = 2
ussd = "?????" 

Then2_Action: (for status on demand ID 8)
index = 1






----------------
IF Components not needed:
TimeisDay, timeisTime, continue for Sec, setLockTime, ContinueForSecAnalog, analogStatus, counterNum, continueForSecMudbus, mudbusStatus, mudbusChannelStatus, aboveValue, belowValue, inputContinueUnit, locktimeUnit, inputContinueAnalogUnit, locktimeAnalogUnit, inputContinueMudbusUnit, locktimeMudbusUnit

Then Components not needed:
delay, high, low
