Changes for page 2 Script

Last modified by Devin Chen on 2025/12/10 10:32

From version 6.1
edited by Devin Chen
on 2025/09/09 15:10
Change comment: There is no comment for this version
To version 4.1
edited by Devin Chen
on 2025/09/09 11:11
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -30,60 +30,42 @@
30 30  The following demo shows that when the alarm condition is reached: temp1 > 5 & temp2 >10 & temp3 < 20(lasts more than 5 seconds) , then send an "alarm trigger" sms.
31 31  
32 32  When the alarm condition is released,then send an  "alarm release" sms.
33 +\\[[image:1757387490907-390.png]]
33 33  
34 -Registers setting
35 -[[image:1757401730077-284.png]]
36 -
37 37  Script is as below:
38 38  
39 39  {{code language="lua"}}
40 40  function sms.main()
41 41  ------send condition------
42 - local temp1 = addr_getword("@Temperature1")
43 - local timer = addr_getword("@Timer")
44 - local tag = addr_getbit("@Tag")
45 - local tag2 = addr_getbit("@Y0")
46 - local sms_timer = addr_getword("@SMSTimer")
47 - local sms_id = addr_getword("@id") -- SMS ID
48 -
49 - ------lasting time------
50 - if temp1 > 50 then
51 - timer = timer + 1
52 - addr_setword("@Timer", timer)
53 - else
54 - timer = 0
55 - addr_setword("@Timer", timer)
40 +local temp1 = addr_getword("@Temperature1")
41 +local temp2 = addr_getword("@Temperature2")
42 +local temp3 = addr_getword("@Temperature3")
43 +local timer = addr_getword("@Timer")
44 +local tag = addr_getbit("@Tag")
45 +------lasting time------
46 +if temp1 > 5 and temp2 > 10 and temp3 < 20 then
47 + timer = timer + 1
48 + addr_setword("@Timer",timer)
49 +else
50 + timer = 0
51 + addr_setword("@Timer",timer)
52 +end
53 +------send sms & output Y0------
54 +if timer > 5 then
55 + if tag == 0 then
56 + --send SMS to 2 recipients
57 + send_sms_ira("198****4700","alarm trigger")
58 + local id = send_sms_ira("187****3130","alarm trigger")
59 + --get the SMS state from ID
60 + local state = sms_get_state(id)
61 + addr_setword("@state",state)
62 + addr_setbit("@Tag",1)
56 56   end
57 -
58 - ------send sms & output Y0------
59 - if timer > 5 then
60 - if tag == 0 then
61 - --send SMS to 2 number
62 - local id = send_sms_ira("198****4800", "alarm trigger")
63 - local id = send_sms_ira("187****3130", "alarm trigger")
64 - addr_setword("@id", id) -- Store SMS ID to dedicated variable
65 - addr_setbit("@Tag", 1)
66 - addr_setword("@SMSTimer", 0) -- Reset SMS status check timer
67 - else
68 - -- If SMS already sent, increment timer
69 - sms_timer = sms_timer + 1
70 - addr_setword("@SMSTimer", sms_timer)
71 -
72 - -- Check SMS status after 20 seconds
73 - if sms_timer >= 20 then
74 - local state = sms_get_state(sms_id)
75 - addr_setword("@state", state)
76 - addr_setword("@SMSTimer", 0) -- Reset timer
77 - end
78 - end
79 - elseif tag == 1 then
80 - -- Send alarm release SMS
81 - send_sms_ira("198****4800","alarm release")
82 - send_sms_ira("187****3130", "alarm release")
83 - addr_setbit("@Tag", 0)
84 - addr_setword("@SMSTimer", 0) -- Reset timer
85 - end
64 +elseif tag == 1 then
65 +send_sms_ira("198****4700","alarm release")
66 +addr_setbit("@Tag",0)
86 86  end
68 +end
87 87  {{/code}}
88 88  
89 89  == **1.5 Telegram notification** ==
1757401730077-284.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.DevinChen
Size
... ... @@ -1,1 +1,0 @@
1 -92.2 KB
Content