Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp6386686ybe; Wed, 18 Sep 2019 02:36:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqzjNfy5J02nF3eIII1Wbsr2Dyk70MZtuVyz6GKy+73SguNEUWVdlCrArA1/h1g8psbVFQLb X-Received: by 2002:a17:906:6048:: with SMTP id p8mr8736868ejj.297.1568799405205; Wed, 18 Sep 2019 02:36:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568799405; cv=none; d=google.com; s=arc-20160816; b=zMEvBFNvWbRkoR09OF4NUxw3Oqk781HVM1tqfnrHrXhbOuQm7ScUlHABfh6RTgcuNw MshIkZdrrjU+Jgyadgm2T6nwzIf7zPjzR4mJoE9tJjYwY0/LC6xRTGFbgrNh6Q1AJ8yj cWIvLNk1GJJKS9/8wcRvBCoGQ4SGunItz6kxk+PSFLl3uPJyKKY9yzyh6QszGFoIJjYJ NFxI6aR4yp24f0bBfZR5pWTmZqFW6snSOOKfNv+VCelCm0gXIf9bdCGBoyQGrSUrgTJ6 YvE4hsLIAs83vIiCclykiE3oi25fnIqqaOJwqDGVZ5dRyqMPkgz+ohHJoFaGazNp6eUX kqdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:mail-followup-to:message-id:subject:to:from:date :dkim-signature; bh=uSqnHJlpyn3xUcaX0KRfG3ajKAV7jjvBrEfZ1jZSDvM=; b=mab78tWEpRnk+3+3SajbXasAUoVouLgbKit0y0GW7H50g2o/d52q7gRJJicBAxrC5j pa65btX2Q1pugN0WWgv8nQo09sgqjJQp44mbA9672DFw7f5bekz9KFnkQLsHe8sBoRtk R1NGvpJdbl8eF8fWvQSrH+eR3cRHyHO76flIkhrab38kG703Wx/S99gJABIOcskD0xS+ Do/4b0wvFpO5ccqP+rLV54xilt9kns7gxpel+/P7zAU32MmNkSXbyjFH562C94IBeG8H rs1+iN+fro4X3OnQmhhXE7SPTb82IQkhcTQEmsVsm7u54Oq1kk7Yw8w4o5v3+kBwuWJt p6vg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@silvair-com.20150623.gappssmtp.com header.s=20150623 header.b=IExSR8le; spf=pass (google.com: best guess record for domain of linux-bluetooth-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v25si2785252edy.392.2019.09.18.02.36.20; Wed, 18 Sep 2019 02:36:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-bluetooth-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@silvair-com.20150623.gappssmtp.com header.s=20150623 header.b=IExSR8le; spf=pass (google.com: best guess record for domain of linux-bluetooth-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725298AbfIRIwp (ORCPT + 99 others); Wed, 18 Sep 2019 04:52:45 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:37464 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726081AbfIRIwp (ORCPT ); Wed, 18 Sep 2019 04:52:45 -0400 Received: by mail-wm1-f67.google.com with SMTP id r195so1551748wme.2 for ; Wed, 18 Sep 2019 01:52:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silvair-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:subject:message-id:mail-followup-to:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=uSqnHJlpyn3xUcaX0KRfG3ajKAV7jjvBrEfZ1jZSDvM=; b=IExSR8leupREi4oBKnBErWctxINqgJmgzO4C7hFcHo82hFsscDQbnJv0z/7sGhWjbr DGFgESxKCUQH8MTparSfLhsu4JNpvSRFR/GR1zDINjf+yLq3uazdnoG2WYg/RLQfBDnP +DyRuWq4SaLjPLz6dnoaH+6cFS7PLzbGn/zURnj7gdabfTXEbK3YD2bbXs1256G0TwbC 1Q1pe5FoodXu8aHuG9FJ/hE6kRnZGrJzBLidkFImJ8bkgaJ4vSy4DuEOYVwxTQ2+g2Oj 3WRqx9l/5TxYruWhGb9purggznmbXjEFPaphixsRaPC/pAXZiV8PiPNyBjbrMOZuF1Sg MRLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:mail-followup-to :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=uSqnHJlpyn3xUcaX0KRfG3ajKAV7jjvBrEfZ1jZSDvM=; b=XrqJvv/vL/H018HWRmSxrlhWOG2pTLRPV04KUcZFcgTSJpmBVsXqSV42ZeKKmJCZed qKtitmCCre0I/hqqqnkCDt1tQH2KzD8brZkFlBH3sS/8QpH0kLkyaGdRRdhusoqCqUz4 f2EdqZFvN8ylrjiVo4GfeESiByE7v6eMA65X6Y/iQjiT5u30CcQVOc0GjRWa84hLjCsY rKJ2Y8wNGfIFz/B61I4nfa1pv0tkWQyTYWyvT1/z9nZsZ7ONC6ikATXIFmAw8f+6XoBg MR0SgIxkRXCxS6SOQjU19oXajkceEmGBGzCdWpTZygkdZeFQKO3czKKmHVb8MxG062oN jnIw== X-Gm-Message-State: APjAAAX/n+i2yb9hNl62E+ncFXhgElRoi/Xt6X4h2fPl7dLapJtS4k9e rfNn28p9THNXg/7EjtoM8nE/Kg== X-Received: by 2002:a7b:c94a:: with SMTP id i10mr1942059wml.40.1568796762578; Wed, 18 Sep 2019 01:52:42 -0700 (PDT) Received: from mlowasrzechonek2133 ([217.153.94.18]) by smtp.gmail.com with ESMTPSA id v64sm2024300wmf.12.2019.09.18.01.52.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Sep 2019 01:52:41 -0700 (PDT) Date: Wed, 18 Sep 2019 10:52:39 +0200 From: =?utf-8?Q?Micha=C5=82?= Lowas-Rzechonek To: Brian Gix , Inga Stotland , linux-bluetooth@vger.kernel.org, Piotr Winiarczyk , Szymon =?utf-8?Q?S=C5=82upik?= Subject: Re: mesh: org.bluez.mesh.Element.MessageReceived method does not provide destination address Message-ID: <20190918085239.xhahxoeqjkcrk3bl@mlowasrzechonek2133> Mail-Followup-To: Brian Gix , Inga Stotland , linux-bluetooth@vger.kernel.org, Piotr Winiarczyk , Szymon =?utf-8?Q?S=C5=82upik?= References: <20190830184301.zd3zaqrw7mv6r252@kynes> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20190830184301.zd3zaqrw7mv6r252@kynes> User-Agent: NeoMutt/20180716 Sender: linux-bluetooth-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org 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 -- Michał Lowas-Rzechonek Silvair http://silvair.com Jasnogórska 44, 31-358 Krakow, POLAND