From 49e905d5fa5973a61f70434c8aefe90605774e5f Mon Sep 17 00:00:00 2001 From: Bernhard Trinnes Date: Tue, 12 Jun 2018 10:52:18 +0200 Subject: [PATCH] fixed interfaces for shutter and light --- unipi/devicepluginunipi.cpp | 79 ++++++++++++++++++------------------ unipi/devicepluginunipi.json | 78 +++++++++++++++++------------------ 2 files changed, 77 insertions(+), 80 deletions(-) diff --git a/unipi/devicepluginunipi.cpp b/unipi/devicepluginunipi.cpp index 9fb6f3dd..9e0f9f5e 100644 --- a/unipi/devicepluginunipi.cpp +++ b/unipi/devicepluginunipi.cpp @@ -88,10 +88,10 @@ DeviceManager::DeviceSetupStatus DevicePluginUniPi::setupDevice(Device *device) return DeviceManager::DeviceSetupStatusSuccess; } - if (device->deviceClassId() == shadingDeviceClassId) { + if (device->deviceClassId() == shutterDeviceClassId) { - m_usedGpios.insert(device->paramValue(shadingOutputUpParamTypeId).toString(), device); - m_usedGpios.insert(device->paramValue(shadingOutputDownParamTypeId).toString(), device); + m_usedGpios.insert(device->paramValue(shutterOutputOpenParamTypeId).toString(), device); + m_usedGpios.insert(device->paramValue(shutterOutputCloseParamTypeId).toString(), device); return DeviceManager::DeviceSetupStatusSuccess; } @@ -151,7 +151,7 @@ DeviceManager::DeviceError DevicePluginUniPi::discoverDevices(const DeviceClassI return DeviceManager::DeviceErrorAsync; } - if (deviceClassId == shadingDeviceClassId) { + if (deviceClassId == shutterDeviceClassId) { // Create the list of available gpios QList deviceDescriptors; @@ -165,10 +165,10 @@ DeviceManager::DeviceError DevicePluginUniPi::discoverDevices(const DeviceClassI DeviceDescriptor descriptor(deviceClassId, QString("Up Relay %1 + Down Relay %2").arg(circuit, m_relais.at(i+1)), circuit); ParamList parameters; - parameters.append(Param(shadingOutputUpParamTypeId, circuit)); - parameters.append(Param(shadingOutputDownParamTypeId, m_relais.at(i+1))); - parameters.append(Param(shadingOutputTypeUpParamTypeId, GPIOType::relay)); - parameters.append(Param(shadingOutputTypeDownParamTypeId, GPIOType::relay)); + parameters.append(Param(shutterOutputOpenParamTypeId, circuit)); + parameters.append(Param(shutterOutputCloseParamTypeId, m_relais.at(i+1))); + parameters.append(Param(shutterOutputTypeOpenParamTypeId, GPIOType::relay)); + parameters.append(Param(shutterOutputTypeCloseParamTypeId, GPIOType::relay)); descriptor.setParams(parameters); deviceDescriptors.append(descriptor); } @@ -276,29 +276,28 @@ DeviceManager::DeviceError DevicePluginUniPi::executeAction(Device *device, cons return DeviceManager::DeviceErrorActionTypeNotFound; } - if (device->deviceClassId() == shadingDeviceClassId) { + if (device->deviceClassId() == shutterDeviceClassId) { + QString circuitOpen = device->paramValue(shutterOutputOpenParamTypeId).toString(); + QString typeOpen = device->paramValue(shutterOutputTypeOpenParamTypeId).toString(); - if (action.actionTypeId() == shadingDownActionTypeId) { - QString circuit = device->paramValue(shadingOutputDownParamTypeId).toString(); - QString type = device->paramValue(shadingOutputTypeDownParamTypeId).toString(); - setOutput(circuit, type, false); + QString circuitClose = device->paramValue(shutterOutputCloseParamTypeId).toString(); + QString typeClose = device->paramValue(shutterOutputTypeCloseParamTypeId).toString(); + + if (action.actionTypeId() == shutterCloseActionTypeId) { + + setOutput(circuitOpen, typeOpen, false); + setOutput(circuitClose, typeClose, true); return DeviceManager::DeviceErrorNoError; } - if (action.actionTypeId() == shadingUpActionTypeId) { - QString circuit = device->paramValue(shadingOutputDownParamTypeId).toString(); - QString type = device->paramValue(shadingOutputTypeDownParamTypeId).toString(); - setOutput(circuit, type, false); + if (action.actionTypeId() == shutterOpenActionTypeId) { + + setOutput(circuitClose, typeClose, false); + setOutput(circuitOpen, typeOpen, true); return DeviceManager::DeviceErrorNoError; } - - if (action.actionTypeId() == shadingStopActionTypeId) { - QString circuitUp = device->paramValue(shadingOutputDownParamTypeId).toString(); - QString typeUp = device->paramValue(shadingOutputTypeDownParamTypeId).toString(); - setOutput(circuitUp, typeUp, false); - - QString circuitDown = device->paramValue(shadingOutputDownParamTypeId).toString(); - QString typeDown = device->paramValue(shadingOutputTypeDownParamTypeId).toString(); - setOutput(circuitDown, typeDown, false); + if (action.actionTypeId() == shutterStopActionTypeId) { + setOutput(circuitOpen, typeOpen, false); + setOutput(circuitClose, typeClose, false); return DeviceManager::DeviceErrorNoError; } @@ -375,32 +374,32 @@ void DevicePluginUniPi::onWebSocketTextMessageReceived(QString message) device->setStateValue(relayOutputRelayStatusStateTypeId, value); break; } - } else if (device->deviceClassId() == shadingDeviceClassId) { - if (circuit == device->paramValue(shadingOutputUpParamTypeId).toString()) { - if (value && device->stateValue(shadingStatusStateTypeId).toString().contains("stop")) { - device->setStateValue(shadingStatusStateTypeId, "up"); - } else if (!value && device->stateValue(shadingStatusStateTypeId).toString().contains("up")) { - device->setStateValue(shadingStatusStateTypeId, "stop"); + } else if (device->deviceClassId() == shutterDeviceClassId) { + if (circuit == device->paramValue(shutterOutputOpenParamTypeId).toString()) { + if (value && device->stateValue(shutterStatusStateTypeId).toString().contains("stop")) { + device->setStateValue(shutterStatusStateTypeId, "open"); + } else if (!value && device->stateValue(shutterStatusStateTypeId).toString().contains("open")) { + device->setStateValue(shutterStatusStateTypeId, "stop"); } else { - qWarning(dcUniPi()) << "Shading" << device << "Output Up:" << value << "Status: " << device->stateValue(shadingStatusStateTypeId).toString(); + qWarning(dcUniPi()) << "shutter" << device << "Output open:" << value << "Status: " << device->stateValue(shutterStatusStateTypeId).toString(); } break; } - if (circuit == device->paramValue(shadingOutputDownParamTypeId).toString()) { - if (value && device->stateValue(shadingStatusStateTypeId).toString().contains("stop")) { - device->setStateValue(shadingStatusStateTypeId, "down"); - } else if (!value && device->stateValue(shadingStatusStateTypeId).toString().contains("down")) { - device->setStateValue(shadingStatusStateTypeId, "stop"); + if (circuit == device->paramValue(shutterOutputCloseParamTypeId).toString()) { + if (value && device->stateValue(shutterStatusStateTypeId).toString().contains("stop")) { + device->setStateValue(shutterStatusStateTypeId, "close"); + } else if (!value && device->stateValue(shutterStatusStateTypeId).toString().contains("close")) { + device->setStateValue(shutterStatusStateTypeId, "stop"); } else { - qWarning(dcUniPi()) << "Shading" << device << "Output Down:" << value << "Status: " << device->stateValue(shadingStatusStateTypeId).toString(); + qWarning(dcUniPi()) << "shutter" << device << "Output close:" << value << "Status: " << device->stateValue(shutterStatusStateTypeId).toString(); } break; } } else if (device->deviceClassId() == lightDeviceClassId) { if (circuit == device->paramValue(lightOutputParamTypeId).toString()) { - device->setStateValue(lightStatusStateTypeId, value); + device->setStateValue(lightPowerStateTypeId, value); break; } } diff --git a/unipi/devicepluginunipi.json b/unipi/devicepluginunipi.json index 5253f7af..5d0bd9f3 100644 --- a/unipi/devicepluginunipi.json +++ b/unipi/devicepluginunipi.json @@ -22,8 +22,8 @@ "name": "relayOutput", "displayName": "Relay output", "deviceIcon": "Power", - "createMethods": ["discover"], - "interface": [ ], + "createMethods": ["discovery"], + "interfaces": [ ], "basicTags": ["Device"], "paramTypes": [ { @@ -51,8 +51,8 @@ "name": "digitalInput", "displayName": "Digital input", "deviceIcon": "Switch", - "createMethods": ["discover"], - "interface": [ ], + "createMethods": ["discovery"], + "interfaces": [ ], "basicTags": ["Sensor"], "paramTypes": [ { @@ -78,8 +78,8 @@ "name": "digitalOutput", "displayName": "Digital output", "deviceIcon": "Power", - "createMethods": ["discover"], - "interface": [ ], + "createMethods": ["discovery"], + "interfaces": [ ], "basicTags": ["Device"], "paramTypes": [ { @@ -107,8 +107,8 @@ "name": "analogOutput", "displayName": "Analog output", "deviceIcon": "Power", - "createMethods": ["discover"], - "interface": [ ], + "createMethods": ["discovery"], + "interfaces": [ ], "basicTags": ["Device"], "paramTypes": [ { @@ -139,8 +139,8 @@ "name": "analogInput", "displayName": "Analog Input", "deviceIcon": "Power", - "createMethods": ["discover"], - "interface": [ ], + "createMethods": ["discovery"], + "interfaces": [ ], "basicTags": ["Sensor"], "paramTypes": [ { @@ -164,36 +164,36 @@ }, { "id": "eadddc99-ce7d-4169-a2f9-a829fa105ad2", - "name": "shading", - "displayName": "Shading", - "deviceIcon": "Blinds", - "createMethods": ["discover"], - "interface": [ ], + "name": "shutter", + "displayName": "Shutter", + "deviceIcon": "RollerShutter", + "createMethods": ["discovery"], + "interfaces": ["shutter"], "basicTags": ["Actuator"], "paramTypes": [ { "id": "7878ef4b-2395-4995-b17d-b69cb7d280e1", - "name": "outputUp", - "displayName": "Output Up", + "name": "outputOpen", + "displayName": "Output open", "type": "QString" }, { "id": "4aa113d0-294b-403d-9dd1-ad0abe833176", - "name": "outputDown", - "displayName": "Output Down", + "name": "outputClose", + "displayName": "Output close", "type": "QString" }, { "id": "a030f030-4f26-4f33-aadf-ec3c3a5141a7", - "name": "outputTypeUp", - "displayName": "Output Type Up", + "name": "outputTypeOpen", + "displayName": "Output type open", "type": "QString", "readOnly": true }, { "id": "fde509c5-8db1-411b-9e71-36997c39ee6b", - "name": "outputTypeDown", - "displayName": "Output Type Down", + "name": "outputTypeClose", + "displayName": "Output type close", "type": "QString", "readOnly": true } @@ -203,11 +203,12 @@ "id": "b8955f33-780a-48a5-9c50-c1bccf09918f", "name": "status", "displayName": "Status", + "displayNameEvent": "Status changed", "type": "QString", "possibleValues":[ - "up", + "open", "stop", - "down" + "close" ], "defaultValue": "stop" } @@ -215,21 +216,18 @@ "actionTypes":[ { "id": "cc8a13ae-2a3d-440a-a127-962fb912e511", - "name": "up", - "displayName": "Up", - "type": "bool" + "name": "open", + "displayName": "Open" }, { "id": "19bda8bb-1a78-4f2f-9927-ff543012462e", "name": "stop", - "displayName": "Stop", - "type": "bool" + "displayName": "Stop" }, { "id": "7dc32e36-6a5c-46e1-8507-d9283067ac21", - "name": "down", - "displayName": "Down", - "type": "bool" + "name": "close", + "displayName": "Close" } ] }, @@ -237,9 +235,9 @@ "id": "34fc941e-3465-4618-acf6-dda9c7242e27", "name": "light", "displayName": "Light", - "deviceIcon": "Light", - "createMethods": ["discover"], - "interface": [""], + "deviceIcon": "LightBulb", + "createMethods": ["discovery"], + "interfaces": ["light"], "basicTags": ["Actuator"], "paramTypes": [ { @@ -259,10 +257,10 @@ "stateTypes":[ { "id": "3d0d6abc-87b9-42af-820e-e3bc7bde1743", - "name": "status", - "displayName": "Light", - "displayNameEvent": "Light power changed", - "displayNameAction": "Set light power", + "name": "power", + "displayName": "Power", + "displayNameEvent": "Power changed", + "displayNameAction": "Set power", "type": "bool", "defaultValue": false, "writable": true