Add Home Assistant MQTT room presence support (ESP32 only) (#294)
* Add Home Assistant MQTT room presence support ESP32 only
This commit is contained in:
1 parent
c2e55956e9
commit
f77df7347f
2 files changed
+29
No files matched your search
@@ -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
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -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];
|
||||
|
||||
Reference in new issue
Block a user