diff --git a/src/fullsignalk.js b/src/fullsignalk.js index 1541e1a8..d5144d55 100644 --- a/src/fullsignalk.js +++ b/src/fullsignalk.js @@ -278,6 +278,20 @@ function addMeta(context, contextPath, source, timestamp, pathValue) { return; } signalkSchema.addMetaData(contextPath, pathValue.path, pathValue.value) + + const splitPath = pathValue.path.split('.'); + const valueLeaf = splitPath.reduce(function(previous, pathPart, i) { + if (!previous[pathPart]) { + previous[pathPart] = {}; + } + if ( i === splitPath.length-1 && typeof previous[pathPart].meta === 'undefined' ) { + let meta = signalkSchema.internalGetMetadata(contextPath + '.' + pathValue.path) + if (meta) { + previous[pathPart].meta = meta + } + } + return previous[pathPart]; + }, context); }