Changes for page Demo for Smart Office, Factory
Last modified by Hera Guo on 2024/11/11 17:08
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 17 added, 0 removed)
- 1730862483514-101.png
- 1730862584519-902.png
- 1730863708259-750.png
- 1730863750414-979.png
- 1730864045747-876.png
- 1730864077395-395.png
- 1730864117808-484.png
- 1730864159071-895.png
- 1730864207037-477.png
- 1730864250506-111.png
- 1730864293216-991.png
- 1730864331859-740.png
- 1730864460314-611.png
- 1730864617480-221.png
- 1730864676542-406.png
- 1730864784118-474.png
- 1730865053380-293.png
Details
- Page properties
-
- Content
-
... ... @@ -679,6 +679,400 @@ 679 679 680 680 == 4.2 Alarm configuration details == 681 681 682 +=== 4.2.1 High temperature === 683 + 684 +Creat: 685 + 686 +[[image:1730862483514-101.png||height="750" width="1407"]] 687 + 688 +Clear: 689 + 690 +[[image:1730862584519-902.png||height="758" width="1404"]] 691 + 692 +=== 4.2.2 Low Temperature === 693 + 694 +Creat: 695 + 696 +[[image:1730863708259-750.png||height="752" width="1403"]] 697 + 698 +Clear: 699 + 700 +[[image:1730863750414-979.png||height="746" width="1403"]] 701 + 702 +=== 4.2.3 High humidity === 703 + 704 +Creat: 705 + 706 +[[image:1730864045747-876.png||height="752" width="1396"]] 707 + 708 +Clear: 709 + 710 +[[image:1730864077395-395.png||height="735" width="1393"]] 711 + 712 +=== 4.2.4 Low humidity === 713 + 714 +Creat: 715 + 716 +[[image:1730864117808-484.png||height="741" width="1392"]] 717 + 718 +Clear: 719 + 720 +[[image:1730864159071-895.png||height="745" width="1392"]] 721 + 722 +=== 4.2.5 Low voltage === 723 + 724 +Creat: 725 + 726 +[[image:1730864207037-477.png||height="740" width="1388"]] 727 + 728 +Clear: 729 + 730 +[[image:1730864250506-111.png||height="735" width="1389"]] 731 + 732 +=== 4.2.6 Device Disconnected === 733 + 734 +Creat: 735 + 736 +[[image:1730864293216-991.png||height="739" width="1387"]] 737 + 738 +Clear: 739 + 740 +[[image:1730864331859-740.png||height="735" width="1385"]] 741 + 682 682 == 4.3 Rule chain configuration details == 683 683 684 -= 5. = 744 +[[image:1730864784118-474.png]] 745 + 746 +**Script:**Email configuration for sending device alarm information 747 + 748 +[[image:1730864676542-406.png||height="732" width="1384"]] 749 + 750 +{{code language="none"}} 751 +function locatime(timenumber){ 752 + var date = new Date(timenumber) 753 + return date.toLocaleDateString() + ' ' + date.toLocaleTimeString() 754 +} 755 +var name = msg.name 756 +var devicename = msg.originatorName 757 +var label = msg.originatorLabel 758 +var status = msg.status 759 +var detaildata =JSON.parse(msg.details.data) 760 +var tempswitch 761 + 762 +if (name != "Device Disconnected") { 763 + //detaildata=JSON.parse(msg.details.data) 764 + if (detaildata.Temperature_alarm_switch == true) { 765 + tempswitch = "open" 766 + } else { 767 + tempswitch = "close" 768 + } 769 + var humswitch 770 + if (detaildata.Humidity_alarm_switch == true) { 771 + humswitch = "open" 772 + } else { 773 + humswitch = "close" 774 + } 775 + var batswitch 776 + if (detaildata.Voltage_alarm_switch == true) { 777 + batswitch = "open" 778 + } else { 779 + batswitch = "close" 780 + } 781 + var str2 = "<p>-- Temperature alarm switch status: " + 782 + tempswitch + "</p>" + 783 + "<p>-- Humidity alarm switch status: " + humswitch + 784 + "</p>" + 785 + "<p>-- Voltage alarm switch status: " + batswitch 786 +} 787 + 788 +if (name == "High Temperature" && status == 789 + "ACTIVE_UNACK") { 790 + var emailstr = 791 + "<div><p><span style='color: black; font-weight: bold'>" + 792 + "Device " + label + " has alarm:</span></p>" + 793 + "<p><span style='color: red; font-weight: bold'>-- High Temperature Alarm</span></p>" + 794 + "<p>-- Current Temperature : " + detaildata 795 + .TempC_SHT + "</p><br>" + 796 + "<p>Device Configure:</p>" + 797 + "<p>-- Temperature Threshold : min: " + detaildata 798 + .Low_temperature_alarm + ", max: " + detaildata 799 + .High_temperature_alarm + "</p>" + 800 + "<p>-- Humidity Threshold: min: " + detaildata 801 + .Low_humidity_alarm + ", max:" + detaildata 802 + .High_humidity_alarm + "</p>" + 803 + "<p>-- Battery threshold: min: " + detaildata 804 + .Low_voltage_alarm + "</p>" + str2 + "</div>" 805 + return { 806 + msg: { 807 + "data": emailstr 808 + }, 809 + metadata: metadata, 810 + msgType: msgType 811 + }; 812 +} else if (name == "Low Temperature" && status == 813 + "ACTIVE_UNACK") { 814 + var emailstr = 815 + "<div><p><span style='color: black; font-weight: bold'>" + 816 + "Device " + label + " has alarm:</span></p>" + 817 + "<p><span style='color: red; font-weight: bold'>-- Low Temperature Alarm</span></p>" + 818 + "<p>-- Current Temperature : " + detaildata 819 + .TempC_SHT + "</p><br>" + 820 + "<p>Device Configure:</p>" + 821 + "<p>-- Temperature Threshold : min: " + detaildata 822 + .Low_temperature_alarm + ", max: " + detaildata 823 + .High_temperature_alarm + "</p>" + 824 + "<p>-- Humidity Threshold: min: " + detaildata 825 + .Low_humidity_alarm + ", max:" + detaildata 826 + .High_humidity_alarm + "</p>" + 827 + "<p>-- Battery threshold: min: " + detaildata 828 + .Low_voltage_alarm + "</p>" + str2 + "</div>" 829 + 830 + return { 831 + msg: { 832 + "data": emailstr 833 + }, 834 + metadata: metadata, 835 + msgType: msgType 836 + }; 837 + 838 +} else if (name == "Device Disconnected" && status == 839 + "ACTIVE_UNACK") { 840 + var time1 = locatime(Number(detaildata.lastActivityTime)) 841 + //var time1 = detaildata.lastActivityTime 842 + // var chazhi = parseInt((detaildata.inactivityAlarmTime-detaildata.lastActivityTime)/1000/60) 843 + // var emailstr = 844 + // "<div><p><span style='color: red; font-weight: bold'>" + 845 + // "Device " + label + " has Alarm</span></p><p>Last activity time: "+time1+"</p><p>Last Uplink: 21"+"minutes ago</p></div>" 846 + 847 + var emailstr ="Device " + label + " has Alarm##Last activity time: "+time1+"##Last Uplink: 21minutes ago" 848 + var newType = "POST_TELEMETRY_REQUEST" 849 + return { 850 + msg:emailstr, 851 + metadata: metadata, 852 + msgType: newType 853 + } 854 +} else if (name == "High humidity" && status == 855 + "ACTIVE_UNACK") { 856 + var emailstr = 857 + "<div><p><span style='color: black; font-weight: bold'>" + 858 + "Device " + label + " has alarm:</span></p>" + 859 + "<p><span style='color: red; font-weight: bold'>-- High Humidity Alarm</span></p>" + 860 + "<p>-- Current Temperature : " + detaildata 861 + .Hum_SHT + "</p><br>" + 862 + "<p>Device Configure:</p>" + 863 + "<p>-- Temperature Threshold : min: " + detaildata 864 + .Low_temperature_alarm + ", max: " + detaildata 865 + .High_temperature_alarm + "</p>" + 866 + "<p>-- Humidity Threshold: min: " + detaildata 867 + .Low_humidity_alarm + ", max:" + detaildata 868 + .High_humidity_alarm + "</p>" + 869 + "<p>-- Battery threshold: min: " + detaildata 870 + .Low_voltage_alarm + "</p>" + str2 + "</div>" 871 + 872 + return { 873 + msg: { 874 + "data": emailstr 875 + }, 876 + metadata: metadata, 877 + msgType: msgType 878 + }; 879 +} else if (name == "Low humidity" && status == 880 + "ACTIVE_UNACK") { 881 + var emailstr = 882 + "<div><p><span style='color: black; font-weight: bold'>" + 883 + "Device " + label + " has alarm:</span></p>" + 884 + "<p><span style='color: red; font-weight: bold'>-- Low Humidity Alarm</span></p>" + 885 + "<p>-- Current Temperature : " + detaildata 886 + .Hum_SHT + "</p><br>" + 887 + "<p>Device Configure:</p>" + 888 + "<p>-- Temperature Threshold : min: " + detaildata 889 + .Low_temperature_alarm + ", max: " + detaildata 890 + .High_temperature_alarm + "</p>" + 891 + "<p>-- Humidity Threshold: min: " + detaildata 892 + .Low_humidity_alarm + ", max:" + detaildata 893 + .High_humidity_alarm + "</p>" + 894 + "<p>-- Battery threshold: min: " + detaildata 895 + .Low_voltage_alarm + "</p>" + str2 + "</div>" 896 + 897 + return { 898 + msg: { 899 + "data": emailstr 900 + }, 901 + metadata: metadata, 902 + msgType: msgType 903 + }; 904 +} else if (name == "Low voltage" && status == 905 + "ACTIVE_UNACK") { 906 + var emailstr = 907 + "<div><p><span style='color: black; font-weight: bold'>" + 908 + "Device " + label + " has alarm:</span></p>" + 909 + "<p><span style='color: red; font-weight: bold'>-- Low Voltage Alarm</span></p>" + 910 + "<p>-- Current Temperature : " + detaildata.BatV + 911 + "</p><br>" + 912 + "<p>Device Configure:</p>" + 913 + "<p>-- Temperature Threshold : min: " + detaildata 914 + .Low_temperature_alarm + ", max: " + detaildata 915 + .High_temperature_alarm + "</p>" + 916 + "<p>-- Humidity Threshold: min: " + detaildata 917 + .Low_humidity_alarm + ", max:" + detaildata 918 + .High_humidity_alarm + "</p>" + 919 + "<p>-- Battery threshold: min: " + detaildata 920 + .Low_voltage_alarm + "</p>" + str2 + "</div>" 921 + 922 + return { 923 + msg: { 924 + "data": emailstr 925 + }, 926 + metadata: metadata, 927 + msgType: msgType 928 + }; 929 +} else if (name == "High Temperature" && status == 930 + "CLEARED_UNACK") { 931 + var emailstr = 932 + "<div><p><span style='color: green; font-weight: bold'>Device " + 933 + label + 934 + " High Temperature Alarm Cleared</span></p>" + 935 + "<p>-- Current Temperature : " + detaildata 936 + .TempC_SHT + "</p><br>" + 937 + "<p>Device Configure:</p>" + 938 + "<p>-- Temperature Threshold : min: " + detaildata 939 + .Low_temperature_alarm + ", max: " + detaildata 940 + .High_temperature_alarm + "</p>" + 941 + "<p>-- Humidity Threshold: min: " + detaildata 942 + .Low_humidity_alarm + ", max:" + detaildata 943 + .High_humidity_alarm + "</p>" + 944 + "<p>-- Battery threshold: min: " + detaildata 945 + .Low_voltage_alarm + "</p>" + str2 + "</div>" 946 + 947 + return { 948 + msg: { 949 + "data": emailstr 950 + }, 951 + metadata: metadata, 952 + msgType: msgType 953 + }; 954 +} else if (name == "Low Temperature" && status == 955 + "CLEARED_UNACK") { 956 + var emailstr = 957 + "<div><p><span style='color: green; font-weight: bold'>Device " + 958 + label + 959 + " Low Temperature Alarm Cleared</span></p>" + 960 + "<p>-- Current Temperature : " + detaildata 961 + .TempC_SHT + "</p><br>" + 962 + "<p>Device Configure:</p>" + 963 + "<p>-- Temperature Threshold : min: " + detaildata 964 + .Low_temperature_alarm + ", max: " + detaildata 965 + .High_temperature_alarm + "</p>" + 966 + "<p>-- Humidity Threshold: min: " + detaildata 967 + .Low_humidity_alarm + ", max:" + detaildata 968 + .High_humidity_alarm + "</p>" + 969 + "<p>-- Battery threshold: min: " + detaildata 970 + .Low_voltage_alarm + "</p>" + str2 + "</div>" 971 + 972 + return { 973 + msg: { 974 + "data": emailstr 975 + }, 976 + metadata: metadata, 977 + msgType: msgType 978 + }; 979 +} else if (name == "High humidity" && status == 980 + "CLEARED_UNACK") { 981 + var emailstr = 982 + "<div><p><span style='color: green; font-weight: bold'>Device " + 983 + label + " High Humidity Alarm Cleared</span></p>" + 984 + "<p>-- Current Temperature : " + detaildata 985 + .Hum_SHT + "</p><br>" + 986 + "<p>Device Configure:</p>" + 987 + "<p>-- Temperature Threshold : min: " + detaildata 988 + .Low_temperature_alarm + ", max: " + detaildata 989 + .High_temperature_alarm + "</p>" + 990 + "<p>-- Humidity Threshold: min: " + detaildata 991 + .Low_humidity_alarm + ", max:" + detaildata 992 + .High_humidity_alarm + "</p>" + 993 + "<p>-- Battery threshold: min: " + detaildata 994 + .Low_voltage_alarm + "</p>" + str2 + "</div>" 995 + 996 + return { 997 + msg: { 998 + "data": emailstr 999 + }, 1000 + metadata: metadata, 1001 + msgType: msgType 1002 + }; 1003 +} else if (name == "Low humidity" && status == 1004 + "CLEARED_UNACK") { 1005 + var emailstr = 1006 + "<div><p><span style='color: green; font-weight: bold'>Device " + 1007 + label + " Low Humidity Alarm Cleared</span></p>" + 1008 + "<p>-- Current Temperature : " + detaildata 1009 + .Hum_SHT + "</p><br>" + 1010 + "<p>Device Configure:</p>" + 1011 + "<p>-- Temperature Threshold : min: " + detaildata 1012 + .Low_temperature_alarm + ", max: " + detaildata 1013 + .High_temperature_alarm + "</p>" + 1014 + "<p>-- Humidity Threshold: min: " + detaildata 1015 + .Low_humidity_alarm + ", max:" + detaildata 1016 + .High_humidity_alarm + "</p>" + 1017 + "<p>-- Battery threshold: min: " + detaildata 1018 + .Low_voltage_alarm + "</p>" + str2 + "</div>" 1019 + return { 1020 + msg: { 1021 + "data": emailstr 1022 + }, 1023 + metadata: metadata, 1024 + msgType: msgType 1025 + }; 1026 +} else if (name == "Low voltage" && status == 1027 + "CLEARED_UNACK") { 1028 + 1029 + var emailstr = 1030 + "<div><p><span style='color: green; font-weight: bold'>Device " + 1031 + label + " Low Voltage Alarm Cleared</span></p>" + 1032 + "<p>-- Current Temperature : " + detaildata.BatV + 1033 + "</p><br><br>" + 1034 + "<p>Device Configure:</p>" + 1035 + "<p>-- Temperature Threshold : min: " + detaildata 1036 + .Low_temperature_alarm + ", max: " + detaildata 1037 + .High_temperature_alarm + "</p>" + 1038 + "<p>-- Humidity Threshold: min: " + detaildata 1039 + .Low_humidity_alarm + ", max:" + detaildata 1040 + .High_humidity_alarm + "</p>" + 1041 + "<p>-- Battery threshold: min: " + detaildata 1042 + .Low_voltage_alarm + "</p>" + str2 + "</div>" 1043 + 1044 + return { 1045 + msg: { 1046 + "data": emailstr 1047 + }, 1048 + metadata: metadata, 1049 + msgType: msgType 1050 + }; 1051 +} else if (name == "Device Disconnected" && status == 1052 + "CLEARED_UNACK") { 1053 + var time1 = locatime(Number(detaildata.lastActivityTime)) 1054 + //var time1 = detaildata.lastActivityTime 1055 + // var chazhi = parseInt((detaildata.inactivityAlarmTime-detaildata.lastActivityTime)/1000/60) 1056 + // var emailstr = 1057 + // "<div><p><span style='color: green; font-weight: bold'>" + 1058 + // "Device " + label + " has Alarm Cleared</span></p><p>Last activity time: "+time1+"</p></div>" 1059 + var emailstr ="Device " + label + " has Alarm Cleared##Last activity time: "+time1 1060 + var newType = "POST_TELEMETRY_REQUEST" 1061 + return { 1062 + msg: emailstr, 1063 + metadata: metadata, 1064 + msgType: newType 1065 + } 1066 +} 1067 +{{/code}} 1068 + 1069 +(% class="wikigeneratedid" %) 1070 +**Generate Report:** 1071 + 1072 +(% class="wikigeneratedid" %) 1073 +[[image:1730865053380-293.png]] 1074 + 1075 += 5.other = 1076 + 1077 +* If you want to create a similar dashboard, after understanding the case, you can download and import the dashboard, device profiles, rule chains, etc. of the case on GitHub, and make modifications based on them. 1078 +* GitHub address:
- 1730862483514-101.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +195.8 KB - Content
- 1730862584519-902.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +191.1 KB - Content
- 1730863708259-750.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +220.1 KB - Content
- 1730863750414-979.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +210.6 KB - Content
- 1730864045747-876.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +208.9 KB - Content
- 1730864077395-395.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +201.4 KB - Content
- 1730864117808-484.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +203.0 KB - Content
- 1730864159071-895.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +226.6 KB - Content
- 1730864207037-477.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +215.3 KB - Content
- 1730864250506-111.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +209.5 KB - Content
- 1730864293216-991.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +138.5 KB - Content
- 1730864331859-740.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +134.4 KB - Content
- 1730864460314-611.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +256.7 KB - Content
- 1730864617480-221.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +260.8 KB - Content
- 1730864676542-406.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +227.7 KB - Content
- 1730864784118-474.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +148.8 KB - Content
- 1730865053380-293.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.hera - Size
-
... ... @@ -1,0 +1,1 @@ 1 +46.7 KB - Content