Sensors: Add a generic fire sensor

pull/5/head
Michael Zanetti 2022-08-23 11:19:16 +02:00
parent f2e2bc4814
commit 7305ed846c
2 changed files with 28 additions and 0 deletions

View File

@ -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());
}

View File

@ -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
}
]
}
]
}