diff --git a/libnymea-core/cloud/cloudnotifications.cpp b/libnymea-core/cloud/cloudnotifications.cpp index c51c5338..a25e4ffa 100644 --- a/libnymea-core/cloud/cloudnotifications.cpp +++ b/libnymea-core/cloud/cloudnotifications.cpp @@ -46,7 +46,7 @@ QJsonObject CloudNotifications::metaData() const { QVariantMap pluginMetaData; pluginMetaData.insert("id", "ccc6dbc8-e352-48a1-8e87-3c89a4669fc2"); - pluginMetaData.insert("name", "cloudNotifications"); + pluginMetaData.insert("name", "CloudNotifications"); pluginMetaData.insert("displayName", tr("Cloud Notifications")); QVariantList interfaces; @@ -131,6 +131,10 @@ QJsonObject CloudNotifications::metaData() const QVariantList vendors; vendors.append(guhVendor); pluginMetaData.insert("vendors", vendors); + + // Mark this plugin as built-in + pluginMetaData.insert("builtIn", true); + return QJsonObject::fromVariantMap(pluginMetaData); } diff --git a/libnymea-core/jsonrpc/jsonrpcserver.cpp b/libnymea-core/jsonrpc/jsonrpcserver.cpp index 016fda76..a670638f 100644 --- a/libnymea-core/jsonrpc/jsonrpcserver.cpp +++ b/libnymea-core/jsonrpc/jsonrpcserver.cpp @@ -75,7 +75,15 @@ JsonRPCServer::JsonRPCServer(const QSslConfiguration &sslConfiguration, QObject QVariantMap params; params.clear(); returns.clear(); - setDescription("Hello", "Upon first connection, nymea will automatically send a welcome message containing information about the setup. If this message is lost for whatever reason (connections with multiple hops might drop this if nymea sends it too early), the exact same message can be retrieved multiple times by calling this Hello method. Note that the contents might change if the system changed its state in the meantime, e.g. initialSetupRequired might turn false if the initial setup has been performed in the meantime."); + setDescription("Hello", "Initiates a connection. Use this method to perform an initial handshake of the " + "connection. Optionally, a parameter \"locale\" is can be passed to set up the used " + "locale for this connection. Strings such as DeviceClass displayNames etc will be " + "localized to this locale. If this parameter is omitted, the default system locale " + "(depending on the configuration) is used. The reply of this method contains information " + "about this core instance such as version information, uuid and its name. The locale value" + "indicates the locale used for this connection. Note: This method can be called multiple " + "times. The locale used in the last call for this connection will be used. Other values, " + "like initialSetupRequired might change if the setup has been performed in the meantime."); params.insert("o:locale", JsonTypes::basicTypeToString(JsonTypes::String)); setParams("Hello", params); returns.insert("id", JsonTypes::basicTypeToString(JsonTypes::Int)); @@ -84,6 +92,7 @@ JsonRPCServer::JsonRPCServer(const QSslConfiguration &sslConfiguration, QObject returns.insert("version", JsonTypes::basicTypeToString(JsonTypes::String)); returns.insert("uuid", JsonTypes::basicTypeToString(JsonTypes::Uuid)); returns.insert("language", JsonTypes::basicTypeToString(JsonTypes::String)); + returns.insert("locale", JsonTypes::basicTypeToString(JsonTypes::String)); returns.insert("protocol version", JsonTypes::basicTypeToString(JsonTypes::String)); returns.insert("initialSetupRequired", JsonTypes::basicTypeToString(JsonTypes::Bool)); returns.insert("authenticationRequired", JsonTypes::basicTypeToString(JsonTypes::Bool)); @@ -239,7 +248,7 @@ JsonReply *JsonRPCServer::Hello(const QVariantMap ¶ms) qCDebug(dcJsonRpc()) << "Client" << clientId << "initiated handshake." << m_clientLocales.value(clientId); - return createReply(createWelcomeMessage(interface)); + return createReply(createWelcomeMessage(interface, clientId)); } JsonReply* JsonRPCServer::Introspect(const QVariantMap ¶ms) const @@ -475,7 +484,7 @@ void JsonRPCServer::sendUnauthorizedResponse(TransportInterface *interface, cons interface->sendData(clientId, data); } -QVariantMap JsonRPCServer::createWelcomeMessage(TransportInterface *interface) const +QVariantMap JsonRPCServer::createWelcomeMessage(TransportInterface *interface, const QUuid &clientId) const { QVariantMap handshake; handshake.insert("id", 0); @@ -483,7 +492,9 @@ QVariantMap JsonRPCServer::createWelcomeMessage(TransportInterface *interface) c handshake.insert("name", NymeaCore::instance()->configuration()->serverName()); handshake.insert("version", NYMEA_VERSION_STRING); handshake.insert("uuid", NymeaCore::instance()->configuration()->serverUuid().toString()); - handshake.insert("language", NymeaCore::instance()->configuration()->locale().name()); + // "language" is deprecated + handshake.insert("language", m_clientLocales.value(clientId).name()); + handshake.insert("locale", m_clientLocales.value(clientId).name()); handshake.insert("protocol version", JSON_PROTOCOL_VERSION); handshake.insert("initialSetupRequired", (interface->configuration().authenticationEnabled ? NymeaCore::instance()->userManager()->initRequired() : false)); handshake.insert("authenticationRequired", interface->configuration().authenticationEnabled); @@ -612,14 +623,10 @@ void JsonRPCServer::processJsonPacket(TransportInterface *interface, const QUuid qCDebug(dcJsonRpc()) << "Invoking method" << targetNamespace << method.toLatin1().data(); if (targetNamespace != "JSONRPC" || method != "Hello") { + // Unless this is the Hello message, which allows setting the locale explicity, attach the locale + // for this connection // If the client did request a locale in the Hello message, use that locale - if (m_clientLocales.contains(clientId)) { - params.insert("locale", m_clientLocales.value(clientId)); - } - // Otherwise fall back to the locale set in the configuration. - else { - params.insert("locale", NymeaCore::instance()->configuration()->locale()); - } + params.insert("locale", m_clientLocales.value(clientId)); } JsonReply *reply; @@ -757,7 +764,10 @@ void JsonRPCServer::clientConnected(const QUuid &clientId) // If authentication is required, notifications are disabled by default. Clients must enable them with a valid token m_clientNotifications.insert(clientId, !interface->configuration().authenticationEnabled); - interface->sendData(clientId, QJsonDocument::fromVariant(createWelcomeMessage(interface)).toJson(QJsonDocument::Compact)); + // Initialize the connection locale to the settings default + m_clientLocales.insert(clientId, NymeaCore::instance()->configuration()->locale()); + + interface->sendData(clientId, QJsonDocument::fromVariant(createWelcomeMessage(interface, clientId)).toJson(QJsonDocument::Compact)); } void JsonRPCServer::clientDisconnected(const QUuid &clientId) diff --git a/libnymea-core/jsonrpc/jsonrpcserver.h b/libnymea-core/jsonrpc/jsonrpcserver.h index ff246d55..e85a6da6 100644 --- a/libnymea-core/jsonrpc/jsonrpcserver.h +++ b/libnymea-core/jsonrpc/jsonrpcserver.h @@ -77,7 +77,7 @@ private: void sendResponse(TransportInterface *interface, const QUuid &clientId, int commandId, const QVariantMap ¶ms = QVariantMap()); void sendErrorResponse(TransportInterface *interface, const QUuid &clientId, int commandId, const QString &error); void sendUnauthorizedResponse(TransportInterface *interface, const QUuid &clientId, int commandId, const QString &error); - QVariantMap createWelcomeMessage(TransportInterface *interface) const; + QVariantMap createWelcomeMessage(TransportInterface *interface, const QUuid &clientId) const; void processJsonPacket(TransportInterface *interface, const QUuid &clientId, const QByteArray &data); diff --git a/libnymea/plugin/deviceplugin.cpp b/libnymea/plugin/deviceplugin.cpp index 9a52c49a..ca7af802 100644 --- a/libnymea/plugin/deviceplugin.cpp +++ b/libnymea/plugin/deviceplugin.cpp @@ -430,6 +430,11 @@ DeviceManager::DeviceError DevicePlugin::setConfigValue(const ParamTypeId ¶m return DeviceManager::DeviceErrorNoError; } +bool DevicePlugin::isBuiltIn() const +{ + return m_metaData.value("builtIn").toBool(); +} + /*! Returns a pointer to the \l{DeviceManager}. When implementing a plugin, use this to find the \l{Device}{Devices} you need. */ @@ -501,7 +506,7 @@ void DevicePlugin::loadMetaData() // Note: The DevicePlugin has no type class, so we define the json properties here QStringList pluginMandatoryJsonProperties = QStringList() << "id" << "name" << "displayName" << "vendors"; - QStringList pluginJsonProperties = QStringList() << "id" << "name" << "displayName" << "vendors" << "paramTypes"; + QStringList pluginJsonProperties = QStringList() << "id" << "name" << "displayName" << "vendors" << "paramTypes" << "builtIn"; QPair verificationResult = verifyFields(pluginJsonProperties, pluginMandatoryJsonProperties, m_metaData); diff --git a/libnymea/plugin/deviceplugin.h b/libnymea/plugin/deviceplugin.h index f642374a..b3a19389 100644 --- a/libnymea/plugin/deviceplugin.h +++ b/libnymea/plugin/deviceplugin.h @@ -82,6 +82,8 @@ public: QVariant configValue(const ParamTypeId ¶mTypeId) const; DeviceManager::DeviceError setConfigValue(const ParamTypeId ¶mTypeId, const QVariant &value); + bool isBuiltIn() const; + signals: void emitEvent(const Event &event); void devicesDiscovered(const DeviceClassId &deviceClassId, const QList &deviceDescriptors); diff --git a/libnymea/translator.cpp b/libnymea/translator.cpp index 4c678c52..a6639dab 100644 --- a/libnymea/translator.cpp +++ b/libnymea/translator.cpp @@ -137,37 +137,56 @@ void Translator::loadTranslator(DevicePlugin *plugin, const QLocale &locale) } } + bool loaded = false; // check if there are local translations QTranslator* translator = new QTranslator(); - QString pluginId = plugin->pluginId().toString().remove(QRegExp("[{}]")); - bool loaded = false; - foreach (const QString &pluginPath, qgetenv("NYMEA_PLUGINS_PATH").split(':')) { - if (translator->load(locale, pluginId, "-", QDir(pluginPath + "/translations/").absolutePath(), ".qm")) { - qCDebug(dcTranslations()) << "* Loaded translation" << locale.name() << "for plugin" << plugin->pluginName() << "from" << QDir(pluginPath + "/translations/").absolutePath(); + if (plugin->isBuiltIn()) { + if (translator->load(locale, QCoreApplication::instance()->applicationName(), "-", QDir(QCoreApplication::applicationDirPath() + "../../translations/").absolutePath(), ".qm")) { + qCDebug(dcTranslations()) << "* Loaded translation" << locale.name() << "for plugin" << plugin->pluginName() << "from" << QDir(QCoreApplication::applicationDirPath() + "../../translations/").absolutePath() + "/" + QCoreApplication::applicationName() + "-[" + locale.name() + "].qm"; + loaded = true; + } else if (translator->load(locale, QCoreApplication::instance()->applicationName(), "-", NymeaSettings::translationsPath(), ".qm")) { + qCDebug(dcTranslations()) << "* Loaded translation" << locale.name() << "for plugin" << plugin->pluginName() << "from" << NymeaSettings::translationsPath()+ "/" + QCoreApplication::applicationName() + "-[" + locale.name() + "].qm"; loaded = true; - break; } - foreach (const QString &subdir, QDir(pluginPath).entryList(QDir::Dirs | QDir::NoDotAndDotDot)) { - if (translator->load(locale, pluginId, "-", QDir(pluginPath + "/" + subdir + "/translations/").absolutePath(), ".qm")) { - qCDebug(dcTranslations()) << "* Loaded translation" << locale.name() << "for plugin" << plugin->pluginName() << "from" << QDir(pluginPath + "/" + subdir + "/translations/").absolutePath(); + } else { + QString pluginId = plugin->pluginId().toString().remove(QRegExp("[{}]")); + + QStringList searchDirs = QString(qgetenv("NYMEA_PLUGINS_PATH")).split(':'); + searchDirs << QCoreApplication::applicationDirPath() + "/../lib/nymea/plugins"; + searchDirs << QCoreApplication::applicationDirPath() + "/../plugins/"; + searchDirs << QCoreApplication::applicationDirPath() + "/../../../plugins/"; + searchDirs << QString("%1").arg(NYMEA_PLUGINS_PATH); + + foreach (const QString &pluginPath, searchDirs) { + if (translator->load(locale, pluginId, "-", QDir(pluginPath + "/translations/").absolutePath(), ".qm")) { + qCDebug(dcTranslations()) << "* Loaded translation" << locale.name() << "for plugin" << plugin->pluginName() << "from" << QDir(pluginPath + "/translations/").absolutePath(); loaded = true; break; } + foreach (const QString &subdir, QDir(pluginPath).entryList(QDir::Dirs | QDir::NoDotAndDotDot)) { + if (translator->load(locale, pluginId, "-", QDir(pluginPath + "/" + subdir + "/translations/").absolutePath(), ".qm")) { + qCDebug(dcTranslations()) << "* Loaded translation" << locale.name() << "for plugin" << plugin->pluginName() << "from" << QDir(pluginPath + "/" + subdir + "/translations/").absolutePath() + "/" + pluginId + "-[" + locale.name() + "].qm"; + loaded = true; + break; + } + } + if (loaded) { + break; + } } - if (loaded) { - break; + + // otherwise use the system translations + if (!loaded && translator->load(locale, pluginId, "-", NymeaSettings::translationsPath(), ".qm")) { + qCDebug(dcTranslations()) << "* Load translation" << locale.name() << "for" << plugin->pluginName() << "from" << NymeaSettings::translationsPath() + "/" + pluginId + "-[" + locale.name() + "].qm"; + loaded = true; + } + + if (!loaded && locale.name() != "en_US") { + qCWarning(dcTranslations()) << "* Could not load translation" << locale.name() << "for plugin" << plugin->pluginName() << "(" << pluginId << ")"; } } - // otherwise use the system translations - if (!loaded && translator->load(locale, pluginId, "-", NymeaSettings::translationsPath(), ".qm")) { - qCDebug(dcTranslations()) << "* Load translation" << locale.name() << "for" << plugin->pluginName() << "from" << NymeaSettings::translationsPath(); - loaded = true; - } - - if (!loaded && locale.name() != "en_US") - qCWarning(dcTranslations()) << "* Could not load translation" << locale.name() << "for plugin" << plugin->pluginName(); if (!loaded) { translator = m_translatorContexts.value(plugin->pluginId()).translators.value(QLocale("en_US")); diff --git a/nymea.pro b/nymea.pro index 85015b52..60ecd7e9 100644 --- a/nymea.pro +++ b/nymea.pro @@ -23,20 +23,22 @@ test.commands = LD_LIBRARY_PATH=$$top_builddir/libnymea-core:$$top_builddir/libn # Translations: # make lupdate to update .ts files -TRANSLATIONS += $$files(translations/*.ts, true) -TRANSLATIONS += $$files(plugins/mock/translations/*.ts, true) +CORE_TRANSLATIONS += $$files($${top_srcdir}/translations/*.ts, true) +lupdate.commands = lupdate -recursive -no-obsolete $${top_srcdir} -ts $${CORE_TRANSLATIONS}; +PLUGIN_TRANSLATIONS += $$files($${top_srcdir}/plugins/mock/translations/*.ts, true) +lupdate.commands += lupdate -recursive -no-obsolete $${top_builddir}/plugins/mock/ -ts $${PLUGIN_TRANSLATIONS}; lupdate.depends = FORCE -lupdate.commands = lupdate -recursive -no-obsolete $$_FILE_; +TRANSLATIONS = $${CORE_TRANSLATIONS} $${PLUGIN_TRANSLATIONS} # make lrelease to compile .ts to .qm lrelease.depends = FORCE lrelease.commands = lrelease $$_FILE_; \ - rsync -a $$top_srcdir/translations/*.qm $$top_builddir/translations/; + rsync -a $$top_srcdir/translations/*.qm $$top_builddir/translations/; \ + rsync -a $$top_srcdir/plugins/mock/translations/*.qm $$top_builddir/plugins/mock/translations/; first.depends = $(first) lrelease # Install translation files translations.path = /usr/share/nymea/translations -translations.files = $$[QT_SOURCE_TREE]/translations/*.qm translations.depends = lrelease INSTALLS += translations diff --git a/plugins/mock/translations/727a4a9a-c187-446f-aadf-f1b2220607d1-de_DE.ts b/plugins/mock/translations/727a4a9a-c187-446f-aadf-f1b2220607d1-de_DE.ts index 09c28f96..81d12e9b 100644 --- a/plugins/mock/translations/727a4a9a-c187-446f-aadf-f1b2220607d1-de_DE.ts +++ b/plugins/mock/translations/727a4a9a-c187-446f-aadf-f1b2220607d1-de_DE.ts @@ -2,523 +2,748 @@ - CloudNotifications + mockDevice - - - Cloud Notifications + Mock Devices + The name of the plugin mockDevice (727a4a9a-c187-446f-aadf-f1b2220607d1) - - User ID + configParamInt + The name of the ParamType (DeviceClass: mockDevice, Type: plugin, ID: e1f72121-a426-45e2-b475-8262b5cdf103) - - Device + configParamBool + The name of the ParamType (DeviceClass: mockDevice, Type: plugin, ID: c75723b6-ea4f-4982-9751-6c5e39c88145) - - Title + guh GmbH + The name of the vendor (2062d64d-3232-433c-88bc-0d33c0ba2ba6) - - Message text + Mock Device + The name of the DeviceClass (753f0d32-0468-4d08-82ed-1964aab03298) - - Send notification - - - - - connected - - - - - Connected changed - - - - - DevicePluginMock - - - Display pin!! The pin is 243681 - Pin anzeigen!! Der pin lautet 243581 - - - - SimplePushButtonHandler - - - If specified, all D-Bus interfaces will be bound to the session bus instead of the system bus. - - - - - nymea - - - -nymea is an open source IoT (Internet of Things) server, -which allows to control a lot of different devices from many different -manufacturers. With the powerful rule engine you are able to connect any -device available in the system and create individual scenes and behaviors -for your environment. - - - - - - - Run nymead in the foreground, not as daemon. - - - - - Debug categories to enable. Prefix with "No" to disable. Suffix with "Warnings" to address warnings. -Examples: --d AWSTraffic --d NoDeviceManager --d NoBluetoothWarnings - -Categories are: - - - - - Enables all debug categories except *Traffic and *Debug categories. Single debug categories can be disabled again with -d parameter. - - - - - Specify a log file to write to, if this option is not specified, logs will be printed to the standard output. - - - - - If specified, all D-Bus interfaces will be bound to the session bus instead of the system bus. - - - - - No such debug category: - - - - - nymeaserver::DebugServerHandler - - - - Debug nymea - The header title of the debug server interface - - - - - nymea debug interface - The main title of the debug server interface - - - - - Information - The name of the section tab in the debug server interface - - - - - - Network - The name of the section tab in the debug server interface + http port + The name of the ParamType (DeviceClass: mock, Type: device, ID: d4f06047-125e-4479-9810-b54c189917f5) ---------- -The network section of the debug interface +The name of the ParamType (DeviceClass: mockDeviceAuto, Type: device, ID: d4f06047-125e-4479-9810-b54c189917f5) - - Welcome to the debug interface. - The welcome message of the debug interface - - - - - This debug interface was designed to provide an easy possibility to get helpful information about the running nymea server. - - - - - Be aware that this debug interface is a security risk and could offer access to sensible data. - The warning message of the debug interface - - - - - Server information - The server information section of the debug interface - - - - - User - The user name in the server infromation section of the debug interface - - - - - Compiled with Qt version - The Qt build version description in the server infromation section of the debug interface - - - - - Qt runtime version - The Qt runtime version description in the server infromation section of the debug interface - - - - - Command - The command description in the server infromation section of the debug interface - - - - - Snap name - The snap name description in the server infromation section of the debug interface - - - - - Snap version - The snap version description in the server infromation section of the debug interface - - - - - Snap directory - The snap directory description in the server infromation section of the debug interface - - - - - Snap application data - The snap application data description in the server infromation section of the debug interface - - - - - Snap user data - The snap user data description in the server infromation section of the debug interface - - - - - Snap common data - The snap common data description in the server infromation section of the debug interface - - - - - Server name - The server name description in the server infromation section of the debug interface - - - - - Server version - The server version description in the server infromation section of the debug interface - - - - - JSON-RPC version - The API version description in the server infromation section of the debug interface - - - - - Language - The language description in the server infromation section of the debug interface - - - - - Timezone - The timezone description in the server infromation section of the debug interface - - - - - Server UUID - The server id description in the server infromation section of the debug interface - - - - - Settings path - The settings path description in the server infromation section of the debug interface - - - - - Translations path - The translation path description in the server infromation section of the debug interface - - - - - Generate report - In the server information section of the debug interface - - - - - If you want to provide all the debug information to a developer, you can generate a report file, which contains all information needed for reproducing a system and get information about possible problems. - - - - - Do not share these generated information public, since they can contain sensible data and should be shared very carefully and only with people you trust! - The warning message of the debug interface - - - - - Generate report file - The generate debug report button text of the debug interface - - - - - Log database - The log databse download description of the debug interface - - - - - Plugin paths - The plugins path description in the server infromation section of the debug interface - - - - - - Downloads - The name of the section tab in the debug server interface + async + The name of the ParamType (DeviceClass: mock, Type: device, ID: f2977061-4dd0-4ef5-85aa-3b7134743be3) ---------- -The downloads section of the debug interface +The name of the ParamType (DeviceClass: mockDeviceAuto, Type: device, ID: f2977061-4dd0-4ef5-85aa-3b7134743be3) - - - Logs - The name of the section tab in the debug server interface + broken + The name of the ParamType (DeviceClass: mock, Type: device, ID: ae8f8901-f2c1-42a5-8111-6d2fc8e4c1e4) ---------- -The download logs section of the debug interface +The name of the ParamType (DeviceClass: mockDeviceAuto, Type: device, ID: ae8f8901-f2c1-42a5-8111-6d2fc8e4c1e4) - - - - - - - - - - Download - The download button description of the debug interface + resultCount + The name of the ParamType (DeviceClass: mock, Type: discovery, ID: d222adb4-2f9c-4c3f-8655-76400d0fb6ce) +---------- +The name of the ParamType (DeviceClass: mockPushButton, Type: discovery, ID: d222adb4-2f9c-4c3f-8655-76400d0fb6ce) +---------- +The name of the ParamType (DeviceClass: mockDisplayPin, Type: discovery, ID: d222adb4-2f9c-4c3f-8655-76400d0fb6ce) - - System logs - The syslog download description of the debug interface + Dummy int state changed + The name of the autocreated EventType (DeviceClass: mock, StateType: int, ID: 80baec19-54de-4948-ac46-31eabfaceb83) +---------- +The name of the autocreated EventType (DeviceClass: mockDeviceAuto, StateType: int, ID: 80baec19-54de-4948-ac46-31eabfaceb83) - - - - - - - - - Show + Dummy int state + The name of the ParamType for the autocreated EventType (DeviceClass: mock, StateType: int, ID: 80baec19-54de-4948-ac46-31eabfaceb83 +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockDeviceAuto, StateType: int, ID: 80baec19-54de-4948-ac46-31eabfaceb83 - - Settings - The settings download section title of the debug interface + Dummy bool state changed + The name of the autocreated EventType (DeviceClass: mock, StateType: bool, ID: 9dd6a97c-dfd1-43dc-acbd-367932742310) +---------- +The name of the autocreated EventType (DeviceClass: mockDeviceAuto, StateType: boolValue, ID: 9dd6a97c-dfd1-43dc-acbd-367932742310) - - nymead settings - The nymead settings download description of the debug interface + Dummy bool state + The name of the ParamType for the autocreated EventType (DeviceClass: mock, StateType: bool, ID: 9dd6a97c-dfd1-43dc-acbd-367932742310 +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockDeviceAuto, StateType: boolValue, ID: 9dd6a97c-dfd1-43dc-acbd-367932742310 - - Device settings - The device settings download description of the debug interface + Dummy double state changed + The name of the autocreated EventType (DeviceClass: mock, StateType: double, ID: 7cac53ee-7048-4dc9-b000-7b585390f34c) - - Device states settings - The device states settings download description of the debug interface + Dummy double state + The name of the ParamType for the autocreated EventType (DeviceClass: mock, StateType: double, ID: 7cac53ee-7048-4dc9-b000-7b585390f34c - - Rules settings - The rules settings download description of the debug interface + battery level + The name of the autocreated EventType (DeviceClass: mock, StateType: batteryLevel, ID: 6c8ab9a6-0164-4795-b829-f4394fe4edc4) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mock, StateType: batteryLevel, ID: 6c8ab9a6-0164-4795-b829-f4394fe4edc4 - - Plugins settings - The plugins settings download description of the debug interface + battery level critical + The name of the autocreated EventType (DeviceClass: mock, StateType: batteryCritical, ID: 580bc611-1a55-41f3-996f-8d3ccf543db3) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mock, StateType: batteryCritical, ID: 580bc611-1a55-41f3-996f-8d3ccf543db3 - - Tag settings - The tag settings download description of the debug interface + powered changed + The name of the autocreated EventType (DeviceClass: mock, StateType: power, ID: 064aed0d-da4c-49d4-b236-60f97e98ff84) - - MQTT policies - The MQTT policies download description of the debug interface + powered + The name of the ParamType for the autocreated EventType (DeviceClass: mock, StateType: power, ID: 064aed0d-da4c-49d4-b236-60f97e98ff84 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mock, StateType: power, ID: 064aed0d-da4c-49d4-b236-60f97e98ff84) - - This section allows you to perform different network connectivity tests in order to find out if the device where nymea is running has full network connectivity. - The network section description of the debug interface + set power + The name of the autocreated ActionType (DeviceClass: mock, StateType: power, ID: 064aed0d-da4c-49d4-b236-60f97e98ff84) - - Ping - The ping section of the debug interface + Mock Action 1 (with params) + The name of the ActionType dea0f4e1-65e3-4981-8eaa-2701c53a9185 of deviceClass mock +---------- +The name of the ActionType dea0f4e1-65e3-4981-8eaa-2701c53a9185 of deviceClass mockDeviceAuto - - This test makes four ping attempts to the nymea.io server. + mockActionParam1 + The name of the ParamType (DeviceClass: mock, ActionType: withParams, ID: a2d3a256-a551-4712-a65b-ecd5a436a1cb) +---------- +The name of the ParamType (DeviceClass: mockDeviceAuto, ActionType: withParams, ID: a2d3a256-a551-4712-a65b-ecd5a436a1cb) - - Start ping test - The ping button text of the debug interface + mockActionParam2 + The name of the ParamType (DeviceClass: mock, ActionType: withParams, ID: 304a4899-18be-4e3b-94f4-d03be52f3233) +---------- +The name of the ParamType (DeviceClass: mockDeviceAuto, ActionType: withParams, ID: 304a4899-18be-4e3b-94f4-d03be52f3233) - - DNS lookup - The DNS lookup section of the debug interface + Mock Action 2 (without params) + The name of the ActionType defd3ed6-1a0d-400b-8879-a0202cf39935 of deviceClass mock +---------- +The name of the ActionType defd3ed6-1a0d-400b-8879-a0202cf39935 of deviceClass mockDeviceAuto - - This test makes a dynamic name server lookup for nymea.io. + Mock Action 3 (async) + The name of the ActionType fbae06d3-7666-483e-a39e-ec50fe89054e of deviceClass mock +---------- +The name of the ActionType fbae06d3-7666-483e-a39e-ec50fe89054e of deviceClass mockDeviceAuto - - Start DNS lookup test - The ping button text of the debug interface + Mock Action 4 (broken) + The name of the ActionType df3cf33d-26d5-4577-9132-9823bd33fad0 of deviceClass mock +---------- +The name of the ActionType df3cf33d-26d5-4577-9132-9823bd33fad0 of deviceClass mockDeviceAuto - - Trace path - The trace section of the debug interface + Mock Action 5 (async, broken) + The name of the ActionType bfe89a1d-3497-4121-8318-e77c37537219 of deviceClass mock +---------- +The name of the ActionType bfe89a1d-3497-4121-8318-e77c37537219 of deviceClass mockDeviceAuto - - This test showes the trace path from the nymea device to the nymea.io server. + Mock Event 1 + The name of the EventType 45bf3752-0fc6-46b9-89fd-ffd878b5b22b of deviceClass mock +---------- +The name of the EventType 45bf3752-0fc6-46b9-89fd-ffd878b5b22b of deviceClass mockDeviceAuto - - Start trace path test - The trace path button text of the debug interface + Mock Event 2 + The name of the EventType 863d5920-b1cf-4eb9-88bd-8f7b8583b1cf of deviceClass mock +---------- +The name of the EventType 863d5920-b1cf-4eb9-88bd-8f7b8583b1cf of deviceClass mockDeviceAuto - - Server live logs - The network section of the debug interface + mockParamInt + The name of the ParamType (DeviceClass: mock, EventType: mockEvent2, ID: 0550e16d-60b9-4ba5-83f4-4d3cee656121) +---------- +The name of the ParamType (DeviceClass: mockDeviceAuto, EventType: event2, ID: 0550e16d-60b9-4ba5-83f4-4d3cee656121) - - This section allowes you to see the live logs of the nymea server. + Mock Device (Auto created) + The name of the DeviceClass (ab4257b3-7548-47ee-9bd4-7dc3004fd197) + Mock Gerät (Automatisch erzeugt) + + + Wait 3 second before you continue, the push button will be pressed automatically. + The pairing info of deviceClass mockPushButton - - Start logs - The connect button for the log stream of the debug interface + Mock Device (Push Button) + The name of the DeviceClass (9e03144c-e436-4eea-82d9-ccb33ef778db) - - - Released under the GNU GENERAL PUBLIC LICENSE Version 2. - The footer license note of the debug interface + color changed + The name of the autocreated EventType (DeviceClass: mockPushButton, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e) +---------- +The name of the autocreated EventType (DeviceClass: mockDisplayPin, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e) - - Error %1 - The HTTP error message of the debug interface. The %1 represents the error code ie.e 404 + color + The name of the ParamType for the autocreated EventType (DeviceClass: mockPushButton, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockPushButton, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockDisplayPin, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e) - - - - - - - - - - Could not find file "%1". - The HTTP error message of the debug interface. The %1 represents the file name. + Set color + The name of the autocreated ActionType (DeviceClass: mockPushButton, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e) +---------- +The name of the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e) - - - - - - - - - - Could not open file "%1". - The HTTP error message of the debug interface. The %1 represents the file name. + percentage changed + The name of the autocreated EventType (DeviceClass: mockPushButton, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c) +---------- +The name of the autocreated EventType (DeviceClass: mockDisplayPin, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c) + + + + percentage + The name of the ParamType for the autocreated EventType (DeviceClass: mockPushButton, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockPushButton, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockDisplayPin, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c) + + + + Set percentage + The name of the autocreated ActionType (DeviceClass: mockPushButton, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c) +---------- +The name of the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c) + + + + allowed values changed + The name of the autocreated EventType (DeviceClass: mockPushButton, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b) +---------- +The name of the autocreated EventType (DeviceClass: mockDisplayPin, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b) + + + + allowed values + The name of the ParamType for the autocreated EventType (DeviceClass: mockPushButton, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockPushButton, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockDisplayPin, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b) + + + + Set allowed values + The name of the autocreated ActionType (DeviceClass: mockPushButton, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b) +---------- +The name of the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b) + + + + double value changed + The name of the autocreated EventType (DeviceClass: mockPushButton, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c) +---------- +The name of the autocreated EventType (DeviceClass: mockDisplayPin, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c) + + + + double value + The name of the ParamType for the autocreated EventType (DeviceClass: mockPushButton, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockPushButton, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockDisplayPin, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c) + + + + Set double value + The name of the autocreated ActionType (DeviceClass: mockPushButton, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c) +---------- +The name of the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c) + + + + bool value changed + The name of the autocreated EventType (DeviceClass: mockPushButton, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768) +---------- +The name of the autocreated EventType (DeviceClass: mockDisplayPin, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768) +---------- +The name of the autocreated EventType (DeviceClass: mockParent, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0) +---------- +The name of the autocreated EventType (DeviceClass: mockChild, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0) + + + + bool value + The name of the ParamType for the autocreated EventType (DeviceClass: mockPushButton, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockPushButton, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockDisplayPin, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockParent, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockParent, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockChild, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockChild, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0) + + + + Set bool value + The name of the autocreated ActionType (DeviceClass: mockPushButton, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768) +---------- +The name of the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768) +---------- +The name of the autocreated ActionType (DeviceClass: mockParent, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0) +---------- +The name of the autocreated ActionType (DeviceClass: mockChild, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0) + + + + Timeout action + The name of the ActionType 54646e7c-bc54-4895-81a2-590d72d120f9 of deviceClass mockPushButton +---------- +The name of the ActionType 54646e7c-bc54-4895-81a2-590d72d120f9 of deviceClass mockDisplayPin + + + + Please enter the secret which normaly will be displayed on the device. For the mockdevice the pin is 243681. + The pairing info of deviceClass mockDisplayPin + + + + Mock Device (Display Pin) + The name of the DeviceClass (296f1fd4-e893-46b2-8a42-50d1bceb8730) + + + + pin + The name of the ParamType (DeviceClass: mockDisplayPin, Type: device, ID: da820e07-22dc-4173-9c07-2f49a4e265f9) + + + + Mock Device (Parent) + The name of the DeviceClass (a71fbde9-9a38-4bf8-beab-c8aade2608ba) + + + + Mock Device (Child) + The name of the DeviceClass (40893c9f-bc47-40c1-8bf7-b390c7c1b4fc) + + + + Mock Device (InputTypes) + The name of the DeviceClass (515ffdf1-55e5-498d-9abc-4e2fe768f3a9) + + + + Text line + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: e6acf0c7-4b8e-4296-ac62-855d20deb816) + + + + Text area + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: 716f0994-bc01-42b0-b64d-59236f7320d2) + + + + Password text + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: e5c0d14b-c9f1-4aca-a56e-85bfa6977150) + + + + Search text + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: 22add8c9-ee4f-43ad-8931-58e999313ac3) + + + + Mail address + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: a8494faf-3a0f-4cf3-84b7-4b39148a838d) + + + + IPv4 address + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: 9e5f86a0-4bb3-4892-bff8-3fc4032af6e2) + + + + IPv6 address + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: 43bf3832-dd48-4090-a836-656e8b60216e) + + + + URL + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: fa67229f-fcef-496f-b671-59a4b48f3ab5) + + + + Mac address + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: e93db587-7919-48f3-8c88-1651de63c765) + + + + Bool changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: bool, ID: 3bad3a09-5826-4ed7-a832-10e3e2ee2a7d) + + + + Bool + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: bool, ID: 3bad3a09-5826-4ed7-a832-10e3e2ee2a7d + + + + Writable Bool changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableBool, ID: a7c11774-f31f-4d64-99d1-e0ae5fb35a5c) + + + + Writable Bool + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableBool, ID: a7c11774-f31f-4d64-99d1-e0ae5fb35a5c +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableBool, ID: a7c11774-f31f-4d64-99d1-e0ae5fb35a5c) + + + + Set Writable Bool + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableBool, ID: a7c11774-f31f-4d64-99d1-e0ae5fb35a5c) + + + + Int changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: int, ID: d0fc56ae-5791-4e91-b76c-dadfbc7e7dbb) + + + + Int + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: int, ID: d0fc56ae-5791-4e91-b76c-dadfbc7e7dbb + + + + Writable Int changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableInt, ID: 857a8422-983c-47d6-a15f-d8450b3162f7) + + + + Writable Int + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableInt, ID: 857a8422-983c-47d6-a15f-d8450b3162f7 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableInt, ID: 857a8422-983c-47d6-a15f-d8450b3162f7) + + + + Set Writable Int + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableInt, ID: 857a8422-983c-47d6-a15f-d8450b3162f7) + + + + Writable Int (min/max) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableIntMinMax, ID: 86a107bc-510a-4d38-bfeb-0a9c2b6d8d87) + + + + Writable Int (min/max) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableIntMinMax, ID: 86a107bc-510a-4d38-bfeb-0a9c2b6d8d87 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableIntMinMax, ID: 86a107bc-510a-4d38-bfeb-0a9c2b6d8d87) + + + + Set Writable Int (min/max) + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableIntMinMax, ID: 86a107bc-510a-4d38-bfeb-0a9c2b6d8d87) + + + + UInt changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: uint, ID: 19e74fcc-bfd5-491f-8eb6-af128e8f1162) + + + + UInt + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: uint, ID: 19e74fcc-bfd5-491f-8eb6-af128e8f1162 + + + + Writable UInt changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableUInt, ID: 563e9c4c-5198-400a-9f6c-358f4752af58) + + + + Writable UInt + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableUInt, ID: 563e9c4c-5198-400a-9f6c-358f4752af58 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableUInt, ID: 563e9c4c-5198-400a-9f6c-358f4752af58) + + + + Set Writable UInt + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableUInt, ID: 563e9c4c-5198-400a-9f6c-358f4752af58) + + + + Writable UInt (min/max) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableUIntMinMax, ID: 79238998-eaab-4d71-b406-5d78f1749751) + + + + Writable UInt (min/max) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableUIntMinMax, ID: 79238998-eaab-4d71-b406-5d78f1749751 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableUIntMinMax, ID: 79238998-eaab-4d71-b406-5d78f1749751) + + + + Set Writable UInt (min/max) + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableUIntMinMax, ID: 79238998-eaab-4d71-b406-5d78f1749751) + + + + Double changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: double, ID: f7d2063d-959e-46ac-8568-8b99722d3b22) + + + + Double + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: double, ID: f7d2063d-959e-46ac-8568-8b99722d3b22 + + + + Writable Double changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableDouble, ID: 8e2eb91b-d60b-4461-9a50-d7b8ad263170) + + + + Writable Double + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableDouble, ID: 8e2eb91b-d60b-4461-9a50-d7b8ad263170 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableDouble, ID: 8e2eb91b-d60b-4461-9a50-d7b8ad263170) + + + + Set Writable Double + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableDouble, ID: 8e2eb91b-d60b-4461-9a50-d7b8ad263170) + + + + Writable Double (min/max) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableDoubleMinMax, ID: 00d3425e-1da6-4748-8906-4555ceefb136) + + + + Writable Double (min/max) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableDoubleMinMax, ID: 00d3425e-1da6-4748-8906-4555ceefb136 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableDoubleMinMax, ID: 00d3425e-1da6-4748-8906-4555ceefb136) + + + + Set Writable Double (min/max) + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableDoubleMinMax, ID: 00d3425e-1da6-4748-8906-4555ceefb136) + + + + String changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: string, ID: 27f69ca9-a321-40ff-bfee-4b0272a671b4) + + + + String + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: string, ID: 27f69ca9-a321-40ff-bfee-4b0272a671b4 + + + + Writable String changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableString, ID: ef511043-bd1a-4a5f-984c-222b7da43f38) + + + + Writable String + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableString, ID: ef511043-bd1a-4a5f-984c-222b7da43f38 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableString, ID: ef511043-bd1a-4a5f-984c-222b7da43f38) + + + + Set Writable String + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableString, ID: ef511043-bd1a-4a5f-984c-222b7da43f38) + + + + Writable String (selection) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableStringSelection, ID: 209d7afc-6fe9-4fe9-939b-e472ea0ad639) + + + + Writable String (selection) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableStringSelection, ID: 209d7afc-6fe9-4fe9-939b-e472ea0ad639 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableStringSelection, ID: 209d7afc-6fe9-4fe9-939b-e472ea0ad639) + + + + Set Writable String (selection) + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableStringSelection, ID: 209d7afc-6fe9-4fe9-939b-e472ea0ad639) + + + + Color changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: color, ID: 4507d5c6-b692-4bd6-87f2-00364bc0cb4d) + + + + Color + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: color, ID: 4507d5c6-b692-4bd6-87f2-00364bc0cb4d + + + + Writable Color changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableColor, ID: 455f4f68-3cb0-4e8a-a707-62e4a2a8035c) + + + + Writable Color + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableColor, ID: 455f4f68-3cb0-4e8a-a707-62e4a2a8035c +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableColor, ID: 455f4f68-3cb0-4e8a-a707-62e4a2a8035c) + + + + Set Writable Color + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableColor, ID: 455f4f68-3cb0-4e8a-a707-62e4a2a8035c) + + + + Time changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: time, ID: 8250c71e-59bc-41ab-b576-99fcfc34e8d1) + + + + Time + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: time, ID: 8250c71e-59bc-41ab-b576-99fcfc34e8d1 + + + + Writable Time changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableTime, ID: d64c8b3f-ca7d-47f6-b271-867ffd80a4d4) + + + + Writable Time + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableTime, ID: d64c8b3f-ca7d-47f6-b271-867ffd80a4d4 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableTime, ID: d64c8b3f-ca7d-47f6-b271-867ffd80a4d4) + + + + Set Writable Time + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableTime, ID: d64c8b3f-ca7d-47f6-b271-867ffd80a4d4) + + + + Timestamp (Int) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: timestampInt, ID: 2c91b5ef-c2d1-4367-bc65-5a13abf69641) + + + + Timestamp (Int) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: timestampInt, ID: 2c91b5ef-c2d1-4367-bc65-5a13abf69641 + + + + Writable Timestamp (Int) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableTimestampInt, ID: 88b6746a-b009-4df6-8986-d7884ffd94b2) + + + + Writable Timestamp (Int) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableTimestampInt, ID: 88b6746a-b009-4df6-8986-d7884ffd94b2 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableTimestampInt, ID: 88b6746a-b009-4df6-8986-d7884ffd94b2) + + + + Set Writable Timestamp (Int) + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableTimestampInt, ID: 88b6746a-b009-4df6-8986-d7884ffd94b2) + + + + Timestamp (UInt) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: timestampUInt, ID: 6c9a96e8-0d48-4f42-8967-848358fd7f79) + + + + Timestamp (UInt) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: timestampUInt, ID: 6c9a96e8-0d48-4f42-8967-848358fd7f79 + + + + Writable Timestamp (UInt) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableTimestampUInt, ID: 45d0069a-63ac-4265-8170-8152778608ee) + + + + Writable Timestamp (UInt) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableTimestampUInt, ID: 45d0069a-63ac-4265-8170-8152778608ee +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableTimestampUInt, ID: 45d0069a-63ac-4265-8170-8152778608ee) + + + + Set Writable Timestamp (UInt) + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableTimestampUInt, ID: 45d0069a-63ac-4265-8170-8152778608ee) diff --git a/plugins/mock/translations/727a4a9a-c187-446f-aadf-f1b2220607d1-en_US.ts b/plugins/mock/translations/727a4a9a-c187-446f-aadf-f1b2220607d1-en_US.ts index f2b93d60..24941460 100644 --- a/plugins/mock/translations/727a4a9a-c187-446f-aadf-f1b2220607d1-en_US.ts +++ b/plugins/mock/translations/727a4a9a-c187-446f-aadf-f1b2220607d1-en_US.ts @@ -2,523 +2,748 @@ - CloudNotifications + mockDevice - - - Cloud Notifications + Mock Devices + The name of the plugin mockDevice (727a4a9a-c187-446f-aadf-f1b2220607d1) - - User ID + configParamInt + The name of the ParamType (DeviceClass: mockDevice, Type: plugin, ID: e1f72121-a426-45e2-b475-8262b5cdf103) - - Device + configParamBool + The name of the ParamType (DeviceClass: mockDevice, Type: plugin, ID: c75723b6-ea4f-4982-9751-6c5e39c88145) - - Title + guh GmbH + The name of the vendor (2062d64d-3232-433c-88bc-0d33c0ba2ba6) - - Message text + Mock Device + The name of the DeviceClass (753f0d32-0468-4d08-82ed-1964aab03298) - - Send notification - - - - - connected - - - - - Connected changed - - - - - DevicePluginMock - - - Display pin!! The pin is 243681 - - - - - SimplePushButtonHandler - - - If specified, all D-Bus interfaces will be bound to the session bus instead of the system bus. - - - - - nymea - - - -nymea is an open source IoT (Internet of Things) server, -which allows to control a lot of different devices from many different -manufacturers. With the powerful rule engine you are able to connect any -device available in the system and create individual scenes and behaviors -for your environment. - - - - - - - Run nymead in the foreground, not as daemon. - - - - - Debug categories to enable. Prefix with "No" to disable. Suffix with "Warnings" to address warnings. -Examples: --d AWSTraffic --d NoDeviceManager --d NoBluetoothWarnings - -Categories are: - - - - - Enables all debug categories except *Traffic and *Debug categories. Single debug categories can be disabled again with -d parameter. - - - - - Specify a log file to write to, if this option is not specified, logs will be printed to the standard output. - - - - - If specified, all D-Bus interfaces will be bound to the session bus instead of the system bus. - - - - - No such debug category: - - - - - nymeaserver::DebugServerHandler - - - - Debug nymea - The header title of the debug server interface - - - - - nymea debug interface - The main title of the debug server interface - - - - - Information - The name of the section tab in the debug server interface - - - - - - Network - The name of the section tab in the debug server interface + http port + The name of the ParamType (DeviceClass: mock, Type: device, ID: d4f06047-125e-4479-9810-b54c189917f5) ---------- -The network section of the debug interface +The name of the ParamType (DeviceClass: mockDeviceAuto, Type: device, ID: d4f06047-125e-4479-9810-b54c189917f5) - - Welcome to the debug interface. - The welcome message of the debug interface - - - - - This debug interface was designed to provide an easy possibility to get helpful information about the running nymea server. - - - - - Be aware that this debug interface is a security risk and could offer access to sensible data. - The warning message of the debug interface - - - - - Server information - The server information section of the debug interface - - - - - User - The user name in the server infromation section of the debug interface - - - - - Compiled with Qt version - The Qt build version description in the server infromation section of the debug interface - - - - - Qt runtime version - The Qt runtime version description in the server infromation section of the debug interface - - - - - Command - The command description in the server infromation section of the debug interface - - - - - Snap name - The snap name description in the server infromation section of the debug interface - - - - - Snap version - The snap version description in the server infromation section of the debug interface - - - - - Snap directory - The snap directory description in the server infromation section of the debug interface - - - - - Snap application data - The snap application data description in the server infromation section of the debug interface - - - - - Snap user data - The snap user data description in the server infromation section of the debug interface - - - - - Snap common data - The snap common data description in the server infromation section of the debug interface - - - - - Server name - The server name description in the server infromation section of the debug interface - - - - - Server version - The server version description in the server infromation section of the debug interface - - - - - JSON-RPC version - The API version description in the server infromation section of the debug interface - - - - - Language - The language description in the server infromation section of the debug interface - - - - - Timezone - The timezone description in the server infromation section of the debug interface - - - - - Server UUID - The server id description in the server infromation section of the debug interface - - - - - Settings path - The settings path description in the server infromation section of the debug interface - - - - - Translations path - The translation path description in the server infromation section of the debug interface - - - - - Generate report - In the server information section of the debug interface - - - - - If you want to provide all the debug information to a developer, you can generate a report file, which contains all information needed for reproducing a system and get information about possible problems. - - - - - Do not share these generated information public, since they can contain sensible data and should be shared very carefully and only with people you trust! - The warning message of the debug interface - - - - - Generate report file - The generate debug report button text of the debug interface - - - - - Log database - The log databse download description of the debug interface - - - - - Plugin paths - The plugins path description in the server infromation section of the debug interface - - - - - - Downloads - The name of the section tab in the debug server interface + async + The name of the ParamType (DeviceClass: mock, Type: device, ID: f2977061-4dd0-4ef5-85aa-3b7134743be3) ---------- -The downloads section of the debug interface +The name of the ParamType (DeviceClass: mockDeviceAuto, Type: device, ID: f2977061-4dd0-4ef5-85aa-3b7134743be3) - - - Logs - The name of the section tab in the debug server interface + broken + The name of the ParamType (DeviceClass: mock, Type: device, ID: ae8f8901-f2c1-42a5-8111-6d2fc8e4c1e4) ---------- -The download logs section of the debug interface +The name of the ParamType (DeviceClass: mockDeviceAuto, Type: device, ID: ae8f8901-f2c1-42a5-8111-6d2fc8e4c1e4) - - - - - - - - - - Download - The download button description of the debug interface + resultCount + The name of the ParamType (DeviceClass: mock, Type: discovery, ID: d222adb4-2f9c-4c3f-8655-76400d0fb6ce) +---------- +The name of the ParamType (DeviceClass: mockPushButton, Type: discovery, ID: d222adb4-2f9c-4c3f-8655-76400d0fb6ce) +---------- +The name of the ParamType (DeviceClass: mockDisplayPin, Type: discovery, ID: d222adb4-2f9c-4c3f-8655-76400d0fb6ce) - - System logs - The syslog download description of the debug interface + Dummy int state changed + The name of the autocreated EventType (DeviceClass: mock, StateType: int, ID: 80baec19-54de-4948-ac46-31eabfaceb83) +---------- +The name of the autocreated EventType (DeviceClass: mockDeviceAuto, StateType: int, ID: 80baec19-54de-4948-ac46-31eabfaceb83) - - - - - - - - - Show + Dummy int state + The name of the ParamType for the autocreated EventType (DeviceClass: mock, StateType: int, ID: 80baec19-54de-4948-ac46-31eabfaceb83 +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockDeviceAuto, StateType: int, ID: 80baec19-54de-4948-ac46-31eabfaceb83 - - Settings - The settings download section title of the debug interface + Dummy bool state changed + The name of the autocreated EventType (DeviceClass: mock, StateType: bool, ID: 9dd6a97c-dfd1-43dc-acbd-367932742310) +---------- +The name of the autocreated EventType (DeviceClass: mockDeviceAuto, StateType: boolValue, ID: 9dd6a97c-dfd1-43dc-acbd-367932742310) - - nymead settings - The nymead settings download description of the debug interface + Dummy bool state + The name of the ParamType for the autocreated EventType (DeviceClass: mock, StateType: bool, ID: 9dd6a97c-dfd1-43dc-acbd-367932742310 +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockDeviceAuto, StateType: boolValue, ID: 9dd6a97c-dfd1-43dc-acbd-367932742310 - - Device settings - The device settings download description of the debug interface + Dummy double state changed + The name of the autocreated EventType (DeviceClass: mock, StateType: double, ID: 7cac53ee-7048-4dc9-b000-7b585390f34c) - - Device states settings - The device states settings download description of the debug interface + Dummy double state + The name of the ParamType for the autocreated EventType (DeviceClass: mock, StateType: double, ID: 7cac53ee-7048-4dc9-b000-7b585390f34c - - Rules settings - The rules settings download description of the debug interface + battery level + The name of the autocreated EventType (DeviceClass: mock, StateType: batteryLevel, ID: 6c8ab9a6-0164-4795-b829-f4394fe4edc4) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mock, StateType: batteryLevel, ID: 6c8ab9a6-0164-4795-b829-f4394fe4edc4 - - Plugins settings - The plugins settings download description of the debug interface + battery level critical + The name of the autocreated EventType (DeviceClass: mock, StateType: batteryCritical, ID: 580bc611-1a55-41f3-996f-8d3ccf543db3) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mock, StateType: batteryCritical, ID: 580bc611-1a55-41f3-996f-8d3ccf543db3 - - Tag settings - The tag settings download description of the debug interface + powered changed + The name of the autocreated EventType (DeviceClass: mock, StateType: power, ID: 064aed0d-da4c-49d4-b236-60f97e98ff84) - - MQTT policies - The MQTT policies download description of the debug interface + powered + The name of the ParamType for the autocreated EventType (DeviceClass: mock, StateType: power, ID: 064aed0d-da4c-49d4-b236-60f97e98ff84 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mock, StateType: power, ID: 064aed0d-da4c-49d4-b236-60f97e98ff84) - - This section allows you to perform different network connectivity tests in order to find out if the device where nymea is running has full network connectivity. - The network section description of the debug interface + set power + The name of the autocreated ActionType (DeviceClass: mock, StateType: power, ID: 064aed0d-da4c-49d4-b236-60f97e98ff84) - - Ping - The ping section of the debug interface + Mock Action 1 (with params) + The name of the ActionType dea0f4e1-65e3-4981-8eaa-2701c53a9185 of deviceClass mock +---------- +The name of the ActionType dea0f4e1-65e3-4981-8eaa-2701c53a9185 of deviceClass mockDeviceAuto - - This test makes four ping attempts to the nymea.io server. + mockActionParam1 + The name of the ParamType (DeviceClass: mock, ActionType: withParams, ID: a2d3a256-a551-4712-a65b-ecd5a436a1cb) +---------- +The name of the ParamType (DeviceClass: mockDeviceAuto, ActionType: withParams, ID: a2d3a256-a551-4712-a65b-ecd5a436a1cb) - - Start ping test - The ping button text of the debug interface + mockActionParam2 + The name of the ParamType (DeviceClass: mock, ActionType: withParams, ID: 304a4899-18be-4e3b-94f4-d03be52f3233) +---------- +The name of the ParamType (DeviceClass: mockDeviceAuto, ActionType: withParams, ID: 304a4899-18be-4e3b-94f4-d03be52f3233) - - DNS lookup - The DNS lookup section of the debug interface + Mock Action 2 (without params) + The name of the ActionType defd3ed6-1a0d-400b-8879-a0202cf39935 of deviceClass mock +---------- +The name of the ActionType defd3ed6-1a0d-400b-8879-a0202cf39935 of deviceClass mockDeviceAuto - - This test makes a dynamic name server lookup for nymea.io. + Mock Action 3 (async) + The name of the ActionType fbae06d3-7666-483e-a39e-ec50fe89054e of deviceClass mock +---------- +The name of the ActionType fbae06d3-7666-483e-a39e-ec50fe89054e of deviceClass mockDeviceAuto - - Start DNS lookup test - The ping button text of the debug interface + Mock Action 4 (broken) + The name of the ActionType df3cf33d-26d5-4577-9132-9823bd33fad0 of deviceClass mock +---------- +The name of the ActionType df3cf33d-26d5-4577-9132-9823bd33fad0 of deviceClass mockDeviceAuto - - Trace path - The trace section of the debug interface + Mock Action 5 (async, broken) + The name of the ActionType bfe89a1d-3497-4121-8318-e77c37537219 of deviceClass mock +---------- +The name of the ActionType bfe89a1d-3497-4121-8318-e77c37537219 of deviceClass mockDeviceAuto - - This test showes the trace path from the nymea device to the nymea.io server. + Mock Event 1 + The name of the EventType 45bf3752-0fc6-46b9-89fd-ffd878b5b22b of deviceClass mock +---------- +The name of the EventType 45bf3752-0fc6-46b9-89fd-ffd878b5b22b of deviceClass mockDeviceAuto - - Start trace path test - The trace path button text of the debug interface + Mock Event 2 + The name of the EventType 863d5920-b1cf-4eb9-88bd-8f7b8583b1cf of deviceClass mock +---------- +The name of the EventType 863d5920-b1cf-4eb9-88bd-8f7b8583b1cf of deviceClass mockDeviceAuto - - Server live logs - The network section of the debug interface + mockParamInt + The name of the ParamType (DeviceClass: mock, EventType: mockEvent2, ID: 0550e16d-60b9-4ba5-83f4-4d3cee656121) +---------- +The name of the ParamType (DeviceClass: mockDeviceAuto, EventType: event2, ID: 0550e16d-60b9-4ba5-83f4-4d3cee656121) - - This section allowes you to see the live logs of the nymea server. + Mock Device (Auto created) + The name of the DeviceClass (ab4257b3-7548-47ee-9bd4-7dc3004fd197) - - Start logs - The connect button for the log stream of the debug interface + Wait 3 second before you continue, the push button will be pressed automatically. + The pairing info of deviceClass mockPushButton - - - Released under the GNU GENERAL PUBLIC LICENSE Version 2. - The footer license note of the debug interface + Mock Device (Push Button) + The name of the DeviceClass (9e03144c-e436-4eea-82d9-ccb33ef778db) - - Error %1 - The HTTP error message of the debug interface. The %1 represents the error code ie.e 404 + color changed + The name of the autocreated EventType (DeviceClass: mockPushButton, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e) +---------- +The name of the autocreated EventType (DeviceClass: mockDisplayPin, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e) - - - - - - - - - - Could not find file "%1". - The HTTP error message of the debug interface. The %1 represents the file name. + color + The name of the ParamType for the autocreated EventType (DeviceClass: mockPushButton, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockPushButton, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockDisplayPin, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e) - - - - - - - - - - Could not open file "%1". - The HTTP error message of the debug interface. The %1 represents the file name. + Set color + The name of the autocreated ActionType (DeviceClass: mockPushButton, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e) +---------- +The name of the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: color, ID: 20dc7c22-c50e-42db-837c-2bbced939f8e) + + + + percentage changed + The name of the autocreated EventType (DeviceClass: mockPushButton, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c) +---------- +The name of the autocreated EventType (DeviceClass: mockDisplayPin, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c) + + + + percentage + The name of the ParamType for the autocreated EventType (DeviceClass: mockPushButton, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockPushButton, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockDisplayPin, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c) + + + + Set percentage + The name of the autocreated ActionType (DeviceClass: mockPushButton, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c) +---------- +The name of the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: percentage, ID: 72981c04-267a-4ba0-a59e-9921d2f3af9c) + + + + allowed values changed + The name of the autocreated EventType (DeviceClass: mockPushButton, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b) +---------- +The name of the autocreated EventType (DeviceClass: mockDisplayPin, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b) + + + + allowed values + The name of the ParamType for the autocreated EventType (DeviceClass: mockPushButton, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockPushButton, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockDisplayPin, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b) + + + + Set allowed values + The name of the autocreated ActionType (DeviceClass: mockPushButton, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b) +---------- +The name of the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: allowedValues, ID: 05f63f9c-f61e-4dcf-ad55-3f13fde2765b) + + + + double value changed + The name of the autocreated EventType (DeviceClass: mockPushButton, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c) +---------- +The name of the autocreated EventType (DeviceClass: mockDisplayPin, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c) + + + + double value + The name of the ParamType for the autocreated EventType (DeviceClass: mockPushButton, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockPushButton, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockDisplayPin, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c) + + + + Set double value + The name of the autocreated ActionType (DeviceClass: mockPushButton, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c) +---------- +The name of the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: double, ID: 53cd7c55-49b7-441b-b970-9048f20f0e2c) + + + + bool value changed + The name of the autocreated EventType (DeviceClass: mockPushButton, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768) +---------- +The name of the autocreated EventType (DeviceClass: mockDisplayPin, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768) +---------- +The name of the autocreated EventType (DeviceClass: mockParent, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0) +---------- +The name of the autocreated EventType (DeviceClass: mockChild, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0) + + + + bool value + The name of the ParamType for the autocreated EventType (DeviceClass: mockPushButton, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockPushButton, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockDisplayPin, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockParent, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockParent, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0) +---------- +The name of the ParamType for the autocreated EventType (DeviceClass: mockChild, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockChild, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0) + + + + Set bool value + The name of the autocreated ActionType (DeviceClass: mockPushButton, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768) +---------- +The name of the autocreated ActionType (DeviceClass: mockDisplayPin, StateType: bool, ID: e680f7a4-b39e-46da-be41-fa3170fe3768) +---------- +The name of the autocreated ActionType (DeviceClass: mockParent, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0) +---------- +The name of the autocreated ActionType (DeviceClass: mockChild, StateType: boolValue, ID: d24ede5f-4064-4898-bb84-cfb533b1fbc0) + + + + Timeout action + The name of the ActionType 54646e7c-bc54-4895-81a2-590d72d120f9 of deviceClass mockPushButton +---------- +The name of the ActionType 54646e7c-bc54-4895-81a2-590d72d120f9 of deviceClass mockDisplayPin + + + + Please enter the secret which normaly will be displayed on the device. For the mockdevice the pin is 243681. + The pairing info of deviceClass mockDisplayPin + + + + Mock Device (Display Pin) + The name of the DeviceClass (296f1fd4-e893-46b2-8a42-50d1bceb8730) + + + + pin + The name of the ParamType (DeviceClass: mockDisplayPin, Type: device, ID: da820e07-22dc-4173-9c07-2f49a4e265f9) + + + + Mock Device (Parent) + The name of the DeviceClass (a71fbde9-9a38-4bf8-beab-c8aade2608ba) + + + + Mock Device (Child) + The name of the DeviceClass (40893c9f-bc47-40c1-8bf7-b390c7c1b4fc) + + + + Mock Device (InputTypes) + The name of the DeviceClass (515ffdf1-55e5-498d-9abc-4e2fe768f3a9) + + + + Text line + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: e6acf0c7-4b8e-4296-ac62-855d20deb816) + + + + Text area + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: 716f0994-bc01-42b0-b64d-59236f7320d2) + + + + Password text + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: e5c0d14b-c9f1-4aca-a56e-85bfa6977150) + + + + Search text + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: 22add8c9-ee4f-43ad-8931-58e999313ac3) + + + + Mail address + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: a8494faf-3a0f-4cf3-84b7-4b39148a838d) + + + + IPv4 address + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: 9e5f86a0-4bb3-4892-bff8-3fc4032af6e2) + + + + IPv6 address + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: 43bf3832-dd48-4090-a836-656e8b60216e) + + + + URL + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: fa67229f-fcef-496f-b671-59a4b48f3ab5) + + + + Mac address + The name of the ParamType (DeviceClass: mockInputType, Type: device, ID: e93db587-7919-48f3-8c88-1651de63c765) + + + + Bool changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: bool, ID: 3bad3a09-5826-4ed7-a832-10e3e2ee2a7d) + + + + Bool + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: bool, ID: 3bad3a09-5826-4ed7-a832-10e3e2ee2a7d + + + + Writable Bool changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableBool, ID: a7c11774-f31f-4d64-99d1-e0ae5fb35a5c) + + + + Writable Bool + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableBool, ID: a7c11774-f31f-4d64-99d1-e0ae5fb35a5c +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableBool, ID: a7c11774-f31f-4d64-99d1-e0ae5fb35a5c) + + + + Set Writable Bool + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableBool, ID: a7c11774-f31f-4d64-99d1-e0ae5fb35a5c) + + + + Int changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: int, ID: d0fc56ae-5791-4e91-b76c-dadfbc7e7dbb) + + + + Int + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: int, ID: d0fc56ae-5791-4e91-b76c-dadfbc7e7dbb + + + + Writable Int changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableInt, ID: 857a8422-983c-47d6-a15f-d8450b3162f7) + + + + Writable Int + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableInt, ID: 857a8422-983c-47d6-a15f-d8450b3162f7 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableInt, ID: 857a8422-983c-47d6-a15f-d8450b3162f7) + + + + Set Writable Int + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableInt, ID: 857a8422-983c-47d6-a15f-d8450b3162f7) + + + + Writable Int (min/max) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableIntMinMax, ID: 86a107bc-510a-4d38-bfeb-0a9c2b6d8d87) + + + + Writable Int (min/max) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableIntMinMax, ID: 86a107bc-510a-4d38-bfeb-0a9c2b6d8d87 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableIntMinMax, ID: 86a107bc-510a-4d38-bfeb-0a9c2b6d8d87) + + + + Set Writable Int (min/max) + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableIntMinMax, ID: 86a107bc-510a-4d38-bfeb-0a9c2b6d8d87) + + + + UInt changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: uint, ID: 19e74fcc-bfd5-491f-8eb6-af128e8f1162) + + + + UInt + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: uint, ID: 19e74fcc-bfd5-491f-8eb6-af128e8f1162 + + + + Writable UInt changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableUInt, ID: 563e9c4c-5198-400a-9f6c-358f4752af58) + + + + Writable UInt + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableUInt, ID: 563e9c4c-5198-400a-9f6c-358f4752af58 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableUInt, ID: 563e9c4c-5198-400a-9f6c-358f4752af58) + + + + Set Writable UInt + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableUInt, ID: 563e9c4c-5198-400a-9f6c-358f4752af58) + + + + Writable UInt (min/max) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableUIntMinMax, ID: 79238998-eaab-4d71-b406-5d78f1749751) + + + + Writable UInt (min/max) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableUIntMinMax, ID: 79238998-eaab-4d71-b406-5d78f1749751 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableUIntMinMax, ID: 79238998-eaab-4d71-b406-5d78f1749751) + + + + Set Writable UInt (min/max) + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableUIntMinMax, ID: 79238998-eaab-4d71-b406-5d78f1749751) + + + + Double changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: double, ID: f7d2063d-959e-46ac-8568-8b99722d3b22) + + + + Double + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: double, ID: f7d2063d-959e-46ac-8568-8b99722d3b22 + + + + Writable Double changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableDouble, ID: 8e2eb91b-d60b-4461-9a50-d7b8ad263170) + + + + Writable Double + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableDouble, ID: 8e2eb91b-d60b-4461-9a50-d7b8ad263170 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableDouble, ID: 8e2eb91b-d60b-4461-9a50-d7b8ad263170) + + + + Set Writable Double + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableDouble, ID: 8e2eb91b-d60b-4461-9a50-d7b8ad263170) + + + + Writable Double (min/max) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableDoubleMinMax, ID: 00d3425e-1da6-4748-8906-4555ceefb136) + + + + Writable Double (min/max) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableDoubleMinMax, ID: 00d3425e-1da6-4748-8906-4555ceefb136 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableDoubleMinMax, ID: 00d3425e-1da6-4748-8906-4555ceefb136) + + + + Set Writable Double (min/max) + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableDoubleMinMax, ID: 00d3425e-1da6-4748-8906-4555ceefb136) + + + + String changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: string, ID: 27f69ca9-a321-40ff-bfee-4b0272a671b4) + + + + String + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: string, ID: 27f69ca9-a321-40ff-bfee-4b0272a671b4 + + + + Writable String changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableString, ID: ef511043-bd1a-4a5f-984c-222b7da43f38) + + + + Writable String + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableString, ID: ef511043-bd1a-4a5f-984c-222b7da43f38 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableString, ID: ef511043-bd1a-4a5f-984c-222b7da43f38) + + + + Set Writable String + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableString, ID: ef511043-bd1a-4a5f-984c-222b7da43f38) + + + + Writable String (selection) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableStringSelection, ID: 209d7afc-6fe9-4fe9-939b-e472ea0ad639) + + + + Writable String (selection) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableStringSelection, ID: 209d7afc-6fe9-4fe9-939b-e472ea0ad639 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableStringSelection, ID: 209d7afc-6fe9-4fe9-939b-e472ea0ad639) + + + + Set Writable String (selection) + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableStringSelection, ID: 209d7afc-6fe9-4fe9-939b-e472ea0ad639) + + + + Color changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: color, ID: 4507d5c6-b692-4bd6-87f2-00364bc0cb4d) + + + + Color + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: color, ID: 4507d5c6-b692-4bd6-87f2-00364bc0cb4d + + + + Writable Color changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableColor, ID: 455f4f68-3cb0-4e8a-a707-62e4a2a8035c) + + + + Writable Color + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableColor, ID: 455f4f68-3cb0-4e8a-a707-62e4a2a8035c +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableColor, ID: 455f4f68-3cb0-4e8a-a707-62e4a2a8035c) + + + + Set Writable Color + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableColor, ID: 455f4f68-3cb0-4e8a-a707-62e4a2a8035c) + + + + Time changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: time, ID: 8250c71e-59bc-41ab-b576-99fcfc34e8d1) + + + + Time + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: time, ID: 8250c71e-59bc-41ab-b576-99fcfc34e8d1 + + + + Writable Time changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableTime, ID: d64c8b3f-ca7d-47f6-b271-867ffd80a4d4) + + + + Writable Time + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableTime, ID: d64c8b3f-ca7d-47f6-b271-867ffd80a4d4 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableTime, ID: d64c8b3f-ca7d-47f6-b271-867ffd80a4d4) + + + + Set Writable Time + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableTime, ID: d64c8b3f-ca7d-47f6-b271-867ffd80a4d4) + + + + Timestamp (Int) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: timestampInt, ID: 2c91b5ef-c2d1-4367-bc65-5a13abf69641) + + + + Timestamp (Int) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: timestampInt, ID: 2c91b5ef-c2d1-4367-bc65-5a13abf69641 + + + + Writable Timestamp (Int) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableTimestampInt, ID: 88b6746a-b009-4df6-8986-d7884ffd94b2) + + + + Writable Timestamp (Int) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableTimestampInt, ID: 88b6746a-b009-4df6-8986-d7884ffd94b2 +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableTimestampInt, ID: 88b6746a-b009-4df6-8986-d7884ffd94b2) + + + + Set Writable Timestamp (Int) + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableTimestampInt, ID: 88b6746a-b009-4df6-8986-d7884ffd94b2) + + + + Timestamp (UInt) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: timestampUInt, ID: 6c9a96e8-0d48-4f42-8967-848358fd7f79) + + + + Timestamp (UInt) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: timestampUInt, ID: 6c9a96e8-0d48-4f42-8967-848358fd7f79 + + + + Writable Timestamp (UInt) changed + The name of the autocreated EventType (DeviceClass: mockInputType, StateType: writableTimestampUInt, ID: 45d0069a-63ac-4265-8170-8152778608ee) + + + + Writable Timestamp (UInt) + The name of the ParamType for the autocreated EventType (DeviceClass: mockInputType, StateType: writableTimestampUInt, ID: 45d0069a-63ac-4265-8170-8152778608ee +---------- +The name of the ParamType for the autocreated ActionType (DeviceClass: mockInputType, StateType: writableTimestampUInt, ID: 45d0069a-63ac-4265-8170-8152778608ee) + + + + Set Writable Timestamp (UInt) + The name of the autocreated ActionType (DeviceClass: mockInputType, StateType: writableTimestampUInt, ID: 45d0069a-63ac-4265-8170-8152778608ee) diff --git a/plugins/plugins.pri b/plugins/plugins.pri index 48bd0855..0938aec8 100644 --- a/plugins/plugins.pri +++ b/plugins/plugins.pri @@ -3,7 +3,7 @@ include(../nymea.pri) TEMPLATE = lib CONFIG += plugin -QT += network bluetooth +QT += network INCLUDEPATH += $$top_srcdir/libnymea LIBS += -L../../libnymea -lnymea diff --git a/server/main.cpp b/server/main.cpp index b2548f2f..04b79175 100644 --- a/server/main.cpp +++ b/server/main.cpp @@ -146,7 +146,7 @@ int main(int argc, char *argv[]) // check if there are local translations if (!translator.load(QLocale::system(), application.applicationName(), "-", QDir(QCoreApplication::applicationDirPath() + "../../translations/").absolutePath(), ".qm")) if (!translator.load(QLocale::system(), application.applicationName(), "-", NymeaSettings::translationsPath(), ".qm")) - qWarning(dcApplication()) << "Could not find nymead translations for" << QLocale::system().name() << endl << (QDir(QCoreApplication::applicationDirPath() + "../../translations/").absolutePath()) << endl << NymeaSettings::translationsPath(); + qWarning(dcTranslations()) << "Could not find nymead translations for" << QLocale::system().name() << endl << (QDir(QCoreApplication::applicationDirPath() + "../../translations/").absolutePath()) << endl << NymeaSettings::translationsPath(); diff --git a/tests/auto/jsonrpc/testjsonrpc.cpp b/tests/auto/jsonrpc/testjsonrpc.cpp index 4bc529b7..07c5e4cf 100644 --- a/tests/auto/jsonrpc/testjsonrpc.cpp +++ b/tests/auto/jsonrpc/testjsonrpc.cpp @@ -35,6 +35,8 @@ private slots: void testHandshake(); + void testHandshakeLocale(); + void testInitialSetup(); void testRevokeToken(); @@ -131,7 +133,9 @@ void TestJSONRPC::initTestCase() { NymeaTestBase::initTestCase(); QLoggingCategory::setFilterRules("*.debug=false\n" - "JsonRpc*.debug=true"); +// "JsonRpc*.debug=true\n" + "Translations.debug=true\n" + "Tests.debug=true"); } void TestJSONRPC::testHandshake() @@ -170,6 +174,42 @@ void TestJSONRPC::testHandshake() QCOMPARE(handShake.value("params").toMap().value("version").toString(), nymeaVersionString); } +void TestJSONRPC::testHandshakeLocale() +{ + // first test if the handshake message is auto-sent upon connecting + QSignalSpy spy(m_mockTcpServer, SIGNAL(outgoingData(QUuid,QByteArray))); + + // Test withouth locale data + QVariantMap handShake = injectAndWait("JSONRPC.Hello").toMap(); + QCOMPARE(handShake.value("params").toMap().value("locale").toString(), QString("en_US")); + + QVariantMap supportedDevices = injectAndWait("Devices.GetSupportedDevices").toMap(); + bool found = false; + foreach (const QVariant &dcMap, supportedDevices.value("params").toMap().value("deviceClasses").toList()) { + if (dcMap.toMap().value("id").toUuid() == mockDeviceAutoClassId) { + QCOMPARE(dcMap.toMap().value("displayName").toString(), QString("Mock Device (Auto created)")); + found = true; + } + } + QVERIFY(found); + + // And now with locale info + QVariantMap params; + params.insert("locale", "de_DE"); + handShake = injectAndWait("JSONRPC.Hello", params).toMap(); + QCOMPARE(handShake.value("params").toMap().value("locale").toString(), QString("de_DE")); + + supportedDevices = injectAndWait("Devices.GetSupportedDevices").toMap(); + found = false; + foreach (const QVariant &dcMap, supportedDevices.value("params").toMap().value("deviceClasses").toList()) { + if (dcMap.toMap().value("id").toUuid() == mockDeviceAutoClassId) { + QCOMPARE(dcMap.toMap().value("displayName").toString(), QString("Mock Gerät (Automatisch erzeugt)")); + found = true; + } + } + QVERIFY(found); +} + void TestJSONRPC::testInitialSetup() { foreach (const QString &user, NymeaCore::instance()->userManager()->users()) {