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

From version 26.1
edited by Hera Guo
on 2024/11/06 10:59
Change comment: There is no comment for this version
To version 32.1
edited by Hera Guo
on 2024/11/06 14:06
Change comment: There is no comment for this version

Summary

Details

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