Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions bindings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1817,6 +1817,11 @@ void DeRestPluginPrivate::checkLightBindingsForAttributeReporting(LightNode *lig
{
DBG_Printf(DBG_INFO, "Binding DanaLock\n");
}
// Schlage support
else if (lightNode->manufacturerCode() == VENDOR_SCHLAGE)
{
DBG_Printf(DBG_INFO, "Binding Schlage\n");
}
else if (lightNode->manufacturerCode() == VENDOR_IKEA)
{
}
Expand Down Expand Up @@ -2136,6 +2141,8 @@ bool DeRestPluginPrivate::checkSensorBindingsForAttributeReporting(Sensor *senso
sensor->modelId().startsWith(QLatin1String("FLS-NB")) ||
// Danalock support
sensor->modelId().startsWith(QLatin1String("V3")) ||
// Schlage support
sensor->modelId().startsWith(QLatin1String("BE468")) ||
// SmartThings
sensor->modelId().startsWith(QLatin1String("tagv4")) ||
sensor->modelId().startsWith(QLatin1String("motionv4")) ||
Expand Down
7 changes: 6 additions & 1 deletion de_web_plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ const quint64 xalMacPrefix = 0xf8f0050000000000ULL;
const quint64 lutronMacPrefix = 0xffff000000000000ULL;
// Danalock support
const quint64 danalockMacPrefix = 0x000b570000000000ULL; // note: same as ikeaMacPrefix
const quint64 schlageMacPrefix = 0xd0cf5e0000000000ULL;

struct SupportedDevice {
quint16 vendorId;
Expand Down Expand Up @@ -292,6 +293,8 @@ static const SupportedDevice supportedDevices[] = {
{ VENDOR_OSRAM_STACK, "SF20", heimanMacPrefix }, // ORVIBO SF20 smoke sensor
// Danalock support
{ VENDOR_DANALOCK, "V3", danalockMacPrefix}, // Danalock Smart Lock
// Schlage support
{ VENDOR_SCHLAGE, "BE468", schlageMacPrefix}, // Schlage BE468 Smart Lock
{ VENDOR_HEIMAN, "SF21", emberMacPrefix }, // ORVIBO SF21 smoke sensor
{ VENDOR_LEGRAND, "Dimmer switch w/o neutral", legrandMacPrefix }, // Legrand Dimmer switch wired
{ VENDOR_LEGRAND, "Connected outlet", legrandMacPrefix }, // Legrand Plug
Expand Down Expand Up @@ -1654,7 +1657,9 @@ void DeRestPluginPrivate::addLightNode(const deCONZ::Node *node)
node->nodeDescriptor().manufacturerCode() == VENDOR_IKEA || // IKEA FYRTUR and KADRILJ smart binds
node->nodeDescriptor().manufacturerCode() == VENDOR_THIRD_REALITY || // Third Reality smart light switch
// Danalock support. The vendor ID (0x115c) needs to defined and whitelisted, as it's battery operated
node->nodeDescriptor().manufacturerCode() == VENDOR_DANALOCK) // Danalock Door Lock
node->nodeDescriptor().manufacturerCode() == VENDOR_DANALOCK || // Danalock Door Lock
// Schlage support. The vendor ID (0x1236) needs to defined and whitelisted, as it's battery operated
node->nodeDescriptor().manufacturerCode() == VENDOR_SCHLAGE)
{
// whitelist
}
Expand Down
4 changes: 4 additions & 0 deletions de_web_plugin_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,7 @@
#define VENDOR_NYCE 0x10B9
#define VENDOR_UBISYS 0x10F2
#define VENDOR_DANALOCK 0x115C
#define VENDOR_SCHLAGE 0x1236 // Used by Schlage Locks
#define VENDOR_BEGA 0x1105
#define VENDOR_PHYSICAL 0x110A // Used by SmartThings
#define VENDOR_OSRAM 0x110C
Expand Down Expand Up @@ -457,6 +458,7 @@ extern const quint64 ecozyMacPrefix;
extern const quint64 zhejiangMacPrefix;
// Danalock support
extern const quint64 danalockMacPrefix;
extern const quint64 schlageMacPrefix;

inline bool checkMacVendor(quint64 addr, quint16 vendor)
{
Expand Down Expand Up @@ -572,6 +574,8 @@ inline bool checkMacVendor(quint64 addr, quint16 vendor)
return prefix == computimeMacPrefix;
case VENDOR_DANALOCK:
return prefix == danalockMacPrefix;
case VENDOR_SCHLAGE:
return prefix == schlageMacPrefix;
default:
return false;
}
Expand Down
1 change: 1 addition & 0 deletions light_node.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ void LightNode::setManufacturerCode(uint16_t code)
case VENDOR_HEIMAN: name = QLatin1String("Heiman"); break;
case VENDOR_KEEN_HOME: name = QLatin1String("Keen Home Inc"); break;
case VENDOR_DANALOCK: name = QLatin1String("Danalock"); break;
case VENDOR_SCHLAGE: name = QLatin1String("Schlage"); break;
case VENDOR_DEVELCO: name = QLatin1String("Develco Products A/S"); break;
case VENDOR_NETVOX: name = QLatin1String("netvox"); break;
default:
Expand Down