From 4f74cfd77fbc86c6b93406e79b86e1f2ed2be959 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Fri, 9 Feb 2018 19:12:45 +0100 Subject: [PATCH] Migrate simulation plugin --- debian/control | 1 + simulation/devicepluginsimulation.cpp | 154 +++++----- simulation/devicepluginsimulation.h | 11 +- simulation/devicepluginsimulation.json | 408 +++++++++++++------------ simulation/simulation.pro | 4 - 5 files changed, 299 insertions(+), 279 deletions(-) diff --git a/debian/control b/debian/control index b20362e2..bcaa30ae 100644 --- a/debian/control +++ b/debian/control @@ -430,6 +430,7 @@ Description: guh.io plugin for TCP commander . This package will install the guh.io plugin for TCP commander + Package: guh-plugin-simulation Architecture: any Depends: ${shlibs:Depends}, diff --git a/simulation/devicepluginsimulation.cpp b/simulation/devicepluginsimulation.cpp index 89c9b1d4..ed38b7e8 100644 --- a/simulation/devicepluginsimulation.cpp +++ b/simulation/devicepluginsimulation.cpp @@ -1,6 +1,7 @@ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Copyright (C) 2017 Bernhard Trinnes * + * Copyright (C) 2018 Simon Stürz * * * * This file is part of guh. * * * @@ -24,15 +25,15 @@ DevicePluginSimulation::DevicePluginSimulation() { + } - -DeviceManager::HardwareResources DevicePluginSimulation::requiredHardware() const +void DevicePluginSimulation::init() { - return DeviceManager::HardwareResourceTimer; + m_pluginTimer = hardwareManager()->pluginTimerManager()->registerTimer(10); + connect(m_pluginTimer, &PluginTimer::timeout, this, &DevicePluginSimulation::onPluginTimer); } - DeviceManager::DeviceSetupStatus DevicePluginSimulation::setupDevice(Device *device) { Q_UNUSED(device) @@ -49,7 +50,7 @@ DeviceManager::DeviceError DevicePluginSimulation::executeAction(Device *device, if (device->deviceClassId() == simpleButtonDeviceClassId ) { // check if this is the "press" action - if (action.actionTypeId() == pressSimpleButtonActionTypeId) { + if (action.actionTypeId() == simpleButtonTriggerActionTypeId) { // Emit the "button pressed" event @@ -61,21 +62,21 @@ DeviceManager::DeviceError DevicePluginSimulation::executeAction(Device *device, return DeviceManager::DeviceErrorActionTypeNotFound; } - // Check the DeviceClassId for "Alternative Power Button" - if (device->deviceClassId() == alternativePowerButtonDeviceClassId) { + // Check the DeviceClassId for "Alternative Button" + if (device->deviceClassId() == alternativeButtonDeviceClassId) { // check if this is the "set power" action - if (action.actionTypeId() == alternativePowerActionTypeId) { + if (action.actionTypeId() == alternativeButtonPowerActionTypeId) { // get the param value - Param powerParam = action.param(alternativePowerStateParamTypeId); + Param powerParam = action.param(alternativeButtonPowerStateParamTypeId); bool power = powerParam.value().toBool(); qCDebug(dcSimulation) << "ActionTypeId :" << action.actionTypeId().toString(); - qCDebug(dcSimulation) << "StateTypeId :" << alternativePowerStateTypeId.toString(); + qCDebug(dcSimulation) << "StateTypeId :" << alternativeButtonPowerStateTypeId.toString(); // Set the "power" state - device->setStateValue(alternativePowerStateTypeId, power); + device->setStateValue(alternativeButtonPowerStateTypeId, power); return DeviceManager::DeviceErrorNoError; } @@ -85,44 +86,44 @@ DeviceManager::DeviceError DevicePluginSimulation::executeAction(Device *device, if (device->deviceClassId() == heatingDeviceClassId) { // check if this is the "set power" action - if (action.actionTypeId() == powerActionTypeId) { + if (action.actionTypeId() == heatingPowerActionTypeId) { // get the param value - Param powerParam = action.param(powerStateParamTypeId); + Param powerParam = action.param(heatingPowerStateParamTypeId); bool power = powerParam.value().toBool(); // Set the "power" state - device->setStateValue(powerStateTypeId, power); + device->setStateValue(heatingPowerStateTypeId, power); return DeviceManager::DeviceErrorNoError; - }else if (action.actionTypeId() == targetTemperatureActionTypeId) { + } else if (action.actionTypeId() == heatingTargetTemperatureActionTypeId) { // get the param value - Param temperatureParam = action.param(targetTemperatureStateParamTypeId); + Param temperatureParam = action.param(heatingTargetTemperatureStateParamTypeId); int temperature = temperatureParam.value().toInt(); // Set the "temperature" state - device->setStateValue(targetTemperatureStateTypeId, temperature); + device->setStateValue(heatingTargetTemperatureStateTypeId, temperature); return DeviceManager::DeviceErrorNoError; } return DeviceManager::DeviceErrorActionTypeNotFound; } - if(device->deviceClassId() == evChargerDeviceClassId){ + if (device->deviceClassId() == evChargerDeviceClassId){ - if(action.actionTypeId() == evPowerActionTypeId){ + if (action.actionTypeId() == evChargerPowerActionTypeId){ // get the param value - Param powerParam = action.param(evPowerStateParamTypeId); + Param powerParam = action.param(evChargerPowerStateParamTypeId); bool power = powerParam.value().toBool(); // Set the "power" state - device->setStateValue(evPowerStateTypeId, power); + device->setStateValue(evChargerPowerStateTypeId, power); return DeviceManager::DeviceErrorNoError; - }else if(action.actionTypeId() == evCurrentActionTypeId){ + } else if(action.actionTypeId() == evChargerCurrentActionTypeId){ // get the param value - Param currentParam = action.param(evCurrentStateParamTypeId); + Param currentParam = action.param(evChargerCurrentStateParamTypeId); int current = currentParam.value().toInt(); // Set the "current" state - device->setStateValue(evCurrentStateTypeId, current); + device->setStateValue(evChargerCurrentStateTypeId, current); return DeviceManager::DeviceErrorNoError; } return DeviceManager::DeviceErrorActionTypeNotFound; @@ -141,26 +142,26 @@ DeviceManager::DeviceError DevicePluginSimulation::executeAction(Device *device, return DeviceManager::DeviceErrorActionTypeNotFound; } - if(device->deviceClassId() == rgbBulbDeviceClassId){ + if(device->deviceClassId() == colorBulbDeviceClassId){ - if(action.actionTypeId() == bulbBrightnessActionTypeId){ - int brightness = action.param(bulbBrightnessStateParamTypeId).value().toInt(); - device->setStateValue(bulbBrightnessStateTypeId, brightness); + if(action.actionTypeId() == colorBulbBrightnessActionTypeId){ + int brightness = action.param(colorBulbBrightnessStateParamTypeId).value().toInt(); + device->setStateValue(colorBulbBrightnessStateTypeId, brightness); return DeviceManager::DeviceErrorNoError; - } else if (action.actionTypeId() == bulbTemperatureActionTypeId){ - int temperature = action.param(bulbTemperatureStateParamTypeId).value().toInt(); - device->setStateValue(bulbTemperatureStateTypeId, temperature); + } else if (action.actionTypeId() == colorBulbColorTemperatureActionTypeId){ + int temperature = action.param(colorBulbColorTemperatureStateParamTypeId).value().toInt(); + device->setStateValue(colorBulbColorTemperatureStateTypeId, temperature); return DeviceManager::DeviceErrorNoError; - } else if (action.actionTypeId() == bulbColorActionTypeId) { - QVariant color = action.param(bulbColorStateParamTypeId).value(); - device->setStateValue(bulbColorStateTypeId, color); + } else if (action.actionTypeId() == colorBulbColorActionTypeId) { + QVariant color = action.param(colorBulbColorStateParamTypeId).value(); + device->setStateValue(colorBulbColorStateTypeId, color); return DeviceManager::DeviceErrorNoError; - } else if (action.actionTypeId() == bulbPowerActionTypeId) { - bool power = action.param(bulbPowerStateParamTypeId).value().toBool(); - device->setStateValue(bulbPowerStateTypeId, power); + } else if (action.actionTypeId() == colorBulbPowerActionTypeId) { + bool power = action.param(colorBulbPowerStateParamTypeId).value().toBool(); + device->setStateValue(colorBulbPowerStateTypeId, power); return DeviceManager::DeviceErrorNoError; } @@ -169,17 +170,17 @@ DeviceManager::DeviceError DevicePluginSimulation::executeAction(Device *device, if (device->deviceClassId() == heatingRodDeviceClassId) { - if (action.actionTypeId() == powerActionTypeId) { - bool power = action.param(powerStateParamTypeId).value().toBool(); - device->setStateValue(powerStateTypeId, power); + if (action.actionTypeId() == heatingRodPowerActionTypeId) { + bool power = action.param(heatingRodPowerStateParamTypeId).value().toBool(); + device->setStateValue(heatingRodPowerStateTypeId, power); return DeviceManager::DeviceErrorNoError; - } else if (action.actionTypeId() == waterTemperatureActionTypeId) { - int temperature = action.param(waterTemperatureStateParamTypeId).value().toInt(); - device->setStateValue(waterTemperatureStateTypeId, temperature); + } else if (action.actionTypeId() == heatingRodWaterTemperatureActionTypeId) { + int temperature = action.param(heatingRodWaterTemperatureStateParamTypeId).value().toInt(); + device->setStateValue(heatingRodWaterTemperatureStateTypeId, temperature); return DeviceManager::DeviceErrorNoError; - } else if (action.actionTypeId() == maxPowerActionTypeId) { - double maxPower = action.param(maxPowerStateParamTypeId).value().toDouble(); - device->setStateValue(maxPowerStateTypeId, maxPower); + } else if (action.actionTypeId() == heatingRodMaxPowerActionTypeId) { + double maxPower = action.param(heatingRodMaxPowerStateParamTypeId).value().toDouble(); + device->setStateValue(heatingRodMaxPowerStateTypeId, maxPower); return DeviceManager::DeviceErrorNoError; } @@ -187,46 +188,47 @@ DeviceManager::DeviceError DevicePluginSimulation::executeAction(Device *device, } if (device->deviceClassId() == batteryDeviceClassId) { - if (action.actionTypeId() == maxChargingActionTypeId) { - int maxCharging = action.param(maxChargingStateParamTypeId).value().toInt(); - device->setStateValue(maxChargingStateTypeId, maxCharging); - device->setStateValue(chargingBatteryStateTypeId, ((double)maxCharging-10)/1000); + if (action.actionTypeId() == batteryMaxChargingActionTypeId) { + int maxCharging = action.param(batteryMaxChargingStateParamTypeId).value().toInt(); + device->setStateValue(batteryMaxChargingStateTypeId, maxCharging); + device->setStateValue(batteryChargingStateTypeId, ((double)maxCharging-10)/1000); return DeviceManager::DeviceErrorNoError; } return DeviceManager::DeviceErrorActionTypeNotFound; } - return DeviceManager::DeviceErrorDeviceClassNotFound; } -void DevicePluginSimulation::guhTimer(){ - - foreach (Device *device, myDevices()) { - if (device->deviceClassId() == temperatureSensorDeviceClassId) { - //generate Random Number - double temperature = ((double)getRandomNumber(200, 230)/10.0); - device->setStateValue(temperatureStateTypeId, temperature); - device->setStateValue(humidityStateTypeId, getRandomNumber(40, 60)); - device->setStateValue(batteryStateTypeId, 93); - device->setStateValue(reachableStateTypeId, true); - - }else if(device->deviceClassId() == motionDetectorDeviceClassId){ - bool active = true; - if(getRandomNumber(0, 60)){ - active = false; - } - device->setStateValue(activeStateTypeId, active); - device->setStateValue(batteryStateTypeId, 82); - device->setStateValue(reachableStateTypeId, true); - }else if(device->deviceClassId() == evChargerDeviceClassId){ - - } - } -} - int DevicePluginSimulation::getRandomNumber(const int Min, const int Max) { return ((qrand() % ((Max + 1) - Min)) + Min); } +void DevicePluginSimulation::onPluginTimer() +{ + foreach (Device *device, myDevices()) { + if (device->deviceClassId() == temperatureSensorDeviceClassId) { + //generate Random Number + double temperature = ((double)getRandomNumber(200, 230)/10.0); + device->setStateValue(temperatureSensorTemperatureStateTypeId, temperature); + device->setStateValue(temperatureSensorHumidityStateTypeId, getRandomNumber(40, 60)); + device->setStateValue(temperatureSensorBatteryLevelStateTypeId, getRandomNumber(10, 100)); + device->setStateValue(temperatureSensorBatteryCriticalStateTypeId, device->stateValue(temperatureSensorBatteryLevelStateTypeId).toDouble() <= 30); + device->setStateValue(temperatureSensorConnectedStateTypeId, true); + + } else if(device->deviceClassId() == motionDetectorDeviceClassId){ + bool active = true; + if(getRandomNumber(0, 60)){ + active = false; + } + device->setStateValue(motionDetectorActiveStateTypeId, active); + device->setStateValue(motionDetectorBatteryLevelStateTypeId, getRandomNumber(10, 100)); + device->setStateValue(motionDetectorBatteryCriticalStateTypeId, device->stateValue(motionDetectorBatteryLevelStateTypeId).toDouble() <= 30); + device->setStateValue(motionDetectorConnectedStateTypeId, true); + } else if(device->deviceClassId() == evChargerDeviceClassId){ + + } + } +} + diff --git a/simulation/devicepluginsimulation.h b/simulation/devicepluginsimulation.h index e4d39349..271f76d1 100644 --- a/simulation/devicepluginsimulation.h +++ b/simulation/devicepluginsimulation.h @@ -1,6 +1,7 @@ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Copyright (C) 2017 Bernhard Trinnes * + * Copyright (C) 2018 Simon Stürz * * * * This file is part of guh. * * * @@ -23,6 +24,7 @@ #include "plugin/deviceplugin.h" #include "devicemanager.h" +#include "plugintimer.h" class DevicePluginSimulation : public DevicePlugin { @@ -35,15 +37,18 @@ class DevicePluginSimulation : public DevicePlugin public: explicit DevicePluginSimulation(); - DeviceManager::HardwareResources requiredHardware() const override; + void init() override; DeviceManager::DeviceSetupStatus setupDevice(Device *device) override; - DeviceManager::DeviceError executeAction(Device *device, const Action &action) override; - void guhTimer() override; private: + PluginTimer *m_pluginTimer = nullptr; int getRandomNumber(const int min, const int max); + +private slots: + void onPluginTimer(); + }; #endif // DEVICEPLUGINSIMMULATION_H diff --git a/simulation/devicepluginsimulation.json b/simulation/devicepluginsimulation.json index a080e0a6..290d963e 100644 --- a/simulation/devicepluginsimulation.json +++ b/simulation/devicepluginsimulation.json @@ -1,58 +1,58 @@ { "name": "Simulation", - "idName": "Simulation", + "displayName": "Simulation", "id": "b7368429-e312-4c82-9eab-e1cd996e43d6", "vendors": [ { - "name": "Simulated Devices", - "idName": "simulation", + "name": "simulation", + "displayName": "Simulation", "id": "fd2ae067-2c3d-4332-9c4b-ee0af653bcaf", + "interfaces": ["simplebutton"], "deviceClasses": [ { "id": "73bb670b-e7a3-40da-bd6f-3260f017ec80", - "idName": "simpleButton", - "name": "Simple Button", + "name": "simpleButton", + "displayName": "Simple Button", "createMethods": ["user"], "deviceIcon": "Switch", + "interfaces": ["simplebutton", "outputtrigger"], "basicTags": [ "Device" ], - "paramTypes": [ - ], + "paramTypes": [ ], "actionTypes": [ { "id": "64c4ced5-9a1a-4858-81dd-1b5c94dba495", - "idName": "pressSimpleButton", - "name": "press the button" + "name": "trigger", + "displayName": "Press the button" } ], "eventTypes": [ { "id": "f9652210-9aed-4f38-8c19-2fd54f703fbe", - "idName": "simpleButtonPressed", - "name": "button pressed" + "name": "pressed", + "displayName": "Button pressed" } ] }, { "id": "910b2f58-70dc-4da3-89ae-9e7393290ccb", - "idName": "alternativePowerButton", - "name": "Power Button", + "name": "alternativeButton", + "displayName": "Power Button", "createMethods": ["user"], "deviceIcon": "Switch", "basicTags": [ "Device" ], - "paramTypes": [ - ], + "paramTypes": [ ], "stateTypes": [ { "id": "fa63c0b9-10e5-4280-9cc2-243bf27c05ad", - "idName": "alternativePower", "name": "power", + "displayName": "Power", "type": "bool", - "eventTypeName": "power changed", - "actionTypeName": "set power", + "displayNameEvent": "Power changed", + "displayNameAction": "Set power", "defaultValue": false, "index" : 0, "writable": true @@ -61,135 +61,154 @@ }, { "id": "77c6ccff-84e8-4983-b69e-5e1a3f4723f2", - "idName": "temperatureSensor", - "name": "Temperature Sensor", + "name": "temperatureSensor", + "displayName": "Temperature sensor", "createMethods": ["user"], "deviceIcon": "Thermometer", - "criticalStateTypeId": "e66aba37-2647-4b6b-8740-d59eb98d846c", - "primaryStateTypeId": "169d7a2a-d1c9-4578-bb30-fc7d25690e59", + "interfaces": ["temperaturesensor", "humiditysensor", "battery", "connectable"], "basicTags": [ "Device", "Sensor" ], - "paramTypes": [ - ], + "paramTypes": [ ], "stateTypes": [ { "id": "169d7a2a-d1c9-4578-bb30-fc7d25690e59", - "idName": "temperature", "name": "temperature", + "displayName": "Temperature", + "displayNameEvent": "Temperature changed", "type": "double", "unit": "DegreeCelsius", - "eventTypeName": "temperature changed", "defaultValue": 0 }, { "id": "10c735fd-7b81-484a-a148-76ea0da840f0", - "idName": "humidity", "name": "humidity", - "type": "int", + "displayName": "Humidity", + "displayNameEvent": "Humidity changed", + "type": "double", + "minValue": 0, + "maxValue": 100, "unit": "Percentage", - "eventTypeName": "humidity changed", "defaultValue": 0 }, { "id": "45c0de32-b519-47d7-9f82-e5f09d1542d4", - "idName": "battery", - "name": "battery", + "name": "batteryLevel", + "displayName": "Battery", + "displayNameEvent": "Battery level changed", "type": "int", + "minValue": 0, + "maxValue": 100, "unit": "Percentage", - "eventTypeName": "battery changed", "defaultValue": 0 }, { - "id": "e66aba37-2647-4b6b-8740-d59eb98d846c", - "idName": "reachable", - "name": "reachable", + "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", - "eventTypeName": "reachable changed", "defaultValue": true } ] }, { "id": "990fc2ba-260a-4648-9a93-e803e219da4f", - "idName": "motionDetector", - "name": "Motion Detector", + "name": "motionDetector", + "displayName": "Motion Detector", "createMethods": ["user"], + "interfaces": ["battery", "connectable"], "deviceIcon": "MotionDetectors", "basicTags": [ "Device", "Sensor" ], - "paramTypes": [ - ], + "paramTypes": [ ], "stateTypes": [ { "id": "5ab00bfc-7345-44a2-90d4-852c810e59ec", - "idName": "active", "name": "active", + "displayName": "Active", + "displayNameEvent": "Motion detected", "type": "bool", - "eventTypeName": "motion detected", "defaultValue": false }, { - "id": "45c0de32-b519-47d7-9f82-e5f09d1542d4", - "idName": "battery", - "name": "battery", + "id": "4d66c81e-6293-4997-9685-8b44d7e5c1bd", + "name": "batteryLevel", + "displayName": "Battery", + "displayNameEvent": "Battery level changed", "type": "int", "unit": "Percentage", - "eventTypeName": "battery changed", - "defaultValue": 100 + "minValue": 0, + "maxValue": 100, + "defaultValue": 95 }, { - "id": "e66aba37-2647-4b6b-8740-d59eb98d846c", - "idName": "reachable", - "name": "reachable", + "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", - "eventTypeName": "reachable changed", "defaultValue": true } ] }, { "id": "62e302f4-b92a-4b55-bd18-a1e0cc56362a", - "idName": "heating", - "name": "Heating", + "name": "heating", + "displayName": "Heating", "createMethods": ["user"], "deviceIcon": "Radiator", "basicTags": [ "Device", "Actuator" ], - "paramTypes": [ - ], + "paramTypes": [ ], "stateTypes": [ { "id": "e1910c53-a6bc-434b-9caa-0d08e214c122", - "idName": "power", "name": "power", + "displayName": "Power", + "displayNameEvent": "Power changed", + "displayNameAction": "Set power", "type": "bool", - "eventTypeName": "power changed", - "actionTypeName": "change power", "defaultValue": 0, "writable": true }, { "id": "47a16375-1027-42cc-82d3-56cbfdb1193c", - "idName": "heatingActive", - "name": "active", + "name": "heatingActive", + "displayName": "Active", + "displayNameEvent": "Active status changed", "type": "bool", - "eventTypeName": "active status changed", "defaultValue": false }, { "id": "8256a670-85c5-4043-9133-05518812848c", - "idName": "targetTemperature", - "name": "target", + "name": "targetTemperature", + "displayName": "Target temperature", + "displayNameEvent": "target temperature changed", + "displayNameAction": "change target temperature", "type": "int", "unit": "DegreeCelsius", - "eventTypeName": "target temperature changed", - "actionTypeName": "change target temperature", "defaultValue": 0, "writable": true } @@ -197,100 +216,95 @@ }, { "id": "1fa40afa-6a07-4a97-918b-76e3944ea0fb", - "idName": "evCharger", - "name": "EV Charging Station", + "name": "evCharger", + "displayName": "EV Charging Station", "createMethods": ["user"], "deviceIcon": "Energy", "basicTags": [ "Device", "Actuator" ], - "paramTypes": [ - ], + "paramTypes": [ ], "stateTypes": [ { "id": "b786029d-f3a6-4b47-978a-ac1a581aac0f", - "idName": "evPower", "name": "power", + "displayName": "Power", + "displayNameEvent": "Power changed", + "displayNameAction": "Set power", "type": "bool", - "eventTypeName": "power changed", - "actionTypeName": "change power", "defaultValue": 0, "writable": true }, { "id": "87600986-da37-4032-af37-015995910368", - "idName": "evCurrent", "name": "current", + "displayName": "Current", + "displayNameEvent": "Current changed", + "displayNameAction": "Set current", "type": "int", "unit": "Ampere", "minValue": 6, "maxValue": 64, - "eventTypeName": "target temperature changed", - "actionTypeName": "change target temperature", "defaultValue": 6, "writable": true }, { "id": "9d3f56e1-bb73-4efd-814c-50477c609c17", - "idName": "evCharging", - "name": "charging", + "name": "evCharging", + "displayName": "charging", "type": "bool", - "eventTypeName": "charging status changed", + "displayNameEvent": "charging status changed", "defaultValue": false } ] }, { "id": "cfb44bcf-b4b9-4bef-89f7-3a55baf35668", - "idName": "garageDoor", - "name": "Garage Door", + "name": "garageDoor", + "displayName": "Garage Door", "createMethods": ["user"], "deviceIcon": "Garage", "basicTags": [ "Device", "Actuator" ], - "paramTypes": [ - ], + "paramTypes": [ ], "stateTypes": [ { "id": "f786029d-f3a6-4b47-978a-ac1a581aac0f", - "idName": "door", "name": "door", + "displayName": "Garage door", + "displayNameEvent": "Garage door status changed", "type": "bool", - "eventTypeName": "door status changed", "defaultValue": false } ], "actionTypes": [ { "id": "1786029d-f3a6-4b47-978a-ac1a581aac0f", - "idName": "garageOpen", "name": "open", - "type": "bool", - "eventTypeName": "door opening" + "displayName": "Open", + "type": "bool" }, { "id": "2786029d-f3a6-4b47-978a-ac1a581aac0f", - "idName": "garageStop", "name": "stop", - "type": "bool", - "eventTypeName": "door stopping" + "displayName": "Stop", + "type": "bool" }, { "id": "3786029d-f3a6-4b47-978a-ac1a581aac0f", - "idName": "garageClose", "name": "close", - "type": "bool", - "eventTypeName": "door closing" + "displayName": "Close", + "type": "bool" } ] }, { "id": "1039b7ee-5351-400b-a477-5b8fc1447138", - "idName": "rollerShutter", - "name": "Roller Shutter", + "name": "rollerShutter", + "displayName": "Roller Shutter", "createMethods": ["user"], "deviceIcon": "RollerShutter", "basicTags": [ @@ -298,72 +312,68 @@ "Actuator", "Shading" ], - "paramTypes": [ - ], + "paramTypes": [ ], "stateTypes": [ { "id": "1386029d-f3a6-4b47-978a-ac1a581aac0f", - "idName": "shutterStatus", - "name": "status", + "name": "shutterStatus", + "displayName": "Status", "type": "int", "unit": "Percentage", - "eventTypeName": "shutter status changed", + "displayNameEvent": "Shutter status changed", "defaultValue": 0 } ], "actionTypes": [ { "id": "17860291-f3a6-4b47-978a-ac1a581aac0f", - "idName": "shutterOpen", "name": "open", - "type": "bool", - "eventTypeName": "shutter opening" + "displayName": "Open", + "type": "bool" }, { "id": "27860292-f3a6-4b47-978a-ac1a581aac0f", - "idName": "shutterStop", "name": "stop", - "type": "bool", - "eventTypeName": "shutter stopping" + "displayName": "stop", + "type": "bool" }, { "id": "37860293-f3a6-4b47-978a-ac1a581aac0f", - "idName": "shutterClose", "name": "close", - "type": "bool", - "eventTypeName": "shutter closing" + "displayName": "close", + "type": "bool" } ] }, { "id": "1039b7ee-5121-400b-a477-5b8fc14471ff", - "idName": "rgbBulb", - "name": "Color Bulb", + "name": "colorBulb", + "displayName": "Color Bulb", "createMethods": ["user"], "deviceIcon": "LightBulb", + "interfaces": ["colorlight"], "basicTags": [ "Device", "Actuator" ], - "paramTypes": [ - ], + "paramTypes": [ ], "stateTypes": [ { "id": "9faaffe5-6a76-47d2-a14a-550f60390245", - "idName": "bulbPower", "name": "power", - "eventTypeName": "power changed", - "actionTypeName": "Set power", + "displayName": "Power", + "displayNameEvent": "Power changed", + "displayNameAction": "Set power", "type": "bool", "defaultValue": false, "writable": true }, { "id": "cff4206f-f219-4f06-93c4-4ca515a56f79", - "idName": "bulbTemperature", - "name": "color temperature", - "eventTypeName": "color temperature changed", - "actionTypeName": "Set color temperature", + "name": "colorTemperature", + "displayName": "Color temperature", + "displayNameEvent": "Color temperature changed", + "displayNameAction": "Set color temperature", "type": "int", "unit": "Mired", "defaultValue": 170, @@ -375,23 +385,22 @@ }, { "id": "df5423f1-b924-4b20-80b6-77eecc65d089", - "idName": "bulbColor", "name": "color", - "eventTypeName": "color changed", - "actionTypeName": "Set color", + "displayName": "Color", + "displayNameEvent": "Color changed", + "displayNameAction": "Set color", "type": "QColor", "ruleRelevant": false, "eventRuleRelevant": false, "defaultValue": "#000000", "writable": true - }, { "id": "90e91f11-a208-468c-a5a2-7f47e08229e2", - "idName": "bulbBrightness", "name": "brightness", - "eventTypeName": "brightness changed", - "actionTypeName": "Set brigtness", + "displayName": "Brightness", + "displayNameEvent": "Brightness changed", + "displayNameAction": "Set brigtness", "type": "int", "ruleRelevant": false, "eventRuleRelevant": false, @@ -405,24 +414,23 @@ }, { "id": "1039b7ee-5351-400b-a477-5b8fc14471ff", - "idName": "socket", - "name": "Socket", + "name": "socket", + "displayName": "Socket", "createMethods": ["user"], "deviceIcon": "Socket", "basicTags": [ "Device", "Actuator" ], - "paramTypes": [ - ], + "paramTypes": [ ], "stateTypes": [ { "id": "b7ff029d-f3a6-4b47-978a-ac1a581aac0f", - "idName": "socketPower", "name": "power", + "displayName": "Power", + "displayNameEvent": "Power changed", + "displayNameAction": "Set power", "type": "bool", - "eventTypeName": "power changed", - "actionTypeName": "change power", "defaultValue": false, "writable": true } @@ -430,76 +438,76 @@ }, { "id": "45906fb3-9bf5-4331-9b69-0a0407b8511e", - "idName": "fingerPrintSensor", - "name": "Finger Print Sensor", + "name": "fingerPrintSensor", + "displayName": "Finger Print Sensor", "createMethods": ["user"], + "interfaces": ["connectable"], "deviceIcon": "Network", "basicTags": [ "Device", "Sensor" ], - "paramTypes": [ - ], + "paramTypes": [ ], "stateTypes": [ { "id": "e66aba37-2647-4b6b-8740-d59eb98d846c", - "idName": "reachable", - "name": "reachable", + "name": "connected", + "displayName": "Connected", + "displayNameEvent": "Connected changed", "type": "bool", - "eventTypeName": "reachable changed", "defaultValue": true } ], "eventTypes": [ { "id": "1d2dde79-7121-4f8c-b7c1-904ced66a79e", - "idName": "accessGranted", - "name": "access granted" + "name": "accessGranted", + "displayName": "Access granted" }, { "id": "992b7742-af0c-447c-bd94-9ec70b872268", - "idName": "accessDenied", - "name": "access denied" + "name": "accessDenied", + "displayName": "Access denied" } ] }, { "id": "c242f229-d3f4-4d3d-854c-817b52aa18ab", - "idName": "smartMeter", - "name": "Smart Meter", + "name": "smartMeter", + "displayName": "Smart Meter", "createMethods": ["user"], "deviceIcon": "Energy", + "interfaces": ["connectable"], "basicTags": [ "Device" ], - "paramTypes": [ - ], + "paramTypes": [ ], "stateTypes": [ { "id": "e66aba37-2647-4b6b-8740-d59eb98d846c", - "idName": "reachable", - "name": "reachable", + "name": "connected", + "displayName": "Reachable", + "displayNameEvent": "Reachable changed", "type": "bool", - "eventTypeName": "reachable changed", "defaultValue": true }, { "id": "d57f4d9c-759e-40eb-999e-a1acbc8df2b1", - "idName": "powerSmartMeter", - "name": "Power", + "name": "powerConsumption", + "displayName": "Power consumtion", + "displayNameEvent": "Power consumption changed", "type": "double", "unit": "KiloWatt", - "eventTypeName": "power consumption changed", "eventRuleRelevant": false, "defaultValue": 3.70 }, { "id": "5ac91819-c855-441c-a734-ee5cc0514822", - "idName": "energyTodaySmartMeter", - "name": "Energy Today", + "name": "energyToday", + "displayName": "Today's energy production", + "displayNameEvent": "Today's energy production changed", "type": "double", "unit": "KiloWatt", - "eventTypeName": "today's energy production changed", "ruleRelevant": false, "eventRuleRelevant": false, "defaultValue": 13.45 @@ -508,29 +516,29 @@ }, { "id": "280c481e-757a-4af7-b1d3-dc9cfc1d46a5", - "idName": "battery", - "name": "Battery", + "name": "battery", + "displayName": "Battery", "createMethods": ["user"], "deviceIcon": "Battery", + "interfaces": ["battery", "connectable"], "basicTags": [ "Device" ], - "paramTypes": [ - ], + "paramTypes": [ ], "stateTypes": [ { "id": "e66aba37-2647-4b6b-8740-d59eb98d846c", - "idName": "reachable", - "name": "reachable", + "name": "connected", + "displayName": "Reachable", + "displayNameEvent": "Reachable changed", "type": "bool", - "eventTypeName": "reachable changed", "defaultValue": true }, { "id": "30fd9fd9-1a6b-4698-93ac-6b2a1ba18500", - "idName": "batteryStatus", - "name": "Battery Status", - "eventTypeName": "battery status changed", + "name": "batteryLevel", + "displayName": "Battery level", + "displayNameEvent": "Battery level changed", "type": "int", "unit": "Percentage", "defaultValue": 91, @@ -539,65 +547,73 @@ }, { "id": "c977e60a-e820-4647-addb-cf0b39732ffb", - "idName": "chargingBattery", - "name": "Charging", + "name": "charging", + "displayName": "Charging", + "displayNameEvent": "Charging amount changed", "type": "double", "unit": "KiloWatt", - "eventTypeName": "charging amount changed", "eventRuleRelevant": false, "defaultValue": 0.70 }, { "id": "bdf328a6-eebc-4b67-8165-551bc21e9be6", - "idName": "maxCharging", - "name": "Max Charging Power", - "eventTypeName": "max charging power changed", - "actionTypeName": "Set max charging power", + "name": "maxCharging", + "displayName": "Max charging power", + "displayNameEvent": "Max charging power changed", + "displayNameAction": "Set max charging power", "type": "int", "unit": "Watt", "defaultValue": 700, "minValue": 0, "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", - "idName": "heatingRod", - "name": "Heating Rod", + "name": "heatingRod", + "displayName": "Heating Rod", "createMethods": ["user"], "deviceIcon": "Thermometer", + "interfaces": ["connectable"], "basicTags": [ "Device" ], - "paramTypes": [ - ], + "paramTypes": [ ], "stateTypes": [ { "id": "e66aba37-2647-4b6b-8740-d59eb98d846c", - "idName": "reachable", - "name": "reachable", + "name": "connected", + "displayName": "Reachable", + "displayNameEvent": "Reachable changed", "type": "bool", - "eventTypeName": "reachable changed", "defaultValue": true }, { "id": "e1910c53-a6bc-434b-9caa-0d08e214c122", - "idName": "power", "name": "power", + "displayName": "Power", + "displayNameEvent": "Power changed", + "displayNameAction": "Power", "type": "bool", - "eventTypeName": "power changed", - "actionTypeName": "power", "defaultValue": false, "writable": true }, { "id": "2ab2a0fa-ea66-426c-ba22-d23b42c80883", - "idName": "maxPower", - "name": "Max Power", - "eventTypeName": "max power changed", - "actionTypeName": "Set max power", + "name": "maxPower", + "displayName": "Max power", + "displayNameEvent": "Max power changed", + "displayNameAction": "Set max power", "type": "int", "unit": "Watt", "defaultValue": 2000, @@ -607,12 +623,12 @@ }, { "id": "49388b11-8076-4698-8091-5c5f5762fd08", - "idName": "waterTemperature", - "name": "target water temperature", + "name": "waterTemperature", + "displayName": "Target water temperature", + "displayNameEvent": "Target water temperature changed", + "displayNameAction": "Set target water temperature", "type": "int", "unit": "DegreeCelsius", - "eventTypeName": "target water temperature changed", - "actionTypeName": "change target water temperature", "minValue": 0, "maxValue": 80, "defaultValue": 65, @@ -620,10 +636,10 @@ }, { "id": "47a16375-1027-42cc-82d3-56cbfdb1193c", - "idName": "heatingActive", - "name": "active", + "name": "heatingActive", + "displayName": "Active", + "displayNameEvent": "Active status changed", "type": "bool", - "eventTypeName": "active status changed", "defaultValue": false } ] diff --git a/simulation/simulation.pro b/simulation/simulation.pro index 9c25423b..84b8b21f 100644 --- a/simulation/simulation.pro +++ b/simulation/simulation.pro @@ -1,7 +1,3 @@ -TRANSLATIONS = translations/en_US.ts \ - translations/de_DE.ts - -# Note: include after the TRANSLATIONS definition include(../plugins.pri) TARGET = $$qtLibraryTarget(guh_devicepluginsimulation)