Add CGDK2 BLE temperature and humidity BLE sensor (#884)
* Add CGDK2 BLE temperature and humidity BLE sensor and remove batt from CGD1 (this sensor does not advertise battery value)
This commit is contained in:
1 parent
a6fb17595e
commit
244dc903b0
3 files changed
+24
-2
No files matched your search
@@ -29,6 +29,7 @@ OpenMQTTGateway is able to scan all the BLE devices that advertise their data so
|
||||
| HONEYWELL |JQJCY01YM|formaldehyde/temperature/humidity/battery|
|
||||
| INKBIRD (1)|IBS-TH1|temperature/humidity/battery|
|
||||
| ClearGrass |CGG1|temperature/humidity/battery|
|
||||
| Qingping |CGDK2|temperature/humidity|
|
||||
| ClearGrass alarm clock|CGD1|temperature/humidity|
|
||||
| ClearGrass with atmospheric pressure |CGP1W|temperature/humidity/air pressure|
|
||||
| Clock |LYWDS02|temperature/humidity|
|
||||
|
||||
+21
-1
@@ -366,7 +366,6 @@ void CLEARGRASSCGD1Discovery(char* mac, char* sensorModel) {
|
||||
# define CLEARGRASSCGD1parametersCount 3
|
||||
Log.trace(F("CLEARGRASSCGD1Discovery" CR));
|
||||
char* CLEARGRASSCGD1sensor[CLEARGRASSCGD1parametersCount][8] = {
|
||||
{"sensor", "CLEARGRASSCGD1-batt", mac, "battery", jsonBatt, "", "", "V"},
|
||||
{"sensor", "CLEARGRASSCGD1-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "CLEARGRASSCGD1-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
@@ -375,6 +374,18 @@ void CLEARGRASSCGD1Discovery(char* mac, char* sensorModel) {
|
||||
createDiscoveryFromList(mac, CLEARGRASSCGD1sensor, CLEARGRASSCGD1parametersCount, "CLEARGRASSCGD1", "ClearGrass", sensorModel);
|
||||
}
|
||||
|
||||
void CLEARGRASSCGDK2Discovery(char* mac, char* sensorModel) {
|
||||
# define CLEARGRASSCGDK2parametersCount 3
|
||||
Log.trace(F("CLEARGRASSCGDK2Discovery" CR));
|
||||
char* CLEARGRASSCGDK2sensor[CLEARGRASSCGDK2parametersCount][8] = {
|
||||
{"sensor", "CLEARGRASSCGDK2-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "CLEARGRASSCGDK2-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
createDiscoveryFromList(mac, CLEARGRASSCGDK2sensor, CLEARGRASSCGDK2parametersCount, "CLEARGRASSCGDK2", "ClearGrass", sensorModel);
|
||||
}
|
||||
|
||||
void CLEARGRASSTRHKPADiscovery(char* mac, char* sensorModel) {
|
||||
# define CLEARGRASSTRHKPAparametersCount 3
|
||||
Log.trace(F("CLEARGRASSTRHKPADiscovery" CR));
|
||||
@@ -990,6 +1001,7 @@ void launchBTDiscovery() {
|
||||
if (p->sensorModel == CGG1) CLEARGRASSTRHDiscovery((char*)macWOdots.c_str(), "CGG1");
|
||||
if (p->sensorModel == CGP1W) CLEARGRASSTRHKPADiscovery((char*)macWOdots.c_str(), "CGP1W");
|
||||
if (p->sensorModel == MUE4094RT) MiLampDiscovery((char*)macWOdots.c_str(), "MUE4094RT");
|
||||
if (p->sensorModel == CGDK2) CLEARGRASSCGDK2Discovery((char*)macWOdots.c_str(), "CGDK2");
|
||||
if (p->sensorModel == CGD1) CLEARGRASSCGD1Discovery((char*)macWOdots.c_str(), "CGD1");
|
||||
if (p->sensorModel == MIBAND) MiBandDiscovery((char*)macWOdots.c_str(), "MIBAND");
|
||||
if ((p->sensorModel == XMTZC04HM) ||
|
||||
@@ -1111,6 +1123,14 @@ JsonObject& process_bledata(JsonObject& BLEdata) {
|
||||
createOrUpdateDevice(mac, device_flags_init, CGD1);
|
||||
return process_cleargrass(BLEdata, false);
|
||||
}
|
||||
Log.trace(F("Is it a CGDK2?" CR));
|
||||
if (strncmp(&service_data[0], "8810", 4) == 0 && strlen(service_data) > ServicedataMinLength) {
|
||||
Log.trace(F("CGDK2 data reading" CR));
|
||||
BLEdata.set("model", "CGDK2");
|
||||
if (device->sensorModel == -1)
|
||||
createOrUpdateDevice(mac, device_flags_init, CGDK2);
|
||||
return process_cleargrass(BLEdata, false);
|
||||
}
|
||||
Log.trace(F("Is it a MHO_C401?" CR));
|
||||
if (strstr(service_data, "588703") != NULL) {
|
||||
Log.trace(F("MHO_C401 add to list for future connect" CR));
|
||||
|
||||
+2
-1
@@ -115,7 +115,8 @@ enum ble_sensor_model {
|
||||
LYWSD03MMC,
|
||||
MHO_C401,
|
||||
LYWSD03MMC_ATC,
|
||||
INODE_EM
|
||||
INODE_EM,
|
||||
CGDK2
|
||||
};
|
||||
|
||||
/*-------------------PIN DEFINITIONS----------------------*/
|
||||
|
||||
Reference in new issue
Block a user