publish ble address via mqtt
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#define mqtt_topic_lock_door_sensor_state "/lock/doorSensorState"
|
||||
#define mqtt_topic_lock_action "/lock/action"
|
||||
#define mqtt_topic_lock_rssi "/lock/rssi"
|
||||
#define mqtt_topic_lock_address "/lock/address"
|
||||
|
||||
#define mqtt_topic_config_button_enabled "/configuration/buttonEnabled"
|
||||
#define mqtt_topic_config_led_enabled "/configuration/ledEnabled"
|
||||
|
||||
@@ -388,6 +388,11 @@ void NetworkLock::publishRssi(const int& rssi)
|
||||
publishInt(mqtt_topic_lock_rssi, rssi);
|
||||
}
|
||||
|
||||
void NetworkLock::publishBleAddress(const std::string &address)
|
||||
{
|
||||
publishString(mqtt_topic_lock_address, address.c_str());
|
||||
}
|
||||
|
||||
void NetworkLock::publishKeypad(const std::list<NukiLock::KeypadEntry>& entries, uint maxKeypadCodeCount)
|
||||
{
|
||||
uint index = 0;
|
||||
|
||||
@@ -28,6 +28,7 @@ public:
|
||||
void publishConfig(const NukiLock::Config& config);
|
||||
void publishAdvancedConfig(const NukiLock::AdvancedConfig& config);
|
||||
void publishRssi(const int& rssi);
|
||||
void publishBleAddress(const std::string& address);
|
||||
void publishHASSConfig(char* deviceType, const char* baseTopic, char* name, char* uidString, char* lockAction, char* unlockAction, char* openAction, char* lockedState, char* unlockedState);
|
||||
void removeHASSConfig(char* uidString);
|
||||
void publishKeypad(const std::list<NukiLock::KeypadEntry>& entries, uint maxKeypadCodeCount);
|
||||
|
||||
@@ -367,6 +367,11 @@ void NetworkOpener::publishRssi(const int &rssi)
|
||||
publishInt(mqtt_topic_lock_rssi, rssi);
|
||||
}
|
||||
|
||||
void NetworkOpener::publishBleAddress(const std::string &address)
|
||||
{
|
||||
publishString(mqtt_topic_lock_address, address.c_str());
|
||||
}
|
||||
|
||||
void NetworkOpener::publishHASSConfig(char* deviceType, const char* baseTopic, char* name, char* uidString, char* lockAction, char* unlockAction, char* openAction, char* lockedState, char* unlockedState)
|
||||
{
|
||||
_network->publishHASSConfig(deviceType, baseTopic, name, uidString, lockAction, unlockAction, openAction, lockedState, unlockedState);
|
||||
@@ -449,4 +454,3 @@ bool NetworkOpener::comparePrefixedPath(const char *fullPath, const char *subPat
|
||||
buildMqttPath(subPath, prefixedPath);
|
||||
return strcmp(fullPath, prefixedPath) == 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ public:
|
||||
void publishConfig(const NukiOpener::Config& config);
|
||||
void publishAdvancedConfig(const NukiOpener::AdvancedConfig& config);
|
||||
void publishRssi(const int& rssi);
|
||||
void publishBleAddress(const std::string& address);
|
||||
void publishHASSConfig(char* deviceType, const char* baseTopic, char* name, char* uidString, char* lockAction, char* unlockAction, char* openAction, char* lockedState, char* unlockedState);
|
||||
void removeHASSConfig(char* uidString);
|
||||
|
||||
|
||||
@@ -75,6 +75,7 @@ void NukiOpenerWrapper::update()
|
||||
if (!_paired)
|
||||
{
|
||||
Log->println(F("Nuki opener start pairing"));
|
||||
_network->publishBleAddress("");
|
||||
|
||||
Nuki::AuthorizationIdType idType = _preferences->getBool(preference_register_as_app) ?
|
||||
Nuki::AuthorizationIdType::App :
|
||||
@@ -83,6 +84,7 @@ void NukiOpenerWrapper::update()
|
||||
if (_nukiOpener.pairNuki(idType) == NukiOpener::PairingResult::Success) {
|
||||
Log->println(F("Nuki opener paired"));
|
||||
_paired = true;
|
||||
_network->publishBleAddress(_nukiOpener.getBleAddress().toString());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -94,6 +94,7 @@ void NukiWrapper::update()
|
||||
if (!_paired)
|
||||
{
|
||||
Log->println(F("Nuki start pairing"));
|
||||
_network->publishBleAddress("");
|
||||
|
||||
Nuki::AuthorizationIdType idType = _preferences->getBool(preference_register_as_app) ?
|
||||
Nuki::AuthorizationIdType::App :
|
||||
@@ -102,6 +103,7 @@ void NukiWrapper::update()
|
||||
if (_nukiLock.pairNuki(idType) == Nuki::PairingResult::Success) {
|
||||
Log->println(F("Nuki paired"));
|
||||
_paired = true;
|
||||
_network->publishBleAddress(_nukiLock.getBleAddress().toString());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user