diff --git a/server/rest/devicesresource.cpp b/server/rest/devicesresource.cpp index 899d11f0..bf3d5614 100644 --- a/server/rest/devicesresource.cpp +++ b/server/rest/devicesresource.cpp @@ -196,7 +196,18 @@ HttpReply *DevicesResource::getConfiguredDevices() const { qCDebug(dcRest) << "Get all configured devices"; HttpReply *reply = createSuccessReply(); - reply->setPayload(QJsonDocument::fromVariant(JsonTypes::packConfiguredDevices()).toJson()); + QVariantList devices = JsonTypes::packConfiguredDevices(); + + QVariantList finalDevices; + foreach (const QVariant &deviceVariant, devices) { + QVariantMap deviceMap = deviceVariant.toMap(); + Device* device = GuhCore::instance()->findConfiguredDevice(DeviceId(deviceMap.value("id").toString())); + QVariantList deviceStates = JsonTypes::packDeviceStates(device); + deviceMap.insert("states", deviceStates); + finalDevices.append(deviceMap); + } + + reply->setPayload(QJsonDocument::fromVariant(finalDevices).toJson()); return reply; }