Last modified by Hera Guo on 2024/11/11 17:08

From version 27.1
edited by Hera Guo
on 2024/11/06 11:01
Change comment: There is no comment for this version
To version 28.1
edited by Hera Guo
on 2024/11/06 12:03
Change comment: There is no comment for this version

Summary

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