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);
|
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 "4f4b2b444953413a"
|
||||||
#define delimiter_length 16
|
#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
|
struct decompose
|
||||||
{
|
{
|
||||||
char subject[4];
|
char subject[4];
|
||||||
|
|||||||
Reference in new issue
Block a user