1 parent
7eb231c41e
commit
97e8217380
2 files changed
+65
-3
No files matched your search
@@ -101,12 +101,18 @@ Thanks to wolass https://github.com/wolass for suggesting me HM 10 and dinosd ht
|
|||||||
pos = strpos(service_data,"209800");
|
pos = strpos(service_data,"209800");
|
||||||
if (pos != -1){
|
if (pos != -1){
|
||||||
trc("mi flora data reading");
|
trc("mi flora data reading");
|
||||||
|
#ifdef ZmqttDiscovery
|
||||||
|
MiFloraDiscovery(mac);
|
||||||
|
#endif
|
||||||
boolean result = process_data(pos - 24,service_data,mac);
|
boolean result = process_data(pos - 24,service_data,mac);
|
||||||
}
|
}
|
||||||
pos = -1;
|
pos = -1;
|
||||||
pos = strpos(service_data,"20aa01");
|
pos = strpos(service_data,"20aa01");
|
||||||
if (pos != -1){
|
if (pos != -1){
|
||||||
trc("mi jia data reading");
|
trc("mi jia data reading");
|
||||||
|
#ifdef ZmqttDiscovery
|
||||||
|
MiJiaDiscovery(mac);
|
||||||
|
#endif
|
||||||
boolean result = process_data(pos - 26,service_data,mac);
|
boolean result = process_data(pos - 26,service_data,mac);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -271,12 +277,18 @@ Thanks to wolass https://github.com/wolass for suggesting me HM 10 and dinosd ht
|
|||||||
pos = strpos(d[5].extract,"209800");
|
pos = strpos(d[5].extract,"209800");
|
||||||
if (pos != -1) {
|
if (pos != -1) {
|
||||||
trc("mi flora data reading");
|
trc("mi flora data reading");
|
||||||
|
#ifdef ZmqttDiscovery
|
||||||
|
MiFloraDiscovery(d[0].extract);
|
||||||
|
#endif
|
||||||
boolean result = process_data(pos - 38,(char *)Service_data.c_str(),d[0].extract);
|
boolean result = process_data(pos - 38,(char *)Service_data.c_str(),d[0].extract);
|
||||||
}
|
}
|
||||||
pos = -1;
|
pos = -1;
|
||||||
pos = strpos(d[5].extract,"20aa01");
|
pos = strpos(d[5].extract,"20aa01");
|
||||||
if (pos != -1){
|
if (pos != -1){
|
||||||
trc("mi jia data reading");
|
trc("mi jia data reading");
|
||||||
|
#ifdef ZmqttDiscovery
|
||||||
|
MiJiaDiscovery(d[0].extract);
|
||||||
|
#endif
|
||||||
boolean result = process_data(pos - 40,(char *)Service_data.c_str(),d[0].extract);
|
boolean result = process_data(pos - 40,(char *)Service_data.c_str(),d[0].extract);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -302,7 +314,57 @@ Thanks to wolass https://github.com/wolass for suggesting me HM 10 and dinosd ht
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef ZmqttDiscovery
|
||||||
|
void MiFloraDiscovery(char * mac){
|
||||||
|
#define MiFloraparametersCount 4
|
||||||
|
trc(F("MiFloraDiscovery"));
|
||||||
|
char * MiFlorasensor[MiFloraparametersCount][8] = {
|
||||||
|
{"sensor", "MiFlora-lux", mac, "illuminance","{{ value_json.lux }}","", "", "lu"} ,
|
||||||
|
{"sensor", "MiFlora-tem", mac,"","{{ value_json.tem }}","", "", "°C"} ,
|
||||||
|
{"sensor", "MiFlora-fer", mac,"","{{ value_json.fer }}","", "", ""} ,
|
||||||
|
{"sensor", "MiFlora-moi", mac,"","{{ value_json.moi }}","", "", "%"}
|
||||||
|
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||||
|
};
|
||||||
|
|
||||||
|
for (int i=0;i<MiFloraparametersCount;i++){
|
||||||
|
trc(F("CreateDiscoverySensor"));
|
||||||
|
trc(MiFlorasensor[i][1]);
|
||||||
|
String discovery_topic = String(subjectBTtoMQTT) + String(mac);
|
||||||
|
String unique_id = String(mac) + "-" + MiFlorasensor[i][1];
|
||||||
|
createDiscovery(MiFlorasensor[i][0],
|
||||||
|
(char *)discovery_topic.c_str(), MiFlorasensor[i][1], (char *)unique_id.c_str(),
|
||||||
|
will_Topic, MiFlorasensor[i][3], MiFlorasensor[i][4],
|
||||||
|
MiFlorasensor[i][5], MiFlorasensor[i][6], MiFlorasensor[i][7],
|
||||||
|
true, false, 0,"","",true,"");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MiJiaDiscovery(char * mac){
|
||||||
|
#define MiJiaparametersCount 3
|
||||||
|
trc(F("MiJiaDiscovery"));
|
||||||
|
char * MiJiasensor[MiJiaparametersCount][8] = {
|
||||||
|
{"sensor", "MiJia-batt", mac, "illuminance","{{ value_json.batt }}","", "", "V"} ,
|
||||||
|
{"sensor", "MiJia-tem", mac,"","{{ value_json.tem }}","", "", "°C"} ,
|
||||||
|
{"sensor", "MiJia-hum", mac,"","{{ value_json.hum }}","", "", "%"}
|
||||||
|
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||||
|
};
|
||||||
|
|
||||||
|
for (int i=0;i<MiJiaparametersCount;i++){
|
||||||
|
trc(F("CreateDiscoverySensor"));
|
||||||
|
trc(MiJiasensor[i][1]);
|
||||||
|
String discovery_topic = String(subjectBTtoMQTT) + String(mac);
|
||||||
|
String unique_id = String(mac) + "-" + MiJiasensor[i][1];
|
||||||
|
createDiscovery(MiJiasensor[i][0],
|
||||||
|
(char *)discovery_topic.c_str(), MiJiasensor[i][1], (char *)unique_id.c_str(),
|
||||||
|
will_Topic, MiJiasensor[i][3], MiJiasensor[i][4],
|
||||||
|
MiJiasensor[i][5], MiJiasensor[i][6], MiJiasensor[i][7],
|
||||||
|
true, false, 0,"","",true,"");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
boolean process_data(int offset, char * rest_data, char * mac_adress){
|
boolean process_data(int offset, char * rest_data, char * mac_adress){
|
||||||
|
|
||||||
trc(F("Creating BLE buffer"));
|
trc(F("Creating BLE buffer"));
|
||||||
StaticJsonBuffer<JSON_MSG_BUFFER> jsonBuffer;
|
StaticJsonBuffer<JSON_MSG_BUFFER> jsonBuffer;
|
||||||
JsonObject& BLEdata = jsonBuffer.createObject();
|
JsonObject& BLEdata = jsonBuffer.createObject();
|
||||||
|
|||||||
+3
-3
@@ -291,7 +291,7 @@ void pubMqttDiscovery()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ZgatewayIR
|
#ifdef ZgatewayIR
|
||||||
// Sensor to display RF received value
|
// Sensor to display IR received value
|
||||||
trc(F("gatewayIRDiscovery"));
|
trc(F("gatewayIRDiscovery"));
|
||||||
char * gatewayIR[8] = {"sensor", "gatewayIR", "", "","{{ value_json.value }}","", "", ""};
|
char * gatewayIR[8] = {"sensor", "gatewayIR", "", "","{{ value_json.value }}","", "", ""};
|
||||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||||
@@ -306,7 +306,7 @@ void pubMqttDiscovery()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef Zgateway2G
|
#ifdef Zgateway2G
|
||||||
// Sensor to display RF received value
|
// Sensor to display 2G received value
|
||||||
trc(F("gateway2GDiscovery"));
|
trc(F("gateway2GDiscovery"));
|
||||||
char * gateway2G[8] = {"sensor", "gateway2G", "", "","{{ value_json.message }}","", "", ""};
|
char * gateway2G[8] = {"sensor", "gateway2G", "", "","{{ value_json.message }}","", "", ""};
|
||||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||||
@@ -321,7 +321,7 @@ void pubMqttDiscovery()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ZgatewayBT
|
#ifdef ZgatewayBT
|
||||||
// Sensor to display RF received value
|
// Sensor to display BT received value
|
||||||
trc(F("gatewayBTDiscovery"));
|
trc(F("gatewayBTDiscovery"));
|
||||||
char * gatewayBT[8] = {"sensor", "gatewayBT", "", "","{{ value_json.message }}","", "", ""};
|
char * gatewayBT[8] = {"sensor", "gatewayBT", "", "","{{ value_json.message }}","", "", ""};
|
||||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||||
|
|||||||
Reference in new issue
Block a user