diff --git a/ZgatewayBT.ino b/ZgatewayBT.ino index 13d499e..6ecb04e 100644 --- a/ZgatewayBT.ino +++ b/ZgatewayBT.ino @@ -126,6 +126,28 @@ Thanks to wolass https://github.com/wolass for suggesting me HM 10 and dinosd ht boolean result = process_data(pos - 26,service_data,mac); } } + #ifdef roomPresence + StaticJsonBuffer<200> jsonBuffer; + JsonObject& HomePresence = jsonBuffer.createObject(); + trc("BLE id :"); + String id = advertisedDevice.getAddress().toString().c_str(); + trc(id); + HomePresence["id"] = id; + trc("BLE Name :"); + String name = advertisedDevice.getName().c_str(); + trc(name); + HomePresence["name"] = name; + trc("BLE DISTANCE :"); + double BLErssi = advertisedDevice.getRSSI(); + double ratio = BLErssi/-59; + double distance = (0.89)* pow(ratio,7.7095) + 0.11; + HomePresence["distance"] = distance; + HomePresence["rssi"] = BLErssi; + trc(distance); + char JSONmessageBuffer[100]; + HomePresence.printTo(JSONmessageBuffer, sizeof(JSONmessageBuffer)); + client.publish(subjectHomePresence,JSONmessageBuffer); + #endif } } }; diff --git a/config_BT.h b/config_BT.h index 32aff79..716782a 100644 --- a/config_BT.h +++ b/config_BT.h @@ -42,6 +42,13 @@ #define delimiter "4f4b2b444953413a" #define delimiter_length 16 +/*-------------------HOME ASSISTANT ROOM PRESENCE !!! ESP32 only !!!!----------------------*/ +#define roomPresence //Uncomment to enable +#ifdef roomPresence + #define subjectHomePresence "/homePresence/salon" // will send Home Assistant room presence message to this topic (first part is same for all rooms, second is room name) +#endif + + struct decompose { char subject[4];