Changes for page 2 Script
Last modified by Devin Chen on 2025/12/10 10:32
From version 9.1
edited by Devin Chen
on 2025/11/05 09:27
on 2025/11/05 09:27
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 8 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. DevinChen1 +XWiki.Wecon - Content
-
... ... @@ -27,63 +27,37 @@ 27 27 28 28 == **1.4 Short message** == 29 29 30 -The following demo shows that when the alarm condition is reached: temp1 > 50 (lasts more than 5 seconds) , then send an "alarm trigger" sms. 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 -When the alarm condition is released,then send an "alarm release" sms. 32 +When the alarm condition is released,then send an "alarm release" sms. Script is as below: 33 33 34 -Real-time tags setting 35 -[[image:1757401730077-284.png]] 36 - 37 -Script is as below: 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) 37 +local temp1 = addr_getword("@Temperature1") 38 +local temp2 = addr_getword("@Temperature2") 39 +local temp3 = addr_getword("@Temperature3") 40 +local timer = addr_getword("@Timer") 41 +local tag = addr_getbit("@Tag") 42 +------lasting time------ 43 +if temp1 > 5 and temp2 > 10 and temp3 < 20 then 44 + timer = timer + 1 45 + addr_setword("@Timer",timer) 46 +else 47 + timer = 0 48 + addr_setword("@Timer",timer) 49 +end 50 +------send sms & output Y0------ 51 +if timer > 5 then 52 + if tag == 0 then 53 + send_sms_ira("19859254700","alarm trigger") 54 + 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 56 +elseif tag == 1 then 57 +send_sms_ira("19859254700","alarm release") 58 +addr_setbit("@Tag",0) 86 86 end 60 +end 87 87 {{/code}} 88 88 89 89 == **1.5 Telegram notification** == ... ... @@ -586,127 +586,6 @@ 586 586 end 587 587 {{/code}} 588 588 589 -== **1.12 Get UTC timestamp and local timezone timestamp** == 590 - 591 -This demo shows how to obtain UTC standard time from the V-Box and get the local time based on the device's time zone. 592 - 593 -**Real-time tags configuration** 594 - 595 -[[image:1757043722849-910.png]] 596 - 597 -**Script configuration** 598 - 599 -(% style="text-align:center" %) 600 -[[image:1757043900216-610.png||height="412" width="439"]] 601 - 602 -**Script** 603 - 604 -{{code language="lua"}} 605 -function time.main() 606 - 607 - --Get Coordinated Universal Time 608 - local timestamp = os.time() 609 - local utcTimeTable = os.date("!*t", timestamp) 610 - local utcTimestamp = os.time(utcTimeTable) 611 - local formattedTime = os.date("%Y-%m-%d %H:%M:%S", utcTimestamp) 612 - 613 - print("UTC: " ..formattedTime) 614 - 615 - --Calculate the local time at the device's location 616 - local utc_7Timestamp = os.time(utcTimeTable) + 25200 -- Enter the corresponding number of seconds based on the time difference,used UTC+7 as an example.. 617 - local formattedTime1 = os.date("%Y-%m-%d %H:%M:%S", utc_7Timestamp) 618 - print("UTC+7: " .. formattedTime1) 619 - 620 - 621 - --Assign the decomposed timestamp to the specified register 622 - addr_setword("@UTC+7_Second",os.date("%S", utc_7Timestamp)) 623 - addr_setword("@UTC+7_Minute",os.date("%M", utc_7Timestamp)) 624 - addr_setword("@UTC+7_Hour",os.date("%H", utc_7Timestamp)) 625 - addr_setword("@UTC+7_Day",os.date("%d", utc_7Timestamp)) 626 - addr_setword("@UTC+7_Month",os.date("%m", utc_7Timestamp)) 627 - addr_setword("@UTC+7_Year",os.date("%Y", utc_7Timestamp)) 628 - print("--------------------------------------") 629 - 630 -end 631 -{{/code}} 632 - 633 -**Result** 634 - 635 -(% style="text-align:center" %) 636 -[[image:1757044137457-543.png||height="468" width="708"]] 637 - 638 - 639 -== **1.13 JSON encoding and decoding** == 640 - 641 -This demo shows how to encode tag values into JSON format and decode the JSON to assign data to new tags. 642 - 643 -**Real-time tags configuration** 644 - 645 -(% style="text-align:center" %) 646 -[[image:PixPin_2025-11-05_09-21-33.png]] 647 - 648 -(% class="wikigeneratedid" %) 649 -**Script configuration** 650 - 651 -(% style="text-align:center" %) 652 -[[image:PixPin_2025-11-05_09-23-03.png||height="376" width="400"]] 653 - 654 -(% class="wikigeneratedid" %) 655 -**Script** 656 - 657 -{{code language="lua"}} 658 -function json_test.main() 659 - 660 --- Load JSON module for encoding and decoding JSON data 661 -local json = require("json") 662 - 663 --- Read values from different types of address tags 664 -local a = addr_getbit("@bit") -- Read a bit (boolean) value 665 -local b = addr_getword("@word") -- Read a word (integer) value 666 -local c = addr_getfloat("@floating number") -- Read a floating point value 667 -local d = addr_getstring("@string",10) -- Read a string value with max length 10 668 -local e = json.null -- JSON null value constant 669 - 670 --- Encode the data into JSON format 671 -local jsondata = json.encode({ 672 - bit = a or 0, -- Bit value with default 0 673 - word = b or 0, -- Word value with default 0 674 - float = c or 0, -- Float value with default 0 675 - str = d or 0, -- String value with default 0 676 - {none= e} -- Nested table with null value 677 - }) 678 -print("json encode:", jsondata) -- Print the encoded JSON data 679 -print(".......................") 680 - 681 --- Decode the JSON string back to Lua table 682 -local data = json.decode(jsondata) 683 - 684 --- Check if decoding was successful and print the results 685 -if type(data) == 'table' then 686 - print("json decode:") 687 - -- Iterate through all key-value pairs in the decoded table 688 - for k, v in pairs(data) do 689 - print(k, v) 690 - end 691 -end 692 --- Write the decoded values back to corresponding address tags 693 -addr_setbit("@bit_copy", data["bit"] or 0) -- Write bit value 694 -addr_setword("@word_copy", data["word"] or 0) -- Write word value 695 -addr_setfloat("@floating number_copy", data["float"] or 0) -- Write float value 696 -addr_setstring("@string_copy", data["str"], 10) -- Write string value 697 - 698 -print("-----------------------") 699 - 700 -end 701 -{{/code}} 702 - 703 -(% class="wikigeneratedid" %) 704 -**Result** 705 - 706 -(% style="text-align:center" %) 707 -[[image:1762306008662-362.png||height="485" width="1228"]] 708 - 709 - 710 710 = **2 Third part server** = 711 711 712 712 V-Box have two mode.One is for V-Net,User need to use WECON server to store data.We call this V-NET platform.
- 1757043722849-910.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.DevinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -74.4 KB - Content
- 1757043900216-610.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.DevinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -62.9 KB - Content
- 1757044137457-543.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.DevinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -99.4 KB - Content
- 1757387490907-390.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.DevinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -47.9 KB - Content
- 1757401730077-284.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.DevinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -92.2 KB - Content
- 1762306008662-362.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.DevinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -66.9 KB - Content
- PixPin_2025-11-05_09-21-33.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.DevinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -65.8 KB - Content
- PixPin_2025-11-05_09-23-03.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.DevinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -60.9 KB - Content