From d14e5334e4d1417366360e771ef97dfdb47ed629 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Sun, 17 Oct 2021 13:03:29 +0200 Subject: [PATCH] some more work --- owlet/integrationpluginowlet.cpp | 9 +++++++++ owlet/integrationpluginowlet.json | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/owlet/integrationpluginowlet.cpp b/owlet/integrationpluginowlet.cpp index 7fc059fb..db30ac4c 100644 --- a/owlet/integrationpluginowlet.cpp +++ b/owlet/integrationpluginowlet.cpp @@ -163,6 +163,9 @@ void IntegrationPluginOwlet::setupThing(ThingSetupInfo *info) if (params.contains("color")) { thing->setStateValue(ws2812ColorStateTypeId, params.value("color").value()); } + if (params.contains("effect")) { + thing->setStateValue(ws2812EffectStateTypeId, params.value("effect").toInt()); + } } } }); @@ -212,6 +215,10 @@ void IntegrationPluginOwlet::executeAction(ThingActionInfo *info) QColor color = info->action().paramValue(ws2812ColorActionColorParamTypeId).value(); params.insert("color", (color.rgb() & 0xFFFFFF)); } + if (info->action().actionTypeId() == ws2812EffectActionTypeId) { + int effect = info->action().paramValue(ws2812EffectActionEffectParamTypeId).toInt(); + params.insert("effect", effect); + } int id = client->sendCommand("GPIO.ControlPin", params); connect(client, &OwletClient::replyReceived, info, [=](int commandId, const QVariantMap ¶ms){ @@ -229,6 +236,8 @@ void IntegrationPluginOwlet::executeAction(ThingActionInfo *info) return; } + + Q_ASSERT_X(false, "IntegrationPluginOwlet", "Not implemented"); info->finish(Thing::ThingErrorUnsupportedFeature); } diff --git a/owlet/integrationpluginowlet.json b/owlet/integrationpluginowlet.json index 71b811aa..7fef3d74 100644 --- a/owlet/integrationpluginowlet.json +++ b/owlet/integrationpluginowlet.json @@ -207,6 +207,16 @@ "maxValue": 100, "defaultValue": 50, "writable": true + }, + { + "id": "cb90f7bf-bcb0-42e8-a03b-442d84c5871f", + "name": "effect", + "displayName": "Effect", + "displayNameEvent": "Effect changed", + "displayNameAction": "Set effect", + "type": "int", + "defaultValue": 0, + "writable": true } ] }