Empty Payload not set in MySensor::request and MySensor::requestTime


  • Admin

    Payload not set in MySensors.cpp ==> When gateway receives message w/o payload (e.g. request or requestTime), payload from previous message is reported.

    Example:

    RECV: 4;4;1;0;1;44.9
    RECV: 4;5;1;0;16;0
    RECV: 4;6;1;0;16;557 <== set payload = 557
    RECV: 1;255;3;0;1;557 <== time request w/o payload, pevious payload reported
    RECV: 1;0;1;0;1;47.7

    procs from MySensors.cpp:

    void MySensor::request(uint8_t childSensorId, uint8_t variableType, uint8_t destination) {
    sendRoute(build(msg, nc.nodeId, destination, childSensorId, C_REQ, variableType, false));
    }

    void MySensor::requestTime(void (* _timeCallback)(unsigned long)) {
    timeCallback = _timeCallback;
    sendRoute(build(msg, nc.nodeId, GATEWAY_ADDRESS, NODE_SENSOR_ID, C_INTERNAL, I_TIME, false));
    }

    ==> add set("") to both sendRoute cmds


  • Admin

    Thanks, fixed now.


 

406
Online

8.2k
Users

9.0k
Topics

96.0k
Posts