From b6fdb56effb974b10eee7149eab8feaf977df47a Mon Sep 17 00:00:00 2001 From: Justin Hammond Date: Fri, 27 Dec 2019 13:00:52 +0800 Subject: [PATCH] Fix basic setValue calls --- qt-openzwave/source/qtozwmanager_p.cpp | 4 +++- qt-openzwave/source/qtozwvalueidmodel.cpp | 6 ++++-- qt-ozwdaemon/main.cpp | 2 +- qt-ozwdaemon/mqttValues.cpp | 2 +- qt-ozwdaemon/mqttcommands/setValue.cpp | 3 ++- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/qt-openzwave/source/qtozwmanager_p.cpp b/qt-openzwave/source/qtozwmanager_p.cpp index 6ea60e9..0645e0a 100644 --- a/qt-openzwave/source/qtozwmanager_p.cpp +++ b/qt-openzwave/source/qtozwmanager_p.cpp @@ -1660,9 +1660,11 @@ void QTOZWManager_Internal::pvt_valueModelDataChanged(const QModelIndex &topLeft if (!roles.contains(QTOZW_UserRoles::ModelDataChanged)) { return; } - qCDebug(valueModel) << "valueModel Changed!" << static_cast(topLeft.column()) << ": "<< topLeft.data(); + qCDebug(valueModel) << "valueModel Changed!" << static_cast(topLeft.column())<< "-" << topLeft.row() << ": "<< topLeft.data(); /* get the Node Number */ quint64 vidKey = this->m_valueModel->data(topLeft.siblingAtColumn(QTOZW_ValueIds::ValueIdColumns::ValueIDKey), Qt::DisplayRole).value(); + QVariant data = this->m_valueModel->data(topLeft.siblingAtColumn(QTOZW_ValueIds::ValueIdColumns::Value), Qt::DisplayRole); + qCDebug(valueModel) << "valueModel Changed! vidKey:" << vidKey << data; try { OpenZWave::ValueID vid(this->homeId(), vidKey); switch (static_cast(vid.GetType())) { diff --git a/qt-openzwave/source/qtozwvalueidmodel.cpp b/qt-openzwave/source/qtozwvalueidmodel.cpp index 7c61509..6a5e445 100644 --- a/qt-openzwave/source/qtozwvalueidmodel.cpp +++ b/qt-openzwave/source/qtozwvalueidmodel.cpp @@ -178,13 +178,15 @@ bool QTOZW_ValueIds::setData(const QModelIndex &index, const QVariant &value, in switch (static_cast(index.column())) { case Value: if (this->m_valueData.at(index.row())[static_cast(index.column())] != value) { - this->m_valueData.value(index.row())[static_cast(index.column())] = value; + qCDebug(valueModel) << "setData Called for Row" << index.row() << " With Value" << value; + this->m_valueData[index.row()][static_cast(index.column())] = value; QVector roles; roles << Qt::DisplayRole << QTOZW_UserRoles::ModelDataChanged; this->dataChanged(index, index, roles); } break; - default: + default: + qCWarning(valueModel) << "got a setData for a Column other than Value. Ignoring" << index.column(); return false; } return true; diff --git a/qt-ozwdaemon/main.cpp b/qt-ozwdaemon/main.cpp index 560a838..903c6f9 100644 --- a/qt-ozwdaemon/main.cpp +++ b/qt-ozwdaemon/main.cpp @@ -109,7 +109,7 @@ int main(int argc, char *argv[]) "qt.remoteobjects.io.debug=true\n" "default.debug=true"); #else - QLoggingCategory::setFilterRules("default.debug=true"); + QLoggingCategory::setFilterRules("*.debug=true"); #endif QStringList PossibleDBPaths; diff --git a/qt-ozwdaemon/mqttValues.cpp b/qt-ozwdaemon/mqttValues.cpp index 2072ff2..abdede0 100644 --- a/qt-ozwdaemon/mqttValues.cpp +++ b/qt-ozwdaemon/mqttValues.cpp @@ -236,7 +236,7 @@ bool mqttValueIDModel::encodeValue(rapidjson::Document &value, quint64 vidKey) { } bool mqttValueIDModel::setData(quint64 vidKey, QVariant data) { - return QTOZW_ValueIds::setData(this->index(this->getValueRow(vidKey), QTOZW_ValueIds::ValueIdColumns::Value), data, Qt::EditRole); + return QTOZW_ValueIds::setData(this->index(this->getValueRow(vidKey), QTOZW_ValueIds::ValueIdColumns::Value), data); } diff --git a/qt-ozwdaemon/mqttcommands/setValue.cpp b/qt-ozwdaemon/mqttcommands/setValue.cpp index de53313..245d4c6 100644 --- a/qt-ozwdaemon/mqttcommands/setValue.cpp +++ b/qt-ozwdaemon/mqttcommands/setValue.cpp @@ -21,7 +21,7 @@ bool MqttCommand_SetValue::processMessage(rapidjson::Document &msg) { return this->sendSimpleStatus(false, "Missing Field Value"); } - quint64 vidKey = msg["ValueIdKey"].GetUint(); + quint64 vidKey = msg["ValueIDKey"].GetUint(); QBitArray flags = this->getValueData(vidKey, QTOZW_ValueIds::ValueIdColumns::ValueFlags).value(); if (flags[QTOZW_ValueIds::ValueIDFlags::ReadOnly] == true) { return this->sendSimpleStatus(false, "ValueID is Read Only"); @@ -129,5 +129,6 @@ bool MqttCommand_SetValue::processMessage(rapidjson::Document &msg) { qCWarning(ozwmcsv) << "Data is undefined for setValue... Json Conversion Failed?"; return this->sendSimpleStatus(false, "JSON Conversion Failed"); } + qCInfo(ozwmcsv) << "Setting " << vidKey << " to Value " << data; return this->sendSimpleStatus(this->setValue(vidKey, data)); } \ No newline at end of file