- An open source Rain Sensor and controllerPosted 1 week ago
- An OTP (On Time Password) LockPosted 2 weeks ago
- Print with Chocolate in two colours with 3Drag Choco Big Dual ExtruderPosted 4 weeks ago
- A Christmas Star with Neopixel LEDsPosted 1 month ago
- SmartPID: Smart Temperature and Process ControllerPosted 1 month ago
- An Electric Speed Control for DC motorsPosted 2 months ago
- The BF 15+15W open source power ampPosted 2 months ago
- The Strato Pi UPS boardPosted 3 months ago
- Analyzing Semiconductor with a set of simple toolsPosted 3 months ago
- A RTC SHIELD for Arduino and Raspberry Pi, second partPosted 3 months ago
GSM Remote Control – Temperature Control
Part 4 – SMS Command
Commands can be given in two different ways: the first one is to send the SMS according to required syntax and with the password (if required), needful to avoid strangers to operate the configuration; the second one is to introduce, through Easy Setup, the number of the mobile enabled to make the following settings via SMS. In that case a good amount of the messages can be sent without the password since the circuit admits commands coming from a cell phone whose number is already in the list. The setting SMS can be sent from any mobile, as long as they include the password; to simplify the procedure, some commands, if they are sent from numbers in the list, can avoid using the password. The numbers in that list are the same that (if enabled) will receive the messages in case of alarm. The remote accepts multiple SMS, that is SMS with more than one command regarding one or more phone numbers; commands must be separated by a comma. Every setting command receives a reply the device sends via SMS; so a multiple command will produce several reply messages; in order to avoid them it is necessary to disable the reply. This is done by finishing the multiple command SMS with the text RISP. We can now start describing the commands, summarized in Table 1. Let’s start with the command used to change the password: a SMS with the string PWDxxxxx;pwd, where in place of xxxxx you write the new password (numeric, 5 digits.) while pwd stands for the current password; the default password is 12345.
Every one of the eight numbers is stored by sending a SMS with the string NUMx+nnnnnnnnnnnnn;pwd, where x defines the position in the phonebook (1÷8) of the number being stored, nnnnnnn is the number and pwd the current password Numbers admitted consist of 19 digits. For example, introducing number 0039111222111 in the eighth position is done with command: NUM8+111222111;pwd.
To store a number sending the command from a mobile already in the list it is necessary to introduce the password only when trying to overwrite a position already occupied; if the position is free, you just send a SMS with the string NUMx+nnnnnnnnnnnnn. Naturally, if you send the command from an unknown phone, the password is always required.
A number can be removed with command NUMx;pwd where x is the position of the number to delete occupies; pwd is the usual password, necessary also if the phone is in the list. In order to request the list of stored numbers the SMS must read NUM?;pwd this command is valid with any phone.
Let’s now take a look at the commands used to tell the device which numbers in the list must, in case of alarm (presence of tension) in the opto-isolated input, receive SMS or calls (simple ring tones). To define the numbers to which send the message, use command SMSxxxxxxxx:ON;pwd, where x are the positions of the stored numbers (1 to 8): for instance, SMS1367:ON;pwd means that in case of alarm the remote will send messages to the numbers occupying the following positions 1, 3, 6 and 7. If instead of “ON” we write “OFF”, the command would have the opposite effect. By default, all numbers in the eight positions will receive a SMS in case of alarm.
The command used to set the numbers that receive voice calls is VOCxxxxxxxx:ON;pwd, for this string the same roles that apply to the SMS command are valid.
The GSM thermostat allows us to establish, if set with a special SMS command, an eventual inhibition time (a range during which the status of IN1 is not considered) in order to differentiate real notifications from noise. The range can be set between 0 and 59 prime minutes (the default time is 5 minutes). The setting is made by means of the string INC:mm, where mm identifies the time in minutes. The alarm can be generated by the presence of tension on the opto-isolated input, as well as when the room temperature is out of the parameters previously set by means of the following commands: ALLMIN:yxx (minimum threshold) and ALLMAX:yxx (maximum threshold) in both cases, in the place of y you put + or- in case the temperature is positive or negative, xx is the absolute value in two digits. Keep in mind it is possible to set values between 14 °F and 210.20 °F (-10 and +99 °C). For instance, commands ALLMIN:+2 and ALLMAX:+35 define a limit set between 35.6 °F and 95 °F(2 and 35 °C). Please note that by default (and also after a full reset) no values are introduced, so the thermal alarm is deactivated; it is possible to set only one value, but in this case the alarm goes off only when trespassing that threshold. The thermal alarm can be switched off with the string ALL:OFF and eventually switched back on with command ALL:ON It is possible to request the sending of a SMS with the alarm temperature values by means of command ALL?.
There is a possibility to set a possible range of inhibition for the thermal alarm, (the default value is 5) useful when the user, for instance, after receiving an alarm notifying the room has cooled excessively, remotely forces the heating. In that case, if you do not set an inhibition range enough in order to give the heating system the time to raise the temperature beyond the threshold alarm, the remote continues to send SMS and calls.
The setting is made by sending the command INT:mm, where mm is the inhibition time in minutes (between 00 and 59) from the detection of the alarm.
The GSM thermostat can memorize the lowest and highest temperatures registered since the last reset or the first start-up and communicate them; in order to request this data you must send the SMS TEMP. The circuit replies with a message containing the minimum and maximum values, to the number that gave the command. It is also possible to obtain the temperature without sending any SMS. you just need to call, with a phone whose number is in the list, then hang up; the unit will send the usual message. Any time it is also possible to reset the temperature memory by means of command TRES. The command used to define the temperature to be maintained in automatic mode is NOR:xx, where in place of x you write the desired value (for instance 24), in Celsius.
Since we have talked about the operating modes, let’s now see the command to be used for the remote setting via SMS: it is a SMS with the string FUN:x, where x can have the following values:
• T, enslaved mode (RL1 follows the external thermostat)
• A, automatic mode
• M, the relay is forced active.
If we cannot remember which mode the circuit is using, we can question it by sending a SMS with the text FUN? after which we will obtain a reply SMS including the active mode. Note that the mode is stored so an eventual black-out does not change it.
Let’s now take a look at the commands related to the relay activity, which can be managed independently from the selection of the operation mode; it can be activated any time (if at rest) or de-energized (if active) with commands OUT:ON and OUT:OFF. With OUT? you can request the status of the relay any time, the remote replies sending a SMS. The remote can store the status of the relay and restore it after an eventual black-out. This function (disabled by default) can be activated with commands RIP1 e RIP0. To command RIP? the remote replies with a SMS that notifies the current restore condition expressed in numbers, 1 if restoring is active, 0 if it is not.
We are now to discuss commands that allow you to define the notification messages sent by the remote. The system sends a customizable SMS every time it is powered; by default (and after any complete reset) the function is disabled; this function can be set with command AVVx, where x has a value of 1 if you want to enable it and of 0 if you want to disable it.
In case the function is active, the text of the message sent during start-up (SYSTEM STARTUP is the default message) is set through the command TSU:xxxxxxxxxxxx; in place of x you write the text, the limit is 100 characters (including spaces). The alarm notification message on the opto-isolated input is modified by TIN1A:xxxxxxxxxxx, which follows the same rules as for command TSU.
About messages sent in case of thermal alarm, it is possible to individually define those that come from the temperature exceeding the upper threshold and from below it with these commands THI:xxxxxxxxx for the higher threshold, TLO:xxxxxxxxx for the minimum one.
If you have the password, you can, any time, restore the set configuration of the system as well as delete all stored numbers with command RES;pwd, where pwd is the current password.