Add Home Assistant MQTT room presence support (ESP32 only) (#294)

* Add Home Assistant MQTT room presence support

ESP32 only
This commit is contained in:
animavitis authored and Florian committed 2018-11-02 08:30:33 +01:00
1 parent c2e55956e9
commit f77df7347f
2 files changed
+29

No files matched your search

+22
View File
@@ -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
}
}
};
+7
View File
@@ -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];