Hi, When trying to use subscriptions in meshd, I've noticed that MessageReceived API does not provide the application with destination address of the deceived message - instead, it only sends a boolean flag saying if the message was part of a model subscription, or not. I think this is problematic. There are use cases where a model is interested in the destination address of a group subscription. For example: Imagine a dot-matrix, where each pixel is a mesh node. Each of these pixels implements two models: on element 0, a GenericOnOffServer controlling the light output on element 1, a Blinkenlights Server model Blinkenlights Server extends GenericOnOff Server and GenericOnOff Client, and on top of that contains a translation table mapping group address to either 'ON' or 'OFF'. Now, when Blinkenlights Server receives a GenericOnOff Set message, it looks up the destination address at the translation table, and sends a *different* GenericOnOff Set to *its own* element 0, with target value determined by the translation entry. This allows users to configure each node in such a way, that sending a *single* message to a group address causes all pixels to switch to a preconfigured pattern *at the same time*. Moreover, at the moment the application can't receive the label of a virtual address the message is targeted to. I'd like to discuss the API change, from the current: void MessageReceived(uint16 source, uint16 key_index, boolean subscription, array{byte} data) to something like: void MessageReceived(uint16 source, uint16 destination, uint16 key_index, array{byte} data) void VirtMessageReceived(uint16 source, array{byte}[16] label, uint16 key_index, array{byte} data) thoughts? -- Michał Lowas-Rzechonek <michal.lowas-rzechonek@xxxxxxxxxxx> Silvair http://silvair.com Jasnogórska 44, 31-358 Krakow, POLAND