drop basicTags and deviceIcon
This commit is contained in:
parent
87595faf6d
commit
9283d31e73
@ -134,13 +134,9 @@ See also: \l{Param}
|
|||||||
"actionTypes": [
|
"actionTypes": [
|
||||||
"$ref:ActionType"
|
"$ref:ActionType"
|
||||||
],
|
],
|
||||||
"basicTags": [
|
|
||||||
"$ref:BasicTag"
|
|
||||||
],
|
|
||||||
"createMethods": [
|
"createMethods": [
|
||||||
"$ref:CreateMethod"
|
"$ref:CreateMethod"
|
||||||
],
|
],
|
||||||
"deviceIcon": "$ref:DeviceIcon",
|
|
||||||
"discoveryParamTypes": [
|
"discoveryParamTypes": [
|
||||||
"$ref:ParamType"
|
"$ref:ParamType"
|
||||||
],
|
],
|
||||||
@ -167,7 +163,7 @@ See also: \l{Param}
|
|||||||
"vendorId": "Uuid"
|
"vendorId": "Uuid"
|
||||||
}
|
}
|
||||||
\endcode
|
\endcode
|
||||||
See also: \l{ActionType}, \l{CreateMethod}, \l{DeviceIcon}, \l{BasicTag}, \l{ParamType}, \l{SetupMethod}, \l{StateType}, \l{EventType}, \l{ParamType}
|
See also: \l{ActionType}, \l{CreateMethod}, \l{ParamType}, \l{SetupMethod}, \l{StateType}, \l{EventType}, \l{ParamType}
|
||||||
\section2 DeviceDescriptor
|
\section2 DeviceDescriptor
|
||||||
\code
|
\code
|
||||||
{
|
{
|
||||||
@ -206,47 +202,6 @@ See also: \l{ActionType}, \l{CreateMethod}, \l{DeviceIcon}, \l{BasicTag}, \l{Par
|
|||||||
"DeviceErrorParameterNotWritable"
|
"DeviceErrorParameterNotWritable"
|
||||||
]
|
]
|
||||||
\endcode
|
\endcode
|
||||||
\section2 DeviceIcon
|
|
||||||
\code
|
|
||||||
[
|
|
||||||
"DeviceIconNone",
|
|
||||||
"DeviceIconBed",
|
|
||||||
"DeviceIconBlinds",
|
|
||||||
"DeviceIconCeilingLamp",
|
|
||||||
"DeviceIconCouch",
|
|
||||||
"DeviceIconDeskLamp",
|
|
||||||
"DeviceIconDesk",
|
|
||||||
"DeviceIconHifi",
|
|
||||||
"DeviceIconPower",
|
|
||||||
"DeviceIconEnergy",
|
|
||||||
"DeviceIconRadio",
|
|
||||||
"DeviceIconSmartPhone",
|
|
||||||
"DeviceIconSocket",
|
|
||||||
"DeviceIconStandardLamp",
|
|
||||||
"DeviceIconSun",
|
|
||||||
"DeviceIconTablet",
|
|
||||||
"DeviceIconThermometer",
|
|
||||||
"DeviceIconTune",
|
|
||||||
"DeviceIconTv",
|
|
||||||
"DeviceIconBattery",
|
|
||||||
"DeviceIconDishwasher",
|
|
||||||
"DeviceIconWashingMachine",
|
|
||||||
"DeviceIconLaundryDryer",
|
|
||||||
"DeviceIconIrHeater",
|
|
||||||
"DeviceIconRadiator",
|
|
||||||
"DeviceIconSwitch",
|
|
||||||
"DeviceIconMotionDetectors",
|
|
||||||
"DeviceIconWeather",
|
|
||||||
"DeviceIconTime",
|
|
||||||
"DeviceIconLightBulb",
|
|
||||||
"DeviceIconGateway",
|
|
||||||
"DeviceIconMail",
|
|
||||||
"DeviceIconNetwork",
|
|
||||||
"DeviceIconCloud",
|
|
||||||
"DeviceIconGarage",
|
|
||||||
"DeviceIconRollerShutter"
|
|
||||||
]
|
|
||||||
\endcode
|
|
||||||
\section2 Event
|
\section2 Event
|
||||||
\code
|
\code
|
||||||
{
|
{
|
||||||
@ -3403,26 +3358,6 @@ See also: \l{Tag}
|
|||||||
"$ref:ParamType"
|
"$ref:ParamType"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"BasicTag": [
|
|
||||||
"BasicTagService",
|
|
||||||
"BasicTagDevice",
|
|
||||||
"BasicTagSensor",
|
|
||||||
"BasicTagActuator",
|
|
||||||
"BasicTagLighting",
|
|
||||||
"BasicTagEnergy",
|
|
||||||
"BasicTagMultimedia",
|
|
||||||
"BasicTagWeather",
|
|
||||||
"BasicTagGateway",
|
|
||||||
"BasicTagHeating",
|
|
||||||
"BasicTagCooling",
|
|
||||||
"BasicTagNotification",
|
|
||||||
"BasicTagSecurity",
|
|
||||||
"BasicTagTime",
|
|
||||||
"BasicTagShading",
|
|
||||||
"BasicTagAppliance",
|
|
||||||
"BasicTagCamera",
|
|
||||||
"BasicTagLock"
|
|
||||||
],
|
|
||||||
"BasicType": [
|
"BasicType": [
|
||||||
"Uuid",
|
"Uuid",
|
||||||
"String",
|
"String",
|
||||||
@ -3482,13 +3417,9 @@ See also: \l{Tag}
|
|||||||
"actionTypes": [
|
"actionTypes": [
|
||||||
"$ref:ActionType"
|
"$ref:ActionType"
|
||||||
],
|
],
|
||||||
"basicTags": [
|
|
||||||
"$ref:BasicTag"
|
|
||||||
],
|
|
||||||
"createMethods": [
|
"createMethods": [
|
||||||
"$ref:CreateMethod"
|
"$ref:CreateMethod"
|
||||||
],
|
],
|
||||||
"deviceIcon": "$ref:DeviceIcon",
|
|
||||||
"discoveryParamTypes": [
|
"discoveryParamTypes": [
|
||||||
"$ref:ParamType"
|
"$ref:ParamType"
|
||||||
],
|
],
|
||||||
@ -3545,44 +3476,6 @@ See also: \l{Tag}
|
|||||||
"DeviceErrorPairingTransactionIdNotFound",
|
"DeviceErrorPairingTransactionIdNotFound",
|
||||||
"DeviceErrorParameterNotWritable"
|
"DeviceErrorParameterNotWritable"
|
||||||
],
|
],
|
||||||
"DeviceIcon": [
|
|
||||||
"DeviceIconNone",
|
|
||||||
"DeviceIconBed",
|
|
||||||
"DeviceIconBlinds",
|
|
||||||
"DeviceIconCeilingLamp",
|
|
||||||
"DeviceIconCouch",
|
|
||||||
"DeviceIconDeskLamp",
|
|
||||||
"DeviceIconDesk",
|
|
||||||
"DeviceIconHifi",
|
|
||||||
"DeviceIconPower",
|
|
||||||
"DeviceIconEnergy",
|
|
||||||
"DeviceIconRadio",
|
|
||||||
"DeviceIconSmartPhone",
|
|
||||||
"DeviceIconSocket",
|
|
||||||
"DeviceIconStandardLamp",
|
|
||||||
"DeviceIconSun",
|
|
||||||
"DeviceIconTablet",
|
|
||||||
"DeviceIconThermometer",
|
|
||||||
"DeviceIconTune",
|
|
||||||
"DeviceIconTv",
|
|
||||||
"DeviceIconBattery",
|
|
||||||
"DeviceIconDishwasher",
|
|
||||||
"DeviceIconWashingMachine",
|
|
||||||
"DeviceIconLaundryDryer",
|
|
||||||
"DeviceIconIrHeater",
|
|
||||||
"DeviceIconRadiator",
|
|
||||||
"DeviceIconSwitch",
|
|
||||||
"DeviceIconMotionDetectors",
|
|
||||||
"DeviceIconWeather",
|
|
||||||
"DeviceIconTime",
|
|
||||||
"DeviceIconLightBulb",
|
|
||||||
"DeviceIconGateway",
|
|
||||||
"DeviceIconMail",
|
|
||||||
"DeviceIconNetwork",
|
|
||||||
"DeviceIconCloud",
|
|
||||||
"DeviceIconGarage",
|
|
||||||
"DeviceIconRollerShutter"
|
|
||||||
],
|
|
||||||
"Event": {
|
"Event": {
|
||||||
"deviceId": "Uuid",
|
"deviceId": "Uuid",
|
||||||
"eventTypeId": "Uuid",
|
"eventTypeId": "Uuid",
|
||||||
|
|||||||
@ -192,9 +192,7 @@
|
|||||||
"displayName": "The name of the device class (translatable)",
|
"displayName": "The name of the device class (translatable)",
|
||||||
"o:createMethods": [ ],
|
"o:createMethods": [ ],
|
||||||
"o:setupMethod": "SetupMethod",
|
"o:setupMethod": "SetupMethod",
|
||||||
"o:deviceIcon": "Icon",
|
|
||||||
"o:interfaces": [ "interfacename" ],
|
"o:interfaces": [ "interfacename" ],
|
||||||
"o:basicTags": [ ],
|
|
||||||
"o:pairingInfo": "Information how to pair the device. (translatable)",
|
"o:pairingInfo": "Information how to pair the device. (translatable)",
|
||||||
"o:criticalStateTypeId": "uuid",
|
"o:criticalStateTypeId": "uuid",
|
||||||
"o:primaryStateTypeId": "uuid",
|
"o:primaryStateTypeId": "uuid",
|
||||||
@ -233,34 +231,9 @@
|
|||||||
\li \tt interfaces
|
\li \tt interfaces
|
||||||
\li \b O
|
\li \b O
|
||||||
\li array
|
\li array
|
||||||
\li A string list of \l{Interfaces for DeviceClasses}{interfaces} this plugin implements. Interfaces show you how types
|
\li A string list of \l{Interfaces for DeviceClasses}{interfaces} this plugin implements. Interfaces define states, events and actions to
|
||||||
of this DeviceClass \underline{must} look like.
|
provide more defined ways of creating device class. A plugin developer should always try to follow interface definitions if possible.
|
||||||
\row
|
\row
|
||||||
\li \tt basicTags
|
|
||||||
\li \b O
|
|
||||||
\li array
|
|
||||||
\li A string list of \l{DeviceClass::BasicTag}{BasicTags} for this device \unicode{0x2192} \l{DeviceClass::basicTags()}. A \l{DeviceClass} can have
|
|
||||||
multiple \l{DeviceClass::BasicTag}{BasicTags} which describe the basic category of the DeviceClass.
|
|
||||||
A \l{DeviceClass} should be eighter a Service or a Device, never both. See enum \l{DeviceClass::BasicTag} for more information.
|
|
||||||
The expected value for the \e basicTags parameters matches the enum name like this:
|
|
||||||
|
|
||||||
\tt {DeviceClass::BasicTagService} \unicode{0x2192} \tt {"basicTags": [ "Service" ]}
|
|
||||||
|
|
||||||
\tt {DeviceClass::BasicTagLighting} \unicode{0x2192} \tt {"basicTags": [ "Lighting" ]}
|
|
||||||
|
|
||||||
\tt ...
|
|
||||||
\row
|
|
||||||
\li \tt deviceIcon
|
|
||||||
\li \b O
|
|
||||||
\li string
|
|
||||||
\li Defines the icon for this \l{DeviceClass}. See enum \l{DeviceClass::DeviceIcon} for more information. The expected value for the \tt deviceIcon
|
|
||||||
parameters matches the enum name like this:
|
|
||||||
|
|
||||||
\tt {DeviceClass::DeviceIconBed} \unicode{0x2192} \tt {"deviceIcon": "Bed"}
|
|
||||||
|
|
||||||
\tt {DeviceClass::DeviceIconPower} \unicode{0x2192} \tt {"deviceIcon": "Power"}
|
|
||||||
|
|
||||||
\tt ...
|
|
||||||
\row
|
\row
|
||||||
\li \tt createMethods
|
\li \tt createMethods
|
||||||
\li \b O
|
\li \b O
|
||||||
|
|||||||
@ -70,8 +70,6 @@ bool JsonTypes::s_initialized = false;
|
|||||||
QString JsonTypes::s_lastError;
|
QString JsonTypes::s_lastError;
|
||||||
|
|
||||||
QVariantList JsonTypes::s_basicType;
|
QVariantList JsonTypes::s_basicType;
|
||||||
QVariantList JsonTypes::s_basicTag;
|
|
||||||
QVariantList JsonTypes::s_deviceIcon;
|
|
||||||
QVariantList JsonTypes::s_stateOperator;
|
QVariantList JsonTypes::s_stateOperator;
|
||||||
QVariantList JsonTypes::s_valueOperator;
|
QVariantList JsonTypes::s_valueOperator;
|
||||||
QVariantList JsonTypes::s_inputType;
|
QVariantList JsonTypes::s_inputType;
|
||||||
@ -139,8 +137,6 @@ void JsonTypes::init()
|
|||||||
s_unit = enumToStrings(Types::staticMetaObject, "Unit");
|
s_unit = enumToStrings(Types::staticMetaObject, "Unit");
|
||||||
s_createMethod = enumToStrings(DeviceClass::staticMetaObject, "CreateMethod");
|
s_createMethod = enumToStrings(DeviceClass::staticMetaObject, "CreateMethod");
|
||||||
s_setupMethod = enumToStrings(DeviceClass::staticMetaObject, "SetupMethod");
|
s_setupMethod = enumToStrings(DeviceClass::staticMetaObject, "SetupMethod");
|
||||||
s_basicTag = enumToStrings(DeviceClass::staticMetaObject, "BasicTag");
|
|
||||||
s_deviceIcon = enumToStrings(DeviceClass::staticMetaObject, "DeviceIcon");
|
|
||||||
s_removePolicy = enumToStrings(RuleEngine::staticMetaObject, "RemovePolicy");
|
s_removePolicy = enumToStrings(RuleEngine::staticMetaObject, "RemovePolicy");
|
||||||
s_deviceError = enumToStrings(DeviceManager::staticMetaObject, "DeviceError");
|
s_deviceError = enumToStrings(DeviceManager::staticMetaObject, "DeviceError");
|
||||||
s_ruleError = enumToStrings(RuleEngine::staticMetaObject, "RuleError");
|
s_ruleError = enumToStrings(RuleEngine::staticMetaObject, "RuleError");
|
||||||
@ -277,9 +273,7 @@ void JsonTypes::init()
|
|||||||
s_deviceClass.insert("pluginId", basicTypeToString(Uuid));
|
s_deviceClass.insert("pluginId", basicTypeToString(Uuid));
|
||||||
s_deviceClass.insert("name", basicTypeToString(String));
|
s_deviceClass.insert("name", basicTypeToString(String));
|
||||||
s_deviceClass.insert("displayName", basicTypeToString(String));
|
s_deviceClass.insert("displayName", basicTypeToString(String));
|
||||||
s_deviceClass.insert("deviceIcon", deviceIconRef());
|
|
||||||
s_deviceClass.insert("interfaces", QVariantList() << basicTypeToString(String));
|
s_deviceClass.insert("interfaces", QVariantList() << basicTypeToString(String));
|
||||||
s_deviceClass.insert("basicTags", QVariantList() << basicTagRef());
|
|
||||||
s_deviceClass.insert("setupMethod", setupMethodRef());
|
s_deviceClass.insert("setupMethod", setupMethodRef());
|
||||||
s_deviceClass.insert("createMethods", QVariantList() << createMethodRef());
|
s_deviceClass.insert("createMethods", QVariantList() << createMethodRef());
|
||||||
s_deviceClass.insert("o:criticalStateTypeId", basicTypeToString(Uuid));
|
s_deviceClass.insert("o:criticalStateTypeId", basicTypeToString(Uuid));
|
||||||
@ -437,13 +431,11 @@ QVariantMap JsonTypes::allTypes()
|
|||||||
{
|
{
|
||||||
QVariantMap allTypes;
|
QVariantMap allTypes;
|
||||||
allTypes.insert("BasicType", basicType());
|
allTypes.insert("BasicType", basicType());
|
||||||
allTypes.insert("BasicTag", basicTag());
|
|
||||||
allTypes.insert("ParamType", paramTypeDescription());
|
allTypes.insert("ParamType", paramTypeDescription());
|
||||||
allTypes.insert("InputType", inputType());
|
allTypes.insert("InputType", inputType());
|
||||||
allTypes.insert("Unit", unit());
|
allTypes.insert("Unit", unit());
|
||||||
allTypes.insert("CreateMethod", createMethod());
|
allTypes.insert("CreateMethod", createMethod());
|
||||||
allTypes.insert("SetupMethod", setupMethod());
|
allTypes.insert("SetupMethod", setupMethod());
|
||||||
allTypes.insert("DeviceIcon", deviceIcon());
|
|
||||||
allTypes.insert("ValueOperator", valueOperator());
|
allTypes.insert("ValueOperator", valueOperator());
|
||||||
allTypes.insert("StateOperator", stateOperator());
|
allTypes.insert("StateOperator", stateOperator());
|
||||||
allTypes.insert("RemovePolicy", removePolicy());
|
allTypes.insert("RemovePolicy", removePolicy());
|
||||||
@ -782,13 +774,8 @@ QVariantMap JsonTypes::packDeviceClass(const DeviceClass &deviceClass, const QLo
|
|||||||
variant.insert("displayName", NymeaCore::instance()->deviceManager()->translator()->translate(deviceClass.pluginId(), deviceClass.displayName(), locale));
|
variant.insert("displayName", NymeaCore::instance()->deviceManager()->translator()->translate(deviceClass.pluginId(), deviceClass.displayName(), locale));
|
||||||
variant.insert("vendorId", deviceClass.vendorId().toString());
|
variant.insert("vendorId", deviceClass.vendorId().toString());
|
||||||
variant.insert("pluginId", deviceClass.pluginId().toString());
|
variant.insert("pluginId", deviceClass.pluginId().toString());
|
||||||
variant.insert("deviceIcon", s_deviceIcon.at(deviceClass.deviceIcon()));
|
|
||||||
variant.insert("interfaces", deviceClass.interfaces());
|
variant.insert("interfaces", deviceClass.interfaces());
|
||||||
|
|
||||||
QVariantList basicTags;
|
|
||||||
foreach (const DeviceClass::BasicTag &basicTag, deviceClass.basicTags())
|
|
||||||
basicTags.append(s_basicTag.at(basicTag));
|
|
||||||
|
|
||||||
QVariantList stateTypes;
|
QVariantList stateTypes;
|
||||||
foreach (const StateType &stateType, deviceClass.stateTypes())
|
foreach (const StateType &stateType, deviceClass.stateTypes())
|
||||||
stateTypes.append(packStateType(stateType, deviceClass.pluginId(), locale));
|
stateTypes.append(packStateType(stateType, deviceClass.pluginId(), locale));
|
||||||
@ -818,7 +805,6 @@ QVariantMap JsonTypes::packDeviceClass(const DeviceClass &deviceClass, const QLo
|
|||||||
if (!deviceClass.primaryActionTypeId().isNull())
|
if (!deviceClass.primaryActionTypeId().isNull())
|
||||||
variant.insert("primaryActionTypeId", deviceClass.primaryActionTypeId().toString());
|
variant.insert("primaryActionTypeId", deviceClass.primaryActionTypeId().toString());
|
||||||
|
|
||||||
variant.insert("basicTags", basicTags);
|
|
||||||
variant.insert("paramTypes", paramTypes);
|
variant.insert("paramTypes", paramTypes);
|
||||||
variant.insert("discoveryParamTypes", discoveryParamTypes);
|
variant.insert("discoveryParamTypes", discoveryParamTypes);
|
||||||
variant.insert("stateTypes", stateTypes);
|
variant.insert("stateTypes", stateTypes);
|
||||||
@ -2121,18 +2107,6 @@ QPair<bool, QString> JsonTypes::validateVariant(const QVariant &templateVariant,
|
|||||||
qCWarning(dcJsonRpc) << QString("Value %1 not allowed in %2").arg(variant.toString()).arg(unitRef());
|
qCWarning(dcJsonRpc) << QString("Value %1 not allowed in %2").arg(variant.toString()).arg(unitRef());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
} else if (refName == basicTagRef()) {
|
|
||||||
QPair<bool, QString> result = validateEnum(s_basicTag, variant);
|
|
||||||
if (!result.first) {
|
|
||||||
qCWarning(dcJsonRpc) << QString("Value %1 not allowed in %2").arg(variant.toString()).arg(basicTagRef());
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
} else if (refName == deviceIconRef()) {
|
|
||||||
QPair<bool, QString> result = validateEnum(s_deviceIcon, variant);
|
|
||||||
if (!result.first) {
|
|
||||||
qCWarning(dcJsonRpc) << QString("Value %1 not allowed in %2").arg(variant.toString()).arg(deviceIconRef());
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
} else if (refName == repeatingModeRef()) {
|
} else if (refName == repeatingModeRef()) {
|
||||||
QPair<bool, QString> result = validateEnum(s_repeatingMode, variant);
|
QPair<bool, QString> result = validateEnum(s_repeatingMode, variant);
|
||||||
if (!result.first) {
|
if (!result.first) {
|
||||||
|
|||||||
@ -120,14 +120,12 @@ public:
|
|||||||
static QVariantMap allTypes();
|
static QVariantMap allTypes();
|
||||||
|
|
||||||
DECLARE_TYPE(basicType, "BasicType", JsonTypes, BasicType)
|
DECLARE_TYPE(basicType, "BasicType", JsonTypes, BasicType)
|
||||||
DECLARE_TYPE(basicTag, "BasicTag", DeviceClass, BasicTag)
|
|
||||||
DECLARE_TYPE(stateOperator, "StateOperator", Types, StateOperator)
|
DECLARE_TYPE(stateOperator, "StateOperator", Types, StateOperator)
|
||||||
DECLARE_TYPE(valueOperator, "ValueOperator", Types, ValueOperator)
|
DECLARE_TYPE(valueOperator, "ValueOperator", Types, ValueOperator)
|
||||||
DECLARE_TYPE(inputType, "InputType", Types, InputType)
|
DECLARE_TYPE(inputType, "InputType", Types, InputType)
|
||||||
DECLARE_TYPE(unit, "Unit", Types, Unit)
|
DECLARE_TYPE(unit, "Unit", Types, Unit)
|
||||||
DECLARE_TYPE(createMethod, "CreateMethod", DeviceClass, CreateMethod)
|
DECLARE_TYPE(createMethod, "CreateMethod", DeviceClass, CreateMethod)
|
||||||
DECLARE_TYPE(setupMethod, "SetupMethod", DeviceClass, SetupMethod)
|
DECLARE_TYPE(setupMethod, "SetupMethod", DeviceClass, SetupMethod)
|
||||||
DECLARE_TYPE(deviceIcon, "DeviceIcon", DeviceClass, DeviceIcon)
|
|
||||||
DECLARE_TYPE(deviceError, "DeviceError", DeviceManager, DeviceError)
|
DECLARE_TYPE(deviceError, "DeviceError", DeviceManager, DeviceError)
|
||||||
DECLARE_TYPE(removePolicy, "RemovePolicy", RuleEngine, RemovePolicy)
|
DECLARE_TYPE(removePolicy, "RemovePolicy", RuleEngine, RemovePolicy)
|
||||||
DECLARE_TYPE(ruleError, "RuleError", RuleEngine, RuleError)
|
DECLARE_TYPE(ruleError, "RuleError", RuleEngine, RuleError)
|
||||||
|
|||||||
@ -594,15 +594,6 @@ void DevicePlugin::loadMetaData()
|
|||||||
}
|
}
|
||||||
deviceClass.setCreateMethods(createMethods);
|
deviceClass.setCreateMethods(createMethods);
|
||||||
|
|
||||||
// Read device icon
|
|
||||||
QPair<bool, DeviceClass::DeviceIcon> deviceIconVerification = loadAndVerifyDeviceIcon(deviceClassObject.value("deviceIcon").toString());
|
|
||||||
if (!deviceIconVerification.first) {
|
|
||||||
broken = true;
|
|
||||||
break;
|
|
||||||
} else {
|
|
||||||
deviceClass.setDeviceIcon(deviceIconVerification.second);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read params
|
// Read params
|
||||||
QPair<bool, QList<ParamType> > paramTypesVerification = parseParamTypes(deviceClassObject.value("paramTypes").toArray());
|
QPair<bool, QList<ParamType> > paramTypesVerification = parseParamTypes(deviceClassObject.value("paramTypes").toArray());
|
||||||
if (!paramTypesVerification.first) {
|
if (!paramTypesVerification.first) {
|
||||||
@ -644,19 +635,6 @@ void DevicePlugin::loadMetaData()
|
|||||||
// Read pairing info
|
// Read pairing info
|
||||||
deviceClass.setPairingInfo(deviceClassObject.value("pairingInfo").toString());
|
deviceClass.setPairingInfo(deviceClassObject.value("pairingInfo").toString());
|
||||||
|
|
||||||
// Read basic tags
|
|
||||||
QList<DeviceClass::BasicTag> basicTags;
|
|
||||||
foreach (const QJsonValue &basicTagJson, deviceClassObject.value("basicTags").toArray()) {
|
|
||||||
QPair<bool, DeviceClass::BasicTag> basicTagVerification = loadAndVerifyBasicTag(basicTagJson.toString());
|
|
||||||
if (!basicTagVerification.first) {
|
|
||||||
broken = true;
|
|
||||||
break;
|
|
||||||
} else {
|
|
||||||
basicTags.append(basicTagVerification.second);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
deviceClass.setBasicTags(basicTags);
|
|
||||||
|
|
||||||
QList<ActionType> actionTypes;
|
QList<ActionType> actionTypes;
|
||||||
QList<StateType> stateTypes;
|
QList<StateType> stateTypes;
|
||||||
QList<EventType> eventTypes;
|
QList<EventType> eventTypes;
|
||||||
@ -1053,58 +1031,6 @@ QPair<bool, Types::InputType> DevicePlugin::loadAndVerifyInputType(const QString
|
|||||||
return QPair<bool, Types::InputType>(true, (Types::InputType)enumValue);
|
return QPair<bool, Types::InputType>(true, (Types::InputType)enumValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPair<bool, DeviceClass::BasicTag> DevicePlugin::loadAndVerifyBasicTag(const QString &basicTag) const
|
|
||||||
{
|
|
||||||
if (basicTag.isEmpty())
|
|
||||||
return QPair<bool, DeviceClass::BasicTag>(true, DeviceClass::BasicTagDevice);
|
|
||||||
|
|
||||||
QMetaObject metaObject = DeviceClass::staticMetaObject;
|
|
||||||
int enumIndex = metaObject.indexOfEnumerator(QString("BasicTag").toLatin1().data());
|
|
||||||
QMetaEnum metaEnum = metaObject.enumerator(enumIndex);
|
|
||||||
|
|
||||||
int enumValue = -1;
|
|
||||||
for (int i = 0; i < metaEnum.keyCount(); i++) {
|
|
||||||
if (QString(metaEnum.valueToKey(metaEnum.value(i))) == QString("BasicTag" + basicTag)) {
|
|
||||||
enumValue = metaEnum.value(i);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// inform the plugin developer about the error in the plugin json file
|
|
||||||
if (enumValue == -1) {
|
|
||||||
qCWarning(dcDeviceManager()) << QString("\"%1\" plugin:").arg(pluginName()).toLatin1().data() << QString("Invalid basicTag \"%1\" in json file.").arg(basicTag).toLatin1().data();
|
|
||||||
return QPair<bool, DeviceClass::BasicTag>(false, DeviceClass::BasicTagDevice);
|
|
||||||
}
|
|
||||||
|
|
||||||
return QPair<bool, DeviceClass::BasicTag>(true, (DeviceClass::BasicTag)enumValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
QPair<bool, DeviceClass::DeviceIcon> DevicePlugin::loadAndVerifyDeviceIcon(const QString &deviceIcon) const
|
|
||||||
{
|
|
||||||
if (deviceIcon.isEmpty())
|
|
||||||
return QPair<bool, DeviceClass::DeviceIcon>(true, DeviceClass::DeviceIconNone);
|
|
||||||
|
|
||||||
QMetaObject metaObject = DeviceClass::staticMetaObject;
|
|
||||||
int enumIndex = metaObject.indexOfEnumerator(QString("DeviceIcon").toLatin1().data());
|
|
||||||
QMetaEnum metaEnum = metaObject.enumerator(enumIndex);
|
|
||||||
|
|
||||||
int enumValue = -1;
|
|
||||||
for (int i = 0; i < metaEnum.keyCount(); i++) {
|
|
||||||
if (QString(metaEnum.valueToKey(metaEnum.value(i))) == QString("DeviceIcon" + deviceIcon)) {
|
|
||||||
enumValue = metaEnum.value(i);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// inform the plugin developer about the error in the plugin json file
|
|
||||||
if (enumValue == -1) {
|
|
||||||
qCWarning(dcDeviceManager()) << QString("\"%1\" plugin:").arg(pluginName()).toLatin1().data() << QString("Invalid deviceIcon \"%1\" in json file.").arg(deviceIcon).toLatin1().data();
|
|
||||||
return QPair<bool, DeviceClass::DeviceIcon>(false, DeviceClass::DeviceIconNone);
|
|
||||||
}
|
|
||||||
|
|
||||||
return QPair<bool, DeviceClass::DeviceIcon>(true, (DeviceClass::DeviceIcon)enumValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
Interfaces DevicePlugin::allInterfaces()
|
Interfaces DevicePlugin::allInterfaces()
|
||||||
{
|
{
|
||||||
Interfaces ret;
|
Interfaces ret;
|
||||||
|
|||||||
@ -113,8 +113,6 @@ private:
|
|||||||
// load and verify enum values
|
// load and verify enum values
|
||||||
QPair<bool, Types::Unit> loadAndVerifyUnit(const QString &unitString) const;
|
QPair<bool, Types::Unit> loadAndVerifyUnit(const QString &unitString) const;
|
||||||
QPair<bool, Types::InputType> loadAndVerifyInputType(const QString &inputType) const;
|
QPair<bool, Types::InputType> loadAndVerifyInputType(const QString &inputType) const;
|
||||||
QPair<bool, DeviceClass::BasicTag> loadAndVerifyBasicTag(const QString &basicTag) const;
|
|
||||||
QPair<bool, DeviceClass::DeviceIcon> loadAndVerifyDeviceIcon(const QString &deviceIcon) const;
|
|
||||||
|
|
||||||
// FIXME: This is expensive because it will open all the files.
|
// FIXME: This is expensive because it will open all the files.
|
||||||
// Once DeviceManager is in libnymea-core this should probably be there too.
|
// Once DeviceManager is in libnymea-core this should probably be there too.
|
||||||
|
|||||||
@ -62,103 +62,6 @@
|
|||||||
During the setup, a button has to be pushed in order to pair the \l{Device}.
|
During the setup, a button has to be pushed in order to pair the \l{Device}.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*! \enum DeviceClass::BasicTag
|
|
||||||
|
|
||||||
This enum type specifies the basic tags which describe the categories of the DeviceClass.
|
|
||||||
A DeviceClass can have multiple tags.
|
|
||||||
|
|
||||||
\value BasicTagService
|
|
||||||
The \l{DeviceClass} describes a service.
|
|
||||||
\value BasicTagDevice
|
|
||||||
The \l{DeviceClass} describes a real device.
|
|
||||||
\value BasicTagSensor
|
|
||||||
The \l{DeviceClass} describes a sensor. Any device which can measure or detect something is a sensor.
|
|
||||||
\value BasicTagActuator
|
|
||||||
The \l{DeviceClass} describes an actuator. Any device which can do something is an actuator.
|
|
||||||
\value BasicTagLighting
|
|
||||||
The \l{DeviceClass} describes a lighting device.
|
|
||||||
\value BasicTagEnergy
|
|
||||||
The \l{DeviceClass} describes an energy device.
|
|
||||||
\value BasicTagMultimedia
|
|
||||||
The \l{DeviceClass} describes a multimedia device/service.
|
|
||||||
\value BasicTagWeather
|
|
||||||
The \l{DeviceClass} describes a weather device/service.
|
|
||||||
\value BasicTagGateway
|
|
||||||
The \l{DeviceClass} describes a gateway device.
|
|
||||||
\value BasicTagHeating
|
|
||||||
The \l{DeviceClass} describes a heating device.
|
|
||||||
\value BasicTagCooling
|
|
||||||
The \l{DeviceClass} describes a cooling device.
|
|
||||||
\value BasicTagNotification
|
|
||||||
The \l{DeviceClass} describes a notification service.
|
|
||||||
\value BasicTagSecurity
|
|
||||||
The \l{DeviceClass} describes a security device/service.
|
|
||||||
\value BasicTagTime
|
|
||||||
The \l{DeviceClass} describes a time device/service.
|
|
||||||
\value BasicTagShading
|
|
||||||
The \l{DeviceClass} describes a shading device.
|
|
||||||
\value BasicTagAppliance
|
|
||||||
The \l{DeviceClass} describes an appliance.
|
|
||||||
\value BasicTagCamera
|
|
||||||
The \l{DeviceClass} describes a camera device.
|
|
||||||
\value BasicTagLock
|
|
||||||
The \l{DeviceClass} describes a lock device.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*! \enum DeviceClass::DeviceIcon
|
|
||||||
|
|
||||||
This enum type specifies the default device icon of the DeviceClass.
|
|
||||||
Each client should have an icon set containing this list of icon types.
|
|
||||||
If a client want's to offer special icons for a special DeviceClass or device type,
|
|
||||||
he can bring it's own icon for a special DeviceClassId. If there is no special icon
|
|
||||||
defined, he can fallback to the default icon.
|
|
||||||
|
|
||||||
\value DeviceIconNone
|
|
||||||
\value DeviceIconBed
|
|
||||||
\value DeviceIconBlinds
|
|
||||||
\value DeviceIconCeilingLamp
|
|
||||||
\value DeviceIconCouch
|
|
||||||
\value DeviceIconDeskLamp
|
|
||||||
\value DeviceIconDesk
|
|
||||||
\value DeviceIconHifi
|
|
||||||
\value DeviceIconPower
|
|
||||||
\value DeviceIconEnergy
|
|
||||||
\value DeviceIconRadio
|
|
||||||
\value DeviceIconSmartPhone
|
|
||||||
\value DeviceIconSocket
|
|
||||||
\value DeviceIconStandardLamp
|
|
||||||
\value DeviceIconSun
|
|
||||||
\value DeviceIconTablet
|
|
||||||
\value DeviceIconThermometer
|
|
||||||
\value DeviceIconTune
|
|
||||||
\value DeviceIconTv
|
|
||||||
\value DeviceIconBattery
|
|
||||||
\value DeviceIconDishwasher
|
|
||||||
\value DeviceIconWashingMachine
|
|
||||||
\value DeviceIconLaundryDryer
|
|
||||||
\value DeviceIconIrHeater
|
|
||||||
\value DeviceIconRadiator
|
|
||||||
\value DeviceIconSwitch
|
|
||||||
\value DeviceIconMotionDetectors
|
|
||||||
\value DeviceIconWeather
|
|
||||||
\value DeviceIconTime
|
|
||||||
\value DeviceIconLightBulb
|
|
||||||
\value DeviceIconGateway
|
|
||||||
\value DeviceIconMail
|
|
||||||
\value DeviceIconNetwork
|
|
||||||
\value DeviceIconCloud
|
|
||||||
\value DeviceIconGarage,
|
|
||||||
\value DeviceIconRollerShutter
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*! \fn void DeviceClass::setBasicTags(const QList<BasicTag> &basicTags);
|
|
||||||
Set the list of \a basicTags of this DeviceClass.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*! \fn void DeviceClass::setDeviceIcon(const DeviceIcon &deviceIcon);
|
|
||||||
Set the \a deviceIcon of this DeviceClass.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "deviceclass.h"
|
#include "deviceclass.h"
|
||||||
|
|
||||||
@ -173,7 +76,6 @@ DeviceClass::DeviceClass(const PluginId &pluginId, const VendorId &vendorId, con
|
|||||||
m_criticalStateTypeId(StateTypeId()),
|
m_criticalStateTypeId(StateTypeId()),
|
||||||
m_primaryStateTypeId(StateTypeId()),
|
m_primaryStateTypeId(StateTypeId()),
|
||||||
m_primaryActionTypeId(ActionTypeId()),
|
m_primaryActionTypeId(ActionTypeId()),
|
||||||
m_deviceIcon(DeviceIconPower),
|
|
||||||
m_createMethods(CreateMethodUser),
|
m_createMethods(CreateMethodUser),
|
||||||
m_setupMethod(SetupMethodJustAdd)
|
m_setupMethod(SetupMethodJustAdd)
|
||||||
{
|
{
|
||||||
@ -265,39 +167,6 @@ void DeviceClass::setPrimaryActionTypeId(const ActionTypeId &primaryActionTypeId
|
|||||||
m_primaryActionTypeId = primaryActionTypeId;
|
m_primaryActionTypeId = primaryActionTypeId;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! Returns the default \l{DeviceIcon} of this \l{DeviceClass}. */
|
|
||||||
DeviceClass::DeviceIcon DeviceClass::deviceIcon() const
|
|
||||||
{
|
|
||||||
return m_deviceIcon;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*! Set the \a deviceIcon of this \l{DeviceClass}.
|
|
||||||
|
|
||||||
\sa DeviceClass::DeviceIcon
|
|
||||||
*/
|
|
||||||
void DeviceClass::setDeviceIcon(const DeviceClass::DeviceIcon &deviceIcon)
|
|
||||||
{
|
|
||||||
m_deviceIcon = deviceIcon;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*! Returns the list of basicTags of this DeviceClass.
|
|
||||||
|
|
||||||
\sa DeviceClass::BasicTag
|
|
||||||
*/
|
|
||||||
QList<DeviceClass::BasicTag> DeviceClass::basicTags() const
|
|
||||||
{
|
|
||||||
return m_basicTags;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*! Set the list of \a basicTags of this DeviceClass.
|
|
||||||
|
|
||||||
\sa DeviceClass::BasicTag
|
|
||||||
*/
|
|
||||||
void DeviceClass::setBasicTags(const QList<DeviceClass::BasicTag> &basicTags)
|
|
||||||
{
|
|
||||||
m_basicTags = basicTags;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*! Returns the statesTypes of this DeviceClass. \{Device}{Devices} created
|
/*! Returns the statesTypes of this DeviceClass. \{Device}{Devices} created
|
||||||
from this \l{DeviceClass} must have their states matching to this template. */
|
from this \l{DeviceClass} must have their states matching to this template. */
|
||||||
StateTypes DeviceClass::stateTypes() const
|
StateTypes DeviceClass::stateTypes() const
|
||||||
@ -474,8 +343,8 @@ bool DeviceClass::operator==(const DeviceClass &deviceClass) const
|
|||||||
/*! Returns a list of all valid JSON properties a DeviceClass JSON definition can have. */
|
/*! Returns a list of all valid JSON properties a DeviceClass JSON definition can have. */
|
||||||
QStringList DeviceClass::typeProperties()
|
QStringList DeviceClass::typeProperties()
|
||||||
{
|
{
|
||||||
return QStringList() << "id" << "name" << "displayName" << "createMethods" << "setupMethod" << "deviceIcon"
|
return QStringList() << "id" << "name" << "displayName" << "createMethods" << "setupMethod"
|
||||||
<< "interfaces" << "basicTags" << "pairingInfo" << "criticalStateTypeId"
|
<< "interfaces" << "pairingInfo" << "criticalStateTypeId"
|
||||||
<< "primaryStateTypeId" << "primaryActionTypeId" << "discoveryParamTypes"
|
<< "primaryStateTypeId" << "primaryActionTypeId" << "discoveryParamTypes"
|
||||||
<< "discoveryParamTypes" << "paramTypes" << "stateTypes" << "actionTypes" << "eventTypes";
|
<< "discoveryParamTypes" << "paramTypes" << "stateTypes" << "actionTypes" << "eventTypes";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -41,8 +41,7 @@ class LIBNYMEA_EXPORT DeviceClass
|
|||||||
Q_ENUMS(CreateMethod)
|
Q_ENUMS(CreateMethod)
|
||||||
Q_ENUMS(SetupMethod)
|
Q_ENUMS(SetupMethod)
|
||||||
Q_ENUMS(BasicTag)
|
Q_ENUMS(BasicTag)
|
||||||
Q_ENUMS(DeviceIcon)
|
Q_ENUMS(CreateMethods)
|
||||||
Q_FLAGS(CreateMethods)
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
enum CreateMethod {
|
enum CreateMethod {
|
||||||
@ -59,66 +58,6 @@ public:
|
|||||||
SetupMethodPushButton
|
SetupMethodPushButton
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BasicTag {
|
|
||||||
BasicTagService,
|
|
||||||
BasicTagDevice,
|
|
||||||
BasicTagSensor,
|
|
||||||
BasicTagActuator,
|
|
||||||
BasicTagLighting,
|
|
||||||
BasicTagEnergy,
|
|
||||||
BasicTagMultimedia,
|
|
||||||
BasicTagWeather,
|
|
||||||
BasicTagGateway,
|
|
||||||
BasicTagHeating,
|
|
||||||
BasicTagCooling,
|
|
||||||
BasicTagNotification,
|
|
||||||
BasicTagSecurity,
|
|
||||||
BasicTagTime,
|
|
||||||
BasicTagShading,
|
|
||||||
BasicTagAppliance,
|
|
||||||
BasicTagCamera,
|
|
||||||
BasicTagLock
|
|
||||||
};
|
|
||||||
|
|
||||||
enum DeviceIcon {
|
|
||||||
DeviceIconNone,
|
|
||||||
DeviceIconBed,
|
|
||||||
DeviceIconBlinds,
|
|
||||||
DeviceIconCeilingLamp,
|
|
||||||
DeviceIconCouch,
|
|
||||||
DeviceIconDeskLamp,
|
|
||||||
DeviceIconDesk,
|
|
||||||
DeviceIconHifi,
|
|
||||||
DeviceIconPower,
|
|
||||||
DeviceIconEnergy,
|
|
||||||
DeviceIconRadio,
|
|
||||||
DeviceIconSmartPhone,
|
|
||||||
DeviceIconSocket,
|
|
||||||
DeviceIconStandardLamp,
|
|
||||||
DeviceIconSun,
|
|
||||||
DeviceIconTablet,
|
|
||||||
DeviceIconThermometer,
|
|
||||||
DeviceIconTune,
|
|
||||||
DeviceIconTv,
|
|
||||||
DeviceIconBattery,
|
|
||||||
DeviceIconDishwasher,
|
|
||||||
DeviceIconWashingMachine,
|
|
||||||
DeviceIconLaundryDryer,
|
|
||||||
DeviceIconIrHeater,
|
|
||||||
DeviceIconRadiator,
|
|
||||||
DeviceIconSwitch,
|
|
||||||
DeviceIconMotionDetectors,
|
|
||||||
DeviceIconWeather,
|
|
||||||
DeviceIconTime,
|
|
||||||
DeviceIconLightBulb,
|
|
||||||
DeviceIconGateway,
|
|
||||||
DeviceIconMail,
|
|
||||||
DeviceIconNetwork,
|
|
||||||
DeviceIconCloud,
|
|
||||||
DeviceIconGarage,
|
|
||||||
DeviceIconRollerShutter
|
|
||||||
};
|
|
||||||
|
|
||||||
DeviceClass(const PluginId &pluginId = PluginId(), const VendorId &vendorId = VendorId(), const DeviceClassId &id = DeviceClassId());
|
DeviceClass(const PluginId &pluginId = PluginId(), const VendorId &vendorId = VendorId(), const DeviceClassId &id = DeviceClassId());
|
||||||
|
|
||||||
DeviceClassId id() const;
|
DeviceClassId id() const;
|
||||||
@ -141,12 +80,6 @@ public:
|
|||||||
ActionTypeId primaryActionTypeId() const;
|
ActionTypeId primaryActionTypeId() const;
|
||||||
void setPrimaryActionTypeId(const ActionTypeId &primaryActionTypeId);
|
void setPrimaryActionTypeId(const ActionTypeId &primaryActionTypeId);
|
||||||
|
|
||||||
DeviceIcon deviceIcon() const;
|
|
||||||
void setDeviceIcon(const DeviceIcon &deviceIcon);
|
|
||||||
|
|
||||||
QList<BasicTag> basicTags() const;
|
|
||||||
void setBasicTags(const QList<BasicTag> &basicTags);
|
|
||||||
|
|
||||||
StateTypes stateTypes() const;
|
StateTypes stateTypes() const;
|
||||||
StateType getStateType(const StateTypeId &stateTypeId);
|
StateType getStateType(const StateTypeId &stateTypeId);
|
||||||
void setStateTypes(const QList<StateType> &stateTypes);
|
void setStateTypes(const QList<StateType> &stateTypes);
|
||||||
@ -192,8 +125,6 @@ private:
|
|||||||
StateTypeId m_criticalStateTypeId;
|
StateTypeId m_criticalStateTypeId;
|
||||||
StateTypeId m_primaryStateTypeId;
|
StateTypeId m_primaryStateTypeId;
|
||||||
ActionTypeId m_primaryActionTypeId;
|
ActionTypeId m_primaryActionTypeId;
|
||||||
DeviceIcon m_deviceIcon;
|
|
||||||
QList<BasicTag> m_basicTags;
|
|
||||||
QList<StateType> m_stateTypes;
|
QList<StateType> m_stateTypes;
|
||||||
QList<EventType> m_eventTypes;
|
QList<EventType> m_eventTypes;
|
||||||
QList<ActionType> m_actionTypes;
|
QList<ActionType> m_actionTypes;
|
||||||
|
|||||||
@ -30,13 +30,7 @@
|
|||||||
"id": "753f0d32-0468-4d08-82ed-1964aab03298",
|
"id": "753f0d32-0468-4d08-82ed-1964aab03298",
|
||||||
"name": "mock",
|
"name": "mock",
|
||||||
"displayName": "Mock Device",
|
"displayName": "Mock Device",
|
||||||
"deviceIcon": "Tune",
|
|
||||||
"interfaces": ["system", "light", "gateway", "battery"],
|
"interfaces": ["system", "light", "gateway", "battery"],
|
||||||
"basicTags": [
|
|
||||||
"Device",
|
|
||||||
"Actuator",
|
|
||||||
"Gateway"
|
|
||||||
],
|
|
||||||
"createMethods": ["user", "discovery"],
|
"createMethods": ["user", "discovery"],
|
||||||
"primaryActionTypeId": "defd3ed6-1a0d-400b-8879-a0202cf39935",
|
"primaryActionTypeId": "defd3ed6-1a0d-400b-8879-a0202cf39935",
|
||||||
"primaryStateTypeId": "80baec19-54de-4948-ac46-31eabfaceb83",
|
"primaryStateTypeId": "80baec19-54de-4948-ac46-31eabfaceb83",
|
||||||
@ -201,15 +195,9 @@
|
|||||||
"name": "mockDeviceAuto",
|
"name": "mockDeviceAuto",
|
||||||
"displayName": "Mock Device (Auto created)",
|
"displayName": "Mock Device (Auto created)",
|
||||||
"interfaces": ["system"],
|
"interfaces": ["system"],
|
||||||
"basicTags": [
|
|
||||||
"Device",
|
|
||||||
"Actuator",
|
|
||||||
"Gateway"
|
|
||||||
],
|
|
||||||
"createMethods": ["auto"],
|
"createMethods": ["auto"],
|
||||||
"primaryActionTypeId": "defd3ed6-1a0d-400b-8879-a0202cf39935",
|
"primaryActionTypeId": "defd3ed6-1a0d-400b-8879-a0202cf39935",
|
||||||
"primaryStateTypeId": "80baec19-54de-4948-ac46-31eabfaceb83",
|
"primaryStateTypeId": "80baec19-54de-4948-ac46-31eabfaceb83",
|
||||||
"deviceIcon": "Tune",
|
|
||||||
"paramTypes": [
|
"paramTypes": [
|
||||||
{
|
{
|
||||||
"id": "d4f06047-125e-4479-9810-b54c189917f5",
|
"id": "d4f06047-125e-4479-9810-b54c189917f5",
|
||||||
@ -321,14 +309,8 @@
|
|||||||
"name": "mockPushButton",
|
"name": "mockPushButton",
|
||||||
"displayName": "Mock Device (Push Button)",
|
"displayName": "Mock Device (Push Button)",
|
||||||
"interfaces": ["system"],
|
"interfaces": ["system"],
|
||||||
"basicTags": [
|
|
||||||
"Device",
|
|
||||||
"Actuator",
|
|
||||||
"Gateway"
|
|
||||||
],
|
|
||||||
"createMethods": ["discovery"],
|
"createMethods": ["discovery"],
|
||||||
"setupMethod": "pushButton",
|
"setupMethod": "pushButton",
|
||||||
"deviceIcon": "Tune",
|
|
||||||
"pairingInfo": "Wait 3 second before you continue, the push button will be pressed automatically.",
|
"pairingInfo": "Wait 3 second before you continue, the push button will be pressed automatically.",
|
||||||
"paramTypes": [ ],
|
"paramTypes": [ ],
|
||||||
"discoveryParamTypes": [
|
"discoveryParamTypes": [
|
||||||
@ -419,13 +401,7 @@
|
|||||||
"id": "296f1fd4-e893-46b2-8a42-50d1bceb8730",
|
"id": "296f1fd4-e893-46b2-8a42-50d1bceb8730",
|
||||||
"name": "mockDisplayPin",
|
"name": "mockDisplayPin",
|
||||||
"displayName": "Mock Device (Display Pin)",
|
"displayName": "Mock Device (Display Pin)",
|
||||||
"deviceIcon": "Tune",
|
|
||||||
"interfaces": ["system"],
|
"interfaces": ["system"],
|
||||||
"basicTags": [
|
|
||||||
"Device",
|
|
||||||
"Actuator",
|
|
||||||
"Gateway"
|
|
||||||
],
|
|
||||||
"createMethods": ["discovery"],
|
"createMethods": ["discovery"],
|
||||||
"setupMethod": "displayPin",
|
"setupMethod": "displayPin",
|
||||||
"pairingInfo": "Please enter the secret which normaly will be displayed on the device. For the mockdevice the pin is 243681.",
|
"pairingInfo": "Please enter the secret which normaly will be displayed on the device. For the mockdevice the pin is 243681.",
|
||||||
@ -528,13 +504,7 @@
|
|||||||
"id": "a71fbde9-9a38-4bf8-beab-c8aade2608ba",
|
"id": "a71fbde9-9a38-4bf8-beab-c8aade2608ba",
|
||||||
"name": "mockParent",
|
"name": "mockParent",
|
||||||
"displayName": "Mock Device (Parent)",
|
"displayName": "Mock Device (Parent)",
|
||||||
"deviceIcon": "Tune",
|
|
||||||
"interfaces": ["system"],
|
"interfaces": ["system"],
|
||||||
"basicTags": [
|
|
||||||
"Device",
|
|
||||||
"Actuator",
|
|
||||||
"Gateway"
|
|
||||||
],
|
|
||||||
"createMethods": ["user"],
|
"createMethods": ["user"],
|
||||||
"paramTypes": [ ],
|
"paramTypes": [ ],
|
||||||
"stateTypes": [
|
"stateTypes": [
|
||||||
@ -556,10 +526,6 @@
|
|||||||
"displayName": "Mock Device (Child)",
|
"displayName": "Mock Device (Child)",
|
||||||
"createMethods": ["auto"],
|
"createMethods": ["auto"],
|
||||||
"paramTypes": [],
|
"paramTypes": [],
|
||||||
"basicTags": [
|
|
||||||
"Device",
|
|
||||||
"Actuator"
|
|
||||||
],
|
|
||||||
"stateTypes": [
|
"stateTypes": [
|
||||||
{
|
{
|
||||||
"id": "d24ede5f-4064-4898-bb84-cfb533b1fbc0",
|
"id": "d24ede5f-4064-4898-bb84-cfb533b1fbc0",
|
||||||
@ -577,10 +543,6 @@
|
|||||||
"id": "515ffdf1-55e5-498d-9abc-4e2fe768f3a9",
|
"id": "515ffdf1-55e5-498d-9abc-4e2fe768f3a9",
|
||||||
"name": "mockInputType",
|
"name": "mockInputType",
|
||||||
"displayName": "Mock Device (InputTypes)",
|
"displayName": "Mock Device (InputTypes)",
|
||||||
"deviceIcon": "Tune",
|
|
||||||
"basicTags": [
|
|
||||||
"Device"
|
|
||||||
],
|
|
||||||
"createMethods": ["user"],
|
"createMethods": ["user"],
|
||||||
"paramTypes": [
|
"paramTypes": [
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user