diff --git a/main/ZgatewayBT.ino b/main/ZgatewayBT.ino index af29c93..52800d7 100644 --- a/main/ZgatewayBT.ino +++ b/main/ZgatewayBT.ino @@ -135,6 +135,36 @@ void MiFloraDiscovery(char * mac){ devices.push_back(device); } +void VegTrugDiscovery(char * mac){ + #define VegTrugparametersCount 4 + trc(F("VegTrugDiscovery")); + char * VegTrugsensor[VegTrugparametersCount][8] = { + {"sensor", "VegTrug-lux", mac, "illuminance","{{ value_json.lux | is_defined }}","", "", "lu"} , + {"sensor", "VegTrug-tem", mac,"temperature","{{ value_json.tem | is_defined }}","", "", "°C"} , + {"sensor", "VegTrug-fer", mac,"","{{ value_json.fer | is_defined }}","", "", "µS/cm"} , + {"sensor", "VegTrug-moi", mac,"","{{ value_json.moi | is_defined }}","", "", "%"} + //component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement + }; + + for (int i=0;i(),"fe95") != NULL ){ //Mi FLora, Mi jia, Cleargrass Method 1, LYWDS02 + if (strstr(BLEdata["servicedatauuid"].as(),"fe95") != NULL ){ //Mi FLora, Mi jia, Cleargrass Method 1, LYWDS02, VegTrug trc("Processing BLE device data"); int pos = -1; pos = strpos(service_data,"209800"); @@ -412,6 +442,16 @@ void MiBandDiscovery(char * mac){ process_sensors(pos - 24,service_data,mac); } pos = -1; + pos = strpos(service_data,"20bc03"); + if (pos != -1){ + trc(F("vegtrug data reading")); + //example "servicedata":"7120bc0399c309688d7cc40d0910020000" + #ifdef ZmqttDiscovery + if(!isDiscovered(mac)) VegTrugDiscovery(mac); + #endif + process_sensors(pos - 24,service_data,mac); + } + pos = -1; pos = strpos(service_data,"20aa01"); if (pos != -1){ trc(F("mi jia data reading"));