bmsd/co2meters.c

changeset 684
ccb9f24d0fe9
parent 680
0bb48333d133
child 686
ca1fbb3bd3db
equal deleted inserted replaced
683:420bf5caf53e 684:ccb9f24d0fe9
26 #include "bms.h" 26 #include "bms.h"
27 #include "xutil.h" 27 #include "xutil.h"
28 #include "co2meters.h" 28 #include "co2meters.h"
29 #include "mysql.h" 29 #include "mysql.h"
30 #include "websocket.h" 30 #include "websocket.h"
31 #include "nodes.h"
31 32
32 33
33 sys_co2meter_list *co2meters = NULL; 34 sys_co2meter_list *co2meters = NULL;
34 35
35 extern int debug; 36 extern int debug;
185 186
186 void co2meter_set(char *edge_node, char *alias, char *payload) 187 void co2meter_set(char *edge_node, char *alias, char *payload)
187 { 188 {
188 struct json_object *jobj, *val, *sensor; 189 struct json_object *jobj, *val, *sensor;
189 sys_co2meter_list *co2meter, *tmpp; 190 sys_co2meter_list *co2meter, *tmpp;
190 bool new_co2meter = true; 191 bool new_co2meter = true, report = false;
191 192
192 // fprintf(stdout, "co2meter_set: %s/%s %s\n", edge_node, alias, payload); 193 // fprintf(stdout, "co2meter_set: %s/%s %s\n", edge_node, alias, payload);
193 194
194 /* 195 /*
195 * Search co2meter record in the memory array and use it if found. 196 * Search co2meter record in the memory array and use it if found.
217 co2meter->mode = xstrcpy((char *)"OFF"); 218 co2meter->mode = xstrcpy((char *)"OFF");
218 } 219 }
219 220
220 if (! co2meter->online) { 221 if (! co2meter->online) {
221 co2meter->online = true; 222 co2meter->online = true;
223 report = true;
222 syslog(LOG_NOTICE, "Online co2meter %s/%s mode %s", edge_node, alias, co2meter->mode); 224 syslog(LOG_NOTICE, "Online co2meter %s/%s mode %s", edge_node, alias, co2meter->mode);
223 } 225 }
224 226
225 /* 227 /*
226 * Process the JSON formatted payload. 228 * Process the JSON formatted payload.
299 co2meter_mysql_insert(co2meter); 301 co2meter_mysql_insert(co2meter);
300 } else { 302 } else {
301 co2meter_mysql_update(co2meter); 303 co2meter_mysql_update(co2meter);
302 } 304 }
303 305
306 if (report)
307 status_change();
304 } 308 }
305 309
306 310
307 311
308 /* 312 /*

mercurial