From 3f6aabc3da5f2326e037b7bfb0e2b6b901dcff11 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Mon, 27 Nov 2023 20:58:20 +0100 Subject: [PATCH] GenericSensors: Add a generic vibration sensor --- .../integrationplugingenericsensors.cpp | 4 ++++ .../integrationplugingenericsensors.json | 22 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/genericsensors/integrationplugingenericsensors.cpp b/genericsensors/integrationplugingenericsensors.cpp index 78c5b26..072c90d 100644 --- a/genericsensors/integrationplugingenericsensors.cpp +++ b/genericsensors/integrationplugingenericsensors.cpp @@ -413,6 +413,10 @@ void IntegrationPluginGenericSensors::executeAction(ThingActionInfo *info) info->finish(Thing::ThingErrorNoError); return; } + } else if (thing->thingClassId() == vibrationSensorThingClassId) { + if (action.actionTypeId() == vibrationSensorTriggerVibrationAlertActionTypeId) { + thing->emitEvent(vibrationSensorVibrationDetectedEventTypeId); + } } else { Q_ASSERT_X(false, "executeAction", QString("Unhandled thingClassId: %1").arg(thing->thingClassId().toString()).toUtf8()); } diff --git a/genericsensors/integrationplugingenericsensors.json b/genericsensors/integrationplugingenericsensors.json index 851b7f7..424a074 100644 --- a/genericsensors/integrationplugingenericsensors.json +++ b/genericsensors/integrationplugingenericsensors.json @@ -978,6 +978,28 @@ "writable": true } ] + }, + { + "id": "3e03b237-a098-442c-a226-d51468bdbecc", + "name": "vibrationSensor", + "displayName": "Vibration sensor", + "createMethods": [ "user" ], + "interfaces": [ "vibrationsensor" ], + "actionTypes": [ + { + "id": "f6710702-5f1a-4819-8cc8-2ddb53134870", + "name": "triggerVibrationAlert", + "displayName": "Trigger vibration alert" + } + ], + "eventTypes": [ + { + "id": "c82e720b-7615-427b-9ae1-19fd19e524db", + "name": "vibrationDetected", + "displayName": "Vibration detected", + "suggestLogging": true + } + ] } ] }