Add use of DomoticaServer API for Bluetooth Addresses

This commit is contained in:
2019-04-14 22:52:33 +02:00
parent 05e4e7e631
commit 7539890b5c
4 changed files with 17 additions and 10 deletions
+6 -6
View File
@@ -126,14 +126,14 @@ int main(int argc, char** argv)
std::shared_ptr<PresenceDetection::Bluetooth::Device> pBluetoothDevice;
if (bluetooth)
{
std::string devices;
boost::optional<boost::property_tree::ptree&> bluetoothDevices = pt.get_child_optional("Bluetooth.Devices");
if (bluetoothDevices)
devices = pt.get<std::string>("Bluetooth.Devices");
std::string inventoryURL;
boost::optional<boost::property_tree::ptree&> bluetoothInventoryURL = pt.get_child_optional("Bluetooth.Inventory");
if (bluetoothInventoryURL)
inventoryURL = pt.get<std::string>("Bluetooth.Inventory");
else
throw std::runtime_error("Bluetooth Devices directive missing in ini file.");
throw std::runtime_error("Bluetooth Inventory directive missing in ini file.");
pBluetoothDevice = std::make_shared<PresenceDetection::Bluetooth::Device>(devices, target);
pBluetoothDevice = std::make_shared<PresenceDetection::Bluetooth::Device>(inventoryURL, target);
}
sigset_t wset;
+9 -2
View File
@@ -1,6 +1,7 @@
#include <sstream>
#include <syslog.h>
#include <boost/algorithm/string.hpp>
#include "Util/JSON.h"
#include "Functions.h"
#include "Device.h"
@@ -8,10 +9,16 @@
namespace PresenceDetection {
namespace Bluetooth {
Device::Device(const std::string& devices, const std::string& target) :
Device::Device(const std::string& inventoryURL, const std::string& target) :
m_target(target)
{
boost::split(m_devices, devices, boost::is_any_of(","));
std::string devices = m_httpClient.GetUrlContents(inventoryURL);
Util::JSON json = Util::JSON::parse(devices);
for (auto& element : json)
if (element["bluetooth"] != "")
m_devices.push_back(element["bluetooth"]);
Start();
}
+1 -1
View File
@@ -13,7 +13,7 @@ namespace Bluetooth {
class Device
{
public:
Device(const std::string& devices, const std::string& target);
Device(const std::string& inventoryURL, const std::string& target);
~Device();
void Start();
+1 -1
View File
@@ -11,4 +11,4 @@ Password =
CookieFile = /tmp/UniFi_Cookies
[Bluetooth]
Devices =
Inventory =