From: "Stotland, Inga" <inga.stotland@intel.com>
To: "michal.lowas-rzechonek@silvair.com"
<michal.lowas-rzechonek@silvair.com>,
"linux-bluetooth@vger.kernel.org"
<linux-bluetooth@vger.kernel.org>,
"Gix, Brian" <brian.gix@intel.com>,
"simon@silvair.com" <simon@silvair.com>,
"piotr.winiarczyk@silvair.com" <piotr.winiarczyk@silvair.com>
Subject: Re: mesh: org.bluez.mesh.Element.MessageReceived method does not provide destination address
Date: Wed, 25 Sep 2019 19:02:19 +0000 [thread overview]
Message-ID: <3c5858c94b3e08a61c5ff8493f9b00f5f77d0aac.camel@intel.com> (raw)
In-Reply-To: <20190918085239.xhahxoeqjkcrk3bl@mlowasrzechonek2133>
[-- Attachment #1: Type: text/plain, Size: 2287 bytes --]
Hi Michal,
On Wed, 2019-09-18 at 10:52 +0200, Michał Lowas-Rzechonek wrote:
> Hi Brian,
>
> > 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*.
>
> Per conversation with Piotr, I'd like to revisit the discussion and
> provide more details about our use case for models knowing the
> destination address.
>
> Please see a diagram at http://ujeb.se/BmTIW.
>
> The main reason we map scenes using destination addresses is that
> such a
> setup consumes much less unicast addresses.
>
> Assuming that:
> S - number of switches
> B - number of buttons (elements) on a switch
> N - nunber of lamps
>
> With a 'regular' case, number of consumed unicast addresses is
> S*B + N*(B+1)
>
> With the destination mapping, it becomes
> S*B + N*2
>
> Since we typically use 4 button switches (B=4), without translation
> we
> consume unicast address space at a *much* faster rate.
>
> reagrds
Okay, this is a good argument for exposing the subscription address in
MessageReceived().
It's better to separate the method into two, e.g. MessageReceived() and
MessageReceivedVirtual().
Then it makes sense to add model subscription array as a dictionary
entry in the UpdateModelConfiguration() as well as for the node
configuration returned when calling Attach() method.
Probably will have to have separate keys: "Groups" and "Virtuals".
Regards,
Inga
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 3265 bytes --]
next prev parent reply other threads:[~2019-09-25 19:02 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-30 18:43 mesh: org.bluez.mesh.Element.MessageReceived method does not provide destination address Michał Lowas-Rzechonek
2019-09-04 19:25 ` Michał Lowas-Rzechonek
2019-09-04 19:48 ` Michał Lowas-Rzechonek
2019-09-04 20:26 ` Gix, Brian
2019-09-04 22:39 ` Stotland, Inga
2019-09-05 7:29 ` michal.lowas-rzechonek
2019-09-05 7:34 ` michal.lowas-rzechonek
2019-09-18 8:52 ` Michał Lowas-Rzechonek
2019-09-18 12:36 ` Michał Lowas-Rzechonek
2019-09-25 19:02 ` Stotland, Inga [this message]
2019-09-26 15:18 ` Gix, Brian
2019-09-26 20:41 ` Stotland, Inga
2019-09-26 23:48 ` Gix, Brian
2019-09-27 2:54 ` Stotland, Inga
2019-09-27 8:52 ` michal.lowas-rzechonek
2019-09-27 15:01 ` Gix, Brian
2019-09-27 15:50 ` Gix, Brian
2019-09-27 17:25 ` Stotland, Inga
2019-09-27 19:25 ` Gix, Brian
2019-09-30 7:18 ` michal.lowas-rzechonek
2019-09-30 16:34 ` Stotland, Inga
2019-09-30 17:57 ` Gix, Brian
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3c5858c94b3e08a61c5ff8493f9b00f5f77d0aac.camel@intel.com \
--to=inga.stotland@intel.com \
--cc=brian.gix@intel.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=michal.lowas-rzechonek@silvair.com \
--cc=piotr.winiarczyk@silvair.com \
--cc=simon@silvair.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox