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
-
-
-
-