From b7cb808557fdc0a0aaa21f6b74a346e2e36fb514 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Mon, 25 Oct 2021 12:59:59 +0200 Subject: [PATCH] Remove simulation plugins, moving them to nymea-plugins-simulation repository --- debian/control | 16 - debian/nymea-plugin-simulation.install.in | 1 - nymea-plugins.pro | 1 - simulation/README.md | 3 - simulation/integrationpluginsimulation.cpp | 923 ------------ simulation/integrationpluginsimulation.h | 79 - simulation/integrationpluginsimulation.json | 1311 ----------------- simulation/meta.json | 12 - simulation/simulation.pro | 9 - simulation/simulation.svg | 18 - ...b7368429-e312-4c82-9eab-e1cd996e43d6-de.ts | 1207 --------------- ...68429-e312-4c82-9eab-e1cd996e43d6-en_US.ts | 1207 --------------- 12 files changed, 4787 deletions(-) delete mode 100644 debian/nymea-plugin-simulation.install.in delete mode 100644 simulation/README.md delete mode 100644 simulation/integrationpluginsimulation.cpp delete mode 100644 simulation/integrationpluginsimulation.h delete mode 100644 simulation/integrationpluginsimulation.json delete mode 100644 simulation/meta.json delete mode 100644 simulation/simulation.pro delete mode 100644 simulation/simulation.svg delete mode 100644 simulation/translations/b7368429-e312-4c82-9eab-e1cd996e43d6-de.ts delete mode 100644 simulation/translations/b7368429-e312-4c82-9eab-e1cd996e43d6-en_US.ts diff --git a/debian/control b/debian/control index efd438b8..73ccaeb6 100644 --- a/debian/control +++ b/debian/control @@ -961,21 +961,6 @@ Description: nymea.io plugin for Shelly devices This package will install the nymea.io plugin for Shelly devices -Package: nymea-plugin-simulation -Architecture: any -Depends: ${shlibs:Depends}, - ${misc:Depends}, - nymea-plugins-translations, -Description: nymea.io plugin for simulated devices - The nymea daemon is a plugin based IoT (Internet of Things) server. The - server works like a translator for devices, things and services and - allows them to interact. - 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. - . - This package will install the nymea.io plugin for simulated devices - - Package: nymea-plugin-simpleheatpump Architecture: any Depends: ${shlibs:Depends}, @@ -1400,7 +1385,6 @@ Package: nymea-plugins-all Section: libs Architecture: all Depends: nymea-plugins, - nymea-plugin-simulation, nymea-plugins-maker, nymea-plugins-merkurboard, Description: Plugins for nymea IoT server - Meta package for all plugins diff --git a/debian/nymea-plugin-simulation.install.in b/debian/nymea-plugin-simulation.install.in deleted file mode 100644 index a982bfe9..00000000 --- a/debian/nymea-plugin-simulation.install.in +++ /dev/null @@ -1 +0,0 @@ -usr/lib/@DEB_HOST_MULTIARCH@/nymea/plugins/libnymea_integrationpluginsimulation.so diff --git a/nymea-plugins.pro b/nymea-plugins.pro index 1118b516..e5539acf 100644 --- a/nymea-plugins.pro +++ b/nymea-plugins.pro @@ -55,7 +55,6 @@ PLUGIN_DIRS = \ senic \ serialportcommander \ sgready \ - simulation \ simpleheatpump \ sma \ somfytahoma \ diff --git a/simulation/README.md b/simulation/README.md deleted file mode 100644 index a7b41d79..00000000 --- a/simulation/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Simulation - -This plugin contains many different simulated device in order to play with the system if you don't have any devices around or as a showcase for nymea. diff --git a/simulation/integrationpluginsimulation.cpp b/simulation/integrationpluginsimulation.cpp deleted file mode 100644 index 675f336c..00000000 --- a/simulation/integrationpluginsimulation.cpp +++ /dev/null @@ -1,923 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -* -* Copyright 2013 - 2020, nymea GmbH -* Contact: contact@nymea.io -* -* This file is part of nymea. -* This project including source code and documentation is protected by -* copyright law, and remains the property of nymea GmbH. All rights, including -* reproduction, publication, editing and translation, are reserved. The use of -* this project is subject to the terms of a license agreement to be concluded -* with nymea GmbH in accordance with the terms of use of nymea GmbH, available -* under https://nymea.io/license -* -* GNU Lesser General Public License Usage -* Alternatively, this project may be redistributed and/or modified under the -* terms of the GNU Lesser General Public License as published by the Free -* Software Foundation; version 3. This project is distributed in the hope that -* it will be useful, but WITHOUT ANY WARRANTY; without even the implied -* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public License -* along with this project. If not, see . -* -* For any further details and any questions please contact us under -* contact@nymea.io or see our FAQ/Licensing Information on -* https://nymea.io/license/faq -* -* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -#include "integrationpluginsimulation.h" -#include "plugininfo.h" - -#include -#include -#include -#include - -IntegrationPluginSimulation::IntegrationPluginSimulation() -{ - -} - -IntegrationPluginSimulation::~IntegrationPluginSimulation() -{ - hardwareManager()->pluginTimerManager()->unregisterTimer(m_pluginTimer20Seconds); - hardwareManager()->pluginTimerManager()->unregisterTimer(m_pluginTimer5Min); -} - -void IntegrationPluginSimulation::init() -{ - // Seed the random generator with current time - qsrand(QDateTime::currentMSecsSinceEpoch() / 1000); - - // Change some values every 20 seconds - m_pluginTimer20Seconds = hardwareManager()->pluginTimerManager()->registerTimer(20); - connect(m_pluginTimer20Seconds, &PluginTimer::timeout, this, &IntegrationPluginSimulation::onPluginTimer20Seconds); - - // Change some values every 5 min - m_pluginTimer5Min = hardwareManager()->pluginTimerManager()->registerTimer(300); - connect(m_pluginTimer5Min, &PluginTimer::timeout, this, &IntegrationPluginSimulation::onPluginTimer5Minutes); -} - -void IntegrationPluginSimulation::setupThing(ThingSetupInfo *info) -{ - Thing *thing = info->thing(); - qCDebug(dcSimulation()) << "Set up thing" << thing->name(); - if (thing->thingClassId() == garageGateThingClassId || - thing->thingClassId() == extendedAwningThingClassId || - thing->thingClassId() == extendedBlindThingClassId || - thing->thingClassId() == venetianBlindThingClassId || - thing->thingClassId() == rollerShutterThingClassId || - thing->thingClassId() == fingerPrintSensorThingClassId || - thing->thingClassId() == barcodeScannerThingClassId || - thing->thingClassId() == contactSensorThingClassId || - thing->thingClassId() == waterSensorThingClassId || - thing->thingClassId() == cleaningRobotThingClassId) { - m_simulationTimers.insert(thing, new QTimer(thing)); - connect(m_simulationTimers[thing], &QTimer::timeout, this, &IntegrationPluginSimulation::simulationTimerTimeout); - } - if (thing->thingClassId() == fingerPrintSensorThingClassId && thing->stateValue(fingerPrintSensorUsersStateTypeId).toStringList().count() > 0) { - m_simulationTimers.value(thing)->start(10000); - } - if (thing->thingClassId() == barcodeScannerThingClassId) { - m_simulationTimers.value(thing)->start(10000); - } - if (thing->thingClassId() == thermostatThingClassId) { - QTimer *t = new QTimer(thing); - connect(t, &QTimer::timeout, thing, [thing](){ - double targetTemp = thing->stateValue(thermostatTargetTemperatureStateTypeId).toDouble(); - double currentTemp = thing->stateValue(thermostatTemperatureStateTypeId).toDouble(); - bool heatingOn = thing->stateValue(thermostatHeatingOnStateTypeId).toBool(); - bool coolingOn = thing->stateValue(thermostatCoolingOnStateTypeId).toBool(); - bool boost = thing->stateValue(thermostatBoostStateTypeId).toBool(); - - // When we're heating, temp increases slowly until it's up on par with target temp - if (heatingOn) { - double diff = targetTemp - currentTemp; - currentTemp += 0.005 + diff * (boost ? 0.2 : 0.1); - if (currentTemp >= targetTemp) { - thing->setStateValue(thermostatHeatingOnStateTypeId, false); - } - } else { - // Decrease 1% per interval to simulate drop of temperature (assuming it's cold outside) - currentTemp = currentTemp * 0.995; - - // Start heating when we're more than 2 degrees lower than what we should be - if (currentTemp < targetTemp - 2) { - thing->setStateValue(thermostatHeatingOnStateTypeId, true); - } - } - - if (coolingOn) { - double diff = targetTemp - currentTemp; - currentTemp += diff * 0.1; - if (currentTemp <= targetTemp) { - thing->setStateValue(thermostatCoolingOnStateTypeId, false); - } - } else { - if (currentTemp > targetTemp + 2) { - thing->setStateValue(thermostatCoolingOnStateTypeId, true); - } - } - - thing->setStateValue(thermostatTemperatureStateTypeId, currentTemp); - }); - t->start(10000); - } - - if (thing->thingClassId() == contactSensorThingClassId) { - m_simulationTimers.value(thing)->start(10000); - } - if (thing->thingClassId() == waterSensorThingClassId) { - m_simulationTimers.value(thing)->start(10000); - } - info->finish(Thing::ThingErrorNoError); -} - -void IntegrationPluginSimulation::thingRemoved(Thing *thing) -{ - // Clean up any timers we may have for this thing - if (m_simulationTimers.contains(thing)) { - QTimer *t = m_simulationTimers.take(thing); - t->stop(); - t->deleteLater(); - } -} - -void IntegrationPluginSimulation::executeAction(ThingActionInfo *info) -{ - Thing *thing = info->thing(); - Action action = info->action(); - // Check the ThingClassId for "Simple Button" - if (thing->thingClassId() == simpleButtonThingClassId ) { - - // check if this is the "press" action - if (action.actionTypeId() == simpleButtonTriggerActionTypeId) { - - // Emit the "button pressed" event - qCDebug(dcSimulation()) << "Emit button pressed event for" << thing->name(); - Event event(simpleButtonPressedEventTypeId, thing->id()); - emit emitEvent(event); - - return info->finish(Thing::ThingErrorNoError); - } - return info->finish(Thing::ThingErrorActionTypeNotFound); - } - - // Check the ThingClassId for "Alternative Button" - if (thing->thingClassId() == alternativeButtonThingClassId) { - - // check if this is the "set power" action - if (action.actionTypeId() == alternativeButtonPowerActionTypeId) { - - // get the param value - Param powerParam = action.param(alternativeButtonPowerActionPowerParamTypeId); - bool power = powerParam.value().toBool(); - - qCDebug(dcSimulation()) << "Set power" << power << "for button" << thing->name(); - - // Set the "power" state - thing->setStateValue(alternativeButtonPowerStateTypeId, power); - - return info->finish(Thing::ThingErrorNoError); - } - return info->finish(Thing::ThingErrorActionTypeNotFound); - } - - if (thing->thingClassId() == heatingThingClassId) { - - // check if this is the "set power" action - if (action.actionTypeId() == heatingPowerActionTypeId) { - - // get the param value - Param powerParam = action.param(heatingPowerActionPowerParamTypeId); - bool power = powerParam.value().toBool(); - qCDebug(dcSimulation()) << "Set power" << power << "for heating device" << thing->name(); - thing->setStateValue(heatingPowerStateTypeId, power); - return info->finish(Thing::ThingErrorNoError); - - } else if (action.actionTypeId() == heatingPercentageActionTypeId) { - - // get the param value - Param percentageParam = action.param(heatingPercentageActionPercentageParamTypeId); - int percentage = percentageParam.value().toInt(); - - qCDebug(dcSimulation()) << "Set target temperature percentage" << percentage << "for heating device" << thing->name(); - - thing->setStateValue(heatingPercentageStateTypeId, percentage); - return info->finish(Thing::ThingErrorNoError); - } - return info->finish(Thing::ThingErrorActionTypeNotFound); - } - - if (thing->thingClassId() == thermostatThingClassId) { - if (action.actionTypeId() == thermostatBoostActionTypeId) { - bool boost = action.param(thermostatBoostActionBoostParamTypeId).value().toBool(); - qCDebug(dcSimulation()) << "Set boost" << boost << "for thermostat device" << thing->name(); - thing->setStateValue(thermostatBoostStateTypeId, boost); - QTimer *t = new QTimer(thing); - t->setInterval(5 * 60 * 1000); - t->setSingleShot(true); - connect(t, &QTimer::timeout, t, &QTimer::deleteLater); - connect(t, &QTimer::timeout, thing, [thing](){ - thing->setStateValue(thermostatBoostStateTypeId, false); - }); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == thermostatTargetTemperatureActionTypeId) { - double targetTemp = action.param(thermostatTargetTemperatureActionTargetTemperatureParamTypeId).value().toDouble(); - qCDebug(dcSimulation()) << "Set targetTemp" << targetTemp << "for thermostat device" << thing->name(); - thing->setStateValue(thermostatTargetTemperatureStateTypeId, targetTemp); - return info->finish(Thing::ThingErrorNoError); - } - } - - if (thing->thingClassId() == evChargerThingClassId){ - - if (action.actionTypeId() == evChargerPowerActionTypeId){ - // get the param value - Param powerParam = action.param(evChargerPowerActionPowerParamTypeId); - bool power = powerParam.value().toBool(); - - qCDebug(dcSimulation()) << "Set power" << power << "for heating device" << thing->name(); - - thing->setStateValue(evChargerPowerStateTypeId, power); - return info->finish(Thing::ThingErrorNoError); - - } else if(action.actionTypeId() == evChargerMaxChargingCurrentActionTypeId){ - // get the param value - Param maxChargeParam = action.param(evChargerMaxChargingCurrentActionMaxChargingCurrentParamTypeId); - double maxCharge = maxChargeParam.value().toDouble(); - qCDebug(dcSimulation()) << "Set maximum charging current to" << maxCharge << "for EV Charger device" << thing->name(); - thing->setStateValue(evChargerMaxChargingCurrentStateTypeId, maxCharge); - return info->finish(Thing::ThingErrorNoError); - } - return info->finish(Thing::ThingErrorActionTypeNotFound); - } - - if(thing->thingClassId() == socketThingClassId){ - - if(action.actionTypeId() == socketPowerActionTypeId){ - // get the param value - Param powerParam = action.param(socketPowerActionPowerParamTypeId); - bool power = powerParam.value().toBool(); - // Set the "power" state - qCDebug(dcSimulation()) << "Set power" << power << "for socket device" << thing->name(); - thing->setStateValue(socketPowerStateTypeId, power); - return info->finish(Thing::ThingErrorNoError); - } - return info->finish(Thing::ThingErrorActionTypeNotFound); - } - - if(thing->thingClassId() == colorBulbThingClassId){ - - if(action.actionTypeId() == colorBulbBrightnessActionTypeId){ - int brightness = action.param(colorBulbBrightnessActionBrightnessParamTypeId).value().toInt(); - qCDebug(dcSimulation()) << "Set brightness" << brightness << "for color bulb" << thing->name(); - thing->setStateValue(colorBulbBrightnessStateTypeId, brightness); - return info->finish(Thing::ThingErrorNoError); - - } else if (action.actionTypeId() == colorBulbColorTemperatureActionTypeId){ - int temperature = action.param(colorBulbColorTemperatureActionColorTemperatureParamTypeId).value().toInt(); - qCDebug(dcSimulation()) << "Set color temperature" << temperature << "for color bulb" << thing->name(); - thing->setStateValue(colorBulbColorTemperatureStateTypeId, temperature); - return info->finish(Thing::ThingErrorNoError); - - } else if (action.actionTypeId() == colorBulbColorActionTypeId) { - QColor color = action.param(colorBulbColorActionColorParamTypeId).value().value(); - qCDebug(dcSimulation()) << "Set color" << color << "for color bulb" << thing->name(); - thing->setStateValue(colorBulbColorStateTypeId, color); - return info->finish(Thing::ThingErrorNoError); - - } else if (action.actionTypeId() == colorBulbPowerActionTypeId) { - bool power = action.param(colorBulbPowerActionPowerParamTypeId).value().toBool(); - qCDebug(dcSimulation()) << "Set power" << power << "for color bulb" << thing->name(); - thing->setStateValue(colorBulbPowerStateTypeId, power); - return info->finish(Thing::ThingErrorNoError); - } - - return info->finish(Thing::ThingErrorActionTypeNotFound); - } - - if (thing->thingClassId() == heatingRodThingClassId) { - - if (action.actionTypeId() == heatingRodPowerActionTypeId) { - bool power = action.param(heatingRodPowerActionPowerParamTypeId).value().toBool(); - qCDebug(dcSimulation()) << "Set power" << power << "for heating rod" << thing->name(); - thing->setStateValue(heatingRodPowerStateTypeId, power); - return info->finish(Thing::ThingErrorNoError); - } else if (action.actionTypeId() == heatingRodPercentageActionTypeId) { - int percentage = action.param(heatingRodPercentageActionPercentageParamTypeId).value().toInt(); - qCDebug(dcSimulation()) << "Set percentage" << percentage << "for heating rod" << thing->name(); - thing->setStateValue(heatingRodPercentageStateTypeId, percentage); - return info->finish(Thing::ThingErrorNoError); - } - - return info->finish(Thing::ThingErrorActionTypeNotFound); - } - - if (thing->thingClassId() == batteryThingClassId) { - if (action.actionTypeId() == batteryMaxChargingActionTypeId) { - int maxCharging = action.param(batteryMaxChargingActionMaxChargingParamTypeId).value().toInt(); - thing->setStateValue(batteryMaxChargingStateTypeId, maxCharging); - qCDebug(dcSimulation()) << "Set max charging power" << maxCharging << "for battery" << thing->name(); - thing->setStateValue(batteryChargingStateTypeId, true); - return info->finish(Thing::ThingErrorNoError); - } - return info->finish(Thing::ThingErrorActionTypeNotFound); - } - - if (thing->thingClassId() == waterValveThingClassId) { - if (action.actionTypeId() == waterValvePowerActionTypeId) { - bool power = action.param(waterValvePowerActionPowerParamTypeId).value().toBool(); - thing->setStateValue(waterValvePowerStateTypeId, power); - return info->finish(Thing::ThingErrorNoError); - } - return info->finish(Thing::ThingErrorActionTypeNotFound); - } - - if (thing->thingClassId() == garageGateThingClassId) { - if (action.actionTypeId() == garageGateOpenActionTypeId) { - if (thing->stateValue(garageGateStateStateTypeId).toString() == "opening") { - qCDebug(dcSimulation()) << "Garage gate already opening."; - return info->finish(Thing::ThingErrorNoError); - } - if (thing->stateValue(garageGateStateStateTypeId).toString() == "open" && - !thing->stateValue(garageGateIntermediatePositionStateTypeId).toBool()) { - qCDebug(dcSimulation()) << "Garage gate already open."; - return info->finish(Thing::ThingErrorNoError); - } - thing->setStateValue(garageGateStateStateTypeId, "opening"); - thing->setStateValue(garageGateIntermediatePositionStateTypeId, true); - m_simulationTimers.value(thing)->start(5000); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == garageGateCloseActionTypeId) { - if (thing->stateValue(garageGateStateStateTypeId).toString() == "closing") { - qCDebug(dcSimulation()) << "Garage gate already closing."; - return info->finish(Thing::ThingErrorNoError); - } - if (thing->stateValue(garageGateStateStateTypeId).toString() == "closed" && - !thing->stateValue(garageGateIntermediatePositionStateTypeId).toBool()) { - qCDebug(dcSimulation()) << "Garage gate already closed."; - return info->finish(Thing::ThingErrorNoError); - } - thing->setStateValue(garageGateStateStateTypeId, "closing"); - thing->setStateValue(garageGateIntermediatePositionStateTypeId, true); - m_simulationTimers.value(thing)->start(5000); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == garageGateStopActionTypeId) { - if (thing->stateValue(garageGateStateStateTypeId).toString() == "opening" || - thing->stateValue(garageGateStateStateTypeId).toString() == "closing") { - thing->setStateValue(garageGateStateStateTypeId, "open"); - return info->finish(Thing::ThingErrorNoError); - } - qCDebug(dcSimulation()) << "Garage gate not moving"; - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == garageGatePowerActionTypeId) { - bool power = action.param(garageGatePowerActionPowerParamTypeId).value().toBool(); - thing->setStateValue(garageGatePowerStateTypeId, power); - return info->finish(Thing::ThingErrorNoError); - } - } - - if (thing->thingClassId() == rollerShutterThingClassId) { - if (action.actionTypeId() == rollerShutterOpenActionTypeId) { - qCDebug(dcSimulation()) << "Opening roller shutter"; - m_simulationTimers.value(thing)->setProperty("targetValue", 0); - m_simulationTimers.value(thing)->start(500); - thing->setStateValue(rollerShutterMovingStateTypeId, true); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == rollerShutterCloseActionTypeId) { - qCDebug(dcSimulation()) << "Closing roller shutter"; - m_simulationTimers.value(thing)->setProperty("targetValue", 100); - m_simulationTimers.value(thing)->start(500); - thing->setStateValue(rollerShutterMovingStateTypeId, true); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == rollerShutterStopActionTypeId) { - qCDebug(dcSimulation()) << "Stopping roller shutter"; - m_simulationTimers.value(thing)->stop(); - thing->setStateValue(rollerShutterMovingStateTypeId, false); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == rollerShutterPercentageActionTypeId) { - qCDebug(dcSimulation()) << "Setting awning to" << action.param(rollerShutterPercentageActionPercentageParamTypeId); - m_simulationTimers.value(thing)->setProperty("targetValue", action.param(rollerShutterPercentageActionPercentageParamTypeId).value()); - m_simulationTimers.value(thing)->start(500); - thing->setStateValue(rollerShutterMovingStateTypeId, true); - return info->finish(Thing::ThingErrorNoError); - } - } - - if (thing->thingClassId() == extendedAwningThingClassId) { - if (action.actionTypeId() == extendedAwningOpenActionTypeId) { - qCDebug(dcSimulation()) << "Opening awning"; - m_simulationTimers.value(thing)->setProperty("targetValue", 100); - m_simulationTimers.value(thing)->start(500); - thing->setStateValue(extendedAwningMovingStateTypeId, true); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == extendedAwningCloseActionTypeId) { - qCDebug(dcSimulation()) << "Closing awning"; - m_simulationTimers.value(thing)->setProperty("targetValue", 0); - m_simulationTimers.value(thing)->start(500); - thing->setStateValue(extendedAwningMovingStateTypeId, true); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == extendedAwningStopActionTypeId) { - qCDebug(dcSimulation()) << "Stopping awning"; - m_simulationTimers.value(thing)->stop(); - thing->setStateValue(extendedAwningMovingStateTypeId, false); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == extendedAwningPercentageActionTypeId) { - qCDebug(dcSimulation()) << "Setting awning to" << action.param(extendedAwningPercentageActionPercentageParamTypeId); - m_simulationTimers.value(thing)->setProperty("targetValue", action.param(extendedAwningPercentageActionPercentageParamTypeId).value()); - m_simulationTimers.value(thing)->start(500); - thing->setStateValue(extendedAwningMovingStateTypeId, true); - return info->finish(Thing::ThingErrorNoError); - } - } - - if (thing->thingClassId() == fingerPrintSensorThingClassId) { - if (action.actionTypeId() == fingerPrintSensorAddUserActionTypeId) { - QStringList users = thing->stateValue(fingerPrintSensorUsersStateTypeId).toStringList(); - QString username = action.param(fingerPrintSensorAddUserActionUserIdParamTypeId).value().toString(); - QString finger = action.param(fingerPrintSensorAddUserActionFingerParamTypeId).value().toString(); - QSettings settings; - settings.beginGroup(thing->id().toString()); - QStringList usedFingers = settings.value(username).toStringList(); - if (users.contains(username) && usedFingers.contains(finger)) { - return info->finish(Thing::ThingErrorDuplicateUuid); - } - QTimer::singleShot(5000, info, [this, info, thing, username, finger]() { - if (username.toLower().trimmed() == "john") { - info->finish(Thing::ThingErrorHardwareFailure, QT_TR_NOOP("Fingerprint could not be scanned. Please try again.")); - } else { - info->finish(Thing::ThingErrorNoError); - QStringList users = thing->stateValue(fingerPrintSensorUsersStateTypeId).toStringList(); - if (!users.contains(username)) { - users.append(username); - thing->setStateValue(fingerPrintSensorUsersStateTypeId, users); - m_simulationTimers.value(thing)->start(10000); - } - - QSettings settings; - settings.beginGroup(thing->id().toString()); - QStringList usedFingers = settings.value(username).toStringList(); - usedFingers.append(finger); - settings.setValue(username, usedFingers); - settings.endGroup(); - } - }); - return; - } - if (action.actionTypeId() == fingerPrintSensorRemoveUserActionTypeId) { - QStringList users = thing->stateValue(fingerPrintSensorUsersStateTypeId).toStringList(); - QString username = action.params().first().value().toString(); - if (!users.contains(username)) { - return info->finish(Thing::ThingErrorInvalidParameter); - } - users.removeAll(username); - thing->setStateValue(fingerPrintSensorUsersStateTypeId, users); - if (users.count() == 0) { - m_simulationTimers.value(thing)->stop(); - } - return info->finish(Thing::ThingErrorNoError); - } - } - - if (thing->thingClassId() == simpleBlindThingClassId) { - if (action.actionTypeId() == simpleBlindOpenActionTypeId) { - qCDebug(dcSimulation()) << "Opening simple blind"; - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == simpleBlindCloseActionTypeId) { - qCDebug(dcSimulation()) << "Closing simple blind"; - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == simpleBlindStopActionTypeId) { - qCDebug(dcSimulation()) << "Stopping simple blind"; - return info->finish(Thing::ThingErrorNoError); - } - } - - if (thing->thingClassId() == extendedBlindThingClassId) { - if (action.actionTypeId() == extendedBlindOpenActionTypeId) { - qCDebug(dcSimulation()) << "Opening extended blind"; - m_simulationTimers.value(thing)->setProperty("targetValue", 0); - m_simulationTimers.value(thing)->start(500); - thing->setStateValue(extendedBlindMovingStateTypeId, true); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == extendedBlindCloseActionTypeId) { - qCDebug(dcSimulation()) << "Closing extended blind"; - m_simulationTimers.value(thing)->setProperty("targetValue", 100); - m_simulationTimers.value(thing)->start(500); - thing->setStateValue(extendedBlindMovingStateTypeId, true); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == extendedBlindStopActionTypeId) { - qCDebug(dcSimulation()) << "Stopping extended blind"; - m_simulationTimers.value(thing)->stop(); - thing->setStateValue(extendedBlindMovingStateTypeId, false); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == extendedBlindPercentageActionTypeId) { - qCDebug(dcSimulation()) << "Setting extended blind to" << action.param(extendedBlindPercentageActionPercentageParamTypeId); - m_simulationTimers.value(thing)->setProperty("targetValue", action.param(extendedBlindPercentageActionPercentageParamTypeId).value()); - m_simulationTimers.value(thing)->start(500); - thing->setStateValue(extendedBlindMovingStateTypeId, true); - return info->finish(Thing::ThingErrorNoError); - } - } - - if (thing->thingClassId() == venetianBlindThingClassId) { - if (action.actionTypeId() == venetianBlindOpenActionTypeId) { - qCDebug(dcSimulation()) << "Opening venetian blind"; - m_simulationTimers.value(thing)->setProperty("targetPosition", 0); - m_simulationTimers.value(thing)->start(500); - thing->setStateValue(venetianBlindMovingStateTypeId, true); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == venetianBlindCloseActionTypeId) { - qCDebug(dcSimulation()) << "Closing venetian blind"; - m_simulationTimers.value(thing)->setProperty("targetPosition", 100); - m_simulationTimers.value(thing)->start(500); - thing->setStateValue(venetianBlindMovingStateTypeId, true); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == venetianBlindStopActionTypeId) { - qCDebug(dcSimulation()) << "Stopping venetian blind"; - m_simulationTimers.value(thing)->stop(); - m_simulationTimers.value(thing)->setProperty("targetPosition", thing->stateValue(venetianBlindPercentageStateTypeId).toInt()); - m_simulationTimers.value(thing)->setProperty("targetAngle", thing->stateValue(venetianBlindAngleStateTypeId).toInt()); - thing->setStateValue(venetianBlindMovingStateTypeId, false); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == venetianBlindPercentageActionTypeId) { - qCDebug(dcSimulation()) << "Setting venetian blind position to" << action.param(venetianBlindPercentageActionPercentageParamTypeId); - m_simulationTimers.value(thing)->setProperty("targetPosition", action.param(venetianBlindPercentageActionPercentageParamTypeId).value()); - m_simulationTimers.value(thing)->start(500); - thing->setStateValue(venetianBlindMovingStateTypeId, true); - return info->finish(Thing::ThingErrorNoError); - } - if (action.actionTypeId() == venetianBlindAngleActionTypeId) { - qCDebug(dcSimulation()) << "Setting venetian blind angle to" << action.param(venetianBlindAngleActionAngleParamTypeId); - m_simulationTimers.value(thing)->setProperty("targetAngle", action.param(venetianBlindAngleActionAngleParamTypeId).value()); - m_simulationTimers.value(thing)->start(500); - thing->setStateValue(venetianBlindMovingStateTypeId, true); - return info->finish(Thing::ThingErrorNoError); - } - } - - if (thing->thingClassId() == cleaningRobotThingClassId) { - if (action.actionTypeId() == cleaningRobotStartCleaningActionTypeId) { - qCDebug(dcSimulation()) << "Starting to clean..."; - thing->setStateValue(cleaningRobotRobotStateStateTypeId, "cleaning"); - m_simulationTimers.value(thing)->stop(); - info->finish(Thing::ThingErrorNoError); - return; - } - if (action.actionTypeId() == cleaningRobotPauseCleaningActionTypeId) { - qCDebug(dcSimulation()) << "Pausing..."; - if (thing->stateValue(cleaningRobotRobotStateStateTypeId).toString() == "paused") { - thing->setStateValue(cleaningRobotRobotStateStateTypeId, "cleaning"); - } else if (thing->stateValue(cleaningRobotRobotStateStateTypeId).toString() == "cleaning"){ - thing->setStateValue(cleaningRobotRobotStateStateTypeId, "paused"); - } - info->finish(Thing::ThingErrorNoError); - return; - } - if (action.actionTypeId() == cleaningRobotStopCleaningActionTypeId) { - qCDebug(dcSimulation()) << "Stopping."; - thing->setStateValue(cleaningRobotRobotStateStateTypeId, "stopped"); - info->finish(Thing::ThingErrorNoError); - return; - } - if (action.actionTypeId() == cleaningRobotReturnToBaseActionTypeId) { - qCDebug(dcSimulation()) << "Returning to base..."; - QString robotState = thing->stateValue(cleaningRobotRobotStateStateTypeId).toString(); - if (robotState == "cleaning" || robotState == "paused" || robotState == "error") { - thing->setStateValue(cleaningRobotRobotStateStateTypeId, "traveling"); - m_simulationTimers.value(thing)->start(5000); - } - info->finish(Thing::ThingErrorNoError); - return; - } - if (action.actionTypeId() == cleaningRobotSimulateErrorActionTypeId) { - thing->setStateValue(cleaningRobotRobotStateStateTypeId, "error"); - thing->setStateValue(cleaningRobotErrorMessageStateTypeId, QT_TR_NOOP("Help me, I'm stuck!")); - info->finish(Thing::ThingErrorNoError); - return; - } - } - - qCWarning(dcSimulation()) << "Unhandled thing class" << thing->thingClassId() << "for" << thing->name(); -} - -int IntegrationPluginSimulation::generateRandomIntValue(int min, int max) -{ - int value = ((qrand() % ((max + 1) - min)) + min); - // qCDebug(dcSimulation()) << "Generateed random int value: [" << min << ", " << max << "] -->" << value; - return value; -} - -double IntegrationPluginSimulation::generateRandomDoubleValue(double min, double max) -{ - double value = generateRandomIntValue(static_cast(min * 10), static_cast(max * 10)) / 10.0; - // qCDebug(dcSimulation()) << "Generated random double value: [" << min << ", " << max << "] -->" << value; - return value; -} - -bool IntegrationPluginSimulation::generateRandomBoolValue() -{ - bool value = static_cast(generateRandomIntValue(0, 1)); - // qCDebug(dcSimulation()) << "Generated random bool value:" << value; - return value; -} - -qreal IntegrationPluginSimulation::generateSinValue(int min, int max, int hourOffset, int decimals) -{ - // 00:00 : 23:99 = 0 : PI - // seconds of day : (60 * 60 * 24) = x : 2*PI - QDateTime d = QDateTime::currentDateTime(); - int secondsPerDay = 60 * 60 * 24; - int offsetInSeconds = hourOffset * 60 * 60; - int secondsOfDay = d.time().msecsSinceStartOfDay() / 1000; - // add offset and wrap around - secondsOfDay = (secondsOfDay - offsetInSeconds) % secondsPerDay; - - qreal interval = secondsOfDay * 2*M_PI / secondsPerDay; - qreal gain = 1.0 * (max - min) / 2; - qreal temp = (gain * qSin(interval)) + min + gain; - return QString::number(temp, 'f', decimals).toDouble(); -} - -qreal IntegrationPluginSimulation::generateBatteryValue(int chargeStartHour, int chargeDurationInMinutes) -{ - QDateTime d = QDateTime::currentDateTime(); - - int secondsPerDay = 24 * 60 * 60; - int currentSecond = d.time().msecsSinceStartOfDay() / 1000; - int chargeStartSecond = chargeStartHour * 60 * 60; - int chargeEndSecond = chargeStartSecond + (chargeDurationInMinutes * 60); - int chargeDurationInSeconds = chargeDurationInMinutes * 60; - - // should we be charging? - if (chargeStartSecond < currentSecond && currentSecond < chargeEndSecond) { - // Yep, charging... - int currentChargeSecond = currentSecond - chargeStartSecond; - // x : 100 = currentChargeSecond : chargeDurationInSeconds - return 100 * currentChargeSecond / chargeDurationInSeconds; - } - - int dischargeDurationInSecs = secondsPerDay - chargeDurationInSeconds; - int currentDischargeSecond; - if (currentSecond < chargeStartSecond) { - currentDischargeSecond = currentSecond + (secondsPerDay - chargeEndSecond); - } else { - currentDischargeSecond = currentSecond - chargeEndSecond; - } - // 100 : x = dischargeDurationInSecs : currentDischargeSecond - return 100 - (100 * currentDischargeSecond / dischargeDurationInSecs); -} - -qreal IntegrationPluginSimulation::generateNoisyRectangle(int min, int max, int maxNoise, int stablePeriodInMinutes, int &lastValue, QDateTime &lastChangeTimestamp) -{ - QDateTime now = QDateTime::currentDateTime(); - qCDebug(dcSimulation()) << "Generating noisy rect:" << min << "-" << max << "lastValue:" << lastValue << "lastUpdate" << lastChangeTimestamp << lastChangeTimestamp.secsTo(now) << lastChangeTimestamp.isValid(); - if (!lastChangeTimestamp.isValid() || lastChangeTimestamp.secsTo(now) / 60 > stablePeriodInMinutes) { - lastChangeTimestamp.swap(now); - lastValue = min + qrand() % (max - min); - qCDebug(dcSimulation()) << "New last value:" << lastValue; - } - qreal noise = 0.1 * (qrand() % (maxNoise * 20) - maxNoise); - qreal ret = 1.0 * lastValue + noise; - return ret; -} - -void IntegrationPluginSimulation::onPluginTimer20Seconds() -{ - foreach (Thing *thing, myThings()) { - if (thing->thingClassId() == temperatureSensorThingClassId) { - // Temperature sensor - thing->setStateValue(temperatureSensorTemperatureStateTypeId, generateSinValue(18, 23, 8)); - thing->setStateValue(temperatureSensorHumidityStateTypeId, generateSinValue(40, 55, 20)); - thing->setStateValue(temperatureSensorBatteryLevelStateTypeId, generateBatteryValue(8, 10)); - thing->setStateValue(temperatureSensorBatteryCriticalStateTypeId, thing->stateValue(temperatureSensorBatteryLevelStateTypeId).toInt() <= 25); - thing->setStateValue(temperatureSensorConnectedStateTypeId, true); - } else if (thing->thingClassId() == motionDetectorThingClassId) { - // Motion detector - thing->setStateValue(motionDetectorIsPresentStateTypeId, generateRandomBoolValue()); - thing->setStateValue(motionDetectorBatteryLevelStateTypeId, generateBatteryValue(13, 1)); - thing->setStateValue(motionDetectorBatteryCriticalStateTypeId, thing->stateValue(motionDetectorBatteryLevelStateTypeId).toInt() <= 30); - thing->setStateValue(motionDetectorConnectedStateTypeId, true); - } else if (thing->thingClassId() == waterSensorThingClassId) { - thing->setStateValue(waterSensorWaterDetectedStateTypeId, generateRandomBoolValue()); - } else if (thing->thingClassId() == gardenSensorThingClassId) { - // Garden sensor - thing->setStateValue(gardenSensorTemperatureStateTypeId, generateSinValue(-4, 17, 5)); - thing->setStateValue(gardenSensorSoilMoistureStateTypeId, generateSinValue(40, 60, 13)); - thing->setStateValue(gardenSensorIlluminanceStateTypeId, generateSinValue(0, 80, 2)); - thing->setStateValue(gardenSensorBatteryLevelStateTypeId, generateBatteryValue(9, 20)); - thing->setStateValue(gardenSensorBatteryCriticalStateTypeId, thing->stateValue(gardenSensorBatteryLevelStateTypeId).toDouble() <= 30); - thing->setStateValue(gardenSensorConnectedStateTypeId, true); - } else if(thing->thingClassId() == netatmoIndoorThingClassId) { - // Netatmo - thing->setStateValue(netatmoIndoorUpdateTimeStateTypeId, QDateTime::currentDateTime().toTime_t()); - thing->setStateValue(netatmoIndoorHumidityStateTypeId, generateSinValue(35, 45, 13)); - thing->setStateValue(netatmoIndoorTemperatureStateTypeId, generateSinValue(20, 25, 3)); - thing->setStateValue(netatmoIndoorPressureStateTypeId, generateSinValue(1003, 1008, 8)); - thing->setStateValue(netatmoIndoorNoiseStateTypeId, generateRandomIntValue(40, 80)); - thing->setStateValue(netatmoIndoorWifiStrengthStateTypeId, generateRandomIntValue(85, 95)); - } else if (thing->thingClassId() == smartMeterThingClassId) { - thing->setStateValue(smartMeterConnectedStateTypeId, true); - int lastValue = thing->property("lastValue").toInt(); - QDateTime lastUpdate = thing->property("lastUpdate").toDateTime(); - qlonglong currentPower = generateNoisyRectangle(-2000, 100, 10, 5, lastValue, lastUpdate); - thing->setStateValue(smartMeterCurrentPowerStateTypeId, currentPower); - thing->setProperty("lastValue", lastValue); - thing->setProperty("lastUpdate", lastUpdate); - if (currentPower < 0) { - qreal consumptionKWH = 1.0 * currentPower * (1.0 * m_pluginTimer20Seconds->interval() / 1000 / 60 / 60) / 1000; - thing->setStateValue(smartMeterTotalEnergyConsumedStateTypeId, thing->stateValue(smartMeterTotalEnergyConsumedStateTypeId).toDouble() - consumptionKWH); - } - if (currentPower > 0) { - qreal consumptionKWH = 1.0 * currentPower * (1.0 * m_pluginTimer20Seconds->interval() / 1000 / 60 / 60) / 1000; - thing->setStateValue(smartMeterTotalEnergyProducedStateTypeId, thing->stateValue(smartMeterTotalEnergyProducedStateTypeId).toDouble() + consumptionKWH); - } - } else if (thing->thingClassId() == solarPanelThingClassId) { - int lastValue = thing->property("lastValue").toInt(); - QDateTime lastUpdate = thing->property("lastUpdate").toDateTime(); - qlonglong currentPower = generateNoisyRectangle(0, 2000, 50, 5, lastValue, lastUpdate); - thing->setStateValue(solarPanelCurrentPowerStateTypeId, currentPower); - thing->setProperty("lastValue", lastValue); - thing->setProperty("lastUpdate", lastUpdate); - qreal consumptionKWH = 1.0 * currentPower * (1.0 * m_pluginTimer20Seconds->interval() / 1000 / 60 / 60) / 1000; - thing->setStateValue(solarPanelTotalEnergyProducedStateTypeId, thing->stateValue(solarPanelTotalEnergyProducedStateTypeId).toDouble() + consumptionKWH); - } else if (thing->thingClassId() == cleaningRobotThingClassId) { - QString robotState = thing->stateValue(cleaningRobotRobotStateStateTypeId).toString(); - int batteryLevel = thing->stateValue(cleaningRobotBatteryLevelStateTypeId).toInt(); - bool charging = false; - bool pluggedIn = false; - if (robotState == "cleaning") { - batteryLevel -= 1; - if (batteryLevel < 5) { - robotState = "traveling"; - m_simulationTimers.value(thing)->start(5000); - } - } else if (robotState == "docked") { - batteryLevel = qMin(100, batteryLevel + 2); - charging = batteryLevel < 100; - pluggedIn = true; - } - thing->setStateValue(cleaningRobotRobotStateStateTypeId, robotState); - thing->setStateValue(cleaningRobotBatteryLevelStateTypeId, batteryLevel); - thing->setStateValue(cleaningRobotBatteryCriticalStateTypeId, batteryLevel < 10); - thing->setStateValue(cleaningRobotChargingStateTypeId, charging); - thing->setStateValue(cleaningRobotPluggedInStateTypeId, pluggedIn); - } - } -} - -void IntegrationPluginSimulation::onPluginTimer5Minutes() -{ - foreach (Thing *thing, myThings()) { - if(thing->thingClassId() == netatmoIndoorThingClassId) { - // Note: should change between > 1000 co2 < 1000 for showcase, please do not change this behaviour - int currentValue = thing->stateValue(netatmoIndoorCo2StateTypeId).toInt(); - if (currentValue < 1000) { - thing->setStateValue(netatmoIndoorCo2StateTypeId, generateRandomIntValue(1001, 1010)); - } else { - thing->setStateValue(netatmoIndoorCo2StateTypeId, generateRandomIntValue(950, 999)); - } - } - } -} - -void IntegrationPluginSimulation::simulationTimerTimeout() -{ - QTimer *t = static_cast(sender()); - Thing *thing = m_simulationTimers.key(t); - if (thing->thingClassId() == garageGateThingClassId) { - if (thing->stateValue(garageGateStateStateTypeId).toString() == "opening") { - thing->setStateValue(garageGateIntermediatePositionStateTypeId, false); - thing->setStateValue(garageGateStateStateTypeId, "open"); - } - if (thing->stateValue(garageGateStateStateTypeId).toString() == "closing") { - thing->setStateValue(garageGateIntermediatePositionStateTypeId, false); - thing->setStateValue(garageGateStateStateTypeId, "closed"); - } - } else if (thing->thingClassId() == extendedAwningThingClassId) { - int currentValue = thing->stateValue(extendedAwningPercentageStateTypeId).toInt(); - int targetValue = t->property("targetValue").toInt(); - int newValue = targetValue > currentValue ? qMin(targetValue, currentValue + 5) : qMax(targetValue, currentValue - 5); - thing->setStateValue(extendedAwningPercentageStateTypeId, newValue); - if (newValue == targetValue) { - t->stop(); - thing->setStateValue(extendedAwningMovingStateTypeId, false); - } - } else if (thing->thingClassId() == extendedBlindThingClassId) { - int currentValue = thing->stateValue(extendedBlindPercentageStateTypeId).toInt(); - int targetValue = t->property("targetValue").toInt(); - int newValue = targetValue > currentValue ? qMin(targetValue, currentValue + 5) : qMax(targetValue, currentValue - 5); - thing->setStateValue(extendedBlindPercentageStateTypeId, newValue); - if (newValue == targetValue) { - t->stop(); - thing->setStateValue(extendedBlindMovingStateTypeId, false); - } - } else if (thing->thingClassId() == venetianBlindThingClassId) { - int targetPosition = t->property("targetPosition").toInt(); - int targetAngle = t->property("targetAngle").toInt(); - - int currentPosition = thing->stateValue(venetianBlindPercentageStateTypeId).toInt(); - int currentAngle = thing->stateValue(venetianBlindAngleStateTypeId).toInt(); - - int newPosition = targetPosition > currentPosition ? qMin(targetPosition, currentPosition + 5) : qMax(targetPosition, currentPosition - 5); - thing->setStateValue(venetianBlindPercentageStateTypeId, newPosition); - - int newAngle = targetAngle > currentAngle ? qMin(targetAngle, currentAngle + 5) : qMax(targetAngle, currentAngle - 5); - thing->setStateValue(venetianBlindAngleStateTypeId, newAngle); - - if (newPosition == targetPosition && newAngle == targetAngle) { - t->stop(); - thing->setStateValue(venetianBlindMovingStateTypeId, false); - } - } else if (thing->thingClassId() == rollerShutterThingClassId) { - int currentValue = thing->stateValue(rollerShutterPercentageStateTypeId).toInt(); - int targetValue = t->property("targetValue").toInt(); - int newValue = targetValue > currentValue ? qMin(targetValue, currentValue + 5) : qMax(targetValue, currentValue - 5); - thing->setStateValue(rollerShutterPercentageStateTypeId, newValue); - if (newValue == targetValue) { - t->stop(); - thing->setStateValue(rollerShutterMovingStateTypeId, false); - } - } else if (thing->thingClassId() == fingerPrintSensorThingClassId) { - EventTypeId evt = qrand() % 2 == 0 ? fingerPrintSensorAccessGrantedEventTypeId : fingerPrintSensorAccessDeniedEventTypeId; - ParamList params; - if (evt == fingerPrintSensorAccessGrantedEventTypeId) { - QStringList users = thing->stateValue(fingerPrintSensorUsersStateTypeId).toStringList(); - QString user = users.at(qrand() % users.count()); - QSettings settings; - settings.beginGroup(thing->id().toString()); - QStringList fingers = settings.value(user).toStringList(); - params.append(Param(fingerPrintSensorAccessGrantedEventUserIdParamTypeId, user)); - QString finger = fingers.at(qrand() % fingers.count()); - params.append(Param(fingerPrintSensorAccessGrantedEventFingerParamTypeId, finger)); - qCDebug(dcSimulation()) << "Emitting fingerprint accepted for user" << user << "and finger" << finger; - } else { - qCDebug(dcSimulation()) << "Emitting fingerprint denied"; - } - Event event(evt, thing->id(), params); - emitEvent(event); - } else if (thing->thingClassId() == thermostatThingClassId) { - thing->setStateValue(thermostatBoostStateTypeId, false); - t->stop(); - } else if (thing->thingClassId() == barcodeScannerThingClassId) { - QString code; - int codeIndex = thing->property("codeIndex").toInt(); - switch (codeIndex) { - case 0: - code = "12345"; - thing->setProperty("codeIndex", 1); - break; - case 1: - code = "23456"; - thing->setProperty("codeIndex", 2); - break; - default: - code = "34567"; - thing->setProperty("codeIndex", 0); - break; - } - - ParamList params = ParamList() << Param(barcodeScannerCodeScannedEventContentParamTypeId, code); - Event event(barcodeScannerCodeScannedEventTypeId, thing->id(), params); - emit emitEvent(event); - } else if (thing->thingClassId() == contactSensorThingClassId) { - thing->setStateValue(contactSensorClosedStateTypeId, !thing->stateValue(contactSensorClosedStateTypeId).toBool()); - thing->setStateValue(contactSensorBatteryLevelStateTypeId, thing->stateValue(contactSensorBatteryLevelStateTypeId).toInt()-1); - - if (thing->stateValue(contactSensorBatteryLevelStateTypeId).toInt() == 0) { - thing->setStateValue(contactSensorBatteryLevelStateTypeId, 100); - thing->setStateValue(contactSensorBatteryCriticalStateTypeId, false); - } else if (thing->stateValue(contactSensorBatteryLevelStateTypeId).toInt() <= 20) { - thing->setStateValue(contactSensorBatteryCriticalStateTypeId, true); - } else { - thing->setStateValue(contactSensorBatteryCriticalStateTypeId, false); - } - } else if (thing->thingClassId() == waterSensorThingClassId) { - bool wet = qrand() > (RAND_MAX / 2); - thing->setStateValue(waterSensorWaterDetectedStateTypeId, wet); - } else if (thing->thingClassId() == cleaningRobotThingClassId) { - thing->setStateValue(cleaningRobotRobotStateStateTypeId, "docked"); - } - -} diff --git a/simulation/integrationpluginsimulation.h b/simulation/integrationpluginsimulation.h deleted file mode 100644 index 5a04c6b1..00000000 --- a/simulation/integrationpluginsimulation.h +++ /dev/null @@ -1,79 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -* -* Copyright 2013 - 2020, nymea GmbH -* Contact: contact@nymea.io -* -* This file is part of nymea. -* This project including source code and documentation is protected by -* copyright law, and remains the property of nymea GmbH. All rights, including -* reproduction, publication, editing and translation, are reserved. The use of -* this project is subject to the terms of a license agreement to be concluded -* with nymea GmbH in accordance with the terms of use of nymea GmbH, available -* under https://nymea.io/license -* -* GNU Lesser General Public License Usage -* Alternatively, this project may be redistributed and/or modified under the -* terms of the GNU Lesser General Public License as published by the Free -* Software Foundation; version 3. This project is distributed in the hope that -* it will be useful, but WITHOUT ANY WARRANTY; without even the implied -* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public License -* along with this project. If not, see . -* -* For any further details and any questions please contact us under -* contact@nymea.io or see our FAQ/Licensing Information on -* https://nymea.io/license/faq -* -* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -#ifndef INTEGRATIONPLUGINSIMMULATION_H -#define INTEGRATIONPLUGINSIMMULATION_H - -#include "integrations/integrationplugin.h" -#include "plugintimer.h" - -#include - -#include "extern-plugininfo.h" - -class IntegrationPluginSimulation : public IntegrationPlugin -{ - Q_OBJECT - - Q_PLUGIN_METADATA(IID "io.nymea.IntegrationPlugin" FILE "integrationpluginsimulation.json") - Q_INTERFACES(IntegrationPlugin) - - -public: - explicit IntegrationPluginSimulation(); - ~IntegrationPluginSimulation(); - - void init() override; - void setupThing(ThingSetupInfo *info) override; - void thingRemoved(Thing *thing) override; - void executeAction(ThingActionInfo *info) override; - -private: - PluginTimer *m_pluginTimer20Seconds = nullptr; - PluginTimer *m_pluginTimer5Min = nullptr; - - int generateRandomIntValue(int min, int max); - double generateRandomDoubleValue(double min, double max); - bool generateRandomBoolValue(); - - // Generates values in a sin curve from min to max, moving the start by hourOffset from midnight - qreal generateSinValue(int min, int max, int hourOffset, int decimals = 2); - qreal generateBatteryValue(int chargeStartHour, int chargeDurationInMinutes); - qreal generateNoisyRectangle(int min, int max, int noise, int stablePeriodInMinutes, int &lastValue, QDateTime &lastChangeTimestamp); - - QHash m_simulationTimers; -private slots: - void onPluginTimer20Seconds(); - void onPluginTimer5Minutes(); - void simulationTimerTimeout(); - -}; - -#endif // INTEGRATIONPLUGINSIMMULATION_H diff --git a/simulation/integrationpluginsimulation.json b/simulation/integrationpluginsimulation.json deleted file mode 100644 index a456378b..00000000 --- a/simulation/integrationpluginsimulation.json +++ /dev/null @@ -1,1311 +0,0 @@ -{ - "name": "Simulation", - "displayName": "Simulation", - "id": "b7368429-e312-4c82-9eab-e1cd996e43d6", - "vendors": [ - { - "name": "simulation", - "displayName": "Simulation", - "id": "fd2ae067-2c3d-4332-9c4b-ee0af653bcaf", - "thingClasses": [ - { - "id": "73bb670b-e7a3-40da-bd6f-3260f017ec80", - "name": "simpleButton", - "displayName": "Simple Button", - "createMethods": ["user"], - "interfaces": ["simplebutton", "outputtrigger"], - "paramTypes": [ ], - "actionTypes": [ - { - "id": "64c4ced5-9a1a-4858-81dd-1b5c94dba495", - "name": "trigger", - "displayName": "Press the button" - } - ], - "eventTypes": [ - { - "id": "f9652210-9aed-4f38-8c19-2fd54f703fbe", - "name": "pressed", - "displayName": "Button pressed" - } - ] - }, - { - "id": "910b2f58-70dc-4da3-89ae-9e7393290ccb", - "name": "alternativeButton", - "displayName": "Power Button", - "createMethods": ["user"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "fa63c0b9-10e5-4280-9cc2-243bf27c05ad", - "name": "power", - "displayName": "Power", - "type": "bool", - "displayNameEvent": "Power changed", - "displayNameAction": "Set power", - "defaultValue": false, - "writable": true - } - ] - }, - { - "id": "77c6ccff-84e8-4983-b69e-5e1a3f4723f2", - "name": "temperatureSensor", - "displayName": "Temperature sensor", - "createMethods": ["user"], - "interfaces": ["temperaturesensor", "humiditysensor", "battery", "connectable"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "169d7a2a-d1c9-4578-bb30-fc7d25690e59", - "name": "temperature", - "displayName": "Temperature", - "displayNameEvent": "Temperature changed", - "type": "double", - "unit": "DegreeCelsius", - "defaultValue": 0, - "minValue": -20, - "maxValue": 50, - "ioType": "analogInput" - }, - { - "id": "10c735fd-7b81-484a-a148-76ea0da840f0", - "name": "humidity", - "displayName": "Humidity", - "displayNameEvent": "Humidity changed", - "type": "double", - "minValue": 0, - "maxValue": 100, - "unit": "Percentage", - "defaultValue": 0, - "ioType": "analogInput" - }, - { - "id": "45c0de32-b519-47d7-9f82-e5f09d1542d4", - "name": "batteryLevel", - "displayName": "Battery", - "displayNameEvent": "Battery level changed", - "type": "int", - "minValue": 0, - "maxValue": 100, - "unit": "Percentage", - "defaultValue": 0 - }, - { - "id": "295b9a17-a4b1-4cc9-8ebb-2309b72c75f6", - "name": "batteryCritical", - "displayName": "Battery critical", - "displayNameEvent": "Battery critical changed", - "type": "bool", - "defaultValue": false - }, - { - "id": "e66aba37-2647-4b6b-8740-d59eb98d846c", - "name": "connected", - "displayName": "Connected", - "displayNameEvent": "Connected changed", - "type": "bool", - "defaultValue": true - } - ] - }, - { - "id": "990fc2ba-260a-4648-9a93-e803e219da4f", - "name": "motionDetector", - "displayName": "Motion Detector", - "createMethods": ["user"], - "interfaces": ["presencesensor", "battery", "connectable"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "5ab00bfc-7345-44a2-90d4-852c810e59ec", - "name": "isPresent", - "displayName": "Active", - "displayNameEvent": "Motion detected", - "type": "bool", - "defaultValue": false, - "ioType": "digitalInput" - }, - { - "id": "4d66c81e-6293-4997-9685-8b44d7e5c1bd", - "name": "batteryLevel", - "displayName": "Battery", - "displayNameEvent": "Battery level changed", - "type": "int", - "unit": "Percentage", - "minValue": 0, - "maxValue": 100, - "defaultValue": 95 - }, - { - "id": "1c621a6f-86fe-4351-bf9e-03c3deaef6ad", - "name": "batteryCritical", - "displayName": "Battery critical", - "displayNameEvent": "Battery critical changed", - "type": "bool", - "defaultValue": false - }, - { - "id": "b481b6e7-77c1-40b0-859a-286876b05959", - "name": "connected", - "displayName": "Connected", - "displayNameEvent": "Connected changed", - "type": "bool", - "defaultValue": true - }, - { - "id": "17874952-a1ab-467f-9786-29ffe3196a8c", - "name": "lastSeenTime", - "displayName": "Last seen", - "displayNameEvent": "Last seen changed", - "type": "int", - "unit": "UnixTime", - "defaultValue": 0 - } - ] - }, - { - "id": "62e302f4-b92a-4b55-bd18-a1e0cc56362a", - "name": "heating", - "displayName": "Heating", - "createMethods": ["user"], - "interfaces": ["heating"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "e1910c53-a6bc-434b-9caa-0d08e214c122", - "name": "power", - "displayName": "Power", - "displayNameEvent": "Power changed", - "displayNameAction": "Set power", - "type": "bool", - "defaultValue": false, - "writable": true - }, - { - "id": "1302cb53-ccdc-49eb-88b6-85659c7d11b8", - "name": "percentage", - "displayName": "Percentage", - "displayNameEvent": "Percentage changed", - "displayNameAction": "Set percentage", - "type": "int", - "minValue": 0, - "maxValue": 100, - "unit": "Percentage", - "defaultValue": 100, - "writable": true, - "unit": "Percentage" - } - ] - }, - { - "id": "1fa40afa-6a07-4a97-918b-76e3944ea0fb", - "name": "evCharger", - "displayName": "EV Charging Station", - "createMethods": ["user"], - "interfaces": ["evcharger"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "b786029d-f3a6-4b47-978a-ac1a581aac0f", - "name": "power", - "displayName": "Power", - "displayNameEvent": "Power changed", - "displayNameAction": "Set power", - "type": "bool", - "defaultValue": 0, - "writable": true - }, - { - "id": "87600986-da37-4032-af37-015995910368", - "name": "maxChargingCurrent", - "displayName": "Maximum charging current", - "displayNameEvent": "MAximum charging current changed", - "displayNameAction": "Set maximum charging current", - "type": "double", - "unit": "Ampere", - "defaultValue": 6, - "minValue": 6, - "maxValue": 80, - "writable": true - } - ] - }, - { - "id": "227da953-e476-4c31-b3f6-fdd389bb1b7c", - "name": "thermostat", - "displayName": "Thermostat", - "createMethods": ["user"], - "interfaces": ["thermostat"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "edc0ccb6-3a78-44b9-8c7d-638142c27e10", - "name": "targetTemperature", - "displayName": "Target temperature", - "displayNameEvent": "Target temperature changed", - "displayNameAction": "Set target temperature", - "type": "double", - "unit": "DegreeCelsius", - "defaultValue": 21, - "minValue": 5, - "maxValue": 35, - "writable": true - }, - { - "id": "f3df52f0-ee1d-4163-a7b5-95d8f22b8841", - "name": "temperature", - "displayName": "Current temperature", - "displayNameEvent": "Current temperature changed", - "type": "double", - "unit": "DegreeCelsius", - "defaultValue": 18 - }, - { - "id": "94a7d50c-df3b-4590-a89e-9dae40ad84fa", - "name": "heatingOn", - "displayName": "Heating on", - "displayNameEvent": "Heating turned on/off", - "type": "bool", - "defaultValue": false - }, - { - "id": "4c696205-392a-45ed-aab5-3b7f97ddf286", - "name": "coolingOn", - "displayName": "Cooling on", - "displayNameEvent": "Cooling turned on/off", - "type": "bool", - "defaultValue": false - }, - { - "id": "f892f660-87ff-458a-bfa0-5af08591233e", - "name": "boost", - "displayName": "Boost", - "displayNameEvent": "Boost enabled changed", - "displayNameAction": "Enable/disable boost", - "type": "bool", - "defaultValue": false, - "writable": true - } - - ] - }, - { - "id": "cfb44bcf-b4b9-4bef-89f7-3a55baf35668", - "name": "garageGate", - "displayName": "Garage gate", - "createMethods": ["user"], - "interfaces": [ "garagegate", "light" ], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "f786029d-f3a6-4b47-978a-ac1a581aac0f", - "name": "state", - "displayName": "Garage gate state", - "displayNameEvent": "Garage gate state changed", - "type": "QString", - "possibleValues": ["open", "closed", "opening", "closing"], - "defaultValue": "open" - }, - { - "id": "324150cc-0357-4797-a746-37b554d82c44", - "name": "intermediatePosition", - "displayName": "Intermediate position", - "displayNameEvent": "Intermediate position changed", - "type": "bool", - "defaultValue": false - }, - { - "id": "46543561-2690-4072-a6a3-795e1c4f49a8", - "name": "power", - "displayName": "Light power", - "displayNameEvent": "Light power changed", - "displayNameAction": "Set light power", - "type": "bool", - "defaultValue": false, - "writable": true - } - ], - "actionTypes": [ - { - "id": "1786029d-f3a6-4b47-978a-ac1a581aac0f", - "name": "open", - "displayName": "Open" - }, - { - "id": "2786029d-f3a6-4b47-978a-ac1a581aac0f", - "name": "stop", - "displayName": "Stop" - }, - { - "id": "3786029d-f3a6-4b47-978a-ac1a581aac0f", - "name": "close", - "displayName": "Close" - } - ] - }, - { - "id": "a13c14f1-361e-4aad-8785-c04b094fb19a", - "name": "simpleBlind", - "displayName": "Simple blind", - "createMethods": ["user"], - "interfaces": ["blind"], - "actionTypes": [ - { - "id": "06b99eb1-c3b6-4bea-95cf-690078297206", - "name": "open", - "displayName": "Open" - }, - { - "id": "7f1bdeef-a57c-4b82-80ad-e3e31f16027f", - "name": "stop", - "displayName": "stop" - }, - { - "id": "0c55d32d-c916-472b-a03e-66fe7115e85d", - "name": "close", - "displayName": "close" - } - ] - }, - { - "id": "1d7aaa1d-fc50-4d7b-9657-1449322e40d8", - "name": "extendedBlind", - "displayName": "Extended blind", - "createMethods": ["user"], - "interfaces": ["extendedblind"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "18fc257c-6b7b-472c-b52a-acd4ba405bf2", - "name": "percentage", - "displayName": "percentage", - "type": "int", - "unit": "Percentage", - "displayNameEvent": "percentage changed", - "writable": true, - "displayNameAction": "set percentage", - "defaultValue": 0 - }, - { - "id": "83559182-f3db-4a4a-8c70-d5fb3ceb57de", - "name": "moving", - "type": "bool", - "defaultValue": false, - "displayName": "moving", - "displayNameEvent": "moving changed" - } - ], - "actionTypes": [ - { - "id": "b4379ab7-5fc2-45b6-8214-5855b040ee1a", - "name": "open", - "displayName": "Open" - }, - { - "id": "fd63d8bf-ffde-4343-bbdc-1645c94017dc", - "name": "stop", - "displayName": "stop" - }, - { - "id": "316c17e6-01a8-45c4-921d-7773b2d441a4", - "name": "close", - "displayName": "close" - } - ] - }, - { - "id": "38757fee-ac55-403e-be53-bad5b97364c1", - "name": "venetianBlind", - "displayName": "Venetian blind", - "createMethods": ["user"], - "interfaces": ["venetianblind"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "16453cde-15c9-4133-a4fd-7da76735778c", - "name": "percentage", - "displayName": "percentage", - "type": "int", - "unit": "Percentage", - "displayNameEvent": "percentage changed", - "writable": true, - "displayNameAction": "set percentage", - "defaultValue": 0 - }, - { - "id": "9dedaf04-3570-403e-b083-ec59dd08981a", - "name": "moving", - "type": "bool", - "defaultValue": false, - "displayName": "moving", - "displayNameEvent": "moving changed" - }, - { - "id": "fe3c802d-253f-4594-b64c-14a8870d9828", - "name": "angle", - "type": "int", - "displayName": "Angle", - "displayNameEvent": "Angle changed", - "displayNameAction": "Set angle", - "minValue": -90, - "maxValue": 90, - "defaultValue": 0, - "unit": "Degree", - "writable": true - } - ], - "actionTypes": [ - { - "id": "4347b46b-4048-4f3a-b45d-71d99c15c30d", - "name": "open", - "displayName": "Open" - }, - { - "id": "06be8ad4-24e5-4c03-9502-cda165a01bc4", - "name": "stop", - "displayName": "stop" - }, - { - "id": "61cadeae-810e-43f5-a6b5-e85fcaefde9c", - "name": "close", - "displayName": "close" - } - ] - }, - { - "id": "d302630b-f331-4bb0-88e4-4078f16aba7f", - "name": "extendedAwning", - "displayName": "Extended awning", - "createMethods": ["user"], - "interfaces": ["extendedawning"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "e4c92da3-da3e-40ea-907f-a93283426789", - "name": "percentage", - "type": "int", - "unit": "Percentage", - "writable": true, - "displayName": "percentage", - "displayNameEvent": "percentage changed", - "displayNameAction": "set percentage", - "minValue": 0, - "maxValue": 100, - "defaultValue": 0 - }, - { - "id": "b2a888b3-c526-410f-bafc-9d6dc459dbf8", - "name": "moving", - "type": "bool", - "defaultValue": false, - "displayName": "mooving", - "displayNameEvent": "moving changed" - } - ], - "actionTypes": [ - { - "id": "508c8f1b-aa1d-43d8-badb-0c9d219025b3", - "name": "open", - "displayName": "Open" - }, - { - "id": "41fdeba2-8d2f-46ce-8f2d-b8c31bdf90ff", - "name": "stop", - "displayName": "stop" - }, - { - "id": "79ec0271-5361-4f0f-a458-bf22e570c9ac", - "name": "close", - "displayName": "close" - } - ] - }, - { - "id": "5f4e3fc9-afb1-45d0-86a2-8713d5894aee", - "name": "simpleShutter", - "displayName": "Simple roller shutter", - "createMethods": ["user"], - "interfaces": ["shutter"], - "actionTypes": [ - { - "id": "20259935-c39b-42d3-888b-ffdb98800a8d", - "name": "open", - "displayName": "Open" - }, - { - "id": "b1f9b62a-1987-4d2b-af88-e64710cbf626", - "name": "close", - "displayName": "Close" - }, - { - "id": "7c310908-75ee-47b2-b2c1-90b85eed4694", - "name": "stop", - "displayName": "Stop" - } - ] - }, - { - "id": "1039b7ee-5351-400b-a477-5b8fc1447138", - "name": "rollerShutter", - "displayName": "Roller Shutter", - "createMethods": ["user"], - "interfaces": ["extendedshutter"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "1386029d-f3a6-4b47-978a-ac1a581aac0f", - "name": "percentage", - "type": "int", - "unit": "Percentage", - "writable": true, - "displayName": "percentage", - "displayNameEvent": "percentage changed", - "displayNameAction": "set percentage", - "minValue": 0, - "maxValue": 100, - "defaultValue": 0 - }, - { - "id": "fd94b07d-4631-450d-9f99-9e9221cc3602", - "name": "moving", - "type": "bool", - "defaultValue": false, - "displayName": "mooving", - "displayNameEvent": "moving changed" - } - ], - "actionTypes": [ - { - "id": "17860291-f3a6-4b47-978a-ac1a581aac0f", - "name": "open", - "displayName": "Open" - }, - { - "id": "27860292-f3a6-4b47-978a-ac1a581aac0f", - "name": "stop", - "displayName": "stop" - }, - { - "id": "37860293-f3a6-4b47-978a-ac1a581aac0f", - "name": "close", - "displayName": "close" - } - ] - }, - { - "id": "1039b7ee-5121-400b-a477-5b8fc14471ff", - "name": "colorBulb", - "displayName": "Color Bulb", - "createMethods": ["user"], - "interfaces": ["colorlight"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "9faaffe5-6a76-47d2-a14a-550f60390245", - "name": "power", - "displayName": "Power", - "displayNameEvent": "Power changed", - "displayNameAction": "Set power", - "type": "bool", - "defaultValue": false, - "writable": true - }, - { - "id": "cff4206f-f219-4f06-93c4-4ca515a56f79", - "name": "colorTemperature", - "displayName": "Color temperature", - "displayNameEvent": "Color temperature changed", - "displayNameAction": "Set color temperature", - "type": "int", - "unit": "Mired", - "defaultValue": 170, - "minValue": 153, - "maxValue": 500, - "writable": true - }, - { - "id": "df5423f1-b924-4b20-80b6-77eecc65d089", - "name": "color", - "displayName": "Color", - "displayNameEvent": "Color changed", - "displayNameAction": "Set color", - "type": "QColor", - "defaultValue": "#000000", - "writable": true - }, - { - "id": "90e91f11-a208-468c-a5a2-7f47e08229e2", - "name": "brightness", - "displayName": "Brightness", - "displayNameEvent": "Brightness changed", - "displayNameAction": "Set brigtness", - "type": "int", - "unit": "Percentage", - "defaultValue": 0, - "minValue": 0, - "maxValue": 100, - "writable": true - } - ] - }, - { - "id": "1039b7ee-5351-400b-a477-5b8fc14471ff", - "name": "socket", - "displayName": "Socket", - "createMethods": ["user"], - "interfaces": ["powersocket"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "b7ff029d-f3a6-4b47-978a-ac1a581aac0f", - "name": "power", - "displayName": "Power", - "displayNameEvent": "Power changed", - "displayNameAction": "Set power", - "type": "bool", - "defaultValue": false, - "writable": true, - "ioType": "digitalOutput" - } - ] - }, - { - "id": "45906fb3-9bf5-4331-9b69-0a0407b8511e", - "name": "fingerPrintSensor", - "displayName": "Finger Print Sensor", - "createMethods": ["user"], - "interfaces": ["fingerprintreader", "connectable"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "2e51cb1b-9f6a-4a45-b23e-ab44e8ab28e9", - "name": "connected", - "displayName": "Connected", - "displayNameEvent": "Connected changed", - "type": "bool", - "defaultValue": true - }, - { - "id": "02482093-3b82-4918-a3ce-2a2f4831aae0", - "name": "users", - "displayName": "Users", - "displayNameEvent": "Users changed", - "type": "QStringList", - "defaultValue": [] - } - ], - "actionTypes": [ - { - "id": "c3805253-a09b-4657-b86c-97936f390672", - "name": "addUser", - "displayName": "Add user", - "paramTypes": [ - { - "id": "d9e0c68f-8b61-4f5a-9909-b27a4ac562a3", - "displayName": "User ID", - "name": "userId", - "type": "QString" - }, - { - "id": "2a97de6c-5ffb-4ca8-b4c7-41ad6790668d", - "displayName": "Finger", - "name": "finger", - "type": "QString", - "allowedValues": [ - "ThumbLeft", - "IndexFingerLeft", - "MiddleFingerLeft", - "RingFingerLeft", - "PinkyLeft", - "ThumbRight", - "IndexFingerRight", - "MiddleFingerRight", - "RingFingerRight", - "PinkyRight" - ], - "defaultValue": "IndexFingerRight" - } - ] - }, - { - "id": "28bf4cd1-bb1c-442b-8ba3-ed019f34abbd", - "name": "removeUser", - "displayName": "Remove user", - "paramTypes": [ - { - "id": "ca2ffce8-ee71-47ff-8247-f17fca14fd87", - "displayName": "User ID", - "name": "userId", - "type": "QString" - } - ] - } - ], - "eventTypes": [ - { - "id": "1d2dde79-7121-4f8c-b7c1-904ced66a79e", - "name": "accessGranted", - "displayName": "Access granted", - "paramTypes": [ - { - "id": "84addd61-15e9-4e98-aa80-6b0bf5d82a15", - "name": "userId", - "displayName": "User ID", - "type": "QString" - }, - { - "id": "3611bfc0-be3c-4ddb-8184-b64fc38c7256", - "displayName": "Finger", - "name": "finger", - "type": "QString", - "allowedValues": [ - "ThumbLeft", - "IndexFingerLeft", - "MiddleFingerLeft", - "RingFingerLeft", - "PinkyLeft", - "ThumbRight", - "IndexFingerRight", - "MiddleFingerRight", - "RingFingerRight", - "PinkyRight" - ] - } - ] - }, - { - "id": "992b7742-af0c-447c-bd94-9ec70b872268", - "name": "accessDenied", - "displayName": "Access denied" - } - ] - }, - { - "id": "c242f229-d3f4-4d3d-854c-817b52aa18ab", - "name": "smartMeter", - "displayName": "Smart Meter", - "createMethods": ["user"], - "interfaces": ["smartmeterconsumer", "smartmeterproducer", "connectable" ], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "be0291ff-6041-433b-9121-a30ca4426b22", - "name": "connected", - "displayName": "Reachable", - "displayNameEvent": "Reachable changed", - "type": "bool", - "defaultValue": true - }, - { - "id": "d57f4d9c-759e-40eb-999e-a1acbc8df2b1", - "name": "currentPower", - "displayName": "Current power usage", - "displayNameEvent": "Power power usage changed", - "type": "double", - "unit": "Watt", - "defaultValue": 0 - }, - { - "id": "5ac91819-c855-441c-a734-ee5cc0514822", - "name": "totalEnergyConsumed", - "displayName": "Total energy consumption", - "displayNameEvent": "Total energy consumption changed", - "type": "double", - "unit": "KiloWattHour", - "defaultValue": 0 - }, - { - "id": "7437d92a-ef1a-4e59-979d-1c7a2611b359", - "name": "totalEnergyProduced", - "displayName": "Total energy production", - "displayNameEvent": "Total energy production changed", - "type": "double", - "unit": "KiloWattHour", - "defaultValue": 0 - } - ] - }, - { - "id": "eae9c1b2-a6b2-4c0d-9af3-867c900899f1", - "name": "solarPanel", - "displayName": "Solar panel", - "createMethods": ["user"], - "interfaces": ["smartmeterproducer"], - "paramTypes": [], - "stateTypes": [ - { - "id": "08f4f53d-b62d-4c2e-913f-87b1c4737d71", - "name": "currentPower", - "displayName": "Current power production", - "displayNameEvent": "Current power production changed", - "type": "double", - "unit": "Watt", - "defaultValue": 0 - }, - { - "id": "b60948ca-cee9-447a-ba1c-f908c6db58fb", - "name": "totalEnergyProduced", - "displayName": "Total produced energy", - "displayNameEvent": "Total produced energy changed", - "type": "double", - "unit": "KiloWattHour", - "defaultValue": 0 - } - ] - }, - { - "id": "280c481e-757a-4af7-b1d3-dc9cfc1d46a5", - "name": "battery", - "displayName": "Battery", - "createMethods": ["user"], - "interfaces": ["battery", "connectable"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "0f108052-4a5a-49d2-ab02-d404b1f2e17a", - "name": "connected", - "displayName": "Reachable", - "displayNameEvent": "Reachable changed", - "type": "bool", - "defaultValue": true - }, - { - "id": "30fd9fd9-1a6b-4698-93ac-6b2a1ba18500", - "name": "batteryLevel", - "displayName": "Battery level", - "displayNameEvent": "Battery level changed", - "type": "int", - "unit": "Percentage", - "defaultValue": 91, - "minValue": 0, - "maxValue": 100 - }, - { - "id": "c977e60a-e820-4647-addb-cf0b39732ffb", - "name": "charging", - "displayName": "Charging", - "displayNameEvent": "Charging changed", - "type": "bool", - "defaultValue": false - }, - { - "id": "bdf328a6-eebc-4b67-8165-551bc21e9be6", - "name": "maxCharging", - "displayName": "Max charging power", - "displayNameEvent": "Max charging power changed", - "displayNameAction": "Set max charging power", - "type": "int", - "unit": "Watt", - "defaultValue": 700, - "minValue": 200, - "maxValue": 2000, - "writable": true - }, - { - "id": "4857f2b4-0840-4c7e-82ff-bd881ae32cf9", - "name": "batteryCritical", - "displayName": "Battery critical", - "displayNameEvent": "Battery critical changed", - "type": "bool", - "defaultValue": false - } - ] - }, - { - "id": "b2565887-443a-45ae-a2e7-67fb1b1003d8", - "name": "heatingRod", - "displayName": "Heating Rod", - "createMethods": ["user"], - "interfaces": ["connectable", "heating", "temperaturesensor"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "5fa28715-f5ea-4db5-99fe-5eceb8721c4a", - "name": "connected", - "displayName": "Reachable", - "displayNameEvent": "Reachable changed", - "type": "bool", - "defaultValue": true - }, - { - "id": "1a47ba44-bbd8-4766-a648-5df49394b812", - "name": "power", - "displayName": "Power", - "displayNameEvent": "Power changed", - "displayNameAction": "Power", - "type": "bool", - "defaultValue": false, - "writable": true - }, - { - "id": "2ab2a0fa-ea66-426c-ba22-d23b42c80883", - "name": "percentage", - "displayName": "Percentage", - "displayNameEvent": "Maximum power percentage changed", - "displayNameAction": "Set maximum power percentage", - "type": "int", - "defaultValue": 100, - "unit": "Percentage", - "minValue": 0, - "maxValue": 100, - "writable": true - }, - { - "id": "49388b11-8076-4698-8091-5c5f5762fd08", - "name": "temperature", - "displayName": "Water temperature", - "displayNameEvent": "Water temperature changed", - "type": "double", - "unit": "DegreeCelsius", - "defaultValue": 0 - }, - { - "id": "47a16375-1027-42cc-82d3-56cbfdb1193c", - "name": "heatingActive", - "displayName": "Active", - "displayNameEvent": "Active status changed", - "type": "bool", - "defaultValue": false - } - ] - }, - { - "id": "7f1696e3-3145-421e-9a42-5bd3b2fd0e2c", - "name": "netatmoIndoor", - "displayName": "Netatmo Indoor Station", - "interfaces": ["temperaturesensor", "humiditysensor", "pressuresensor"], - "createMethods": ["user"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "29a95a72-f897-4027-99a8-ab1aee1ebe2b", - "name": "updateTime", - "displayName": "Last update", - "displayNameEvent": "Last update changed", - "unit": "UnixTime", - "type": "int", - "defaultValue": 0 - }, - { - "id": "b5244e65-0811-4dc2-afd2-6bf3092d44c7", - "name": "temperature", - "displayName": "Temperature", - "displayNameEvent": "Temperature changed", - "unit": "DegreeCelsius", - "type": "double", - "defaultValue": 22.7 - }, - { - "id": "b2225720-dfdc-40f8-a24a-20247e69e575", - "name": "humidity", - "displayName": "Humidity", - "displayNameEvent": "Humidity changed", - "unit": "Percentage", - "type": "double", - "defaultValue": 37, - "minValue": 0, - "maxValue": 100 - }, - { - "id": "b13fa34e-b63d-4fa4-a786-e82776ee9cbe", - "name": "pressure", - "displayName": "Pressure", - "displayNameEvent": "Pressure changed", - "unit": "MilliBar", - "type": "double", - "defaultValue": 1006 - }, - { - "id": "b16ea43e-75ef-4bee-ade6-839682ec3068", - "name": "noise", - "displayName": "Noise", - "displayNameEvent": "Noise changed", - "unit": "Dezibel", - "type": "int", - "defaultValue": 68 - }, - { - "id": "c5ebe5c0-b030-4eb6-a3f8-3a400061d09c", - "name": "co2", - "displayName": "CO2", - "displayNameEvent": "CO2 changed", - "unit": "PartsPerMillion", - "type": "int", - "defaultValue": 350 - }, - { - "id": "3b8fb712-ff4c-4c0f-83bc-2edac54fede7", - "name": "wifiStrength", - "displayName": "Wifi signal strength", - "displayNameEvent": "Wifi signal strength changed", - "unit": "Percentage", - "type": "int", - "defaultValue": 87 - } - ] - }, - { - "id": "b759f558-b484-45b6-9132-218d135c27d6", - "name": "gardenSensor", - "displayName": "Garden sensor", - "createMethods": ["user"], - "interfaces": ["temperaturesensor", "battery", "connectable"], - "paramTypes": [ ], - "stateTypes": [ - { - "id": "63eb7cdd-d16e-4baf-820b-7ad9f0a2b2a8", - "name": "soilMoisture", - "displayName": "Soil moisture", - "displayNameEvent": "Soil moisture changed", - "type": "double", - "minValue": 0, - "maxValue": 100, - "unit": "Percentage", - "defaultValue": 0 - }, - { - "id": "e75207e8-10a9-4bdc-974e-1e44e119ee23", - "name": "temperature", - "displayName": "Temperature", - "displayNameEvent": "Temperature changed", - "type": "double", - "unit": "DegreeCelsius", - "defaultValue": 0 - }, - { - "id": "9781f0a5-3478-4291-ab51-9daa1ba0e44e", - "name": "illuminance", - "displayName": "Illuminance", - "displayNameEvent": "Illuminance changed", - "type": "double", - "unit": "Lux", - "defaultValue": 20 - }, - { - "id": "6a7ecb09-135c-4be2-8c36-f2a71711ea05", - "name": "batteryLevel", - "displayName": "Battery", - "displayNameEvent": "Battery level changed", - "type": "int", - "minValue": 0, - "maxValue": 100, - "unit": "Percentage", - "defaultValue": 0 - }, - { - "id": "68d818fd-ad8a-411d-95b1-811991535fe2", - "name": "batteryCritical", - "displayName": "Battery critical", - "displayNameEvent": "Battery critical changed", - "type": "bool", - "defaultValue": false - }, - { - "id": "b5e8ace1-983c-4bff-90ef-3af30257b158", - "name": "connected", - "displayName": "Connected", - "displayNameEvent": "Connected changed", - "type": "bool", - "defaultValue": true - } - ] - }, - { - "id": "8fc2e79b-1770-4b18-bf01-78ed15893a81", - "name": "waterValve", - "displayName": "Water valve", - "createMethods": ["user"], - "interfaces": ["irrigation"], - "stateTypes": [ - { - "id": "194f05a9-2c54-466c-a2a9-3d278fb41a2a", - "name": "power", - "displayName": "Power", - "displayNameEvent": "Power changed", - "displayNameAction": "Set power", - "type": "bool", - "defaultValue": false, - "writable": true - } - ] - }, - { - "id": "672d68ac-c19b-46b0-be01-4468c36dd3da", - "name": "barcodeScanner", - "displayName": "Barcode Scanner", - "createMethods": ["user"], - "interfaces": ["barcodescanner"], - "eventTypes": [ - { - "id": "20910fac-93ff-4679-bec9-786defcd1875", - "name": "codeScanned", - "displayName": "Code scanned", - "paramTypes": [ - { - "id": "d76c1a34-ee9a-4363-80bb-2042639311c7", - "name": "content", - "displayName": "Cotent", - "type": "QString" - } - ] - } - ] - }, - { - "name": "contactSensor", - "displayName": "Door/window sensor", - "id": "14f6c41c-b1ba-4d83-b1b2-d764a62c8eed", - "setupMethod": "JustAdd", - "createMethods": [ "user" ], - "interfaces": [ "closablesensor", "connectable", "battery"], - "stateTypes": [ - { - "id": "47789719-e300-4d0d-b861-42f24af38103", - "name": "connected", - "displayName": "Available", - "displayNameEvent": "Available changed", - "type": "bool", - "cached": false, - "defaultValue": true - }, - { - "id": "bb02bb10-a933-4833-8a1d-40dda41691b2", - "name": "closed", - "displayName": "Closed", - "displayNameEvent": "Closed changed", - "type": "bool", - "defaultValue": false, - "ioType": "digitalInput" - }, - { - "id": "4979b1a8-7f1e-4b65-9c35-187045c42a8f", - "name": "batteryLevel", - "displayName": "Battery", - "displayNameEvent": "Battery level changed", - "type": "int", - "minValue": 0, - "maxValue": 100, - "unit": "Percentage", - "defaultValue": 80 - }, - { - "id": "8d87413f-b625-4b77-aa95-2029b4bfb741", - "name": "batteryCritical", - "displayName": "Battery critical", - "displayNameEvent": "Battery critical changed", - "type": "bool", - "defaultValue": false - } - ] - }, - { - "id": "088aa0cb-61e8-46b6-b99d-699a29fd79c7", - "name": "waterSensor", - "displayName": "Water sensor", - "createMethods": ["user"], - "interfaces": ["watersensor"], - "stateTypes": [ - { - "id": "764cbbbf-6a5c-4265-9424-fc9e6dd86fda", - "name": "waterDetected", - "displayName": "Wet", - "displayNameEvent": "Water detected", - "type": "bool", - "defaultValue": false - } - ] - }, - { - "id": "67bc68f1-8131-471f-9aa3-392284064ea2", - "name": "cleaningRobot", - "displayName": "Cleaning robot", - "createMethods": ["user"], - "interfaces": ["cleaningrobot", "battery"], - "stateTypes": [ - { - "id": "ec324f2a-582b-4bd2-a2c8-03d5f20aa4f9", - "name": "robotState", - "displayName": "Robot state", - "displayNameEvent": "Robot state changed", - "type": "QString", - "possibleValues": ["docked", "cleaning", "paused", "traveling", "stopped", "error"], - "defaultValue": "docked" - }, - { - "id": "71d0eff8-160a-4cff-a349-4beb40c33129", - "name": "errorMessage", - "displayName": "Robot error", - "displayNameEvent": "Robot error changed", - "type": "QString", - "defaultValue": "" - }, - { - "id": "f68f35f8-85c9-49ca-8ac1-50579653704e", - "name": "batteryCritical", - "displayName": "Battery critical", - "displayNameEvent": "Battery entered or left critical state", - "type": "bool", - "defaultValue": false - }, - { - "id": "e17a25db-1e32-479e-8802-7fab6b91b44f", - "name": "batteryLevel", - "displayName": "Battery level", - "displayNameEvent": "Battery level changed", - "type": "int", - "minValue": 0, - "maxValue": 100, - "unit": "Percentage", - "defaultValue": 50 - }, - { - "id": "f31930c5-0886-4152-9001-ae8e52f85b21", - "name": "charging", - "displayName": "Charging", - "displayNameEvent": "Started or stopped charging", - "type": "bool", - "defaultValue": true - }, - { - "id": "f3b00428-9123-43a2-bc72-684e2eec692e", - "name": "pluggedIn", - "displayName": "Plugged in", - "displayNameEvent": "Plugged or unplugged", - "type": "bool", - "defaultValue": true - } - ], - "actionTypes": [ - { - "id": "4d12df39-e4d8-4dfe-aa8b-8c3dd5adb79b", - "name": "startCleaning", - "displayName": "Start cleaning" - }, - { - "id": "22c5aab2-6348-4a60-93b9-d09779b2366b", - "name": "pauseCleaning", - "displayName": "Pause cleaning" - }, - { - "id": "3c5c752b-429d-4749-9c69-89a6953bfd7d", - "name": "stopCleaning", - "displayName": "Stop cleaning" - }, - { - "id": "8f6831fb-1335-48e5-8235-e235feadf2b7", - "name": "returnToBase", - "displayName": "Return to base" - }, - { - "id": "da19677e-c04b-4114-a744-a14dee039c4f", - "name": "simulateError", - "displayName": "Simulate error" - } - ] - } - ] - } - ] -} diff --git a/simulation/meta.json b/simulation/meta.json deleted file mode 100644 index 80ee19f6..00000000 --- a/simulation/meta.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "title": "Simulation", - "tagline": "Simulate different thing types.", - "icon": "simulation.svg", - "stability": "consumer", - "offline": false, - "technologies": [ - ], - "categories": [ - "tool" - ] -} diff --git a/simulation/simulation.pro b/simulation/simulation.pro deleted file mode 100644 index c3f19d2f..00000000 --- a/simulation/simulation.pro +++ /dev/null @@ -1,9 +0,0 @@ -include(../plugins.pri) - -TARGET = $$qtLibraryTarget(nymea_integrationpluginsimulation) - -SOURCES += \ - integrationpluginsimulation.cpp \ - -HEADERS += \ - integrationpluginsimulation.h \ diff --git a/simulation/simulation.svg b/simulation/simulation.svg deleted file mode 100644 index 2ee9397f..00000000 --- a/simulation/simulation.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - diff --git a/simulation/translations/b7368429-e312-4c82-9eab-e1cd996e43d6-de.ts b/simulation/translations/b7368429-e312-4c82-9eab-e1cd996e43d6-de.ts deleted file mode 100644 index c055cd5e..00000000 --- a/simulation/translations/b7368429-e312-4c82-9eab-e1cd996e43d6-de.ts +++ /dev/null @@ -1,1207 +0,0 @@ - - - - - IntegrationPluginSimulation - - Fingerprint could not be scanned. Please try again. - - - - Help me, I'm stuck! - - - - - Simulation - - Simulation - The name of the vendor ({fd2ae067-2c3d-4332-9c4b-ee0af653bcaf}) ----------- -The name of the plugin Simulation ({b7368429-e312-4c82-9eab-e1cd996e43d6}) - Simulation - - - Simple Button - The name of the ThingClass ({73bb670b-e7a3-40da-bd6f-3260f017ec80}) - Einfacher Schalter - - - Press the button - The name of the ActionType ({64c4ced5-9a1a-4858-81dd-1b5c94dba495}) of ThingClass simpleButton - Taste drücken - - - Button pressed - The name of the EventType ({f9652210-9aed-4f38-8c19-2fd54f703fbe}) of ThingClass simpleButton - Taste gedrückt - - - Power Button - The name of the ThingClass ({910b2f58-70dc-4da3-89ae-9e7393290ccb}) - Einschaltknopf - - - Power changed - The name of the EventType ({194f05a9-2c54-466c-a2a9-3d278fb41a2a}) of ThingClass waterValve ----------- -The name of the EventType ({1a47ba44-bbd8-4766-a648-5df49394b812}) of ThingClass heatingRod ----------- -The name of the EventType ({b7ff029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass socket ----------- -The name of the EventType ({9faaffe5-6a76-47d2-a14a-550f60390245}) of ThingClass colorBulb ----------- -The name of the EventType ({b786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass evCharger ----------- -The name of the EventType ({e1910c53-a6bc-434b-9caa-0d08e214c122}) of ThingClass heating ----------- -The name of the EventType ({fa63c0b9-10e5-4280-9cc2-243bf27c05ad}) of ThingClass alternativeButton - Ein- oder ausgeschaltet - - - Set power - The name of the ActionType ({194f05a9-2c54-466c-a2a9-3d278fb41a2a}) of ThingClass waterValve ----------- -The name of the ActionType ({b7ff029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass socket ----------- -The name of the ActionType ({9faaffe5-6a76-47d2-a14a-550f60390245}) of ThingClass colorBulb ----------- -The name of the ActionType ({b786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass evCharger ----------- -The name of the ActionType ({e1910c53-a6bc-434b-9caa-0d08e214c122}) of ThingClass heating ----------- -The name of the ActionType ({fa63c0b9-10e5-4280-9cc2-243bf27c05ad}) of ThingClass alternativeButton - Ein- oder ausschalten - - - Temperature sensor - The name of the ThingClass ({77c6ccff-84e8-4983-b69e-5e1a3f4723f2}) - Temperatursensor - - - Temperature changed - The name of the EventType ({e75207e8-10a9-4bdc-974e-1e44e119ee23}) of ThingClass gardenSensor ----------- -The name of the EventType ({b5244e65-0811-4dc2-afd2-6bf3092d44c7}) of ThingClass netatmoIndoor ----------- -The name of the EventType ({169d7a2a-d1c9-4578-bb30-fc7d25690e59}) of ThingClass temperatureSensor - Temperatur geändert - - - Humidity changed - The name of the EventType ({b2225720-dfdc-40f8-a24a-20247e69e575}) of ThingClass netatmoIndoor ----------- -The name of the EventType ({10c735fd-7b81-484a-a148-76ea0da840f0}) of ThingClass temperatureSensor - Luftfeuchtigkeit geändert - - - Battery level changed - The name of the EventType ({e17a25db-1e32-479e-8802-7fab6b91b44f}) of ThingClass cleaningRobot ----------- -The name of the EventType ({4979b1a8-7f1e-4b65-9c35-187045c42a8f}) of ThingClass contactSensor ----------- -The name of the EventType ({6a7ecb09-135c-4be2-8c36-f2a71711ea05}) of ThingClass gardenSensor ----------- -The name of the EventType ({30fd9fd9-1a6b-4698-93ac-6b2a1ba18500}) of ThingClass battery ----------- -The name of the EventType ({4d66c81e-6293-4997-9685-8b44d7e5c1bd}) of ThingClass motionDetector ----------- -The name of the EventType ({45c0de32-b519-47d7-9f82-e5f09d1542d4}) of ThingClass temperatureSensor - Batterieladung geändert - - - Battery critical changed - The name of the EventType ({8d87413f-b625-4b77-aa95-2029b4bfb741}) of ThingClass contactSensor ----------- -The name of the EventType ({68d818fd-ad8a-411d-95b1-811991535fe2}) of ThingClass gardenSensor ----------- -The name of the EventType ({4857f2b4-0840-4c7e-82ff-bd881ae32cf9}) of ThingClass battery ----------- -The name of the EventType ({1c621a6f-86fe-4351-bf9e-03c3deaef6ad}) of ThingClass motionDetector ----------- -The name of the EventType ({295b9a17-a4b1-4cc9-8ebb-2309b72c75f6}) of ThingClass temperatureSensor - Batteriezustand kritsch - - - Connected changed - The name of the EventType ({b5e8ace1-983c-4bff-90ef-3af30257b158}) of ThingClass gardenSensor ----------- -The name of the EventType ({2e51cb1b-9f6a-4a45-b23e-ab44e8ab28e9}) of ThingClass fingerPrintSensor ----------- -The name of the EventType ({b481b6e7-77c1-40b0-859a-286876b05959}) of ThingClass motionDetector ----------- -The name of the EventType ({e66aba37-2647-4b6b-8740-d59eb98d846c}) of ThingClass temperatureSensor - Verbunden oder getrennt - - - Motion Detector - The name of the ThingClass ({990fc2ba-260a-4648-9a93-e803e219da4f}) - Bewegungsmelder - - - Motion detected - The name of the EventType ({5ab00bfc-7345-44a2-90d4-852c810e59ec}) of ThingClass motionDetector - Bewegung erkannt - - - Heating - The name of the ThingClass ({62e302f4-b92a-4b55-bd18-a1e0cc56362a}) - Heizung - - - Active status changed - The name of the EventType ({47a16375-1027-42cc-82d3-56cbfdb1193c}) of ThingClass heatingRod - - - - EV Charging Station - The name of the ThingClass ({1fa40afa-6a07-4a97-918b-76e3944ea0fb}) - - - - Open - The name of the ActionType ({17860291-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass rollerShutter ----------- -The name of the ActionType ({20259935-c39b-42d3-888b-ffdb98800a8d}) of ThingClass simpleShutter ----------- -The name of the ActionType ({508c8f1b-aa1d-43d8-badb-0c9d219025b3}) of ThingClass extendedAwning ----------- -The name of the ActionType ({4347b46b-4048-4f3a-b45d-71d99c15c30d}) of ThingClass venetianBlind ----------- -The name of the ActionType ({b4379ab7-5fc2-45b6-8214-5855b040ee1a}) of ThingClass extendedBlind ----------- -The name of the ActionType ({06b99eb1-c3b6-4bea-95cf-690078297206}) of ThingClass simpleBlind ----------- -The name of the ActionType ({1786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass garageGate - - - - Stop - The name of the ActionType ({7c310908-75ee-47b2-b2c1-90b85eed4694}) of ThingClass simpleShutter ----------- -The name of the ActionType ({2786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass garageGate - - - - Close - The name of the ActionType ({b1f9b62a-1987-4d2b-af88-e64710cbf626}) of ThingClass simpleShutter ----------- -The name of the ActionType ({3786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass garageGate - - - - Roller Shutter - The name of the ThingClass ({1039b7ee-5351-400b-a477-5b8fc1447138}) - - - - stop - The name of the ActionType ({27860292-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass rollerShutter ----------- -The name of the ActionType ({41fdeba2-8d2f-46ce-8f2d-b8c31bdf90ff}) of ThingClass extendedAwning ----------- -The name of the ActionType ({06be8ad4-24e5-4c03-9502-cda165a01bc4}) of ThingClass venetianBlind ----------- -The name of the ActionType ({fd63d8bf-ffde-4343-bbdc-1645c94017dc}) of ThingClass extendedBlind ----------- -The name of the ActionType ({7f1bdeef-a57c-4b82-80ad-e3e31f16027f}) of ThingClass simpleBlind - - - - close - The name of the ActionType ({37860293-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass rollerShutter ----------- -The name of the ActionType ({79ec0271-5361-4f0f-a458-bf22e570c9ac}) of ThingClass extendedAwning ----------- -The name of the ActionType ({61cadeae-810e-43f5-a6b5-e85fcaefde9c}) of ThingClass venetianBlind ----------- -The name of the ActionType ({316c17e6-01a8-45c4-921d-7773b2d441a4}) of ThingClass extendedBlind ----------- -The name of the ActionType ({0c55d32d-c916-472b-a03e-66fe7115e85d}) of ThingClass simpleBlind - - - - Color Bulb - The name of the ThingClass ({1039b7ee-5121-400b-a477-5b8fc14471ff}) - - - - Color temperature changed - The name of the EventType ({cff4206f-f219-4f06-93c4-4ca515a56f79}) of ThingClass colorBulb - - - - Set color temperature - The name of the ActionType ({cff4206f-f219-4f06-93c4-4ca515a56f79}) of ThingClass colorBulb - - - - Color changed - The name of the EventType ({df5423f1-b924-4b20-80b6-77eecc65d089}) of ThingClass colorBulb - - - - Set color - The name of the ActionType ({df5423f1-b924-4b20-80b6-77eecc65d089}) of ThingClass colorBulb - - - - Brightness changed - The name of the EventType ({90e91f11-a208-468c-a5a2-7f47e08229e2}) of ThingClass colorBulb - - - - Set brigtness - The name of the ActionType ({90e91f11-a208-468c-a5a2-7f47e08229e2}) of ThingClass colorBulb - - - - Socket - The name of the ThingClass ({1039b7ee-5351-400b-a477-5b8fc14471ff}) - - - - Finger Print Sensor - The name of the ThingClass ({45906fb3-9bf5-4331-9b69-0a0407b8511e}) - - - - Access granted - The name of the EventType ({1d2dde79-7121-4f8c-b7c1-904ced66a79e}) of ThingClass fingerPrintSensor - - - - Access denied - The name of the EventType ({992b7742-af0c-447c-bd94-9ec70b872268}) of ThingClass fingerPrintSensor - - - - Smart Meter - The name of the ThingClass ({c242f229-d3f4-4d3d-854c-817b52aa18ab}) - - - - Reachable changed - The name of the EventType ({5fa28715-f5ea-4db5-99fe-5eceb8721c4a}) of ThingClass heatingRod ----------- -The name of the EventType ({0f108052-4a5a-49d2-ab02-d404b1f2e17a}) of ThingClass battery ----------- -The name of the EventType ({be0291ff-6041-433b-9121-a30ca4426b22}) of ThingClass smartMeter - - - - Battery - The name of the ParamType (ThingClass: contactSensor, EventType: batteryLevel, ID: {4979b1a8-7f1e-4b65-9c35-187045c42a8f}) ----------- -The name of the StateType ({4979b1a8-7f1e-4b65-9c35-187045c42a8f}) of ThingClass contactSensor ----------- -The name of the ParamType (ThingClass: gardenSensor, EventType: batteryLevel, ID: {6a7ecb09-135c-4be2-8c36-f2a71711ea05}) ----------- -The name of the StateType ({6a7ecb09-135c-4be2-8c36-f2a71711ea05}) of ThingClass gardenSensor ----------- -The name of the ThingClass ({280c481e-757a-4af7-b1d3-dc9cfc1d46a5}) ----------- -The name of the ParamType (ThingClass: motionDetector, EventType: batteryLevel, ID: {4d66c81e-6293-4997-9685-8b44d7e5c1bd}) ----------- -The name of the StateType ({4d66c81e-6293-4997-9685-8b44d7e5c1bd}) of ThingClass motionDetector ----------- -The name of the ParamType (ThingClass: temperatureSensor, EventType: batteryLevel, ID: {45c0de32-b519-47d7-9f82-e5f09d1542d4}) ----------- -The name of the StateType ({45c0de32-b519-47d7-9f82-e5f09d1542d4}) of ThingClass temperatureSensor - - - - Max charging power changed - The name of the EventType ({bdf328a6-eebc-4b67-8165-551bc21e9be6}) of ThingClass battery - - - - Set max charging power - The name of the ActionType ({bdf328a6-eebc-4b67-8165-551bc21e9be6}) of ThingClass battery - - - - Heating Rod - The name of the ThingClass ({b2565887-443a-45ae-a2e7-67fb1b1003d8}) - - - - Power - The name of the ParamType (ThingClass: waterValve, ActionType: power, ID: {194f05a9-2c54-466c-a2a9-3d278fb41a2a}) ----------- -The name of the ParamType (ThingClass: waterValve, EventType: power, ID: {194f05a9-2c54-466c-a2a9-3d278fb41a2a}) ----------- -The name of the StateType ({194f05a9-2c54-466c-a2a9-3d278fb41a2a}) of ThingClass waterValve ----------- -The name of the ParamType (ThingClass: heatingRod, ActionType: power, ID: {1a47ba44-bbd8-4766-a648-5df49394b812}) ----------- -The name of the ActionType ({1a47ba44-bbd8-4766-a648-5df49394b812}) of ThingClass heatingRod ----------- -The name of the ParamType (ThingClass: heatingRod, EventType: power, ID: {1a47ba44-bbd8-4766-a648-5df49394b812}) ----------- -The name of the StateType ({1a47ba44-bbd8-4766-a648-5df49394b812}) of ThingClass heatingRod ----------- -The name of the ParamType (ThingClass: socket, ActionType: power, ID: {b7ff029d-f3a6-4b47-978a-ac1a581aac0f}) ----------- -The name of the ParamType (ThingClass: socket, EventType: power, ID: {b7ff029d-f3a6-4b47-978a-ac1a581aac0f}) ----------- -The name of the StateType ({b7ff029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass socket ----------- -The name of the ParamType (ThingClass: colorBulb, ActionType: power, ID: {9faaffe5-6a76-47d2-a14a-550f60390245}) ----------- -The name of the ParamType (ThingClass: colorBulb, EventType: power, ID: {9faaffe5-6a76-47d2-a14a-550f60390245}) ----------- -The name of the StateType ({9faaffe5-6a76-47d2-a14a-550f60390245}) of ThingClass colorBulb ----------- -The name of the ParamType (ThingClass: evCharger, ActionType: power, ID: {b786029d-f3a6-4b47-978a-ac1a581aac0f}) ----------- -The name of the ParamType (ThingClass: evCharger, EventType: power, ID: {b786029d-f3a6-4b47-978a-ac1a581aac0f}) ----------- -The name of the StateType ({b786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass evCharger ----------- -The name of the ParamType (ThingClass: heating, ActionType: power, ID: {e1910c53-a6bc-434b-9caa-0d08e214c122}) ----------- -The name of the ParamType (ThingClass: heating, EventType: power, ID: {e1910c53-a6bc-434b-9caa-0d08e214c122}) ----------- -The name of the StateType ({e1910c53-a6bc-434b-9caa-0d08e214c122}) of ThingClass heating ----------- -The name of the ParamType (ThingClass: alternativeButton, ActionType: power, ID: {fa63c0b9-10e5-4280-9cc2-243bf27c05ad}) ----------- -The name of the ParamType (ThingClass: alternativeButton, EventType: power, ID: {fa63c0b9-10e5-4280-9cc2-243bf27c05ad}) ----------- -The name of the StateType ({fa63c0b9-10e5-4280-9cc2-243bf27c05ad}) of ThingClass alternativeButton - - - - Netatmo Indoor Station - The name of the ThingClass ({7f1696e3-3145-421e-9a42-5bd3b2fd0e2c}) - - - - Last update changed - The name of the EventType ({29a95a72-f897-4027-99a8-ab1aee1ebe2b}) of ThingClass netatmoIndoor - - - - Pressure changed - The name of the EventType ({b13fa34e-b63d-4fa4-a786-e82776ee9cbe}) of ThingClass netatmoIndoor - - - - Noise changed - The name of the EventType ({b16ea43e-75ef-4bee-ade6-839682ec3068}) of ThingClass netatmoIndoor - - - - CO2 changed - The name of the EventType ({c5ebe5c0-b030-4eb6-a3f8-3a400061d09c}) of ThingClass netatmoIndoor - - - - Wifi signal strength changed - The name of the EventType ({3b8fb712-ff4c-4c0f-83bc-2edac54fede7}) of ThingClass netatmoIndoor - - - - Garden sensor - The name of the ThingClass ({b759f558-b484-45b6-9132-218d135c27d6}) - - - - Soil moisture changed - The name of the EventType ({63eb7cdd-d16e-4baf-820b-7ad9f0a2b2a8}) of ThingClass gardenSensor - - - - Water valve - The name of the ThingClass ({8fc2e79b-1770-4b18-bf01-78ed15893a81}) - - - - Illuminance changed - The name of the EventType ({9781f0a5-3478-4291-ab51-9daa1ba0e44e}) of ThingClass gardenSensor - - - - Temperature - The name of the ParamType (ThingClass: gardenSensor, EventType: temperature, ID: {e75207e8-10a9-4bdc-974e-1e44e119ee23}) ----------- -The name of the StateType ({e75207e8-10a9-4bdc-974e-1e44e119ee23}) of ThingClass gardenSensor ----------- -The name of the ParamType (ThingClass: netatmoIndoor, EventType: temperature, ID: {b5244e65-0811-4dc2-afd2-6bf3092d44c7}) ----------- -The name of the StateType ({b5244e65-0811-4dc2-afd2-6bf3092d44c7}) of ThingClass netatmoIndoor ----------- -The name of the ParamType (ThingClass: temperatureSensor, EventType: temperature, ID: {169d7a2a-d1c9-4578-bb30-fc7d25690e59}) ----------- -The name of the StateType ({169d7a2a-d1c9-4578-bb30-fc7d25690e59}) of ThingClass temperatureSensor - - - - Humidity - The name of the ParamType (ThingClass: netatmoIndoor, EventType: humidity, ID: {b2225720-dfdc-40f8-a24a-20247e69e575}) ----------- -The name of the StateType ({b2225720-dfdc-40f8-a24a-20247e69e575}) of ThingClass netatmoIndoor ----------- -The name of the ParamType (ThingClass: temperatureSensor, EventType: humidity, ID: {10c735fd-7b81-484a-a148-76ea0da840f0}) ----------- -The name of the StateType ({10c735fd-7b81-484a-a148-76ea0da840f0}) of ThingClass temperatureSensor - - - - Battery critical - The name of the ParamType (ThingClass: cleaningRobot, EventType: batteryCritical, ID: {f68f35f8-85c9-49ca-8ac1-50579653704e}) ----------- -The name of the StateType ({f68f35f8-85c9-49ca-8ac1-50579653704e}) of ThingClass cleaningRobot ----------- -The name of the ParamType (ThingClass: contactSensor, EventType: batteryCritical, ID: {8d87413f-b625-4b77-aa95-2029b4bfb741}) ----------- -The name of the StateType ({8d87413f-b625-4b77-aa95-2029b4bfb741}) of ThingClass contactSensor ----------- -The name of the ParamType (ThingClass: gardenSensor, EventType: batteryCritical, ID: {68d818fd-ad8a-411d-95b1-811991535fe2}) ----------- -The name of the StateType ({68d818fd-ad8a-411d-95b1-811991535fe2}) of ThingClass gardenSensor ----------- -The name of the ParamType (ThingClass: battery, EventType: batteryCritical, ID: {4857f2b4-0840-4c7e-82ff-bd881ae32cf9}) ----------- -The name of the StateType ({4857f2b4-0840-4c7e-82ff-bd881ae32cf9}) of ThingClass battery ----------- -The name of the ParamType (ThingClass: motionDetector, EventType: batteryCritical, ID: {1c621a6f-86fe-4351-bf9e-03c3deaef6ad}) ----------- -The name of the StateType ({1c621a6f-86fe-4351-bf9e-03c3deaef6ad}) of ThingClass motionDetector ----------- -The name of the ParamType (ThingClass: temperatureSensor, EventType: batteryCritical, ID: {295b9a17-a4b1-4cc9-8ebb-2309b72c75f6}) ----------- -The name of the StateType ({295b9a17-a4b1-4cc9-8ebb-2309b72c75f6}) of ThingClass temperatureSensor - - - - Connected - The name of the ParamType (ThingClass: gardenSensor, EventType: connected, ID: {b5e8ace1-983c-4bff-90ef-3af30257b158}) ----------- -The name of the StateType ({b5e8ace1-983c-4bff-90ef-3af30257b158}) of ThingClass gardenSensor ----------- -The name of the ParamType (ThingClass: fingerPrintSensor, EventType: connected, ID: {2e51cb1b-9f6a-4a45-b23e-ab44e8ab28e9}) ----------- -The name of the StateType ({2e51cb1b-9f6a-4a45-b23e-ab44e8ab28e9}) of ThingClass fingerPrintSensor ----------- -The name of the ParamType (ThingClass: motionDetector, EventType: connected, ID: {b481b6e7-77c1-40b0-859a-286876b05959}) ----------- -The name of the StateType ({b481b6e7-77c1-40b0-859a-286876b05959}) of ThingClass motionDetector ----------- -The name of the ParamType (ThingClass: temperatureSensor, EventType: connected, ID: {e66aba37-2647-4b6b-8740-d59eb98d846c}) ----------- -The name of the StateType ({e66aba37-2647-4b6b-8740-d59eb98d846c}) of ThingClass temperatureSensor - - - - Active - The name of the ParamType (ThingClass: heatingRod, EventType: heatingActive, ID: {47a16375-1027-42cc-82d3-56cbfdb1193c}) ----------- -The name of the StateType ({47a16375-1027-42cc-82d3-56cbfdb1193c}) of ThingClass heatingRod ----------- -The name of the ParamType (ThingClass: motionDetector, EventType: isPresent, ID: {5ab00bfc-7345-44a2-90d4-852c810e59ec}) ----------- -The name of the StateType ({5ab00bfc-7345-44a2-90d4-852c810e59ec}) of ThingClass motionDetector - - - - Target temperature - The name of the ParamType (ThingClass: thermostat, ActionType: targetTemperature, ID: {edc0ccb6-3a78-44b9-8c7d-638142c27e10}) ----------- -The name of the ParamType (ThingClass: thermostat, EventType: targetTemperature, ID: {edc0ccb6-3a78-44b9-8c7d-638142c27e10}) ----------- -The name of the StateType ({edc0ccb6-3a78-44b9-8c7d-638142c27e10}) of ThingClass thermostat - - - - Color temperature - The name of the ParamType (ThingClass: colorBulb, ActionType: colorTemperature, ID: {cff4206f-f219-4f06-93c4-4ca515a56f79}) ----------- -The name of the ParamType (ThingClass: colorBulb, EventType: colorTemperature, ID: {cff4206f-f219-4f06-93c4-4ca515a56f79}) ----------- -The name of the StateType ({cff4206f-f219-4f06-93c4-4ca515a56f79}) of ThingClass colorBulb - - - - Color - The name of the ParamType (ThingClass: colorBulb, ActionType: color, ID: {df5423f1-b924-4b20-80b6-77eecc65d089}) ----------- -The name of the ParamType (ThingClass: colorBulb, EventType: color, ID: {df5423f1-b924-4b20-80b6-77eecc65d089}) ----------- -The name of the StateType ({df5423f1-b924-4b20-80b6-77eecc65d089}) of ThingClass colorBulb - - - - Brightness - The name of the ParamType (ThingClass: colorBulb, ActionType: brightness, ID: {90e91f11-a208-468c-a5a2-7f47e08229e2}) ----------- -The name of the ParamType (ThingClass: colorBulb, EventType: brightness, ID: {90e91f11-a208-468c-a5a2-7f47e08229e2}) ----------- -The name of the StateType ({90e91f11-a208-468c-a5a2-7f47e08229e2}) of ThingClass colorBulb - - - - Reachable - The name of the ParamType (ThingClass: heatingRod, EventType: connected, ID: {5fa28715-f5ea-4db5-99fe-5eceb8721c4a}) ----------- -The name of the StateType ({5fa28715-f5ea-4db5-99fe-5eceb8721c4a}) of ThingClass heatingRod ----------- -The name of the ParamType (ThingClass: battery, EventType: connected, ID: {0f108052-4a5a-49d2-ab02-d404b1f2e17a}) ----------- -The name of the StateType ({0f108052-4a5a-49d2-ab02-d404b1f2e17a}) of ThingClass battery ----------- -The name of the ParamType (ThingClass: smartMeter, EventType: connected, ID: {be0291ff-6041-433b-9121-a30ca4426b22}) ----------- -The name of the StateType ({be0291ff-6041-433b-9121-a30ca4426b22}) of ThingClass smartMeter - - - - Battery level - The name of the ParamType (ThingClass: cleaningRobot, EventType: batteryLevel, ID: {e17a25db-1e32-479e-8802-7fab6b91b44f}) ----------- -The name of the StateType ({e17a25db-1e32-479e-8802-7fab6b91b44f}) of ThingClass cleaningRobot ----------- -The name of the ParamType (ThingClass: battery, EventType: batteryLevel, ID: {30fd9fd9-1a6b-4698-93ac-6b2a1ba18500}) ----------- -The name of the StateType ({30fd9fd9-1a6b-4698-93ac-6b2a1ba18500}) of ThingClass battery - - - - Charging - The name of the ParamType (ThingClass: cleaningRobot, EventType: charging, ID: {f31930c5-0886-4152-9001-ae8e52f85b21}) ----------- -The name of the StateType ({f31930c5-0886-4152-9001-ae8e52f85b21}) of ThingClass cleaningRobot ----------- -The name of the ParamType (ThingClass: battery, EventType: charging, ID: {c977e60a-e820-4647-addb-cf0b39732ffb}) ----------- -The name of the StateType ({c977e60a-e820-4647-addb-cf0b39732ffb}) of ThingClass battery - - - - Max charging power - The name of the ParamType (ThingClass: battery, ActionType: maxCharging, ID: {bdf328a6-eebc-4b67-8165-551bc21e9be6}) ----------- -The name of the ParamType (ThingClass: battery, EventType: maxCharging, ID: {bdf328a6-eebc-4b67-8165-551bc21e9be6}) ----------- -The name of the StateType ({bdf328a6-eebc-4b67-8165-551bc21e9be6}) of ThingClass battery - - - - Last update - The name of the ParamType (ThingClass: netatmoIndoor, EventType: updateTime, ID: {29a95a72-f897-4027-99a8-ab1aee1ebe2b}) ----------- -The name of the StateType ({29a95a72-f897-4027-99a8-ab1aee1ebe2b}) of ThingClass netatmoIndoor - - - - Pressure - The name of the ParamType (ThingClass: netatmoIndoor, EventType: pressure, ID: {b13fa34e-b63d-4fa4-a786-e82776ee9cbe}) ----------- -The name of the StateType ({b13fa34e-b63d-4fa4-a786-e82776ee9cbe}) of ThingClass netatmoIndoor - - - - Noise - The name of the ParamType (ThingClass: netatmoIndoor, EventType: noise, ID: {b16ea43e-75ef-4bee-ade6-839682ec3068}) ----------- -The name of the StateType ({b16ea43e-75ef-4bee-ade6-839682ec3068}) of ThingClass netatmoIndoor - - - - CO2 - The name of the ParamType (ThingClass: netatmoIndoor, EventType: co2, ID: {c5ebe5c0-b030-4eb6-a3f8-3a400061d09c}) ----------- -The name of the StateType ({c5ebe5c0-b030-4eb6-a3f8-3a400061d09c}) of ThingClass netatmoIndoor - - - - Wifi signal strength - The name of the ParamType (ThingClass: netatmoIndoor, EventType: wifiStrength, ID: {3b8fb712-ff4c-4c0f-83bc-2edac54fede7}) ----------- -The name of the StateType ({3b8fb712-ff4c-4c0f-83bc-2edac54fede7}) of ThingClass netatmoIndoor - - - - Soil moisture - The name of the ParamType (ThingClass: gardenSensor, EventType: soilMoisture, ID: {63eb7cdd-d16e-4baf-820b-7ad9f0a2b2a8}) ----------- -The name of the StateType ({63eb7cdd-d16e-4baf-820b-7ad9f0a2b2a8}) of ThingClass gardenSensor - - - - Illuminance - The name of the ParamType (ThingClass: gardenSensor, EventType: illuminance, ID: {9781f0a5-3478-4291-ab51-9daa1ba0e44e}) ----------- -The name of the StateType ({9781f0a5-3478-4291-ab51-9daa1ba0e44e}) of ThingClass gardenSensor - - - - Garage gate - The name of the ThingClass ({cfb44bcf-b4b9-4bef-89f7-3a55baf35668}) - - - - Garage gate state changed - The name of the EventType ({f786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass garageGate - - - - Garage gate state - The name of the ParamType (ThingClass: garageGate, EventType: state, ID: {f786029d-f3a6-4b47-978a-ac1a581aac0f}) ----------- -The name of the StateType ({f786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass garageGate - - - - Intermediate position changed - The name of the EventType ({324150cc-0357-4797-a746-37b554d82c44}) of ThingClass garageGate - - - - Intermediate position - The name of the ParamType (ThingClass: garageGate, EventType: intermediatePosition, ID: {324150cc-0357-4797-a746-37b554d82c44}) ----------- -The name of the StateType ({324150cc-0357-4797-a746-37b554d82c44}) of ThingClass garageGate - - - - Light power changed - The name of the EventType ({46543561-2690-4072-a6a3-795e1c4f49a8}) of ThingClass garageGate - - - - Light power - The name of the ParamType (ThingClass: garageGate, ActionType: power, ID: {46543561-2690-4072-a6a3-795e1c4f49a8}) ----------- -The name of the ParamType (ThingClass: garageGate, EventType: power, ID: {46543561-2690-4072-a6a3-795e1c4f49a8}) ----------- -The name of the StateType ({46543561-2690-4072-a6a3-795e1c4f49a8}) of ThingClass garageGate - - - - Set light power - The name of the ActionType ({46543561-2690-4072-a6a3-795e1c4f49a8}) of ThingClass garageGate - - - - Extended blind - The name of the ThingClass ({1d7aaa1d-fc50-4d7b-9657-1449322e40d8}) - - - - percentage changed - The name of the EventType ({1386029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass rollerShutter ----------- -The name of the EventType ({e4c92da3-da3e-40ea-907f-a93283426789}) of ThingClass extendedAwning ----------- -The name of the EventType ({16453cde-15c9-4133-a4fd-7da76735778c}) of ThingClass venetianBlind ----------- -The name of the EventType ({18fc257c-6b7b-472c-b52a-acd4ba405bf2}) of ThingClass extendedBlind - - - - percentage - The name of the ParamType (ThingClass: rollerShutter, ActionType: percentage, ID: {1386029d-f3a6-4b47-978a-ac1a581aac0f}) ----------- -The name of the ParamType (ThingClass: rollerShutter, EventType: percentage, ID: {1386029d-f3a6-4b47-978a-ac1a581aac0f}) ----------- -The name of the StateType ({1386029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass rollerShutter ----------- -The name of the ParamType (ThingClass: extendedAwning, ActionType: percentage, ID: {e4c92da3-da3e-40ea-907f-a93283426789}) ----------- -The name of the ParamType (ThingClass: extendedAwning, EventType: percentage, ID: {e4c92da3-da3e-40ea-907f-a93283426789}) ----------- -The name of the StateType ({e4c92da3-da3e-40ea-907f-a93283426789}) of ThingClass extendedAwning ----------- -The name of the ParamType (ThingClass: venetianBlind, ActionType: percentage, ID: {16453cde-15c9-4133-a4fd-7da76735778c}) ----------- -The name of the ParamType (ThingClass: venetianBlind, EventType: percentage, ID: {16453cde-15c9-4133-a4fd-7da76735778c}) ----------- -The name of the StateType ({16453cde-15c9-4133-a4fd-7da76735778c}) of ThingClass venetianBlind ----------- -The name of the ParamType (ThingClass: extendedBlind, ActionType: percentage, ID: {18fc257c-6b7b-472c-b52a-acd4ba405bf2}) ----------- -The name of the ParamType (ThingClass: extendedBlind, EventType: percentage, ID: {18fc257c-6b7b-472c-b52a-acd4ba405bf2}) ----------- -The name of the StateType ({18fc257c-6b7b-472c-b52a-acd4ba405bf2}) of ThingClass extendedBlind - - - - moving changed - The name of the EventType ({fd94b07d-4631-450d-9f99-9e9221cc3602}) of ThingClass rollerShutter ----------- -The name of the EventType ({b2a888b3-c526-410f-bafc-9d6dc459dbf8}) of ThingClass extendedAwning ----------- -The name of the EventType ({9dedaf04-3570-403e-b083-ec59dd08981a}) of ThingClass venetianBlind ----------- -The name of the EventType ({83559182-f3db-4a4a-8c70-d5fb3ceb57de}) of ThingClass extendedBlind - - - - mooving - The name of the ParamType (ThingClass: rollerShutter, EventType: moving, ID: {fd94b07d-4631-450d-9f99-9e9221cc3602}) ----------- -The name of the StateType ({fd94b07d-4631-450d-9f99-9e9221cc3602}) of ThingClass rollerShutter ----------- -The name of the ParamType (ThingClass: extendedAwning, EventType: moving, ID: {b2a888b3-c526-410f-bafc-9d6dc459dbf8}) ----------- -The name of the StateType ({b2a888b3-c526-410f-bafc-9d6dc459dbf8}) of ThingClass extendedAwning - - - - Extended awning - The name of the ThingClass ({d302630b-f331-4bb0-88e4-4078f16aba7f}) - - - - set percentage - The name of the ActionType ({1386029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass rollerShutter ----------- -The name of the ActionType ({e4c92da3-da3e-40ea-907f-a93283426789}) of ThingClass extendedAwning ----------- -The name of the ActionType ({16453cde-15c9-4133-a4fd-7da76735778c}) of ThingClass venetianBlind ----------- -The name of the ActionType ({18fc257c-6b7b-472c-b52a-acd4ba405bf2}) of ThingClass extendedBlind - - - - Simple blind - The name of the ThingClass ({a13c14f1-361e-4aad-8785-c04b094fb19a}) - - - - Users changed - The name of the EventType ({02482093-3b82-4918-a3ce-2a2f4831aae0}) of ThingClass fingerPrintSensor - - - - Users - The name of the ParamType (ThingClass: fingerPrintSensor, EventType: users, ID: {02482093-3b82-4918-a3ce-2a2f4831aae0}) ----------- -The name of the StateType ({02482093-3b82-4918-a3ce-2a2f4831aae0}) of ThingClass fingerPrintSensor - - - - Add user - The name of the ActionType ({c3805253-a09b-4657-b86c-97936f390672}) of ThingClass fingerPrintSensor - - - - User ID - The name of the ParamType (ThingClass: fingerPrintSensor, ActionType: removeUser, ID: {ca2ffce8-ee71-47ff-8247-f17fca14fd87}) ----------- -The name of the ParamType (ThingClass: fingerPrintSensor, ActionType: addUser, ID: {d9e0c68f-8b61-4f5a-9909-b27a4ac562a3}) ----------- -The name of the ParamType (ThingClass: fingerPrintSensor, EventType: accessGranted, ID: {84addd61-15e9-4e98-aa80-6b0bf5d82a15}) - - - - Finger - The name of the ParamType (ThingClass: fingerPrintSensor, ActionType: addUser, ID: {2a97de6c-5ffb-4ca8-b4c7-41ad6790668d}) ----------- -The name of the ParamType (ThingClass: fingerPrintSensor, EventType: accessGranted, ID: {3611bfc0-be3c-4ddb-8184-b64fc38c7256}) - - - - Remove user - The name of the ActionType ({28bf4cd1-bb1c-442b-8ba3-ed019f34abbd}) of ThingClass fingerPrintSensor - - - - Percentage changed - The name of the EventType ({1302cb53-ccdc-49eb-88b6-85659c7d11b8}) of ThingClass heating - - - - Percentage - The name of the ParamType (ThingClass: heatingRod, ActionType: percentage, ID: {2ab2a0fa-ea66-426c-ba22-d23b42c80883}) ----------- -The name of the ParamType (ThingClass: heatingRod, EventType: percentage, ID: {2ab2a0fa-ea66-426c-ba22-d23b42c80883}) ----------- -The name of the StateType ({2ab2a0fa-ea66-426c-ba22-d23b42c80883}) of ThingClass heatingRod ----------- -The name of the ParamType (ThingClass: heating, ActionType: percentage, ID: {1302cb53-ccdc-49eb-88b6-85659c7d11b8}) ----------- -The name of the ParamType (ThingClass: heating, EventType: percentage, ID: {1302cb53-ccdc-49eb-88b6-85659c7d11b8}) ----------- -The name of the StateType ({1302cb53-ccdc-49eb-88b6-85659c7d11b8}) of ThingClass heating - - - - Set percentage - The name of the ActionType ({1302cb53-ccdc-49eb-88b6-85659c7d11b8}) of ThingClass heating - - - - Thermostat - The name of the ThingClass ({227da953-e476-4c31-b3f6-fdd389bb1b7c}) - - - - Target temperature changed - The name of the EventType ({edc0ccb6-3a78-44b9-8c7d-638142c27e10}) of ThingClass thermostat - - - - Power power flow changed - The name of the EventType ({d57f4d9c-759e-40eb-999e-a1acbc8df2b1}) of ThingClass smartMeter - - - - Current power flow - The name of the ParamType (ThingClass: smartMeter, EventType: currentPower, ID: {d57f4d9c-759e-40eb-999e-a1acbc8df2b1}) ----------- -The name of the StateType ({d57f4d9c-759e-40eb-999e-a1acbc8df2b1}) of ThingClass smartMeter - - - - Total energy consumption changed - The name of the EventType ({5ac91819-c855-441c-a734-ee5cc0514822}) of ThingClass smartMeter - - - - Total energy consumption - The name of the ParamType (ThingClass: smartMeter, EventType: totalEnergyConsumed, ID: {5ac91819-c855-441c-a734-ee5cc0514822}) ----------- -The name of the StateType ({5ac91819-c855-441c-a734-ee5cc0514822}) of ThingClass smartMeter - - - - Total energy production changed - The name of the EventType ({7437d92a-ef1a-4e59-979d-1c7a2611b359}) of ThingClass smartMeter - - - - Total energy production - The name of the ParamType (ThingClass: smartMeter, EventType: totalEnergyProduced, ID: {7437d92a-ef1a-4e59-979d-1c7a2611b359}) ----------- -The name of the StateType ({7437d92a-ef1a-4e59-979d-1c7a2611b359}) of ThingClass smartMeter - - - - Solar panel - The name of the ThingClass ({eae9c1b2-a6b2-4c0d-9af3-867c900899f1}) - - - - Current power production changed - The name of the EventType ({08f4f53d-b62d-4c2e-913f-87b1c4737d71}) of ThingClass solarPanel - - - - Current power production - The name of the ParamType (ThingClass: solarPanel, EventType: currentPower, ID: {08f4f53d-b62d-4c2e-913f-87b1c4737d71}) ----------- -The name of the StateType ({08f4f53d-b62d-4c2e-913f-87b1c4737d71}) of ThingClass solarPanel - - - - Total produced energy changed - The name of the EventType ({b60948ca-cee9-447a-ba1c-f908c6db58fb}) of ThingClass solarPanel - - - - Total produced energy - The name of the ParamType (ThingClass: solarPanel, EventType: totalEnergyProduced, ID: {b60948ca-cee9-447a-ba1c-f908c6db58fb}) ----------- -The name of the StateType ({b60948ca-cee9-447a-ba1c-f908c6db58fb}) of ThingClass solarPanel - - - - Maximum power percentage changed - The name of the EventType ({2ab2a0fa-ea66-426c-ba22-d23b42c80883}) of ThingClass heatingRod - - - - Set maximum power percentage - The name of the ActionType ({2ab2a0fa-ea66-426c-ba22-d23b42c80883}) of ThingClass heatingRod - - - - Water temperature changed - The name of the EventType ({49388b11-8076-4698-8091-5c5f5762fd08}) of ThingClass heatingRod - - - - Water temperature - The name of the ParamType (ThingClass: heatingRod, EventType: temperature, ID: {49388b11-8076-4698-8091-5c5f5762fd08}) ----------- -The name of the StateType ({49388b11-8076-4698-8091-5c5f5762fd08}) of ThingClass heatingRod - - - - moving - The name of the ParamType (ThingClass: venetianBlind, EventType: moving, ID: {9dedaf04-3570-403e-b083-ec59dd08981a}) ----------- -The name of the StateType ({9dedaf04-3570-403e-b083-ec59dd08981a}) of ThingClass venetianBlind ----------- -The name of the ParamType (ThingClass: extendedBlind, EventType: moving, ID: {83559182-f3db-4a4a-8c70-d5fb3ceb57de}) ----------- -The name of the StateType ({83559182-f3db-4a4a-8c70-d5fb3ceb57de}) of ThingClass extendedBlind - - - - MAximum charging current changed - The name of the EventType ({87600986-da37-4032-af37-015995910368}) of ThingClass evCharger - - - - Maximum charging current - The name of the ParamType (ThingClass: evCharger, ActionType: maxChargingCurrent, ID: {87600986-da37-4032-af37-015995910368}) ----------- -The name of the ParamType (ThingClass: evCharger, EventType: maxChargingCurrent, ID: {87600986-da37-4032-af37-015995910368}) ----------- -The name of the StateType ({87600986-da37-4032-af37-015995910368}) of ThingClass evCharger - - - - Set maximum charging current - The name of the ActionType ({87600986-da37-4032-af37-015995910368}) of ThingClass evCharger - - - - Set target temperature - The name of the ActionType ({edc0ccb6-3a78-44b9-8c7d-638142c27e10}) of ThingClass thermostat - - - - Boost enabled changed - The name of the EventType ({f892f660-87ff-458a-bfa0-5af08591233e}) of ThingClass thermostat - - - - Boost - The name of the ParamType (ThingClass: thermostat, ActionType: boost, ID: {f892f660-87ff-458a-bfa0-5af08591233e}) ----------- -The name of the ParamType (ThingClass: thermostat, EventType: boost, ID: {f892f660-87ff-458a-bfa0-5af08591233e}) ----------- -The name of the StateType ({f892f660-87ff-458a-bfa0-5af08591233e}) of ThingClass thermostat - - - - Enable/disable boost - The name of the ActionType ({f892f660-87ff-458a-bfa0-5af08591233e}) of ThingClass thermostat - - - - Barcode Scanner - The name of the ThingClass ({672d68ac-c19b-46b0-be01-4468c36dd3da}) - - - - Code scanned - The name of the EventType ({20910fac-93ff-4679-bec9-786defcd1875}) of ThingClass barcodeScanner - - - - Cotent - The name of the ParamType (ThingClass: barcodeScanner, EventType: codeScanned, ID: {d76c1a34-ee9a-4363-80bb-2042639311c7}) - - - - Available - The name of the ParamType (ThingClass: contactSensor, EventType: connected, ID: {47789719-e300-4d0d-b861-42f24af38103}) ----------- -The name of the StateType ({47789719-e300-4d0d-b861-42f24af38103}) of ThingClass contactSensor - - - - Available changed - The name of the EventType ({47789719-e300-4d0d-b861-42f24af38103}) of ThingClass contactSensor - - - - Closed - The name of the ParamType (ThingClass: contactSensor, EventType: closed, ID: {bb02bb10-a933-4833-8a1d-40dda41691b2}) ----------- -The name of the StateType ({bb02bb10-a933-4833-8a1d-40dda41691b2}) of ThingClass contactSensor - - - - Closed changed - The name of the EventType ({bb02bb10-a933-4833-8a1d-40dda41691b2}) of ThingClass contactSensor - - - - Door/window sensor - The name of the ThingClass ({14f6c41c-b1ba-4d83-b1b2-d764a62c8eed}) - - - - Angle - The name of the ParamType (ThingClass: venetianBlind, ActionType: angle, ID: {fe3c802d-253f-4594-b64c-14a8870d9828}) ----------- -The name of the ParamType (ThingClass: venetianBlind, EventType: angle, ID: {fe3c802d-253f-4594-b64c-14a8870d9828}) ----------- -The name of the StateType ({fe3c802d-253f-4594-b64c-14a8870d9828}) of ThingClass venetianBlind - - - - Angle changed - The name of the EventType ({fe3c802d-253f-4594-b64c-14a8870d9828}) of ThingClass venetianBlind - - - - Battery entered or left critical state - The name of the EventType ({f68f35f8-85c9-49ca-8ac1-50579653704e}) of ThingClass cleaningRobot - - - - Charging changed - The name of the EventType ({c977e60a-e820-4647-addb-cf0b39732ffb}) of ThingClass battery - - - - Cleaning robot - The name of the ThingClass ({67bc68f1-8131-471f-9aa3-392284064ea2}) - - - - Cooling on - The name of the ParamType (ThingClass: thermostat, EventType: coolingOn, ID: {4c696205-392a-45ed-aab5-3b7f97ddf286}) ----------- -The name of the StateType ({4c696205-392a-45ed-aab5-3b7f97ddf286}) of ThingClass thermostat - - - - Cooling turned on/off - The name of the EventType ({4c696205-392a-45ed-aab5-3b7f97ddf286}) of ThingClass thermostat - - - - Current temperature - The name of the ParamType (ThingClass: thermostat, EventType: temperature, ID: {f3df52f0-ee1d-4163-a7b5-95d8f22b8841}) ----------- -The name of the StateType ({f3df52f0-ee1d-4163-a7b5-95d8f22b8841}) of ThingClass thermostat - - - - Current temperature changed - The name of the EventType ({f3df52f0-ee1d-4163-a7b5-95d8f22b8841}) of ThingClass thermostat - - - - Heating on - The name of the ParamType (ThingClass: thermostat, EventType: heatingOn, ID: {94a7d50c-df3b-4590-a89e-9dae40ad84fa}) ----------- -The name of the StateType ({94a7d50c-df3b-4590-a89e-9dae40ad84fa}) of ThingClass thermostat - - - - Heating turned on/off - The name of the EventType ({94a7d50c-df3b-4590-a89e-9dae40ad84fa}) of ThingClass thermostat - - - - Last seen - The name of the ParamType (ThingClass: motionDetector, EventType: lastSeenTime, ID: {17874952-a1ab-467f-9786-29ffe3196a8c}) ----------- -The name of the StateType ({17874952-a1ab-467f-9786-29ffe3196a8c}) of ThingClass motionDetector - - - - Last seen changed - The name of the EventType ({17874952-a1ab-467f-9786-29ffe3196a8c}) of ThingClass motionDetector - - - - Pause cleaning - The name of the ActionType ({22c5aab2-6348-4a60-93b9-d09779b2366b}) of ThingClass cleaningRobot - - - - Plugged in - The name of the ParamType (ThingClass: cleaningRobot, EventType: pluggedIn, ID: {f3b00428-9123-43a2-bc72-684e2eec692e}) ----------- -The name of the StateType ({f3b00428-9123-43a2-bc72-684e2eec692e}) of ThingClass cleaningRobot - - - - Plugged or unplugged - The name of the EventType ({f3b00428-9123-43a2-bc72-684e2eec692e}) of ThingClass cleaningRobot - - - - Return to base - The name of the ActionType ({8f6831fb-1335-48e5-8235-e235feadf2b7}) of ThingClass cleaningRobot - - - - Robot error - The name of the ParamType (ThingClass: cleaningRobot, EventType: errorMessage, ID: {71d0eff8-160a-4cff-a349-4beb40c33129}) ----------- -The name of the StateType ({71d0eff8-160a-4cff-a349-4beb40c33129}) of ThingClass cleaningRobot - - - - Robot error changed - The name of the EventType ({71d0eff8-160a-4cff-a349-4beb40c33129}) of ThingClass cleaningRobot - - - - Robot state - The name of the ParamType (ThingClass: cleaningRobot, EventType: robotState, ID: {ec324f2a-582b-4bd2-a2c8-03d5f20aa4f9}) ----------- -The name of the StateType ({ec324f2a-582b-4bd2-a2c8-03d5f20aa4f9}) of ThingClass cleaningRobot - - - - Robot state changed - The name of the EventType ({ec324f2a-582b-4bd2-a2c8-03d5f20aa4f9}) of ThingClass cleaningRobot - - - - Set angle - The name of the ActionType ({fe3c802d-253f-4594-b64c-14a8870d9828}) of ThingClass venetianBlind - - - - Simple roller shutter - The name of the ThingClass ({5f4e3fc9-afb1-45d0-86a2-8713d5894aee}) - - - - Simulate error - The name of the ActionType ({da19677e-c04b-4114-a744-a14dee039c4f}) of ThingClass cleaningRobot - - - - Start cleaning - The name of the ActionType ({4d12df39-e4d8-4dfe-aa8b-8c3dd5adb79b}) of ThingClass cleaningRobot - - - - Started or stopped charging - The name of the EventType ({f31930c5-0886-4152-9001-ae8e52f85b21}) of ThingClass cleaningRobot - - - - Stop cleaning - The name of the ActionType ({3c5c752b-429d-4749-9c69-89a6953bfd7d}) of ThingClass cleaningRobot - - - - Venetian blind - The name of the ThingClass ({38757fee-ac55-403e-be53-bad5b97364c1}) - - - - Water detected - The name of the EventType ({764cbbbf-6a5c-4265-9424-fc9e6dd86fda}) of ThingClass waterSensor - - - - Water sensor - The name of the ThingClass ({088aa0cb-61e8-46b6-b99d-699a29fd79c7}) - - - - Wet - The name of the ParamType (ThingClass: waterSensor, EventType: waterDetected, ID: {764cbbbf-6a5c-4265-9424-fc9e6dd86fda}) ----------- -The name of the StateType ({764cbbbf-6a5c-4265-9424-fc9e6dd86fda}) of ThingClass waterSensor - - - - diff --git a/simulation/translations/b7368429-e312-4c82-9eab-e1cd996e43d6-en_US.ts b/simulation/translations/b7368429-e312-4c82-9eab-e1cd996e43d6-en_US.ts deleted file mode 100644 index ab3e64f7..00000000 --- a/simulation/translations/b7368429-e312-4c82-9eab-e1cd996e43d6-en_US.ts +++ /dev/null @@ -1,1207 +0,0 @@ - - - - - IntegrationPluginSimulation - - Fingerprint could not be scanned. Please try again. - - - - Help me, I'm stuck! - - - - - Simulation - - Simulation - The name of the vendor ({fd2ae067-2c3d-4332-9c4b-ee0af653bcaf}) ----------- -The name of the plugin Simulation ({b7368429-e312-4c82-9eab-e1cd996e43d6}) - - - - Simple Button - The name of the ThingClass ({73bb670b-e7a3-40da-bd6f-3260f017ec80}) - - - - Press the button - The name of the ActionType ({64c4ced5-9a1a-4858-81dd-1b5c94dba495}) of ThingClass simpleButton - - - - Button pressed - The name of the EventType ({f9652210-9aed-4f38-8c19-2fd54f703fbe}) of ThingClass simpleButton - - - - Power Button - The name of the ThingClass ({910b2f58-70dc-4da3-89ae-9e7393290ccb}) - - - - Power changed - The name of the EventType ({194f05a9-2c54-466c-a2a9-3d278fb41a2a}) of ThingClass waterValve ----------- -The name of the EventType ({1a47ba44-bbd8-4766-a648-5df49394b812}) of ThingClass heatingRod ----------- -The name of the EventType ({b7ff029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass socket ----------- -The name of the EventType ({9faaffe5-6a76-47d2-a14a-550f60390245}) of ThingClass colorBulb ----------- -The name of the EventType ({b786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass evCharger ----------- -The name of the EventType ({e1910c53-a6bc-434b-9caa-0d08e214c122}) of ThingClass heating ----------- -The name of the EventType ({fa63c0b9-10e5-4280-9cc2-243bf27c05ad}) of ThingClass alternativeButton - - - - Set power - The name of the ActionType ({194f05a9-2c54-466c-a2a9-3d278fb41a2a}) of ThingClass waterValve ----------- -The name of the ActionType ({b7ff029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass socket ----------- -The name of the ActionType ({9faaffe5-6a76-47d2-a14a-550f60390245}) of ThingClass colorBulb ----------- -The name of the ActionType ({b786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass evCharger ----------- -The name of the ActionType ({e1910c53-a6bc-434b-9caa-0d08e214c122}) of ThingClass heating ----------- -The name of the ActionType ({fa63c0b9-10e5-4280-9cc2-243bf27c05ad}) of ThingClass alternativeButton - - - - Temperature sensor - The name of the ThingClass ({77c6ccff-84e8-4983-b69e-5e1a3f4723f2}) - - - - Temperature changed - The name of the EventType ({e75207e8-10a9-4bdc-974e-1e44e119ee23}) of ThingClass gardenSensor ----------- -The name of the EventType ({b5244e65-0811-4dc2-afd2-6bf3092d44c7}) of ThingClass netatmoIndoor ----------- -The name of the EventType ({169d7a2a-d1c9-4578-bb30-fc7d25690e59}) of ThingClass temperatureSensor - - - - Humidity changed - The name of the EventType ({b2225720-dfdc-40f8-a24a-20247e69e575}) of ThingClass netatmoIndoor ----------- -The name of the EventType ({10c735fd-7b81-484a-a148-76ea0da840f0}) of ThingClass temperatureSensor - - - - Battery level changed - The name of the EventType ({e17a25db-1e32-479e-8802-7fab6b91b44f}) of ThingClass cleaningRobot ----------- -The name of the EventType ({4979b1a8-7f1e-4b65-9c35-187045c42a8f}) of ThingClass contactSensor ----------- -The name of the EventType ({6a7ecb09-135c-4be2-8c36-f2a71711ea05}) of ThingClass gardenSensor ----------- -The name of the EventType ({30fd9fd9-1a6b-4698-93ac-6b2a1ba18500}) of ThingClass battery ----------- -The name of the EventType ({4d66c81e-6293-4997-9685-8b44d7e5c1bd}) of ThingClass motionDetector ----------- -The name of the EventType ({45c0de32-b519-47d7-9f82-e5f09d1542d4}) of ThingClass temperatureSensor - - - - Battery critical changed - The name of the EventType ({8d87413f-b625-4b77-aa95-2029b4bfb741}) of ThingClass contactSensor ----------- -The name of the EventType ({68d818fd-ad8a-411d-95b1-811991535fe2}) of ThingClass gardenSensor ----------- -The name of the EventType ({4857f2b4-0840-4c7e-82ff-bd881ae32cf9}) of ThingClass battery ----------- -The name of the EventType ({1c621a6f-86fe-4351-bf9e-03c3deaef6ad}) of ThingClass motionDetector ----------- -The name of the EventType ({295b9a17-a4b1-4cc9-8ebb-2309b72c75f6}) of ThingClass temperatureSensor - - - - Connected changed - The name of the EventType ({b5e8ace1-983c-4bff-90ef-3af30257b158}) of ThingClass gardenSensor ----------- -The name of the EventType ({2e51cb1b-9f6a-4a45-b23e-ab44e8ab28e9}) of ThingClass fingerPrintSensor ----------- -The name of the EventType ({b481b6e7-77c1-40b0-859a-286876b05959}) of ThingClass motionDetector ----------- -The name of the EventType ({e66aba37-2647-4b6b-8740-d59eb98d846c}) of ThingClass temperatureSensor - - - - Motion Detector - The name of the ThingClass ({990fc2ba-260a-4648-9a93-e803e219da4f}) - - - - Motion detected - The name of the EventType ({5ab00bfc-7345-44a2-90d4-852c810e59ec}) of ThingClass motionDetector - - - - Heating - The name of the ThingClass ({62e302f4-b92a-4b55-bd18-a1e0cc56362a}) - - - - Active status changed - The name of the EventType ({47a16375-1027-42cc-82d3-56cbfdb1193c}) of ThingClass heatingRod - - - - EV Charging Station - The name of the ThingClass ({1fa40afa-6a07-4a97-918b-76e3944ea0fb}) - - - - Open - The name of the ActionType ({17860291-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass rollerShutter ----------- -The name of the ActionType ({20259935-c39b-42d3-888b-ffdb98800a8d}) of ThingClass simpleShutter ----------- -The name of the ActionType ({508c8f1b-aa1d-43d8-badb-0c9d219025b3}) of ThingClass extendedAwning ----------- -The name of the ActionType ({4347b46b-4048-4f3a-b45d-71d99c15c30d}) of ThingClass venetianBlind ----------- -The name of the ActionType ({b4379ab7-5fc2-45b6-8214-5855b040ee1a}) of ThingClass extendedBlind ----------- -The name of the ActionType ({06b99eb1-c3b6-4bea-95cf-690078297206}) of ThingClass simpleBlind ----------- -The name of the ActionType ({1786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass garageGate - - - - Stop - The name of the ActionType ({7c310908-75ee-47b2-b2c1-90b85eed4694}) of ThingClass simpleShutter ----------- -The name of the ActionType ({2786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass garageGate - - - - Close - The name of the ActionType ({b1f9b62a-1987-4d2b-af88-e64710cbf626}) of ThingClass simpleShutter ----------- -The name of the ActionType ({3786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass garageGate - - - - Roller Shutter - The name of the ThingClass ({1039b7ee-5351-400b-a477-5b8fc1447138}) - - - - stop - The name of the ActionType ({27860292-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass rollerShutter ----------- -The name of the ActionType ({41fdeba2-8d2f-46ce-8f2d-b8c31bdf90ff}) of ThingClass extendedAwning ----------- -The name of the ActionType ({06be8ad4-24e5-4c03-9502-cda165a01bc4}) of ThingClass venetianBlind ----------- -The name of the ActionType ({fd63d8bf-ffde-4343-bbdc-1645c94017dc}) of ThingClass extendedBlind ----------- -The name of the ActionType ({7f1bdeef-a57c-4b82-80ad-e3e31f16027f}) of ThingClass simpleBlind - - - - close - The name of the ActionType ({37860293-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass rollerShutter ----------- -The name of the ActionType ({79ec0271-5361-4f0f-a458-bf22e570c9ac}) of ThingClass extendedAwning ----------- -The name of the ActionType ({61cadeae-810e-43f5-a6b5-e85fcaefde9c}) of ThingClass venetianBlind ----------- -The name of the ActionType ({316c17e6-01a8-45c4-921d-7773b2d441a4}) of ThingClass extendedBlind ----------- -The name of the ActionType ({0c55d32d-c916-472b-a03e-66fe7115e85d}) of ThingClass simpleBlind - - - - Color Bulb - The name of the ThingClass ({1039b7ee-5121-400b-a477-5b8fc14471ff}) - - - - Color temperature changed - The name of the EventType ({cff4206f-f219-4f06-93c4-4ca515a56f79}) of ThingClass colorBulb - - - - Set color temperature - The name of the ActionType ({cff4206f-f219-4f06-93c4-4ca515a56f79}) of ThingClass colorBulb - - - - Color changed - The name of the EventType ({df5423f1-b924-4b20-80b6-77eecc65d089}) of ThingClass colorBulb - - - - Set color - The name of the ActionType ({df5423f1-b924-4b20-80b6-77eecc65d089}) of ThingClass colorBulb - - - - Brightness changed - The name of the EventType ({90e91f11-a208-468c-a5a2-7f47e08229e2}) of ThingClass colorBulb - - - - Set brigtness - The name of the ActionType ({90e91f11-a208-468c-a5a2-7f47e08229e2}) of ThingClass colorBulb - - - - Socket - The name of the ThingClass ({1039b7ee-5351-400b-a477-5b8fc14471ff}) - - - - Finger Print Sensor - The name of the ThingClass ({45906fb3-9bf5-4331-9b69-0a0407b8511e}) - - - - Access granted - The name of the EventType ({1d2dde79-7121-4f8c-b7c1-904ced66a79e}) of ThingClass fingerPrintSensor - - - - Access denied - The name of the EventType ({992b7742-af0c-447c-bd94-9ec70b872268}) of ThingClass fingerPrintSensor - - - - Smart Meter - The name of the ThingClass ({c242f229-d3f4-4d3d-854c-817b52aa18ab}) - - - - Reachable changed - The name of the EventType ({5fa28715-f5ea-4db5-99fe-5eceb8721c4a}) of ThingClass heatingRod ----------- -The name of the EventType ({0f108052-4a5a-49d2-ab02-d404b1f2e17a}) of ThingClass battery ----------- -The name of the EventType ({be0291ff-6041-433b-9121-a30ca4426b22}) of ThingClass smartMeter - - - - Battery - The name of the ParamType (ThingClass: contactSensor, EventType: batteryLevel, ID: {4979b1a8-7f1e-4b65-9c35-187045c42a8f}) ----------- -The name of the StateType ({4979b1a8-7f1e-4b65-9c35-187045c42a8f}) of ThingClass contactSensor ----------- -The name of the ParamType (ThingClass: gardenSensor, EventType: batteryLevel, ID: {6a7ecb09-135c-4be2-8c36-f2a71711ea05}) ----------- -The name of the StateType ({6a7ecb09-135c-4be2-8c36-f2a71711ea05}) of ThingClass gardenSensor ----------- -The name of the ThingClass ({280c481e-757a-4af7-b1d3-dc9cfc1d46a5}) ----------- -The name of the ParamType (ThingClass: motionDetector, EventType: batteryLevel, ID: {4d66c81e-6293-4997-9685-8b44d7e5c1bd}) ----------- -The name of the StateType ({4d66c81e-6293-4997-9685-8b44d7e5c1bd}) of ThingClass motionDetector ----------- -The name of the ParamType (ThingClass: temperatureSensor, EventType: batteryLevel, ID: {45c0de32-b519-47d7-9f82-e5f09d1542d4}) ----------- -The name of the StateType ({45c0de32-b519-47d7-9f82-e5f09d1542d4}) of ThingClass temperatureSensor - - - - Max charging power changed - The name of the EventType ({bdf328a6-eebc-4b67-8165-551bc21e9be6}) of ThingClass battery - - - - Set max charging power - The name of the ActionType ({bdf328a6-eebc-4b67-8165-551bc21e9be6}) of ThingClass battery - - - - Heating Rod - The name of the ThingClass ({b2565887-443a-45ae-a2e7-67fb1b1003d8}) - - - - Power - The name of the ParamType (ThingClass: waterValve, ActionType: power, ID: {194f05a9-2c54-466c-a2a9-3d278fb41a2a}) ----------- -The name of the ParamType (ThingClass: waterValve, EventType: power, ID: {194f05a9-2c54-466c-a2a9-3d278fb41a2a}) ----------- -The name of the StateType ({194f05a9-2c54-466c-a2a9-3d278fb41a2a}) of ThingClass waterValve ----------- -The name of the ParamType (ThingClass: heatingRod, ActionType: power, ID: {1a47ba44-bbd8-4766-a648-5df49394b812}) ----------- -The name of the ActionType ({1a47ba44-bbd8-4766-a648-5df49394b812}) of ThingClass heatingRod ----------- -The name of the ParamType (ThingClass: heatingRod, EventType: power, ID: {1a47ba44-bbd8-4766-a648-5df49394b812}) ----------- -The name of the StateType ({1a47ba44-bbd8-4766-a648-5df49394b812}) of ThingClass heatingRod ----------- -The name of the ParamType (ThingClass: socket, ActionType: power, ID: {b7ff029d-f3a6-4b47-978a-ac1a581aac0f}) ----------- -The name of the ParamType (ThingClass: socket, EventType: power, ID: {b7ff029d-f3a6-4b47-978a-ac1a581aac0f}) ----------- -The name of the StateType ({b7ff029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass socket ----------- -The name of the ParamType (ThingClass: colorBulb, ActionType: power, ID: {9faaffe5-6a76-47d2-a14a-550f60390245}) ----------- -The name of the ParamType (ThingClass: colorBulb, EventType: power, ID: {9faaffe5-6a76-47d2-a14a-550f60390245}) ----------- -The name of the StateType ({9faaffe5-6a76-47d2-a14a-550f60390245}) of ThingClass colorBulb ----------- -The name of the ParamType (ThingClass: evCharger, ActionType: power, ID: {b786029d-f3a6-4b47-978a-ac1a581aac0f}) ----------- -The name of the ParamType (ThingClass: evCharger, EventType: power, ID: {b786029d-f3a6-4b47-978a-ac1a581aac0f}) ----------- -The name of the StateType ({b786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass evCharger ----------- -The name of the ParamType (ThingClass: heating, ActionType: power, ID: {e1910c53-a6bc-434b-9caa-0d08e214c122}) ----------- -The name of the ParamType (ThingClass: heating, EventType: power, ID: {e1910c53-a6bc-434b-9caa-0d08e214c122}) ----------- -The name of the StateType ({e1910c53-a6bc-434b-9caa-0d08e214c122}) of ThingClass heating ----------- -The name of the ParamType (ThingClass: alternativeButton, ActionType: power, ID: {fa63c0b9-10e5-4280-9cc2-243bf27c05ad}) ----------- -The name of the ParamType (ThingClass: alternativeButton, EventType: power, ID: {fa63c0b9-10e5-4280-9cc2-243bf27c05ad}) ----------- -The name of the StateType ({fa63c0b9-10e5-4280-9cc2-243bf27c05ad}) of ThingClass alternativeButton - - - - Netatmo Indoor Station - The name of the ThingClass ({7f1696e3-3145-421e-9a42-5bd3b2fd0e2c}) - - - - Last update changed - The name of the EventType ({29a95a72-f897-4027-99a8-ab1aee1ebe2b}) of ThingClass netatmoIndoor - - - - Pressure changed - The name of the EventType ({b13fa34e-b63d-4fa4-a786-e82776ee9cbe}) of ThingClass netatmoIndoor - - - - Noise changed - The name of the EventType ({b16ea43e-75ef-4bee-ade6-839682ec3068}) of ThingClass netatmoIndoor - - - - CO2 changed - The name of the EventType ({c5ebe5c0-b030-4eb6-a3f8-3a400061d09c}) of ThingClass netatmoIndoor - - - - Wifi signal strength changed - The name of the EventType ({3b8fb712-ff4c-4c0f-83bc-2edac54fede7}) of ThingClass netatmoIndoor - - - - Garden sensor - The name of the ThingClass ({b759f558-b484-45b6-9132-218d135c27d6}) - - - - Soil moisture changed - The name of the EventType ({63eb7cdd-d16e-4baf-820b-7ad9f0a2b2a8}) of ThingClass gardenSensor - - - - Water valve - The name of the ThingClass ({8fc2e79b-1770-4b18-bf01-78ed15893a81}) - - - - Illuminance changed - The name of the EventType ({9781f0a5-3478-4291-ab51-9daa1ba0e44e}) of ThingClass gardenSensor - - - - Temperature - The name of the ParamType (ThingClass: gardenSensor, EventType: temperature, ID: {e75207e8-10a9-4bdc-974e-1e44e119ee23}) ----------- -The name of the StateType ({e75207e8-10a9-4bdc-974e-1e44e119ee23}) of ThingClass gardenSensor ----------- -The name of the ParamType (ThingClass: netatmoIndoor, EventType: temperature, ID: {b5244e65-0811-4dc2-afd2-6bf3092d44c7}) ----------- -The name of the StateType ({b5244e65-0811-4dc2-afd2-6bf3092d44c7}) of ThingClass netatmoIndoor ----------- -The name of the ParamType (ThingClass: temperatureSensor, EventType: temperature, ID: {169d7a2a-d1c9-4578-bb30-fc7d25690e59}) ----------- -The name of the StateType ({169d7a2a-d1c9-4578-bb30-fc7d25690e59}) of ThingClass temperatureSensor - - - - Humidity - The name of the ParamType (ThingClass: netatmoIndoor, EventType: humidity, ID: {b2225720-dfdc-40f8-a24a-20247e69e575}) ----------- -The name of the StateType ({b2225720-dfdc-40f8-a24a-20247e69e575}) of ThingClass netatmoIndoor ----------- -The name of the ParamType (ThingClass: temperatureSensor, EventType: humidity, ID: {10c735fd-7b81-484a-a148-76ea0da840f0}) ----------- -The name of the StateType ({10c735fd-7b81-484a-a148-76ea0da840f0}) of ThingClass temperatureSensor - - - - Battery critical - The name of the ParamType (ThingClass: cleaningRobot, EventType: batteryCritical, ID: {f68f35f8-85c9-49ca-8ac1-50579653704e}) ----------- -The name of the StateType ({f68f35f8-85c9-49ca-8ac1-50579653704e}) of ThingClass cleaningRobot ----------- -The name of the ParamType (ThingClass: contactSensor, EventType: batteryCritical, ID: {8d87413f-b625-4b77-aa95-2029b4bfb741}) ----------- -The name of the StateType ({8d87413f-b625-4b77-aa95-2029b4bfb741}) of ThingClass contactSensor ----------- -The name of the ParamType (ThingClass: gardenSensor, EventType: batteryCritical, ID: {68d818fd-ad8a-411d-95b1-811991535fe2}) ----------- -The name of the StateType ({68d818fd-ad8a-411d-95b1-811991535fe2}) of ThingClass gardenSensor ----------- -The name of the ParamType (ThingClass: battery, EventType: batteryCritical, ID: {4857f2b4-0840-4c7e-82ff-bd881ae32cf9}) ----------- -The name of the StateType ({4857f2b4-0840-4c7e-82ff-bd881ae32cf9}) of ThingClass battery ----------- -The name of the ParamType (ThingClass: motionDetector, EventType: batteryCritical, ID: {1c621a6f-86fe-4351-bf9e-03c3deaef6ad}) ----------- -The name of the StateType ({1c621a6f-86fe-4351-bf9e-03c3deaef6ad}) of ThingClass motionDetector ----------- -The name of the ParamType (ThingClass: temperatureSensor, EventType: batteryCritical, ID: {295b9a17-a4b1-4cc9-8ebb-2309b72c75f6}) ----------- -The name of the StateType ({295b9a17-a4b1-4cc9-8ebb-2309b72c75f6}) of ThingClass temperatureSensor - - - - Connected - The name of the ParamType (ThingClass: gardenSensor, EventType: connected, ID: {b5e8ace1-983c-4bff-90ef-3af30257b158}) ----------- -The name of the StateType ({b5e8ace1-983c-4bff-90ef-3af30257b158}) of ThingClass gardenSensor ----------- -The name of the ParamType (ThingClass: fingerPrintSensor, EventType: connected, ID: {2e51cb1b-9f6a-4a45-b23e-ab44e8ab28e9}) ----------- -The name of the StateType ({2e51cb1b-9f6a-4a45-b23e-ab44e8ab28e9}) of ThingClass fingerPrintSensor ----------- -The name of the ParamType (ThingClass: motionDetector, EventType: connected, ID: {b481b6e7-77c1-40b0-859a-286876b05959}) ----------- -The name of the StateType ({b481b6e7-77c1-40b0-859a-286876b05959}) of ThingClass motionDetector ----------- -The name of the ParamType (ThingClass: temperatureSensor, EventType: connected, ID: {e66aba37-2647-4b6b-8740-d59eb98d846c}) ----------- -The name of the StateType ({e66aba37-2647-4b6b-8740-d59eb98d846c}) of ThingClass temperatureSensor - - - - Active - The name of the ParamType (ThingClass: heatingRod, EventType: heatingActive, ID: {47a16375-1027-42cc-82d3-56cbfdb1193c}) ----------- -The name of the StateType ({47a16375-1027-42cc-82d3-56cbfdb1193c}) of ThingClass heatingRod ----------- -The name of the ParamType (ThingClass: motionDetector, EventType: isPresent, ID: {5ab00bfc-7345-44a2-90d4-852c810e59ec}) ----------- -The name of the StateType ({5ab00bfc-7345-44a2-90d4-852c810e59ec}) of ThingClass motionDetector - - - - Target temperature - The name of the ParamType (ThingClass: thermostat, ActionType: targetTemperature, ID: {edc0ccb6-3a78-44b9-8c7d-638142c27e10}) ----------- -The name of the ParamType (ThingClass: thermostat, EventType: targetTemperature, ID: {edc0ccb6-3a78-44b9-8c7d-638142c27e10}) ----------- -The name of the StateType ({edc0ccb6-3a78-44b9-8c7d-638142c27e10}) of ThingClass thermostat - - - - Color temperature - The name of the ParamType (ThingClass: colorBulb, ActionType: colorTemperature, ID: {cff4206f-f219-4f06-93c4-4ca515a56f79}) ----------- -The name of the ParamType (ThingClass: colorBulb, EventType: colorTemperature, ID: {cff4206f-f219-4f06-93c4-4ca515a56f79}) ----------- -The name of the StateType ({cff4206f-f219-4f06-93c4-4ca515a56f79}) of ThingClass colorBulb - - - - Color - The name of the ParamType (ThingClass: colorBulb, ActionType: color, ID: {df5423f1-b924-4b20-80b6-77eecc65d089}) ----------- -The name of the ParamType (ThingClass: colorBulb, EventType: color, ID: {df5423f1-b924-4b20-80b6-77eecc65d089}) ----------- -The name of the StateType ({df5423f1-b924-4b20-80b6-77eecc65d089}) of ThingClass colorBulb - - - - Brightness - The name of the ParamType (ThingClass: colorBulb, ActionType: brightness, ID: {90e91f11-a208-468c-a5a2-7f47e08229e2}) ----------- -The name of the ParamType (ThingClass: colorBulb, EventType: brightness, ID: {90e91f11-a208-468c-a5a2-7f47e08229e2}) ----------- -The name of the StateType ({90e91f11-a208-468c-a5a2-7f47e08229e2}) of ThingClass colorBulb - - - - Reachable - The name of the ParamType (ThingClass: heatingRod, EventType: connected, ID: {5fa28715-f5ea-4db5-99fe-5eceb8721c4a}) ----------- -The name of the StateType ({5fa28715-f5ea-4db5-99fe-5eceb8721c4a}) of ThingClass heatingRod ----------- -The name of the ParamType (ThingClass: battery, EventType: connected, ID: {0f108052-4a5a-49d2-ab02-d404b1f2e17a}) ----------- -The name of the StateType ({0f108052-4a5a-49d2-ab02-d404b1f2e17a}) of ThingClass battery ----------- -The name of the ParamType (ThingClass: smartMeter, EventType: connected, ID: {be0291ff-6041-433b-9121-a30ca4426b22}) ----------- -The name of the StateType ({be0291ff-6041-433b-9121-a30ca4426b22}) of ThingClass smartMeter - - - - Battery level - The name of the ParamType (ThingClass: cleaningRobot, EventType: batteryLevel, ID: {e17a25db-1e32-479e-8802-7fab6b91b44f}) ----------- -The name of the StateType ({e17a25db-1e32-479e-8802-7fab6b91b44f}) of ThingClass cleaningRobot ----------- -The name of the ParamType (ThingClass: battery, EventType: batteryLevel, ID: {30fd9fd9-1a6b-4698-93ac-6b2a1ba18500}) ----------- -The name of the StateType ({30fd9fd9-1a6b-4698-93ac-6b2a1ba18500}) of ThingClass battery - - - - Charging - The name of the ParamType (ThingClass: cleaningRobot, EventType: charging, ID: {f31930c5-0886-4152-9001-ae8e52f85b21}) ----------- -The name of the StateType ({f31930c5-0886-4152-9001-ae8e52f85b21}) of ThingClass cleaningRobot ----------- -The name of the ParamType (ThingClass: battery, EventType: charging, ID: {c977e60a-e820-4647-addb-cf0b39732ffb}) ----------- -The name of the StateType ({c977e60a-e820-4647-addb-cf0b39732ffb}) of ThingClass battery - - - - Max charging power - The name of the ParamType (ThingClass: battery, ActionType: maxCharging, ID: {bdf328a6-eebc-4b67-8165-551bc21e9be6}) ----------- -The name of the ParamType (ThingClass: battery, EventType: maxCharging, ID: {bdf328a6-eebc-4b67-8165-551bc21e9be6}) ----------- -The name of the StateType ({bdf328a6-eebc-4b67-8165-551bc21e9be6}) of ThingClass battery - - - - Last update - The name of the ParamType (ThingClass: netatmoIndoor, EventType: updateTime, ID: {29a95a72-f897-4027-99a8-ab1aee1ebe2b}) ----------- -The name of the StateType ({29a95a72-f897-4027-99a8-ab1aee1ebe2b}) of ThingClass netatmoIndoor - - - - Pressure - The name of the ParamType (ThingClass: netatmoIndoor, EventType: pressure, ID: {b13fa34e-b63d-4fa4-a786-e82776ee9cbe}) ----------- -The name of the StateType ({b13fa34e-b63d-4fa4-a786-e82776ee9cbe}) of ThingClass netatmoIndoor - - - - Noise - The name of the ParamType (ThingClass: netatmoIndoor, EventType: noise, ID: {b16ea43e-75ef-4bee-ade6-839682ec3068}) ----------- -The name of the StateType ({b16ea43e-75ef-4bee-ade6-839682ec3068}) of ThingClass netatmoIndoor - - - - CO2 - The name of the ParamType (ThingClass: netatmoIndoor, EventType: co2, ID: {c5ebe5c0-b030-4eb6-a3f8-3a400061d09c}) ----------- -The name of the StateType ({c5ebe5c0-b030-4eb6-a3f8-3a400061d09c}) of ThingClass netatmoIndoor - - - - Wifi signal strength - The name of the ParamType (ThingClass: netatmoIndoor, EventType: wifiStrength, ID: {3b8fb712-ff4c-4c0f-83bc-2edac54fede7}) ----------- -The name of the StateType ({3b8fb712-ff4c-4c0f-83bc-2edac54fede7}) of ThingClass netatmoIndoor - - - - Soil moisture - The name of the ParamType (ThingClass: gardenSensor, EventType: soilMoisture, ID: {63eb7cdd-d16e-4baf-820b-7ad9f0a2b2a8}) ----------- -The name of the StateType ({63eb7cdd-d16e-4baf-820b-7ad9f0a2b2a8}) of ThingClass gardenSensor - - - - Illuminance - The name of the ParamType (ThingClass: gardenSensor, EventType: illuminance, ID: {9781f0a5-3478-4291-ab51-9daa1ba0e44e}) ----------- -The name of the StateType ({9781f0a5-3478-4291-ab51-9daa1ba0e44e}) of ThingClass gardenSensor - - - - Garage gate - The name of the ThingClass ({cfb44bcf-b4b9-4bef-89f7-3a55baf35668}) - - - - Garage gate state changed - The name of the EventType ({f786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass garageGate - - - - Garage gate state - The name of the ParamType (ThingClass: garageGate, EventType: state, ID: {f786029d-f3a6-4b47-978a-ac1a581aac0f}) ----------- -The name of the StateType ({f786029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass garageGate - - - - Intermediate position changed - The name of the EventType ({324150cc-0357-4797-a746-37b554d82c44}) of ThingClass garageGate - - - - Intermediate position - The name of the ParamType (ThingClass: garageGate, EventType: intermediatePosition, ID: {324150cc-0357-4797-a746-37b554d82c44}) ----------- -The name of the StateType ({324150cc-0357-4797-a746-37b554d82c44}) of ThingClass garageGate - - - - Light power changed - The name of the EventType ({46543561-2690-4072-a6a3-795e1c4f49a8}) of ThingClass garageGate - - - - Light power - The name of the ParamType (ThingClass: garageGate, ActionType: power, ID: {46543561-2690-4072-a6a3-795e1c4f49a8}) ----------- -The name of the ParamType (ThingClass: garageGate, EventType: power, ID: {46543561-2690-4072-a6a3-795e1c4f49a8}) ----------- -The name of the StateType ({46543561-2690-4072-a6a3-795e1c4f49a8}) of ThingClass garageGate - - - - Set light power - The name of the ActionType ({46543561-2690-4072-a6a3-795e1c4f49a8}) of ThingClass garageGate - - - - Extended blind - The name of the ThingClass ({1d7aaa1d-fc50-4d7b-9657-1449322e40d8}) - - - - percentage changed - The name of the EventType ({1386029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass rollerShutter ----------- -The name of the EventType ({e4c92da3-da3e-40ea-907f-a93283426789}) of ThingClass extendedAwning ----------- -The name of the EventType ({16453cde-15c9-4133-a4fd-7da76735778c}) of ThingClass venetianBlind ----------- -The name of the EventType ({18fc257c-6b7b-472c-b52a-acd4ba405bf2}) of ThingClass extendedBlind - - - - percentage - The name of the ParamType (ThingClass: rollerShutter, ActionType: percentage, ID: {1386029d-f3a6-4b47-978a-ac1a581aac0f}) ----------- -The name of the ParamType (ThingClass: rollerShutter, EventType: percentage, ID: {1386029d-f3a6-4b47-978a-ac1a581aac0f}) ----------- -The name of the StateType ({1386029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass rollerShutter ----------- -The name of the ParamType (ThingClass: extendedAwning, ActionType: percentage, ID: {e4c92da3-da3e-40ea-907f-a93283426789}) ----------- -The name of the ParamType (ThingClass: extendedAwning, EventType: percentage, ID: {e4c92da3-da3e-40ea-907f-a93283426789}) ----------- -The name of the StateType ({e4c92da3-da3e-40ea-907f-a93283426789}) of ThingClass extendedAwning ----------- -The name of the ParamType (ThingClass: venetianBlind, ActionType: percentage, ID: {16453cde-15c9-4133-a4fd-7da76735778c}) ----------- -The name of the ParamType (ThingClass: venetianBlind, EventType: percentage, ID: {16453cde-15c9-4133-a4fd-7da76735778c}) ----------- -The name of the StateType ({16453cde-15c9-4133-a4fd-7da76735778c}) of ThingClass venetianBlind ----------- -The name of the ParamType (ThingClass: extendedBlind, ActionType: percentage, ID: {18fc257c-6b7b-472c-b52a-acd4ba405bf2}) ----------- -The name of the ParamType (ThingClass: extendedBlind, EventType: percentage, ID: {18fc257c-6b7b-472c-b52a-acd4ba405bf2}) ----------- -The name of the StateType ({18fc257c-6b7b-472c-b52a-acd4ba405bf2}) of ThingClass extendedBlind - - - - moving changed - The name of the EventType ({fd94b07d-4631-450d-9f99-9e9221cc3602}) of ThingClass rollerShutter ----------- -The name of the EventType ({b2a888b3-c526-410f-bafc-9d6dc459dbf8}) of ThingClass extendedAwning ----------- -The name of the EventType ({9dedaf04-3570-403e-b083-ec59dd08981a}) of ThingClass venetianBlind ----------- -The name of the EventType ({83559182-f3db-4a4a-8c70-d5fb3ceb57de}) of ThingClass extendedBlind - - - - mooving - The name of the ParamType (ThingClass: rollerShutter, EventType: moving, ID: {fd94b07d-4631-450d-9f99-9e9221cc3602}) ----------- -The name of the StateType ({fd94b07d-4631-450d-9f99-9e9221cc3602}) of ThingClass rollerShutter ----------- -The name of the ParamType (ThingClass: extendedAwning, EventType: moving, ID: {b2a888b3-c526-410f-bafc-9d6dc459dbf8}) ----------- -The name of the StateType ({b2a888b3-c526-410f-bafc-9d6dc459dbf8}) of ThingClass extendedAwning - - - - Extended awning - The name of the ThingClass ({d302630b-f331-4bb0-88e4-4078f16aba7f}) - - - - set percentage - The name of the ActionType ({1386029d-f3a6-4b47-978a-ac1a581aac0f}) of ThingClass rollerShutter ----------- -The name of the ActionType ({e4c92da3-da3e-40ea-907f-a93283426789}) of ThingClass extendedAwning ----------- -The name of the ActionType ({16453cde-15c9-4133-a4fd-7da76735778c}) of ThingClass venetianBlind ----------- -The name of the ActionType ({18fc257c-6b7b-472c-b52a-acd4ba405bf2}) of ThingClass extendedBlind - - - - Simple blind - The name of the ThingClass ({a13c14f1-361e-4aad-8785-c04b094fb19a}) - - - - Users changed - The name of the EventType ({02482093-3b82-4918-a3ce-2a2f4831aae0}) of ThingClass fingerPrintSensor - - - - Users - The name of the ParamType (ThingClass: fingerPrintSensor, EventType: users, ID: {02482093-3b82-4918-a3ce-2a2f4831aae0}) ----------- -The name of the StateType ({02482093-3b82-4918-a3ce-2a2f4831aae0}) of ThingClass fingerPrintSensor - - - - Add user - The name of the ActionType ({c3805253-a09b-4657-b86c-97936f390672}) of ThingClass fingerPrintSensor - - - - User ID - The name of the ParamType (ThingClass: fingerPrintSensor, ActionType: removeUser, ID: {ca2ffce8-ee71-47ff-8247-f17fca14fd87}) ----------- -The name of the ParamType (ThingClass: fingerPrintSensor, ActionType: addUser, ID: {d9e0c68f-8b61-4f5a-9909-b27a4ac562a3}) ----------- -The name of the ParamType (ThingClass: fingerPrintSensor, EventType: accessGranted, ID: {84addd61-15e9-4e98-aa80-6b0bf5d82a15}) - - - - Finger - The name of the ParamType (ThingClass: fingerPrintSensor, ActionType: addUser, ID: {2a97de6c-5ffb-4ca8-b4c7-41ad6790668d}) ----------- -The name of the ParamType (ThingClass: fingerPrintSensor, EventType: accessGranted, ID: {3611bfc0-be3c-4ddb-8184-b64fc38c7256}) - - - - Remove user - The name of the ActionType ({28bf4cd1-bb1c-442b-8ba3-ed019f34abbd}) of ThingClass fingerPrintSensor - - - - Percentage changed - The name of the EventType ({1302cb53-ccdc-49eb-88b6-85659c7d11b8}) of ThingClass heating - - - - Percentage - The name of the ParamType (ThingClass: heatingRod, ActionType: percentage, ID: {2ab2a0fa-ea66-426c-ba22-d23b42c80883}) ----------- -The name of the ParamType (ThingClass: heatingRod, EventType: percentage, ID: {2ab2a0fa-ea66-426c-ba22-d23b42c80883}) ----------- -The name of the StateType ({2ab2a0fa-ea66-426c-ba22-d23b42c80883}) of ThingClass heatingRod ----------- -The name of the ParamType (ThingClass: heating, ActionType: percentage, ID: {1302cb53-ccdc-49eb-88b6-85659c7d11b8}) ----------- -The name of the ParamType (ThingClass: heating, EventType: percentage, ID: {1302cb53-ccdc-49eb-88b6-85659c7d11b8}) ----------- -The name of the StateType ({1302cb53-ccdc-49eb-88b6-85659c7d11b8}) of ThingClass heating - - - - Set percentage - The name of the ActionType ({1302cb53-ccdc-49eb-88b6-85659c7d11b8}) of ThingClass heating - - - - Thermostat - The name of the ThingClass ({227da953-e476-4c31-b3f6-fdd389bb1b7c}) - - - - Target temperature changed - The name of the EventType ({edc0ccb6-3a78-44b9-8c7d-638142c27e10}) of ThingClass thermostat - - - - Power power flow changed - The name of the EventType ({d57f4d9c-759e-40eb-999e-a1acbc8df2b1}) of ThingClass smartMeter - - - - Current power flow - The name of the ParamType (ThingClass: smartMeter, EventType: currentPower, ID: {d57f4d9c-759e-40eb-999e-a1acbc8df2b1}) ----------- -The name of the StateType ({d57f4d9c-759e-40eb-999e-a1acbc8df2b1}) of ThingClass smartMeter - - - - Total energy consumption changed - The name of the EventType ({5ac91819-c855-441c-a734-ee5cc0514822}) of ThingClass smartMeter - - - - Total energy consumption - The name of the ParamType (ThingClass: smartMeter, EventType: totalEnergyConsumed, ID: {5ac91819-c855-441c-a734-ee5cc0514822}) ----------- -The name of the StateType ({5ac91819-c855-441c-a734-ee5cc0514822}) of ThingClass smartMeter - - - - Total energy production changed - The name of the EventType ({7437d92a-ef1a-4e59-979d-1c7a2611b359}) of ThingClass smartMeter - - - - Total energy production - The name of the ParamType (ThingClass: smartMeter, EventType: totalEnergyProduced, ID: {7437d92a-ef1a-4e59-979d-1c7a2611b359}) ----------- -The name of the StateType ({7437d92a-ef1a-4e59-979d-1c7a2611b359}) of ThingClass smartMeter - - - - Solar panel - The name of the ThingClass ({eae9c1b2-a6b2-4c0d-9af3-867c900899f1}) - - - - Current power production changed - The name of the EventType ({08f4f53d-b62d-4c2e-913f-87b1c4737d71}) of ThingClass solarPanel - - - - Current power production - The name of the ParamType (ThingClass: solarPanel, EventType: currentPower, ID: {08f4f53d-b62d-4c2e-913f-87b1c4737d71}) ----------- -The name of the StateType ({08f4f53d-b62d-4c2e-913f-87b1c4737d71}) of ThingClass solarPanel - - - - Total produced energy changed - The name of the EventType ({b60948ca-cee9-447a-ba1c-f908c6db58fb}) of ThingClass solarPanel - - - - Total produced energy - The name of the ParamType (ThingClass: solarPanel, EventType: totalEnergyProduced, ID: {b60948ca-cee9-447a-ba1c-f908c6db58fb}) ----------- -The name of the StateType ({b60948ca-cee9-447a-ba1c-f908c6db58fb}) of ThingClass solarPanel - - - - Maximum power percentage changed - The name of the EventType ({2ab2a0fa-ea66-426c-ba22-d23b42c80883}) of ThingClass heatingRod - - - - Set maximum power percentage - The name of the ActionType ({2ab2a0fa-ea66-426c-ba22-d23b42c80883}) of ThingClass heatingRod - - - - Water temperature changed - The name of the EventType ({49388b11-8076-4698-8091-5c5f5762fd08}) of ThingClass heatingRod - - - - Water temperature - The name of the ParamType (ThingClass: heatingRod, EventType: temperature, ID: {49388b11-8076-4698-8091-5c5f5762fd08}) ----------- -The name of the StateType ({49388b11-8076-4698-8091-5c5f5762fd08}) of ThingClass heatingRod - - - - moving - The name of the ParamType (ThingClass: venetianBlind, EventType: moving, ID: {9dedaf04-3570-403e-b083-ec59dd08981a}) ----------- -The name of the StateType ({9dedaf04-3570-403e-b083-ec59dd08981a}) of ThingClass venetianBlind ----------- -The name of the ParamType (ThingClass: extendedBlind, EventType: moving, ID: {83559182-f3db-4a4a-8c70-d5fb3ceb57de}) ----------- -The name of the StateType ({83559182-f3db-4a4a-8c70-d5fb3ceb57de}) of ThingClass extendedBlind - - - - MAximum charging current changed - The name of the EventType ({87600986-da37-4032-af37-015995910368}) of ThingClass evCharger - - - - Maximum charging current - The name of the ParamType (ThingClass: evCharger, ActionType: maxChargingCurrent, ID: {87600986-da37-4032-af37-015995910368}) ----------- -The name of the ParamType (ThingClass: evCharger, EventType: maxChargingCurrent, ID: {87600986-da37-4032-af37-015995910368}) ----------- -The name of the StateType ({87600986-da37-4032-af37-015995910368}) of ThingClass evCharger - - - - Set maximum charging current - The name of the ActionType ({87600986-da37-4032-af37-015995910368}) of ThingClass evCharger - - - - Set target temperature - The name of the ActionType ({edc0ccb6-3a78-44b9-8c7d-638142c27e10}) of ThingClass thermostat - - - - Boost enabled changed - The name of the EventType ({f892f660-87ff-458a-bfa0-5af08591233e}) of ThingClass thermostat - - - - Boost - The name of the ParamType (ThingClass: thermostat, ActionType: boost, ID: {f892f660-87ff-458a-bfa0-5af08591233e}) ----------- -The name of the ParamType (ThingClass: thermostat, EventType: boost, ID: {f892f660-87ff-458a-bfa0-5af08591233e}) ----------- -The name of the StateType ({f892f660-87ff-458a-bfa0-5af08591233e}) of ThingClass thermostat - - - - Enable/disable boost - The name of the ActionType ({f892f660-87ff-458a-bfa0-5af08591233e}) of ThingClass thermostat - - - - Barcode Scanner - The name of the ThingClass ({672d68ac-c19b-46b0-be01-4468c36dd3da}) - - - - Code scanned - The name of the EventType ({20910fac-93ff-4679-bec9-786defcd1875}) of ThingClass barcodeScanner - - - - Cotent - The name of the ParamType (ThingClass: barcodeScanner, EventType: codeScanned, ID: {d76c1a34-ee9a-4363-80bb-2042639311c7}) - - - - Available - The name of the ParamType (ThingClass: contactSensor, EventType: connected, ID: {47789719-e300-4d0d-b861-42f24af38103}) ----------- -The name of the StateType ({47789719-e300-4d0d-b861-42f24af38103}) of ThingClass contactSensor - - - - Available changed - The name of the EventType ({47789719-e300-4d0d-b861-42f24af38103}) of ThingClass contactSensor - - - - Closed - The name of the ParamType (ThingClass: contactSensor, EventType: closed, ID: {bb02bb10-a933-4833-8a1d-40dda41691b2}) ----------- -The name of the StateType ({bb02bb10-a933-4833-8a1d-40dda41691b2}) of ThingClass contactSensor - - - - Closed changed - The name of the EventType ({bb02bb10-a933-4833-8a1d-40dda41691b2}) of ThingClass contactSensor - - - - Door/window sensor - The name of the ThingClass ({14f6c41c-b1ba-4d83-b1b2-d764a62c8eed}) - - - - Angle - The name of the ParamType (ThingClass: venetianBlind, ActionType: angle, ID: {fe3c802d-253f-4594-b64c-14a8870d9828}) ----------- -The name of the ParamType (ThingClass: venetianBlind, EventType: angle, ID: {fe3c802d-253f-4594-b64c-14a8870d9828}) ----------- -The name of the StateType ({fe3c802d-253f-4594-b64c-14a8870d9828}) of ThingClass venetianBlind - - - - Angle changed - The name of the EventType ({fe3c802d-253f-4594-b64c-14a8870d9828}) of ThingClass venetianBlind - - - - Battery entered or left critical state - The name of the EventType ({f68f35f8-85c9-49ca-8ac1-50579653704e}) of ThingClass cleaningRobot - - - - Charging changed - The name of the EventType ({c977e60a-e820-4647-addb-cf0b39732ffb}) of ThingClass battery - - - - Cleaning robot - The name of the ThingClass ({67bc68f1-8131-471f-9aa3-392284064ea2}) - - - - Cooling on - The name of the ParamType (ThingClass: thermostat, EventType: coolingOn, ID: {4c696205-392a-45ed-aab5-3b7f97ddf286}) ----------- -The name of the StateType ({4c696205-392a-45ed-aab5-3b7f97ddf286}) of ThingClass thermostat - - - - Cooling turned on/off - The name of the EventType ({4c696205-392a-45ed-aab5-3b7f97ddf286}) of ThingClass thermostat - - - - Current temperature - The name of the ParamType (ThingClass: thermostat, EventType: temperature, ID: {f3df52f0-ee1d-4163-a7b5-95d8f22b8841}) ----------- -The name of the StateType ({f3df52f0-ee1d-4163-a7b5-95d8f22b8841}) of ThingClass thermostat - - - - Current temperature changed - The name of the EventType ({f3df52f0-ee1d-4163-a7b5-95d8f22b8841}) of ThingClass thermostat - - - - Heating on - The name of the ParamType (ThingClass: thermostat, EventType: heatingOn, ID: {94a7d50c-df3b-4590-a89e-9dae40ad84fa}) ----------- -The name of the StateType ({94a7d50c-df3b-4590-a89e-9dae40ad84fa}) of ThingClass thermostat - - - - Heating turned on/off - The name of the EventType ({94a7d50c-df3b-4590-a89e-9dae40ad84fa}) of ThingClass thermostat - - - - Last seen - The name of the ParamType (ThingClass: motionDetector, EventType: lastSeenTime, ID: {17874952-a1ab-467f-9786-29ffe3196a8c}) ----------- -The name of the StateType ({17874952-a1ab-467f-9786-29ffe3196a8c}) of ThingClass motionDetector - - - - Last seen changed - The name of the EventType ({17874952-a1ab-467f-9786-29ffe3196a8c}) of ThingClass motionDetector - - - - Pause cleaning - The name of the ActionType ({22c5aab2-6348-4a60-93b9-d09779b2366b}) of ThingClass cleaningRobot - - - - Plugged in - The name of the ParamType (ThingClass: cleaningRobot, EventType: pluggedIn, ID: {f3b00428-9123-43a2-bc72-684e2eec692e}) ----------- -The name of the StateType ({f3b00428-9123-43a2-bc72-684e2eec692e}) of ThingClass cleaningRobot - - - - Plugged or unplugged - The name of the EventType ({f3b00428-9123-43a2-bc72-684e2eec692e}) of ThingClass cleaningRobot - - - - Return to base - The name of the ActionType ({8f6831fb-1335-48e5-8235-e235feadf2b7}) of ThingClass cleaningRobot - - - - Robot error - The name of the ParamType (ThingClass: cleaningRobot, EventType: errorMessage, ID: {71d0eff8-160a-4cff-a349-4beb40c33129}) ----------- -The name of the StateType ({71d0eff8-160a-4cff-a349-4beb40c33129}) of ThingClass cleaningRobot - - - - Robot error changed - The name of the EventType ({71d0eff8-160a-4cff-a349-4beb40c33129}) of ThingClass cleaningRobot - - - - Robot state - The name of the ParamType (ThingClass: cleaningRobot, EventType: robotState, ID: {ec324f2a-582b-4bd2-a2c8-03d5f20aa4f9}) ----------- -The name of the StateType ({ec324f2a-582b-4bd2-a2c8-03d5f20aa4f9}) of ThingClass cleaningRobot - - - - Robot state changed - The name of the EventType ({ec324f2a-582b-4bd2-a2c8-03d5f20aa4f9}) of ThingClass cleaningRobot - - - - Set angle - The name of the ActionType ({fe3c802d-253f-4594-b64c-14a8870d9828}) of ThingClass venetianBlind - - - - Simple roller shutter - The name of the ThingClass ({5f4e3fc9-afb1-45d0-86a2-8713d5894aee}) - - - - Simulate error - The name of the ActionType ({da19677e-c04b-4114-a744-a14dee039c4f}) of ThingClass cleaningRobot - - - - Start cleaning - The name of the ActionType ({4d12df39-e4d8-4dfe-aa8b-8c3dd5adb79b}) of ThingClass cleaningRobot - - - - Started or stopped charging - The name of the EventType ({f31930c5-0886-4152-9001-ae8e52f85b21}) of ThingClass cleaningRobot - - - - Stop cleaning - The name of the ActionType ({3c5c752b-429d-4749-9c69-89a6953bfd7d}) of ThingClass cleaningRobot - - - - Venetian blind - The name of the ThingClass ({38757fee-ac55-403e-be53-bad5b97364c1}) - - - - Water detected - The name of the EventType ({764cbbbf-6a5c-4265-9424-fc9e6dd86fda}) of ThingClass waterSensor - - - - Water sensor - The name of the ThingClass ({088aa0cb-61e8-46b6-b99d-699a29fd79c7}) - - - - Wet - The name of the ParamType (ThingClass: waterSensor, EventType: waterDetected, ID: {764cbbbf-6a5c-4265-9424-fc9e6dd86fda}) ----------- -The name of the StateType ({764cbbbf-6a5c-4265-9424-fc9e6dd86fda}) of ThingClass waterSensor - - - -