bmsd/fermenters.c

changeset 684
ccb9f24d0fe9
parent 679
48f8f3fce7c0
child 686
ca1fbb3bd3db
equal deleted inserted replaced
683:420bf5caf53e 684:ccb9f24d0fe9
27 #include "xutil.h" 27 #include "xutil.h"
28 #include "fermenters.h" 28 #include "fermenters.h"
29 #include "mysql.h" 29 #include "mysql.h"
30 #include "mqtt.h" 30 #include "mqtt.h"
31 #include "websocket.h" 31 #include "websocket.h"
32 #include "nodes.h"
32 33
33 34
34 sys_fermenter_list *fermenters = NULL; 35 sys_fermenter_list *fermenters = NULL;
35 36
36 extern int debug; 37 extern int debug;
719 } 720 }
720 fermenter_mysql_insert(fermenter); 721 fermenter_mysql_insert(fermenter);
721 } else { 722 } else {
722 fermenter_mysql_update(fermenter); 723 fermenter_mysql_update(fermenter);
723 } 724 }
724 725 status_change();
725 } 726 }
726 727
727 728
728 729
729 /* 730 /*
1057 1058
1058 void fermenter_death(char *topic) 1059 void fermenter_death(char *topic)
1059 { 1060 {
1060 char *edge_node, *alias, *msg = NULL; 1061 char *edge_node, *alias, *msg = NULL;
1061 sys_fermenter_list *tmpp; 1062 sys_fermenter_list *tmpp;
1063 bool report = false;
1062 1064
1063 printf("fermenter_death: %s\n", topic); 1065 printf("fermenter_death: %s\n", topic);
1064 strtok(topic, "/"); // ignore namespace 1066 strtok(topic, "/"); // ignore namespace
1065 strtok(NULL, "/"); // ignore group_id 1067 strtok(NULL, "/"); // ignore group_id
1066 strtok(NULL, "/"); // ignore message_type 1068 strtok(NULL, "/"); // ignore message_type
1081 msg = xstrcat(msg, alias); 1083 msg = xstrcat(msg, alias);
1082 msg = xstrcat(msg, (char *)"\",\"online\":0}"); 1084 msg = xstrcat(msg, (char *)"\",\"online\":0}");
1083 ws_broadcast(msg); 1085 ws_broadcast(msg);
1084 free(msg); 1086 free(msg);
1085 msg = NULL; 1087 msg = NULL;
1088 report = true;
1086 } 1089 }
1087 break; 1090 break;
1088 } 1091 }
1089 } 1092 }
1090 } else { 1093 } else {
1099 msg = xstrcat(msg, tmpp->alias); 1102 msg = xstrcat(msg, tmpp->alias);
1100 msg = xstrcat(msg, (char *)"\",\"online\":0}"); 1103 msg = xstrcat(msg, (char *)"\",\"online\":0}");
1101 ws_broadcast(msg); 1104 ws_broadcast(msg);
1102 free(msg); 1105 free(msg);
1103 msg = NULL; 1106 msg = NULL;
1107 report = true;
1104 } 1108 }
1105 } 1109 }
1106 } 1110 }
1107 } 1111 }
1112 if (report)
1113 status_change();
1108 } 1114 }
1109 1115
1110 1116

mercurial