diff --git a/libraries/MySensors/core/MySensorCore.cpp b/libraries/MySensors/core/MySensorCore.cpp index 00c443f..f175d42 100644 --- a/libraries/MySensors/core/MySensorCore.cpp +++ b/libraries/MySensors/core/MySensorCore.cpp @@ -203,6 +203,10 @@ uint8_t getNodeId() { return _nc.nodeId; } +uint8_t getParentNodeId() { + return _nc.parentNodeId; +} + ControllerConfig getConfig() { return _cc; } diff --git a/libraries/MySensors/core/MySensorCore.h b/libraries/MySensors/core/MySensorCore.h index 16255d9..b5444e5 100644 --- a/libraries/MySensors/core/MySensorCore.h +++ b/libraries/MySensors/core/MySensorCore.h @@ -71,6 +71,11 @@ struct ControllerConfig { */ uint8_t getNodeId(); +/** + * Return the parent node id. + */ +uint8_t getParentNodeId(); + /** * Each node must present all attached sensors before any values can be handled correctly by the controller. * It is usually good to present all attached sensors after power-up in setup(). diff --git a/libraries/MySensors/core/MyTransport.cpp b/libraries/MySensors/core/MyTransport.cpp index 1e2e5a1..cd370c7 100644 --- a/libraries/MySensors/core/MyTransport.cpp +++ b/libraries/MySensors/core/MyTransport.cpp @@ -159,7 +159,7 @@ inline void transportProcess() { } return; } else if (sender == GATEWAY_ADDRESS) { - if (type == I_ID_RESPONSE && _nc.nodeId == AUTO) { + if (type == I_ID_RESPONSE) { _nc.nodeId = _msg.getByte(); if (_nc.nodeId == AUTO) { // sensor net gateway will return max id if all sensor id are taken