From 7305ed846cedd39fd9528eda7758b8a2b6edb71d Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Tue, 23 Aug 2022 11:19:16 +0200 Subject: [PATCH] Sensors: Add a generic fire sensor --- .../integrationplugingenericsensors.cpp | 8 ++++++++ .../integrationplugingenericsensors.json | 20 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/genericsensors/integrationplugingenericsensors.cpp b/genericsensors/integrationplugingenericsensors.cpp index f8af347..9cb4041 100644 --- a/genericsensors/integrationplugingenericsensors.cpp +++ b/genericsensors/integrationplugingenericsensors.cpp @@ -265,6 +265,14 @@ void IntegrationPluginGenericSensors::executeAction(ThingActionInfo *info) info->finish(Thing::ThingErrorNoError); return; } + } else if (thing->thingClassId() == fireSensorThingClassId) { + if (action.actionTypeId() == fireSensorFireDetectedActionTypeId) { + bool fire = action.paramValue(fireSensorFireDetectedActionFireDetectedParamTypeId).toBool(); + qCDebug(dcGenericSensors()) << "Fire sensor state:" << (fire ? "fire" : "no fire"); + thing->setStateValue(fireSensorFireDetectedStateTypeId, fire); + info->finish(Thing::ThingErrorNoError); + return; + } } 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 76d5dad..f0d0f7e 100644 --- a/genericsensors/integrationplugingenericsensors.json +++ b/genericsensors/integrationplugingenericsensors.json @@ -777,6 +777,26 @@ "defaultValue": 0 } ] + }, + { + "id": "14e458d8-0480-4d2f-8e8b-2371cd4136f2", + "name": "fireSensor", + "displayName": "Generic fire sensor", + "createMethods": ["user"], + "interfaces": ["firesensor"], + "stateTypes": [ + { + "id": "4bb41637-8469-4aea-ad46-6cef3ba3afa3", + "name": "fireDetected", + "displayName": "Fire detected", + "displayNameEvent": "Fire detected changed", + "displayNameAction": "Set fire detected", + "type": "bool", + "defaultValue": false, + "ioType": "digitalOutput", + "writable": true + } + ] } ] }