Fix ClearGlass CGG1 and CGP1W sensors recognition (#849)
* Fix ClearGlass CGG1 and CGP1W sensors recognition * CGG1 parsing refactoring
This commit is contained in:
1 parent
09eab93593
commit
3884630727
1 file changed
+6
-12
+6
-12
@@ -926,14 +926,6 @@ JsonObject& process_bledata(JsonObject& BLEdata) {
|
||||
createOrUpdateDevice(mac, device_flags_init, LYWSD02);
|
||||
return process_sensors(2, BLEdata);
|
||||
}
|
||||
Log.trace(F("Is it a CGG1?" CR));
|
||||
if (strstr(service_data, "304703") != NULL && strlen(service_data) > ServicedataMinLength) {
|
||||
Log.trace(F("CGG1 data reading method 1" CR));
|
||||
BLEdata.set("model", "CGG1");
|
||||
if (device->sensorModel == -1)
|
||||
createOrUpdateDevice(mac, device_flags_init, CGG1);
|
||||
return process_sensors(0, BLEdata);
|
||||
}
|
||||
Log.trace(F("Is it a MUE4094RT?" CR));
|
||||
if (strstr(service_data, "4030dd") != NULL) {
|
||||
Log.trace(F("MUE4094RT data reading" CR));
|
||||
@@ -943,7 +935,7 @@ JsonObject& process_bledata(JsonObject& BLEdata) {
|
||||
return process_milamp(BLEdata);
|
||||
}
|
||||
Log.trace(F("Is it a CGP1W?" CR));
|
||||
if ((strstr(service_data, "08094c") != NULL || strstr(service_data, "080972") != NULL) && strlen(service_data) > ServicedataMinLength) {
|
||||
if ((strncmp(service_data, "0809", 4) == 0) && strlen(service_data) > ServicedataMinLength) {
|
||||
Log.trace(F("CGP1W data reading" CR));
|
||||
BLEdata.set("model", "CGP1W");
|
||||
if (device->sensorModel == -1)
|
||||
@@ -951,12 +943,14 @@ JsonObject& process_bledata(JsonObject& BLEdata) {
|
||||
return process_cleargrass(BLEdata, true);
|
||||
}
|
||||
Log.trace(F("Is it a CGG1" CR));
|
||||
if (strstr(service_data, "080774") != NULL) {
|
||||
Log.trace(F("CGG1 method 2" CR));
|
||||
// One type of the advertising packet format started with 50204703 or 50304703, where 4703 is a type of a sensor
|
||||
// Another type of the advertising packet started with 0807 or 8816
|
||||
if ((strncmp(&service_data[2], "4703", 4) == 0 && strlen(service_data) > ServicedataMinLength) || (strncmp(service_data, "0807", 4) == 0) || (strncmp(service_data, "8816", 4) == 0)) {
|
||||
Log.trace(F("CGG1 data reading" CR));
|
||||
BLEdata.set("model", "CGG1");
|
||||
if (device->sensorModel == -1)
|
||||
createOrUpdateDevice(mac, device_flags_init, CGG1);
|
||||
return process_cleargrass(BLEdata, false);
|
||||
return strncmp(&service_data[2], "4703", 4) == 0 ? process_sensors(0, BLEdata) : process_cleargrass(BLEdata, false);
|
||||
}
|
||||
Log.trace(F("Is it a CGD1?" CR));
|
||||
if (((strstr(service_data, "080caf") != NULL || strstr(service_data, "080c09") != NULL) && (strlen(service_data) > ServicedataMinLength)) || (strstr(service_data, "080cd0") != NULL && (strlen(service_data) > ServicedataMinLength - 6))) {
|
||||
|
||||
Reference in new issue
Block a user