mirror of
https://github.com/Fishwaldo/open-zwave.git
synced 2025-03-15 11:31:40 +00:00
issue #1996 - Duplicate Entries in device_classes.xml and warn in future if we have duplicate entries
This commit is contained in:
parent
8a6972db6e
commit
71051991af
2 changed files with 30 additions and 10 deletions
|
@ -290,7 +290,7 @@
|
|||
<DeviceType key="0x0c12" label="Sensor Notification Gas Alarm"/>
|
||||
<DeviceType key="0x0c13" label="Sensor Notification Pest Control"/>
|
||||
<DeviceType key="0x0c14" label="Sensor Notification Light Sensor"/>
|
||||
<DeviceType key="0x0cff" label="Sensor Notification Multidevice"/>
|
||||
<!-- Already Present above - <DeviceType key="0x0cff" label="Sensor Notification Multidevice"/> -->
|
||||
<DeviceType key="0x0d23" label="Multilevel Sensor: Particulate Matter 2.5"/>
|
||||
<DeviceType key="0x0d24" label="Multilevel Sensor: Formaldehyde CH2O-level"/>
|
||||
<DeviceType key="0x0d25" label="Multilevel Sensor: Radon Concentration"/>
|
||||
|
@ -325,7 +325,7 @@
|
|||
<DeviceType key="0x0d42" label="Multilevel Sensor: Water Chlorine level"/>
|
||||
<DeviceType key="0x0d43" label="Multilevel Sensor: Water Acidity"/>
|
||||
<DeviceType key="0x0d44" label="Multilevel Sensor: Water Oxidation reduction potential"/>
|
||||
<DeviceType key="0x0dff" label="Multilevel Sensor: Multidevice"/>
|
||||
<!-- Already Present Above - <DeviceType key="0x0dff" label="Multilevel Sensor: Multidevice"/> -->
|
||||
<DeviceType key="0x1201" label="Thermostat, Line Voltage Switching"/>
|
||||
<DeviceType key="0x1202" label="Thermostat, Setback Type"/>
|
||||
<DeviceType key="0x1b00" label="Generic Repeater"/>
|
||||
|
|
|
@ -3266,27 +3266,47 @@ void Node::ReadDeviceClasses()
|
|||
|
||||
if (!strcmp(str, "Generic"))
|
||||
{
|
||||
s_genericDeviceClasses[(uint8_t) (key & 0xFF)] = new GenericDeviceClass(child);
|
||||
if (s_genericDeviceClasses.find((uint8_t)(key & 0xFF)) == s_genericDeviceClasses.end()) {
|
||||
s_genericDeviceClasses[(uint8_t) (key & 0xFF)] = new GenericDeviceClass(child);
|
||||
} else {
|
||||
Log::Write(LogLevel_Warning, "Duplicate Entry for Generic Device Class %d", key);
|
||||
}
|
||||
}
|
||||
else if (!strcmp(str, "Basic"))
|
||||
{
|
||||
char const* label = child->Attribute("label");
|
||||
if (label)
|
||||
{
|
||||
s_basicDeviceClasses[(uint8_t) (key & 0xFF)] = label;
|
||||
if (s_basicDeviceClasses.find((uint8_t)(key & 0xFF)) == s_basicDeviceClasses.end()) {
|
||||
char const* label = child->Attribute("label");
|
||||
if (label)
|
||||
{
|
||||
s_basicDeviceClasses[(uint8_t) (key & 0xFF)] = label;
|
||||
}
|
||||
} else {
|
||||
Log::Write(LogLevel_Warning, "Duplicate Entry for Basic Device Class %d", key);
|
||||
}
|
||||
}
|
||||
else if (!strcmp(str, "Role"))
|
||||
{
|
||||
s_roleDeviceClasses[(uint8_t) (key & 0xFF)] = new DeviceClass(child);
|
||||
if (s_roleDeviceClasses.find((uint8_t)(key & 0xFF)) == s_roleDeviceClasses.end()) {
|
||||
s_roleDeviceClasses[(uint8_t) (key & 0xFF)] = new DeviceClass(child);
|
||||
} else {
|
||||
Log::Write(LogLevel_Warning, "Duplicate Entry for Role Device Classes %d", key);
|
||||
}
|
||||
}
|
||||
else if (!strcmp(str, "DeviceType"))
|
||||
{
|
||||
s_deviceTypeClasses[key] = new DeviceClass(child);
|
||||
if (s_deviceTypeClasses.find(key) == s_deviceTypeClasses.end()) {
|
||||
s_deviceTypeClasses[key] = new DeviceClass(child);
|
||||
} else {
|
||||
Log::Write(LogLevel_Warning, "Duplicate Entry for Device Type Class %d", key);
|
||||
}
|
||||
}
|
||||
else if (!strcmp(str, "NodeType"))
|
||||
{
|
||||
s_nodeTypes[(uint8_t) (key & 0xFF)] = new DeviceClass(child);
|
||||
if (s_nodeTypes.find((uint8_t)(key & 0xFF)) == s_nodeTypes.end()) {
|
||||
s_nodeTypes[(uint8_t) (key & 0xFF)] = new DeviceClass(child);
|
||||
} else {
|
||||
Log::Write(LogLevel_Warning, "Duplicate Entry for Node Type %d", key);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue