Add continuous mode binary sensor
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
#define mqtt_topic_query_battery "/lock/query/battery"
|
||||
#define mqtt_topic_query_lockstate_command_result "/lock/query/lockstateCommandResult"
|
||||
#define mqtt_topic_lock_binary_state "/lock/binaryState"
|
||||
#define mqtt_topic_lock_continous_mode "/lock/continousMode"
|
||||
#define mqtt_topic_lock_trigger "/lock/trigger"
|
||||
#define mqtt_topic_lock_last_lock_action "/lock/lastLockAction"
|
||||
#define mqtt_topic_lock_log "/lock/log"
|
||||
|
||||
25
Network.cpp
25
Network.cpp
@@ -1084,6 +1084,30 @@ void Network::publishHASSConfigDoorSensor(char *deviceType, const char *baseTopi
|
||||
}
|
||||
}
|
||||
|
||||
void Network::publishHASSConfigContinuousMode(char *deviceType, const char *baseTopic, char *name, char *uidString)
|
||||
{
|
||||
String discoveryTopic = _preferences->getString(preference_mqtt_hass_discovery);
|
||||
|
||||
if (discoveryTopic != "")
|
||||
{
|
||||
publishHassTopic("binary_sensor",
|
||||
"continuous_mode",
|
||||
uidString,
|
||||
"_continuous_mode",
|
||||
"Continuous mode",
|
||||
name,
|
||||
baseTopic,
|
||||
String("~") + mqtt_topic_lock_continous_mode,
|
||||
deviceType,
|
||||
"lock",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
{{"pl_on", "on"},
|
||||
{"pl_off", "off"}});
|
||||
}
|
||||
}
|
||||
|
||||
void Network::publishHASSConfigRingDetect(char *deviceType, const char *baseTopic, char *name, char *uidString)
|
||||
{
|
||||
String discoveryTopic = _preferences->getString(preference_mqtt_hass_discovery);
|
||||
@@ -1108,7 +1132,6 @@ void Network::publishHASSConfigRingDetect(char *deviceType, const char *baseTopi
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Network::publishHASSConfigLedBrightness(char *deviceType, const char *baseTopic, char *name, char *uidString)
|
||||
{
|
||||
publishHassTopic("number",
|
||||
|
||||
@@ -48,6 +48,7 @@ public:
|
||||
void publishHASSConfigBatLevel(char* deviceType, const char* baseTopic, char* name, char* uidString);
|
||||
void publishHASSConfigDoorSensor(char* deviceType, const char* baseTopic, char* name, char* uidString);
|
||||
void publishHASSConfigRingDetect(char* deviceType, const char* baseTopic, char* name, char* uidString);
|
||||
void publishHASSConfigContinuousMode(char* deviceType, const char* baseTopic, char* name, char* uidString);
|
||||
void publishHASSConfigLedBrightness(char* deviceType, const char* baseTopic, char* name, char* uidString);
|
||||
void publishHASSConfigSoundLevel(char* deviceType, const char* baseTopic, char* name, char* uidString);
|
||||
void publishHASSConfigAccessLog(char* deviceType, const char* baseTopic, char* name, char* uidString);
|
||||
|
||||
@@ -266,9 +266,12 @@ void NetworkOpener::publishState(NukiOpener::OpenerState lockState)
|
||||
{
|
||||
publishString(mqtt_topic_lock_ha_state, "unlocked");
|
||||
publishString(mqtt_topic_lock_binary_state, "unlocked");
|
||||
publishString(mqtt_topic_lock_continous_mode, "on");
|
||||
}
|
||||
else
|
||||
{
|
||||
publishString(mqtt_topic_lock_continous_mode, "off");
|
||||
|
||||
switch (lockState.lockState)
|
||||
{
|
||||
case NukiOpener::LockState::Locked:
|
||||
@@ -511,6 +514,7 @@ void NetworkOpener::publishHASSConfig(char* deviceType, const char* baseTopic, c
|
||||
|
||||
_network->publishHASSConfig(deviceType, baseTopic, name, uidString, availabilityTopic.c_str(), false, lockAction, unlockAction, openAction);
|
||||
_network->publishHASSConfigRingDetect(deviceType, baseTopic, name, uidString);
|
||||
_network->publishHASSConfigContinuousMode(deviceType, baseTopic, name, uidString);
|
||||
_network->publishHASSConfigSoundLevel(deviceType, baseTopic, name, uidString);
|
||||
_network->publishHASSBleRssiConfig(deviceType, baseTopic, name, uidString);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user