--- /dev/null
+From bbcf7fd0646d74b7f169b3aa4231d9150028ed0d Mon Sep 17 00:00:00 2001
+From: Rob Peters <info@domoticz.com>
+Date: Sun, 17 May 2020 11:46:37 +0200
+Subject: [PATCH] Avoid deprecated bind placeholders in global namespace
+
+[Retrieved (and slightly updated to backport it) from:
+https://github.com/domoticz/domoticz/commit/bbcf7fd0646d74b7f169b3aa4231d9150028ed0d]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ hardware/ASyncSerial.cpp | 2 +-
+ hardware/ASyncTCP.cpp | 4 +++-
+ hardware/Comm5Serial.cpp | 2 ++
+ hardware/CurrentCostMeterSerial.cpp | 4 +++-
+ hardware/DavisLoggerSerial.cpp | 4 +++-
+ hardware/DenkoviUSBDevices.cpp | 2 ++
+ hardware/EnOceanESP2.cpp | 4 +++-
+ hardware/EnOceanESP3.cpp | 4 +++-
+ hardware/EvohomeRadio.cpp | 3 +++
+ hardware/EvohomeSerial.cpp | 2 ++
+ hardware/KMTronic433.cpp | 4 +++-
+ hardware/KMTronicBase.cpp | 2 +-
+ hardware/KMTronicSerial.cpp | 4 +++-
+ hardware/MQTT.cpp | 2 ++
+ hardware/Meteostick.cpp | 4 +++-
+ hardware/MySensorsBase.cpp | 2 +-
+ hardware/MySensorsSerial.cpp | 4 +++-
+ hardware/OTGWBase.cpp | 2 +-
+ hardware/OTGWSerial.cpp | 4 +++-
+ hardware/OpenWebNetUSB.cpp | 3 ++-
+ hardware/P1MeterSerial.cpp | 4 +++-
+ hardware/Pinger.cpp | 2 ++
+ hardware/RAVEn.cpp | 2 ++
+ hardware/RFLinkSerial.cpp | 2 ++
+ hardware/RFXComSerial.cpp | 4 +++-
+ hardware/RFXComTCP.cpp | 2 --
+ hardware/Rego6XXSerial.cpp | 4 +++-
+ hardware/S0MeterBase.cpp | 2 +-
+ hardware/S0MeterSerial.cpp | 4 +++-
+ hardware/TCPProxy/tcpproxy_server.cpp | 2 ++
+ hardware/TeleinfoSerial.cpp | 4 +++-
+ hardware/USBtin.cpp | 4 +++-
+ hardware/XiaomiGateway.cpp | 2 +-
+ hardware/Yeelight.h | 1 -
+ hardware/ZiBlueSerial.cpp | 2 ++
+ hardware/plugins/PluginTransports.cpp | 2 ++
+ main/WebServer.cpp | 4 +++-
+ main/mainworker.cpp | 2 ++
+ push/FibaroPush.cpp | 2 ++
+ push/GooglePubSubPush.cpp | 2 ++
+ push/HttpPush.cpp | 2 ++
+ push/InfluxPush.cpp | 2 ++
+ push/WebsocketPush.cpp | 2 ++
+ tcpserver/TCPServer.cpp | 2 +-
+ webserver/cWebem.cpp | 2 +-
+ webserver/connection.cpp | 4 +++-
+ webserver/connection_manager.cpp | 4 +++-
+ webserver/proxyclient.cpp | 2 ++
+ webserver/server.cpp | 4 +++-
+ 49 files changed, 107 insertions(+), 32 deletions(-)
+
+diff --git a/hardware/ASyncSerial.cpp b/hardware/ASyncSerial.cpp
+index 2c9a5e27e9..36dd402fa7 100644
+--- a/hardware/ASyncSerial.cpp
++++ b/hardware/ASyncSerial.cpp
+@@ -34,7 +34,7 @@
+ #include <algorithm>
+ #include <iostream>
+ #include <boost/asio.hpp>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include <boost/function.hpp>
+ #include <boost/thread.hpp>
+ #include <boost/smart_ptr/shared_array.hpp> // for shared_array
+diff --git a/hardware/ASyncTCP.cpp b/hardware/ASyncTCP.cpp
+index 8990c24300..7f7b1e0f24 100644
+--- a/hardware/ASyncTCP.cpp
++++ b/hardware/ASyncTCP.cpp
+@@ -1,10 +1,12 @@
+ #include "stdafx.h"
+ #include "ASyncTCP.h"
+ #include <boost/asio.hpp>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include <boost/system/error_code.hpp> // for error_code
+ #include "../main/Logger.h"
+
++//using namespace boost::placeholders;
++
+ struct hostent;
+
+ #ifndef WIN32
+diff --git a/hardware/Comm5Serial.cpp b/hardware/Comm5Serial.cpp
+index 9b44496fb5..f1c1f706d2 100644
+--- a/hardware/Comm5Serial.cpp
++++ b/hardware/Comm5Serial.cpp
+@@ -5,6 +5,8 @@
+ #include "../main/Logger.h"
+ #include "../main/RFXtrx.h"
+
++using namespace boost::placeholders;
++
+ /*
+ This driver allows Domoticz to control any I/O module from the MA-4xxx Family
+
+diff --git a/hardware/CurrentCostMeterSerial.cpp b/hardware/CurrentCostMeterSerial.cpp
+index 05bac73d6a..bf9d35cab7 100644
+--- a/hardware/CurrentCostMeterSerial.cpp
++++ b/hardware/CurrentCostMeterSerial.cpp
+@@ -10,10 +10,12 @@
+
+ #include <string>
+ #include <iostream>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+
+ #include <ctime>
+
++using namespace boost::placeholders;
++
+ //
+ //Class CurrentCostMeterSerial
+ //
+diff --git a/hardware/DavisLoggerSerial.cpp b/hardware/DavisLoggerSerial.cpp
+index 9c44539beb..44c9dbde5c 100644
+--- a/hardware/DavisLoggerSerial.cpp
++++ b/hardware/DavisLoggerSerial.cpp
+@@ -8,13 +8,15 @@
+ #include <string>
+ #include <algorithm>
+ #include <iostream>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+
+ #include "../main/localtime_r.h"
+ #include "../main/mainworker.h"
+
+ #include <ctime>
+
++using namespace boost::placeholders;
++
+ #ifdef _DEBUG
+ //#define DEBUG_DAVIS
+ #endif
+diff --git a/hardware/DenkoviUSBDevices.cpp b/hardware/DenkoviUSBDevices.cpp
+index a7977d82c8..53a27e5583 100644
+--- a/hardware/DenkoviUSBDevices.cpp
++++ b/hardware/DenkoviUSBDevices.cpp
+@@ -5,6 +5,8 @@
+ #include "../main/localtime_r.h"
+ #include "../main/mainworker.h"
+
++using namespace boost::placeholders;
++
+ #define MAX_POLL_INTERVAL 3600*1000
+
+ #define DAE_IO_TYPE_RELAY 2
+diff --git a/hardware/EnOceanESP2.cpp b/hardware/EnOceanESP2.cpp
+index f20ff9c0cb..fd08c55f63 100644
+--- a/hardware/EnOceanESP2.cpp
++++ b/hardware/EnOceanESP2.cpp
+@@ -8,7 +8,7 @@
+ #include <string>
+ #include <algorithm>
+ #include <iostream>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include "hardwaretypes.h"
+ #include "../main/localtime_r.h"
+
+@@ -16,6 +16,8 @@
+ #include <cmath>
+ #include <ctime>
+
++using namespace boost::placeholders;
++
+ #define ENOCEAN_RETRY_DELAY 30
+
+ #define round(a) ( int ) ( a + .5 )
+diff --git a/hardware/EnOceanESP3.cpp b/hardware/EnOceanESP3.cpp
+index 6866eeb0d0..2afa0e1e36 100644
+--- a/hardware/EnOceanESP3.cpp
++++ b/hardware/EnOceanESP3.cpp
+@@ -8,7 +8,7 @@
+ #include <string>
+ #include <algorithm>
+ #include <iostream>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include "hardwaretypes.h"
+ #include "../main/localtime_r.h"
+
+@@ -16,6 +16,8 @@
+ #include <cmath>
+ #include <ctime>
+
++using namespace boost::placeholders;
++
+ #if _DEBUG
+ #define ENOCEAN_BUTTON_DEBUG
+ #endif
+diff --git a/hardware/EvohomeRadio.cpp b/hardware/EvohomeRadio.cpp
+index 4da983538b..6ba97158cd 100644
+--- a/hardware/EvohomeRadio.cpp
++++ b/hardware/EvohomeRadio.cpp
+@@ -23,6 +23,9 @@
+ #include "../main/WebServer.h"
+ #include "../webserver/cWebem.h"
+ #include "../json/json.h"
++#include <boost/bind/bind.hpp>
++
++using namespace boost::placeholders;
+
+ extern std::string szUserDataFolder;
+
+diff --git a/hardware/EvohomeSerial.cpp b/hardware/EvohomeSerial.cpp
+index 4a54988291..c74cf576cc 100644
+--- a/hardware/EvohomeSerial.cpp
++++ b/hardware/EvohomeSerial.cpp
+@@ -7,6 +7,8 @@
+ #include "../main/localtime_r.h"
+ #include <boost/exception/diagnostic_information.hpp>
+
++using namespace boost::placeholders;
++
+ CEvohomeSerial::CEvohomeSerial(const int ID, const std::string &szSerialPort, const int baudrate, const std::string &UserContID) :
+ CEvohomeRadio(ID, UserContID)
+ {
+diff --git a/hardware/KMTronic433.cpp b/hardware/KMTronic433.cpp
+index da81b20f9f..f9832a5a74 100644
+--- a/hardware/KMTronic433.cpp
++++ b/hardware/KMTronic433.cpp
+@@ -9,11 +9,13 @@
+ #include <string>
+ #include <algorithm>
+ #include <iostream>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include <boost/exception/diagnostic_information.hpp>
+
+ #include <ctime>
+
++using namespace boost::placeholders;
++
+ //#define DEBUG_KMTronic
+
+ #define RETRY_DELAY 30
+diff --git a/hardware/KMTronicBase.cpp b/hardware/KMTronicBase.cpp
+index b343108966..d9c45872b5 100644
+--- a/hardware/KMTronicBase.cpp
++++ b/hardware/KMTronicBase.cpp
+@@ -10,7 +10,7 @@
+ #include <sstream>
+ #include <algorithm>
+ #include <iostream>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+
+ #include <ctime>
+
+diff --git a/hardware/KMTronicSerial.cpp b/hardware/KMTronicSerial.cpp
+index 4e07f2c37a..6240f941bd 100644
+--- a/hardware/KMTronicSerial.cpp
++++ b/hardware/KMTronicSerial.cpp
+@@ -10,12 +10,14 @@
+ #include <string>
+ #include <algorithm>
+ #include <iostream>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include <boost/exception/diagnostic_information.hpp>
+ #include <ctime>
+
+ //#define DEBUG_KMTronic
+
++using namespace boost::placeholders;
++
+ #define RETRY_DELAY 30
+
+ KMTronicSerial::KMTronicSerial(const int ID, const std::string& devname)
+diff --git a/hardware/MQTT.cpp b/hardware/MQTT.cpp
+index 8de3671853..19750bb75b 100644
+--- a/hardware/MQTT.cpp
++++ b/hardware/MQTT.cpp
+@@ -11,6 +11,8 @@
+ #define __STDC_FORMAT_MACROS
+ #include <inttypes.h>
+
++using namespace boost::placeholders;
++
+ #define RETRY_DELAY 30
+
+ #define CLIENTID "Domoticz"
+diff --git a/hardware/Meteostick.cpp b/hardware/Meteostick.cpp
+index 9793f4b57b..10da69d6e3 100644
+--- a/hardware/Meteostick.cpp
++++ b/hardware/Meteostick.cpp
+@@ -9,12 +9,14 @@
+ #include <string>
+ #include <algorithm>
+ #include <iostream>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include "../main/localtime_r.h"
+ #include "../main/mainworker.h"
+
+ #include <ctime>
+
++using namespace boost::placeholders;
++
+ #define RETRY_DELAY 30
+
+ #define round(a) ( int ) ( a + .5 )
+diff --git a/hardware/MySensorsBase.cpp b/hardware/MySensorsBase.cpp
+index af976fba95..42bf58fad5 100644
+--- a/hardware/MySensorsBase.cpp
++++ b/hardware/MySensorsBase.cpp
+@@ -13,7 +13,7 @@
+ #include <sstream>
+ #include <algorithm>
+ #include <iostream>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include "../webserver/cWebem.h"
+ #include <json/json.h>
+
+diff --git a/hardware/MySensorsSerial.cpp b/hardware/MySensorsSerial.cpp
+index 44f8692d2b..42f3e05409 100644
+--- a/hardware/MySensorsSerial.cpp
++++ b/hardware/MySensorsSerial.cpp
+@@ -8,12 +8,14 @@
+ #include "hardwaretypes.h"
+
+ #include <algorithm>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include <boost/exception/diagnostic_information.hpp>
+ #include <ctime>
+ #include <iostream>
+ #include <string>
+
++using namespace boost::placeholders;
++
+ //#define DEBUG_MYSENSORS
+
+ #define RETRY_DELAY 30
+diff --git a/hardware/OTGWBase.cpp b/hardware/OTGWBase.cpp
+index 322574458b..ded3a31c2c 100644
+--- a/hardware/OTGWBase.cpp
++++ b/hardware/OTGWBase.cpp
+@@ -12,7 +12,7 @@
+ #include <string>
+ #include <algorithm>
+ #include <iostream>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include "../json/json.h"
+
+ #include <ctime>
+diff --git a/hardware/OTGWSerial.cpp b/hardware/OTGWSerial.cpp
+index 4ade70e063..5a3416548f 100644
+--- a/hardware/OTGWSerial.cpp
++++ b/hardware/OTGWSerial.cpp
+@@ -8,12 +8,14 @@
+ #include "../main/localtime_r.h"
+
+ #include <algorithm>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include <boost/exception/diagnostic_information.hpp>
+ #include <ctime>
+ #include <iostream>
+ #include <string>
+
++using namespace boost::placeholders;
++
+ #define RETRY_DELAY 30
+ #define OTGW_READ_INTERVAL 10
+
+diff --git a/hardware/OpenWebNetUSB.cpp b/hardware/OpenWebNetUSB.cpp
+index bf23049844..352a2220e9 100644
+--- a/hardware/OpenWebNetUSB.cpp
++++ b/hardware/OpenWebNetUSB.cpp
+@@ -19,11 +19,12 @@ License: Public domain
+
+ #include <algorithm>
+ #include <ctime>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include <boost/exception/diagnostic_information.hpp>
+ #include <iostream>
+ #include <string>
+
++using namespace boost::placeholders;
+
+ COpenWebNetUSB::COpenWebNetUSB(const int ID, const std::string& devname, unsigned int baud_rate)
+ {
+diff --git a/hardware/P1MeterSerial.cpp b/hardware/P1MeterSerial.cpp
+index 566b451fa5..7dc3e0782e 100644
+--- a/hardware/P1MeterSerial.cpp
++++ b/hardware/P1MeterSerial.cpp
+@@ -14,10 +14,12 @@
+ #include <string>
+ #include <algorithm>
+ #include <iostream>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+
+ #include <ctime>
+
++using namespace boost::placeholders;
++
+ #ifdef _DEBUG
+ //#define DEBUG_P1_R
+ #endif
+diff --git a/hardware/Pinger.cpp b/hardware/Pinger.cpp
+index d3e2fda942..b6dc78a786 100644
+--- a/hardware/Pinger.cpp
++++ b/hardware/Pinger.cpp
+@@ -19,6 +19,8 @@
+
+ #include <iostream>
+
++using namespace boost::placeholders;
++
+ #if BOOST_VERSION >= 107000
+ #define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
+ #else
+diff --git a/hardware/RAVEn.cpp b/hardware/RAVEn.cpp
+index d9efc7480a..b6a4399d04 100644
+--- a/hardware/RAVEn.cpp
++++ b/hardware/RAVEn.cpp
+@@ -8,6 +8,8 @@
+ #include "../tinyxpath/tinyxml.h"
+ #include "hardwaretypes.h"
+
++using namespace boost::placeholders;
++
+ //Rainforest RAVEn USB ZigBee Smart Meter Adapter
+ //https://rainforestautomation.com/rfa-z106-raven/
+
+diff --git a/hardware/RFLinkSerial.cpp b/hardware/RFLinkSerial.cpp
+index c5cae0f739..4ab07ed88e 100644
+--- a/hardware/RFLinkSerial.cpp
++++ b/hardware/RFLinkSerial.cpp
+@@ -5,6 +5,8 @@
+ #include "../main/localtime_r.h"
+ #include <boost/exception/diagnostic_information.hpp>
+
++using namespace boost::placeholders;
++
+ CRFLinkSerial::CRFLinkSerial(const int ID, const std::string& devname) :
+ m_szSerialPort(devname)
+ {
+diff --git a/hardware/RFXComSerial.cpp b/hardware/RFXComSerial.cpp
+index dc85f4832d..4c39520510 100644
+--- a/hardware/RFXComSerial.cpp
++++ b/hardware/RFXComSerial.cpp
+@@ -12,7 +12,7 @@
+ #include <string>
+ #include <algorithm>
+ #include <iostream>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+
+ #include <ctime>
+
+@@ -23,6 +23,8 @@
+ #include <pwd.h>
+ #endif
+
++using namespace boost::placeholders;
++
+ #define RETRY_DELAY 30
+
+ #define RFX_WRITE_DELAY 300
+diff --git a/hardware/RFXComTCP.cpp b/hardware/RFXComTCP.cpp
+index 7c6b3954b8..0e4856fbfb 100644
+--- a/hardware/RFXComTCP.cpp
++++ b/hardware/RFXComTCP.cpp
+@@ -1,8 +1,6 @@
+ #include "stdafx.h"
+ #include "RFXComTCP.h"
+ #include "../main/Logger.h"
+-//#include <boost/bind.hpp>
+-//#include <boost/asio.hpp>
+ #include "../main/Helper.h"
+ #include "../main/localtime_r.h"
+ #include "../main/mainworker.h"
+diff --git a/hardware/Rego6XXSerial.cpp b/hardware/Rego6XXSerial.cpp
+index b94bd291bc..15d22f869a 100644
+--- a/hardware/Rego6XXSerial.cpp
++++ b/hardware/Rego6XXSerial.cpp
+@@ -16,11 +16,13 @@
+ #include <string>
+ #include <algorithm>
+ #include <iostream>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include "hardwaretypes.h"
+
+ #include <ctime>
+
++using namespace boost::placeholders;
++
+ #define Rego6XX_RETRY_DELAY 30
+ #define Rego6XX_COMMAND_DELAY 5
+ #define Rego6XX_READ_BUFFER_MASK (Rego6XX_READ_BUFFER_SIZE - 1)
+diff --git a/hardware/S0MeterBase.cpp b/hardware/S0MeterBase.cpp
+index 9cffa67022..75a06e2cc1 100644
+--- a/hardware/S0MeterBase.cpp
++++ b/hardware/S0MeterBase.cpp
+@@ -13,7 +13,7 @@
+ #include <string>
+ #include <algorithm>
+ #include <iostream>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+
+ #include <ctime>
+
+diff --git a/hardware/S0MeterSerial.cpp b/hardware/S0MeterSerial.cpp
+index 1dc16b2b3e..f474d1c766 100644
+--- a/hardware/S0MeterSerial.cpp
++++ b/hardware/S0MeterSerial.cpp
+@@ -8,11 +8,13 @@
+
+ #include <algorithm>
+ #include <ctime>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include <boost/exception/diagnostic_information.hpp>
+ #include <iostream>
+ #include <string>
+
++using namespace boost::placeholders;
++
+ #ifdef _DEBUG
+ //#define DEBUG_S0
+ #define TOT_DEBUG_LINES 6
+diff --git a/hardware/TCPProxy/tcpproxy_server.cpp b/hardware/TCPProxy/tcpproxy_server.cpp
+index 60445d9c28..82ba3559d9 100644
+--- a/hardware/TCPProxy/tcpproxy_server.cpp
++++ b/hardware/TCPProxy/tcpproxy_server.cpp
+@@ -15,6 +15,8 @@
+ #include "stdafx.h"
+ #include "tcpproxy_server.h"
+
++using namespace boost::placeholders;
++
+ #if BOOST_VERSION >= 107000
+ #define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
+ #else
+diff --git a/hardware/TeleinfoSerial.cpp b/hardware/TeleinfoSerial.cpp
+index 85f9a6240f..fa794802e9 100644
+--- a/hardware/TeleinfoSerial.cpp
++++ b/hardware/TeleinfoSerial.cpp
+@@ -28,9 +28,11 @@ History :
+ #include "../main/localtime_r.h"
+ #include "../main/Logger.h"
+
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include <boost/exception/diagnostic_information.hpp>
+
++using namespace boost::placeholders;
++
+ CTeleinfoSerial::CTeleinfoSerial(const int ID, const std::string& devname, const int datatimeout, unsigned int baud_rate, const bool disable_crc, const int ratelimit)
+ {
+ m_HwdID = ID;
+diff --git a/hardware/USBtin.cpp b/hardware/USBtin.cpp
+index c3e3656319..ce6f542df3 100644
+--- a/hardware/USBtin.cpp
++++ b/hardware/USBtin.cpp
+@@ -27,7 +27,7 @@ History :
+ #include "../main/SQLHelper.h"
+
+ #include <algorithm>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include <boost/exception/diagnostic_information.hpp>
+ #include <cstdlib>
+ #include <ctime>
+@@ -35,6 +35,8 @@ History :
+ #include <string>
+ #include <time.h>
+
++using namespace boost::placeholders;
++
+ #define USBTIN_BAUD_RATE 115200
+ #define USBTIN_PARITY boost::asio::serial_port_base::parity::none
+ #define USBTIN_CARACTER_SIZE 8
+diff --git a/hardware/XiaomiGateway.cpp b/hardware/XiaomiGateway.cpp
+index f4567ec62f..e4998faa6a 100644
+--- a/hardware/XiaomiGateway.cpp
++++ b/hardware/XiaomiGateway.cpp
+@@ -12,7 +12,7 @@
+ #include "XiaomiHardware.h"
+ #include <openssl/aes.h>
+ #include <boost/asio.hpp>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+
+ #ifndef WIN32
+ #include <ifaddrs.h>
+diff --git a/hardware/Yeelight.h b/hardware/Yeelight.h
+index b063f79743..64fd6f5479 100644
+--- a/hardware/Yeelight.h
++++ b/hardware/Yeelight.h
+@@ -2,7 +2,6 @@
+
+ #include "DomoticzHardware.h"
+ #include <boost/asio.hpp>
+-#include <boost/bind.hpp>
+
+ class Yeelight : public CDomoticzHardwareBase
+ {
+diff --git a/hardware/ZiBlueSerial.cpp b/hardware/ZiBlueSerial.cpp
+index 9e9db2aff1..8e896897fc 100644
+--- a/hardware/ZiBlueSerial.cpp
++++ b/hardware/ZiBlueSerial.cpp
+@@ -6,6 +6,8 @@
+
+ #include <boost/exception/diagnostic_information.hpp>
+
++using namespace boost::placeholders;
++
+ #define ZiBlue_RETRY_DELAY 30
+
+ CZiBlueSerial::CZiBlueSerial(const int ID, const std::string& devname) :
+diff --git a/hardware/plugins/PluginTransports.cpp b/hardware/plugins/PluginTransports.cpp
+index c7e065529f..7fc1cb953e 100644
+--- a/hardware/plugins/PluginTransports.cpp
++++ b/hardware/plugins/PluginTransports.cpp
+@@ -13,6 +13,8 @@
+ #include "icmp_header.hpp"
+ #include "ipv4_header.hpp"
+
++using namespace boost::placeholders;
++
+ namespace Plugins {
+
+ void CPluginTransport::handleRead(const boost::system::error_code& e, std::size_t bytes_transferred)
+diff --git a/main/WebServer.cpp b/main/WebServer.cpp
+index 0a19319669..ed92f06e32 100644
+--- a/main/WebServer.cpp
++++ b/main/WebServer.cpp
+@@ -1,7 +1,7 @@
+ #include "stdafx.h"
+ #include "WebServer.h"
+ #include "WebServerHelper.h"
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include <iostream>
+ #include <fstream>
+ #include "mainworker.h"
+@@ -65,6 +65,8 @@
+ #define __STDC_FORMAT_MACROS
+ #include <inttypes.h>
+
++using namespace boost::placeholders;
++
+ #define round(a) ( int ) ( a + .5 )
+
+ extern std::string szStartupFolder;
+diff --git a/main/mainworker.cpp b/main/mainworker.cpp
+index 505f59f49d..5fb2ee9042 100644
+--- a/main/mainworker.cpp
++++ b/main/mainworker.cpp
+@@ -174,6 +174,8 @@
+ #include <fstream>
+ #endif
+
++using namespace boost::placeholders;
++
+ #define round(a) ( int ) ( a + .5 )
+
+ extern std::string szStartupFolder;
+diff --git a/push/FibaroPush.cpp b/push/FibaroPush.cpp
+index 0bc54e6cfd..350a8fa893 100644
+--- a/push/FibaroPush.cpp
++++ b/push/FibaroPush.cpp
+@@ -14,6 +14,8 @@
+ #define __STDC_FORMAT_MACROS
+ #include <inttypes.h>
+
++using namespace boost::placeholders;
++
+ CFibaroPush::CFibaroPush()
+ {
+ m_PushType = PushType::PUSHTYPE_FIBARO;
+diff --git a/push/GooglePubSubPush.cpp b/push/GooglePubSubPush.cpp
+index 6d0fc82d40..a5b720f219 100644
+--- a/push/GooglePubSubPush.cpp
++++ b/push/GooglePubSubPush.cpp
+@@ -21,6 +21,8 @@ extern "C" {
+ #include <boost/python.hpp>
+ #endif
+
++using namespace boost::placeholders;
++
+ extern std::string szUserDataFolder;
+
+ // this should be filled in by the preprocessor
+diff --git a/push/HttpPush.cpp b/push/HttpPush.cpp
+index 8132ca2b43..3d1d51d52e 100644
+--- a/push/HttpPush.cpp
++++ b/push/HttpPush.cpp
+@@ -15,6 +15,8 @@
+ #define __STDC_FORMAT_MACROS
+ #include <inttypes.h>
+
++using namespace boost::placeholders;
++
+ CHttpPush::CHttpPush()
+ {
+ m_PushType = PushType::PUSHTYPE_HTTP;
+diff --git a/push/InfluxPush.cpp b/push/InfluxPush.cpp
+index 0a8e99414f..745fdf0496 100644
+--- a/push/InfluxPush.cpp
++++ b/push/InfluxPush.cpp
+@@ -15,6 +15,8 @@
+ #define __STDC_FORMAT_MACROS
+ #include <inttypes.h>
+
++using namespace boost::placeholders;
++
+ CInfluxPush::CInfluxPush() :
+ m_InfluxPort(8086),
+ m_bInfluxDebugActive(false)
+diff --git a/push/WebsocketPush.cpp b/push/WebsocketPush.cpp
+index 0fb71f96ec..3c2ce7ed54 100644
+--- a/push/WebsocketPush.cpp
++++ b/push/WebsocketPush.cpp
+@@ -3,6 +3,8 @@
+ #include "../webserver/WebsocketHandler.h"
+ #include "../main/mainworker.h"
+
++using namespace boost::placeholders;
++
+ extern boost::signals2::signal<void(const std::string &Subject, const std::string &Text, const std::string &ExtraData, const int Priority, const std::string & Sound, const bool bFromNotification)> sOnNotificationReceived;
+
+
+diff --git a/tcpserver/TCPServer.cpp b/tcpserver/TCPServer.cpp
+index d3b0a94847..3b8d0b9b76 100644
+--- a/tcpserver/TCPServer.cpp
++++ b/tcpserver/TCPServer.cpp
+@@ -11,7 +11,7 @@
+ #include "../main/localtime_r.h"
+ #include <boost/asio.hpp>
+ #include <algorithm>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+
+ namespace tcp {
+ namespace server {
+diff --git a/webserver/cWebem.cpp b/webserver/cWebem.cpp
+index f015be097f..63c96f789f 100644
+--- a/webserver/cWebem.cpp
++++ b/webserver/cWebem.cpp
+@@ -5,7 +5,7 @@
+ //Modified, extended etc by Robbert E. Peters/RTSS B.V.
+ #include "stdafx.h"
+ #include "cWebem.h"
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include "reply.hpp"
+ #include "request.hpp"
+ #include "mime_types.hpp"
+diff --git a/webserver/connection.cpp b/webserver/connection.cpp
+index d3485fe923..afe700e5d7 100644
+--- a/webserver/connection.cpp
++++ b/webserver/connection.cpp
+@@ -9,7 +9,7 @@
+ //
+ #include "stdafx.h"
+ #include "connection.hpp"
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include <boost/algorithm/string.hpp>
+ #include "connection_manager.hpp"
+ #include "request_handler.hpp"
+@@ -17,6 +17,8 @@
+ #include "../main/localtime_r.h"
+ #include "../main/Logger.h"
+
++using namespace boost::placeholders;
++
+ namespace http {
+ namespace server {
+ extern std::string convert_to_http_date(time_t time);
+diff --git a/webserver/connection_manager.cpp b/webserver/connection_manager.cpp
+index b6c20de53f..bf1d9882d0 100644
+--- a/webserver/connection_manager.cpp
++++ b/webserver/connection_manager.cpp
+@@ -10,10 +10,12 @@
+ #include "stdafx.h"
+ #include "connection_manager.hpp"
+ #include <algorithm>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include <iostream>
+ #include "../main/Logger.h"
+
++using namespace boost::placeholders;
++
+ namespace http {
+ namespace server {
+
+diff --git a/webserver/proxyclient.cpp b/webserver/proxyclient.cpp
+index c2bcd3178f..423ee0fb4b 100644
+--- a/webserver/proxyclient.cpp
++++ b/webserver/proxyclient.cpp
+@@ -8,6 +8,8 @@
+ #include "../tcpserver/TCPServer.h"
+ #include "sha1.hpp"
+
++using namespace boost::placeholders;
++
+ // RK: some defines to make mydomoticz also work when openssl not compiled in
+ #ifdef WWW_ENABLE_SSL
+ #define PROXY_PORT 443
+diff --git a/webserver/server.cpp b/webserver/server.cpp
+index 1eb2137ef2..6025b1cdb5 100644
+--- a/webserver/server.cpp
++++ b/webserver/server.cpp
+@@ -3,7 +3,7 @@
+ // ~~~~~~~~~~
+ //
+ #include "stdafx.h"
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include "server.hpp"
+ #include <fstream>
+ #include "../main/Logger.h"
+@@ -11,6 +11,8 @@
+ #include "../main/localtime_r.h"
+ #include "../main/mainworker.h"
+
++using namespace boost::placeholders;
++
+ extern bool g_bIsWSL;
+
+ namespace http {