diff --git a/apps/aqhome-nodes/r_setdata.c b/apps/aqhome-nodes/r_setdata.c index 6a38c66..96ddd73 100644 --- a/apps/aqhome-nodes/r_setdata.c +++ b/apps/aqhome-nodes/r_setdata.c @@ -93,67 +93,60 @@ void AQH_NodeServer_HandleSetData(AQH_OBJECT *o, AQH_OBJECT *ep, const AQH_MESSA varName=AQH_Value_GetName(value); if (varName) { double data; + AQH_NODE_INFO *nodeInfo; data=AQH_IpcdMessageSetData_ReadData(tagList); - if (data) { - AQH_NODE_INFO *nodeInfo; + nodeInfo=_getNodeInfoFromValue(xo, value); + if (nodeInfo) { + const char *devName; - nodeInfo=_getNodeInfoFromValue(xo, value); - if (nodeInfo) { - const char *devName; + devName=AQH_NodeInfo_GetDeviceId(nodeInfo); + if (devName) { + const AQHNODE_DEVICE *devInfo; - devName=AQH_NodeInfo_GetDeviceId(nodeInfo); - if (devName) { - const AQHNODE_DEVICE *devInfo; + devInfo=AQH_NodeServer_GetDeviceDefByName(o, devName); + if (devInfo) { + const AQHNODE_VALUE *devValue; - devInfo=AQH_NodeServer_GetDeviceDefByName(o, devName); - if (devInfo) { - const AQHNODE_VALUE *devValue; + devValue=AQHNODE_Value_List_GetByName(AQHNODE_Device_GetValueList(devInfo), varName); + if (devValue) { + uint16_t dataVal=0; + uint16_t dataDenom=0; - devValue=AQHNODE_Value_List_GetByName(AQHNODE_Device_GetValueList(devInfo), varName); - if (devValue) { - uint16_t dataVal=0; - uint16_t dataDenom=0; + if (AQH_ReadDataFromDouble(AQHNODE_Value_GetDataType(devValue), data, &dataVal, &dataDenom)==0) { + AQH_MSG_REQUEST *rq; + int destAddr; - if (AQH_ReadDataFromDouble(AQHNODE_Value_GetDataType(devValue), data, &dataVal, &dataDenom)==0) { - AQH_MSG_REQUEST *rq; - int destAddr; + destAddr=AQH_NodeInfo_GetBusAddress(nodeInfo); + DBG_DEBUG(NULL, "Creating SETDATA request"); - destAddr=AQH_NodeInfo_GetBusAddress(nodeInfo); - DBG_DEBUG(NULL, "Creating SETDATA request"); - - rq=_mkRequest_SetData(o, xo, ep, msgId, destAddr, AQHNODE_Value_GetId(devValue), dataVal, dataDenom); - AQH_NodeServer_AddRequestToTree(o, rq); - /* done */ - } - else { - DBG_ERROR(NULL, "Bad data \"%s\"", data); - _sendResponseResultToBroker(ep, msgId, AQH_MSGDATA_RESULT_ERROR_BADDATA); - } + rq=_mkRequest_SetData(o, xo, ep, msgId, destAddr, AQHNODE_Value_GetId(devValue), dataVal, dataDenom); + AQH_NodeServer_AddRequestToTree(o, rq); + /* done */ } else { - DBG_ERROR(NULL, "Invalid value name \"%s\"", varName); - _sendResponseResultToBroker(ep, msgId, AQH_MSGDATA_RESULT_ERROR_INVALID); + DBG_ERROR(NULL, "Bad data \"%.2f\"", data); + _sendResponseResultToBroker(ep, msgId, AQH_MSGDATA_RESULT_ERROR_BADDATA); } } else { - DBG_ERROR(NULL, "Unknown node \"%s\"", devName); + DBG_ERROR(NULL, "Invalid value name \"%s\"", varName); _sendResponseResultToBroker(ep, msgId, AQH_MSGDATA_RESULT_ERROR_INVALID); } } else { - DBG_ERROR(NULL, "Node not yet fully identified, come back later"); - _sendResponseResultToBroker(ep, msgId, AQH_MSGDATA_RESULT_ERROR_TRYAGAIN); + DBG_ERROR(NULL, "Unknown node \"%s\"", devName); + _sendResponseResultToBroker(ep, msgId, AQH_MSGDATA_RESULT_ERROR_INVALID); } } else { - DBG_ERROR(NULL, "No matching nodeinfo"); - _sendResponseResultToBroker(ep, msgId, AQH_MSGDATA_RESULT_ERROR_INVALID); + DBG_ERROR(NULL, "Node not yet fully identified, come back later"); + _sendResponseResultToBroker(ep, msgId, AQH_MSGDATA_RESULT_ERROR_TRYAGAIN); } } else { - DBG_ERROR(NULL, "No data"); - _sendResponseResultToBroker(ep, msgId, AQH_MSGDATA_RESULT_ERROR_NODATA); + DBG_ERROR(NULL, "No matching nodeinfo"); + _sendResponseResultToBroker(ep, msgId, AQH_MSGDATA_RESULT_ERROR_INVALID); } } else {