From 805d834c3dad502a8b68ca2254e3a1eb35cdb14a Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Tue, 17 Sep 2019 14:22:12 +0200 Subject: [PATCH 1/8] Update command launcher to new API --- plugins.pri | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins.pri b/plugins.pri index 0dd7d09..f180f53 100644 --- a/plugins.pri +++ b/plugins.pri @@ -12,6 +12,6 @@ isEmpty(PLUGIN_PRI) { error("plugin.pri not found. Cannot continue") } } else { - message("Using $$PLUGIN_PRI") +# message("Using $$PLUGIN_PRI") include($$PLUGIN_PRI) } From dc0ed6fd696f7402ef22d8e19f70864d62942df4 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Wed, 18 Sep 2019 00:10:47 +0200 Subject: [PATCH 2/8] Update GenericElements plugin --- .../deviceplugingenericelements.cpp | 54 ++++++------------- genericelements/deviceplugingenericelements.h | 4 +- 2 files changed, 18 insertions(+), 40 deletions(-) diff --git a/genericelements/deviceplugingenericelements.cpp b/genericelements/deviceplugingenericelements.cpp index 987834d..28f6977 100644 --- a/genericelements/deviceplugingenericelements.cpp +++ b/genericelements/deviceplugingenericelements.cpp @@ -29,52 +29,30 @@ DevicePluginGenericElements::DevicePluginGenericElements() { } -Device::DeviceSetupStatus DevicePluginGenericElements::setupDevice(Device *device) +void DevicePluginGenericElements::setupDevice(DeviceSetupInfo *info) { - // Toggle Button - if (device->deviceClassId() == toggleButtonDeviceClassId) { - return Device::DeviceSetupStatusSuccess; - } - // Button - if (device->deviceClassId() == buttonDeviceClassId) { - return Device::DeviceSetupStatusSuccess; - } - // ON/OFF Button - if (device->deviceClassId() == onOffButtonDeviceClassId) { - return Device::DeviceSetupStatusSuccess; - } - return Device::DeviceSetupStatusFailure; + info->finish(Device::DeviceErrorNoError); } -Device::DeviceError DevicePluginGenericElements::executeAction(Device *device, const Action &action) +void DevicePluginGenericElements::executeAction(DeviceActionInfo *info) { + Device *device = info->device(); + Action action = info->action(); + // Toggle Button - if (device->deviceClassId() == toggleButtonDeviceClassId ) { - if (action.actionTypeId() == toggleButtonStateActionTypeId) { - device->setStateValue(toggleButtonStateStateTypeId, action.params().paramValue(toggleButtonStateActionStateParamTypeId).toBool()); - return Device::DeviceErrorNoError; - } - return Device::DeviceErrorActionTypeNotFound; + if (action.actionTypeId() == toggleButtonStateActionTypeId) { + device->setStateValue(toggleButtonStateStateTypeId, action.params().paramValue(toggleButtonStateActionStateParamTypeId).toBool()); } // Button - if (device->deviceClassId() == buttonDeviceClassId ) { - if (action.actionTypeId() == buttonButtonPressActionTypeId) { - emit emitEvent(Event(buttonButtonPressedEventTypeId, device->id())); - return Device::DeviceErrorNoError; - } - return Device::DeviceErrorActionTypeNotFound; + if (action.actionTypeId() == buttonButtonPressActionTypeId) { + emit emitEvent(Event(buttonButtonPressedEventTypeId, device->id())); } // ON/OFF Button - if (device->deviceClassId() == onOffButtonDeviceClassId ) { - if (action.actionTypeId() == onOffButtonOnActionTypeId) { - emit emitEvent(Event(onOffButtonOnEventTypeId, device->id())); - return Device::DeviceErrorNoError; - } - if (action.actionTypeId() == onOffButtonOffActionTypeId) { - emit emitEvent(Event(onOffButtonOffEventTypeId, device->id())); - return Device::DeviceErrorNoError; - } - return Device::DeviceErrorActionTypeNotFound; + if (action.actionTypeId() == onOffButtonOnActionTypeId) { + emit emitEvent(Event(onOffButtonOnEventTypeId, device->id())); } - return Device::DeviceErrorDeviceClassNotFound; + if (action.actionTypeId() == onOffButtonOffActionTypeId) { + emit emitEvent(Event(onOffButtonOffEventTypeId, device->id())); + } + info->finish(Device::DeviceErrorNoError); } diff --git a/genericelements/deviceplugingenericelements.h b/genericelements/deviceplugingenericelements.h index 5c9d0be..aa5b8a1 100644 --- a/genericelements/deviceplugingenericelements.h +++ b/genericelements/deviceplugingenericelements.h @@ -34,10 +34,10 @@ class DevicePluginGenericElements : public DevicePlugin public: explicit DevicePluginGenericElements(); - Device::DeviceSetupStatus setupDevice(Device *device) override; + void setupDevice(DeviceSetupInfo *info) override; public slots: - Device::DeviceError executeAction(Device *device, const Action &action) override; + void executeAction(DeviceActionInfo *info) override; }; From fbd2d5256a69267631a3cd9593fe5cc673513c60 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Wed, 18 Sep 2019 00:19:16 +0200 Subject: [PATCH 3/8] Update GenericInterfaces plugin --- .../deviceplugingenericinterfaces.cpp | 70 +++++++------------ .../deviceplugingenericinterfaces.h | 7 +- 2 files changed, 27 insertions(+), 50 deletions(-) diff --git a/genericinterfaces/deviceplugingenericinterfaces.cpp b/genericinterfaces/deviceplugingenericinterfaces.cpp index b3535a9..6e20018 100644 --- a/genericinterfaces/deviceplugingenericinterfaces.cpp +++ b/genericinterfaces/deviceplugingenericinterfaces.cpp @@ -53,56 +53,36 @@ DevicePluginGenericInterfaces::DevicePluginGenericInterfaces() { } -Device::DeviceSetupStatus DevicePluginGenericInterfaces::setupDevice(Device *device) +void DevicePluginGenericInterfaces::setupDevice(DeviceSetupInfo *info) { - if (device->deviceClassId() == awningDeviceClassId) { - return Device::DeviceSetupStatusSuccess; - } - - if (device->deviceClassId() == blindDeviceClassId) { - return Device::DeviceSetupStatusSuccess; - } - - if (device->deviceClassId() == shutterDeviceClassId) { - return Device::DeviceSetupStatusSuccess; - } - - if (device->deviceClassId() == socketDeviceClassId) { - return Device::DeviceSetupStatusSuccess; - } - - if (device->deviceClassId() == lightDeviceClassId) { - return Device::DeviceSetupStatusSuccess; - } - - if (device->deviceClassId() == heatingDeviceClassId) { - return Device::DeviceSetupStatusSuccess; - } - return Device::DeviceSetupStatusFailure; + info->finish(Device::DeviceErrorNoError); } -Device::DeviceError DevicePluginGenericInterfaces::executeAction(Device *device, const Action &action) +void DevicePluginGenericInterfaces::executeAction(DeviceActionInfo *info) { + Device *device = info->device(); + Action action = info->action(); + if (device->deviceClassId() == awningDeviceClassId) { if (action.actionTypeId() == awningOpenActionTypeId) { device->setStateValue(awningStatusStateTypeId, "Opening"); device->setStateValue(awningClosingOutputStateTypeId, false); device->setStateValue(awningOpeningOutputStateTypeId, true); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } if (action.actionTypeId() == awningStopActionTypeId) { device->setStateValue(awningStatusStateTypeId, "Stopped"); device->setStateValue(awningOpeningOutputStateTypeId, false); device->setStateValue(awningClosingOutputStateTypeId, false); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } if (action.actionTypeId() == awningCloseActionTypeId) { device->setStateValue(awningStatusStateTypeId, "Closing"); device->setStateValue(awningOpeningOutputStateTypeId, false); device->setStateValue(awningClosingOutputStateTypeId, true); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } - return Device::DeviceErrorActionTypeNotFound; + return info->finish(Device::DeviceErrorActionTypeNotFound); } if (device->deviceClassId() == blindDeviceClassId ) { @@ -110,21 +90,21 @@ Device::DeviceError DevicePluginGenericInterfaces::executeAction(Device *device, device->setStateValue(blindStatusStateTypeId, "Opening"); device->setStateValue(blindClosingOutputStateTypeId, false); device->setStateValue(blindOpeningOutputStateTypeId, true); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } if (action.actionTypeId() == blindStopActionTypeId) { device->setStateValue(blindStatusStateTypeId, "Stopped"); device->setStateValue(blindOpeningOutputStateTypeId, false); device->setStateValue(blindClosingOutputStateTypeId, false); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } if (action.actionTypeId() == blindCloseActionTypeId) { device->setStateValue(blindStatusStateTypeId, "Closing"); device->setStateValue(blindOpeningOutputStateTypeId, false); device->setStateValue(blindClosingOutputStateTypeId, true); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } - return Device::DeviceErrorActionTypeNotFound; + return info->finish(Device::DeviceErrorActionTypeNotFound); } if (device->deviceClassId() == shutterDeviceClassId) { @@ -132,45 +112,45 @@ Device::DeviceError DevicePluginGenericInterfaces::executeAction(Device *device, device->setStateValue(shutterStatusStateTypeId, "Opening"); device->setStateValue(shutterClosingOutputStateTypeId, false); device->setStateValue(shutterOpeningOutputStateTypeId, true); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } if (action.actionTypeId() == shutterStopActionTypeId) { device->setStateValue(shutterStatusStateTypeId, "Stopped"); device->setStateValue(shutterOpeningOutputStateTypeId, false); device->setStateValue(shutterClosingOutputStateTypeId, false); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } if (action.actionTypeId() == shutterCloseActionTypeId) { device->setStateValue(shutterStatusStateTypeId, "Closing"); device->setStateValue(shutterOpeningOutputStateTypeId, false); device->setStateValue(shutterClosingOutputStateTypeId, true); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } - return Device::DeviceErrorActionTypeNotFound; + return info->finish(Device::DeviceErrorActionTypeNotFound); } if (device->deviceClassId() == socketDeviceClassId) { if (action.actionTypeId() == socketPowerActionTypeId) { device->setStateValue(socketPowerStateTypeId, action.param(socketPowerActionPowerParamTypeId).value()); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } - return Device::DeviceErrorActionTypeNotFound; + return info->finish(Device::DeviceErrorActionTypeNotFound); } if (device->deviceClassId() == lightDeviceClassId) { if (action.actionTypeId() == lightPowerActionTypeId) { device->setStateValue(lightPowerStateTypeId, action.param(lightPowerActionPowerParamTypeId).value()); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } - return Device::DeviceErrorActionTypeNotFound; + return info->finish(Device::DeviceErrorActionTypeNotFound); } if (device->deviceClassId() == heatingDeviceClassId) { if (action.actionTypeId() == heatingPowerActionTypeId) { device->setStateValue(heatingPowerStateTypeId, action.param(heatingPowerActionPowerParamTypeId).value()); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } - return Device::DeviceErrorActionTypeNotFound; + return info->finish(Device::DeviceErrorActionTypeNotFound); } - return Device::DeviceErrorDeviceClassNotFound; + return info->finish(Device::DeviceErrorDeviceClassNotFound); } diff --git a/genericinterfaces/deviceplugingenericinterfaces.h b/genericinterfaces/deviceplugingenericinterfaces.h index d63d500..c85f9cc 100644 --- a/genericinterfaces/deviceplugingenericinterfaces.h +++ b/genericinterfaces/deviceplugingenericinterfaces.h @@ -34,11 +34,8 @@ class DevicePluginGenericInterfaces : public DevicePlugin public: explicit DevicePluginGenericInterfaces(); - Device::DeviceSetupStatus setupDevice(Device *device) override; - -public slots: - Device::DeviceError executeAction(Device *device, const Action &action) override; - + void setupDevice(DeviceSetupInfo *info) override; + void executeAction(DeviceActionInfo *info) override; }; #endif // DEVICEPLUGINGENERICINTERFACES_H From 4f35698e00669befdc75436635f7a34165487f96 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Fri, 20 Sep 2019 12:40:56 +0200 Subject: [PATCH 4/8] bump changelog --- debian/changelog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/debian/changelog b/debian/changelog index 88bd8bc..71d9cd7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,7 @@ +nymea-plugins (0.16.0) UNRELEASED; urgency=medium + + -- Michael Zanetti Fri, 20 Sep 2019 12:40:45 +0200 + nymea-plugins (0.15.2) xenial; urgency=medium [ Bernhard Trinnes ] From e98cd252b7cf9db66445a071c0318da8fd2c65dd Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Wed, 25 Sep 2019 15:09:47 +0200 Subject: [PATCH 5/8] Update translations --- ...2161e-39b7-4416-8623-39e730721efb-de_DE.ts | 63 +++--- ...2161e-39b7-4416-8623-39e730721efb-en_US.ts | 63 +++--- ...88696-2585-4806-bf98-30ab576ce5c8-en_US.ts | 183 +++++++++++++++++- 3 files changed, 248 insertions(+), 61 deletions(-) diff --git a/genericelements/translations/6e22161e-39b7-4416-8623-39e730721efb-de_DE.ts b/genericelements/translations/6e22161e-39b7-4416-8623-39e730721efb-de_DE.ts index 4fe900f..6a0e5e3 100644 --- a/genericelements/translations/6e22161e-39b7-4416-8623-39e730721efb-de_DE.ts +++ b/genericelements/translations/6e22161e-39b7-4416-8623-39e730721efb-de_DE.ts @@ -4,90 +4,93 @@ GenericElements - + Generic Elements - The name of the plugin GenericElements (6e22161e-39b7-4416-8623-39e730721efb) + The name of the plugin GenericElements ({6e22161e-39b7-4416-8623-39e730721efb}) - + nymea - The name of the vendor (2062d64d-3232-433c-88bc-0d33c0ba2ba6) + The name of the vendor ({2062d64d-3232-433c-88bc-0d33c0ba2ba6}) - + Toggle Button - The name of the DeviceClass (c0f511f9-70f5-499b-bd70-2c0e9ddd68c4) + The name of the DeviceClass ({c0f511f9-70f5-499b-bd70-2c0e9ddd68c4}) Toggle Taster - + state changed - The name of the autocreated EventType (DeviceClass: toggleButton, StateType: state, ID: b5e90567-54aa-49bd-a78a-3c19fb38aaf5) + The name of the EventType ({b5e90567-54aa-49bd-a78a-3c19fb38aaf5}) of DeviceClass toggleButton - - + + + state - The name of the ParamType for the autocreated EventType (DeviceClass: toggleButton, StateType: state, ID: b5e90567-54aa-49bd-a78a-3c19fb38aaf5 + The name of the ParamType (DeviceClass: toggleButton, ActionType: state, ID: {b5e90567-54aa-49bd-a78a-3c19fb38aaf5}) ---------- -The name of the ParamType for the autocreated ActionType (DeviceClass: toggleButton, StateType: state, ID: b5e90567-54aa-49bd-a78a-3c19fb38aaf5) +The name of the ParamType (DeviceClass: toggleButton, EventType: state, ID: {b5e90567-54aa-49bd-a78a-3c19fb38aaf5}) +---------- +The name of the StateType ({b5e90567-54aa-49bd-a78a-3c19fb38aaf5}) of DeviceClass toggleButton - + Set state - The name of the autocreated ActionType (DeviceClass: toggleButton, StateType: state, ID: b5e90567-54aa-49bd-a78a-3c19fb38aaf5) + The name of the ActionType ({b5e90567-54aa-49bd-a78a-3c19fb38aaf5}) of DeviceClass toggleButton - + Button - The name of the DeviceClass (820b2f2d-0d92-48c8-8fd4-f94ce8fc4103) + The name of the DeviceClass ({820b2f2d-0d92-48c8-8fd4-f94ce8fc4103}) Taster - + press - The name of the ActionType 01f38af1-b2ab-4ec3-844e-ef52f0f229a9 of deviceClass button + The name of the ActionType ({01f38af1-b2ab-4ec3-844e-ef52f0f229a9}) of DeviceClass button - + button pressed - The name of the EventType effdbc2d-e467-4b0b-80a9-9dda251bfa5c of deviceClass button + The name of the EventType ({effdbc2d-e467-4b0b-80a9-9dda251bfa5c}) of DeviceClass button - + ON/OFF Button - The name of the DeviceClass (430d188c-476d-4825-a9bd-86dfa3094b56) + The name of the DeviceClass ({430d188c-476d-4825-a9bd-86dfa3094b56}) An/Aus Taster - + press ON - The name of the ActionType 892596d2-0863-4807-97da-469b9f7003f2 of deviceClass onOffButton + The name of the ActionType ({892596d2-0863-4807-97da-469b9f7003f2}) of DeviceClass onOffButton - + press OFF - The name of the ActionType a8d64050-0b58-4ccf-b052-77ce2b7368ad of deviceClass onOffButton + The name of the ActionType ({a8d64050-0b58-4ccf-b052-77ce2b7368ad}) of DeviceClass onOffButton - + ON pressed - The name of the EventType 4eeba6a2-e4c7-4a2e-8360-2797d98114e6 of deviceClass onOffButton + The name of the EventType ({4eeba6a2-e4c7-4a2e-8360-2797d98114e6}) of DeviceClass onOffButton - + OFF pressed - The name of the EventType b636c5f3-2eb0-4682-96d4-88a4aa9d2c12 of deviceClass onOffButton + The name of the EventType ({b636c5f3-2eb0-4682-96d4-88a4aa9d2c12}) of DeviceClass onOffButton diff --git a/genericelements/translations/6e22161e-39b7-4416-8623-39e730721efb-en_US.ts b/genericelements/translations/6e22161e-39b7-4416-8623-39e730721efb-en_US.ts index 82c971e..9f7b1f8 100644 --- a/genericelements/translations/6e22161e-39b7-4416-8623-39e730721efb-en_US.ts +++ b/genericelements/translations/6e22161e-39b7-4416-8623-39e730721efb-en_US.ts @@ -4,90 +4,93 @@ GenericElements - + Generic Elements - The name of the plugin GenericElements (6e22161e-39b7-4416-8623-39e730721efb) + The name of the plugin GenericElements ({6e22161e-39b7-4416-8623-39e730721efb}) - + nymea - The name of the vendor (2062d64d-3232-433c-88bc-0d33c0ba2ba6) + The name of the vendor ({2062d64d-3232-433c-88bc-0d33c0ba2ba6}) - + Toggle Button - The name of the DeviceClass (c0f511f9-70f5-499b-bd70-2c0e9ddd68c4) + The name of the DeviceClass ({c0f511f9-70f5-499b-bd70-2c0e9ddd68c4}) - + state changed - The name of the autocreated EventType (DeviceClass: toggleButton, StateType: state, ID: b5e90567-54aa-49bd-a78a-3c19fb38aaf5) + The name of the EventType ({b5e90567-54aa-49bd-a78a-3c19fb38aaf5}) of DeviceClass toggleButton - - + + + state - The name of the ParamType for the autocreated EventType (DeviceClass: toggleButton, StateType: state, ID: b5e90567-54aa-49bd-a78a-3c19fb38aaf5 + The name of the ParamType (DeviceClass: toggleButton, ActionType: state, ID: {b5e90567-54aa-49bd-a78a-3c19fb38aaf5}) ---------- -The name of the ParamType for the autocreated ActionType (DeviceClass: toggleButton, StateType: state, ID: b5e90567-54aa-49bd-a78a-3c19fb38aaf5) +The name of the ParamType (DeviceClass: toggleButton, EventType: state, ID: {b5e90567-54aa-49bd-a78a-3c19fb38aaf5}) +---------- +The name of the StateType ({b5e90567-54aa-49bd-a78a-3c19fb38aaf5}) of DeviceClass toggleButton - + Set state - The name of the autocreated ActionType (DeviceClass: toggleButton, StateType: state, ID: b5e90567-54aa-49bd-a78a-3c19fb38aaf5) + The name of the ActionType ({b5e90567-54aa-49bd-a78a-3c19fb38aaf5}) of DeviceClass toggleButton - + Button - The name of the DeviceClass (820b2f2d-0d92-48c8-8fd4-f94ce8fc4103) + The name of the DeviceClass ({820b2f2d-0d92-48c8-8fd4-f94ce8fc4103}) - + press - The name of the ActionType 01f38af1-b2ab-4ec3-844e-ef52f0f229a9 of deviceClass button + The name of the ActionType ({01f38af1-b2ab-4ec3-844e-ef52f0f229a9}) of DeviceClass button - + button pressed - The name of the EventType effdbc2d-e467-4b0b-80a9-9dda251bfa5c of deviceClass button + The name of the EventType ({effdbc2d-e467-4b0b-80a9-9dda251bfa5c}) of DeviceClass button - + ON/OFF Button - The name of the DeviceClass (430d188c-476d-4825-a9bd-86dfa3094b56) + The name of the DeviceClass ({430d188c-476d-4825-a9bd-86dfa3094b56}) - + press ON - The name of the ActionType 892596d2-0863-4807-97da-469b9f7003f2 of deviceClass onOffButton + The name of the ActionType ({892596d2-0863-4807-97da-469b9f7003f2}) of DeviceClass onOffButton - + press OFF - The name of the ActionType a8d64050-0b58-4ccf-b052-77ce2b7368ad of deviceClass onOffButton + The name of the ActionType ({a8d64050-0b58-4ccf-b052-77ce2b7368ad}) of DeviceClass onOffButton - + ON pressed - The name of the EventType 4eeba6a2-e4c7-4a2e-8360-2797d98114e6 of deviceClass onOffButton + The name of the EventType ({4eeba6a2-e4c7-4a2e-8360-2797d98114e6}) of DeviceClass onOffButton - + OFF pressed - The name of the EventType b636c5f3-2eb0-4682-96d4-88a4aa9d2c12 of deviceClass onOffButton + The name of the EventType ({b636c5f3-2eb0-4682-96d4-88a4aa9d2c12}) of DeviceClass onOffButton diff --git a/genericinterfaces/translations/b3188696-2585-4806-bf98-30ab576ce5c8-en_US.ts b/genericinterfaces/translations/b3188696-2585-4806-bf98-30ab576ce5c8-en_US.ts index f7f66d8..2dedbed 100644 --- a/genericinterfaces/translations/b3188696-2585-4806-bf98-30ab576ce5c8-en_US.ts +++ b/genericinterfaces/translations/b3188696-2585-4806-bf98-30ab576ce5c8-en_US.ts @@ -1,4 +1,185 @@ - \ No newline at end of file + + GenericInterfaces + + Awning interface + The name of the DeviceClass ({9e69585f-90ba-44e4-ad90-5b4bffbe345a}) + + + + Blind interface + The name of the DeviceClass ({17ee3657-6ad8-4ae2-8959-3cf66cec8d13}) + + + + Close + The name of the ActionType ({cf5303f1-67c7-4cef-b11c-eb9de6fc8a87}) of DeviceClass shutter +---------- +The name of the ActionType ({86e9cf21-7487-47c4-b4be-4a940d7235fb}) of DeviceClass blind +---------- +The name of the ActionType ({53b5ba77-9a34-4cd6-ad24-fb01fc465f98}) of DeviceClass awning + + + + Closing output + The name of the ParamType (DeviceClass: shutter, EventType: closingOutput, ID: {1c35df0e-4c41-455f-893a-0145377952a0}) +---------- +The name of the StateType ({1c35df0e-4c41-455f-893a-0145377952a0}) of DeviceClass shutter +---------- +The name of the ParamType (DeviceClass: blind, EventType: closingOutput, ID: {9b673430-572d-4a9c-85d3-dafadbe541cd}) +---------- +The name of the StateType ({9b673430-572d-4a9c-85d3-dafadbe541cd}) of DeviceClass blind +---------- +The name of the ParamType (DeviceClass: awning, EventType: closingOutput, ID: {59bfd575-709f-4e43-9726-de26e6d4ca8b}) +---------- +The name of the StateType ({59bfd575-709f-4e43-9726-de26e6d4ca8b}) of DeviceClass awning + + + + Closing output changed + The name of the EventType ({1c35df0e-4c41-455f-893a-0145377952a0}) of DeviceClass shutter +---------- +The name of the EventType ({9b673430-572d-4a9c-85d3-dafadbe541cd}) of DeviceClass blind +---------- +The name of the EventType ({59bfd575-709f-4e43-9726-de26e6d4ca8b}) of DeviceClass awning + + + + Generic Interfaces + The name of the plugin GenericInterfaces ({b3188696-2585-4806-bf98-30ab576ce5c8}) + + + + Heating interface + The name of the DeviceClass ({392854c4-3d14-4cf8-96cd-d933526bd197}) + + + + Light interface + The name of the DeviceClass ({c50d3216-f307-4f9f-8190-4391510c385c}) + + + + Open + The name of the ActionType ({9deb662d-2378-4345-a898-8742d41e43c1}) of DeviceClass shutter +---------- +The name of the ActionType ({120dc265-dbbb-4f19-9d31-c372c23479c0}) of DeviceClass blind +---------- +The name of the ActionType ({979e9c51-5a93-4635-85e3-01874306b229}) of DeviceClass awning + + + + Opening output + The name of the ParamType (DeviceClass: shutter, EventType: openingOutput, ID: {cc547728-b309-4695-b355-49748ef2521c}) +---------- +The name of the StateType ({cc547728-b309-4695-b355-49748ef2521c}) of DeviceClass shutter +---------- +The name of the ParamType (DeviceClass: blind, EventType: openingOutput, ID: {b2dbf25c-27e5-4f7e-a57d-2ef6d087fa2b}) +---------- +The name of the StateType ({b2dbf25c-27e5-4f7e-a57d-2ef6d087fa2b}) of DeviceClass blind +---------- +The name of the ParamType (DeviceClass: awning, EventType: openingOutput, ID: {4bb951a4-ea23-4cf0-9269-41d2c4eaf5a4}) +---------- +The name of the StateType ({4bb951a4-ea23-4cf0-9269-41d2c4eaf5a4}) of DeviceClass awning + + + + Opening output changed + The name of the EventType ({cc547728-b309-4695-b355-49748ef2521c}) of DeviceClass shutter +---------- +The name of the EventType ({b2dbf25c-27e5-4f7e-a57d-2ef6d087fa2b}) of DeviceClass blind +---------- +The name of the EventType ({4bb951a4-ea23-4cf0-9269-41d2c4eaf5a4}) of DeviceClass awning + + + + Power + The name of the ParamType (DeviceClass: heating, ActionType: power, ID: {409b635e-a754-4b5c-b3f0-d1c5a0fb3f03}) +---------- +The name of the ParamType (DeviceClass: heating, EventType: power, ID: {409b635e-a754-4b5c-b3f0-d1c5a0fb3f03}) +---------- +The name of the StateType ({409b635e-a754-4b5c-b3f0-d1c5a0fb3f03}) of DeviceClass heating +---------- +The name of the ParamType (DeviceClass: light, ActionType: power, ID: {8b6e4a67-6522-408b-b676-8d2f09ed2d54}) +---------- +The name of the ParamType (DeviceClass: light, EventType: power, ID: {8b6e4a67-6522-408b-b676-8d2f09ed2d54}) +---------- +The name of the StateType ({8b6e4a67-6522-408b-b676-8d2f09ed2d54}) of DeviceClass light +---------- +The name of the ParamType (DeviceClass: socket, ActionType: power, ID: {018038d7-1d02-4b17-8fe3-babca044b087}) +---------- +The name of the ParamType (DeviceClass: socket, EventType: power, ID: {018038d7-1d02-4b17-8fe3-babca044b087}) +---------- +The name of the StateType ({018038d7-1d02-4b17-8fe3-babca044b087}) of DeviceClass socket + + + + Power changed + The name of the EventType ({409b635e-a754-4b5c-b3f0-d1c5a0fb3f03}) of DeviceClass heating +---------- +The name of the EventType ({8b6e4a67-6522-408b-b676-8d2f09ed2d54}) of DeviceClass light +---------- +The name of the EventType ({018038d7-1d02-4b17-8fe3-babca044b087}) of DeviceClass socket + + + + Set power + The name of the ActionType ({409b635e-a754-4b5c-b3f0-d1c5a0fb3f03}) of DeviceClass heating +---------- +The name of the ActionType ({8b6e4a67-6522-408b-b676-8d2f09ed2d54}) of DeviceClass light +---------- +The name of the ActionType ({018038d7-1d02-4b17-8fe3-babca044b087}) of DeviceClass socket + + + + Shutter interface + The name of the DeviceClass ({7917c2e7-d7d2-4c47-a38d-41f7dd7693d9}) + + + + Socket interface + The name of the DeviceClass ({4e7261af-a27b-4446-8346-914ea59f7547}) + + + + Status + The name of the ParamType (DeviceClass: shutter, EventType: status, ID: {6d6e72dc-4d2b-4ec1-82c2-54405a682711}) +---------- +The name of the StateType ({6d6e72dc-4d2b-4ec1-82c2-54405a682711}) of DeviceClass shutter +---------- +The name of the ParamType (DeviceClass: blind, EventType: status, ID: {5fdec1e0-51f6-48b9-b743-ba572504b2c1}) +---------- +The name of the StateType ({5fdec1e0-51f6-48b9-b743-ba572504b2c1}) of DeviceClass blind +---------- +The name of the ParamType (DeviceClass: awning, EventType: status, ID: {ff6f2565-2a2e-4d34-b10f-d3f73b676399}) +---------- +The name of the StateType ({ff6f2565-2a2e-4d34-b10f-d3f73b676399}) of DeviceClass awning + + + + Status changed + The name of the EventType ({6d6e72dc-4d2b-4ec1-82c2-54405a682711}) of DeviceClass shutter +---------- +The name of the EventType ({5fdec1e0-51f6-48b9-b743-ba572504b2c1}) of DeviceClass blind +---------- +The name of the EventType ({ff6f2565-2a2e-4d34-b10f-d3f73b676399}) of DeviceClass awning + + + + Stop + The name of the ActionType ({db5f3332-1f4e-4f9e-84d2-93c5d7de315c}) of DeviceClass shutter +---------- +The name of the ActionType ({1a924c9a-5dcb-4b1c-8fd6-ab101098e007}) of DeviceClass blind +---------- +The name of the ActionType ({555cafe4-bd12-42c6-bab1-8cd59af6468e}) of DeviceClass awning + + + + nymea + The name of the vendor ({2062d64d-3232-433c-88bc-0d33c0ba2ba6}) + + + + From b368df286156d2524b61028286ca61964f3d15c9 Mon Sep 17 00:00:00 2001 From: nymea Date: Tue, 14 May 2019 19:01:50 +0200 Subject: [PATCH 6/8] added coin market cap --- nymea-plugins.pro | 1 + 1 file changed, 1 insertion(+) diff --git a/nymea-plugins.pro b/nymea-plugins.pro index 9addd3f..c5d3f1a 100644 --- a/nymea-plugins.pro +++ b/nymea-plugins.pro @@ -6,6 +6,7 @@ PLUGIN_DIRS = \ awattar \ boblight \ bose \ + coinmarketcap \ commandlauncher \ conrad \ datetime \ From b099d99d98c1a5dd6bb857b93f70c90fd63b8476 Mon Sep 17 00:00:00 2001 From: nymea Date: Fri, 26 Jul 2019 16:14:02 +0200 Subject: [PATCH 7/8] updated API and added plug-in to debian folder --- debian/control | 18 +++++++++++++++++- debian/nymea-plugin-coinmarketcap.install.in | 1 + 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 debian/nymea-plugin-coinmarketcap.install.in diff --git a/debian/control b/debian/control index f6a5835..71fcb96 100644 --- a/debian/control +++ b/debian/control @@ -91,7 +91,8 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, nymea-plugins-translations, Description: nymea.io plugin for bose soundtouch - The nymea daemon is a plugin based IoT (Internet of Things) server. The + +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 @@ -100,6 +101,21 @@ Description: nymea.io plugin for bose soundtouch This package will install the nymea.io plugin for bose soundtouch. +Package: nymea-plugin-coinmarketcap +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + nymea-plugins-translations, +Description: nymea.io plugin for coin market cap + 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 coinmarketcap + + Package: nymea-plugin-commandlauncher Architecture: any Depends: ${shlibs:Depends}, diff --git a/debian/nymea-plugin-coinmarketcap.install.in b/debian/nymea-plugin-coinmarketcap.install.in new file mode 100644 index 0000000..4d0070d --- /dev/null +++ b/debian/nymea-plugin-coinmarketcap.install.in @@ -0,0 +1 @@ +usr/lib/@DEB_HOST_MULTIARCH@/nymea/plugins/libnymea_deviceplugincoinmarketcap.so From 846b6b949906f65d88b4f6f23961155a285bc6a2 Mon Sep 17 00:00:00 2001 From: nymea Date: Thu, 10 Oct 2019 11:55:00 +0200 Subject: [PATCH 8/8] fixed debian control, extended readme --- debian/control | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/debian/control b/debian/control index 71fcb96..8f0b01d 100644 --- a/debian/control +++ b/debian/control @@ -91,8 +91,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, nymea-plugins-translations, Description: nymea.io plugin for bose soundtouch - -The nymea daemon is a plugin based IoT (Internet of Things) server. The + 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