The UK Home Automation Archive

Archive Home
Group Home
Search Archive


Advanced Search

The UKHA-ARCHIVE IS CEASING OPERATIONS 31 DEC 2024


[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: Re: Proposals for xAP TSC



--------------080308020005060804010909
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Daniel,
I'm not sure I agree that TSC isn't suitable as it would remove many of
the ambiguities inherent in BSC's representation of real world data.
However, I do now understand the problem with the capabilities requests,
since I guess as a gateway you may not know the capabilities of the
remote network/systems.

I wouldn't say TSC is only suitable for P2P but I accept a controller
with multiple (hundreds) TSC endpoints, of varying type, will require
more horspower - so probably along the lines of Floorplan, Housebot,
Homeseer, etc. There the application can maintain all the information
relevant to each endpoint. Whilst in an embedded controller application
you are more interested in compact data structures, in a (Java, c++,
C#,...) you use the applicable data structure to meet the program goals,
making trade offs as required. So, if I needed 500 endpoints at 10Kb per
endpoint, it wouldn't worry me - well, not too much ;-)

I disagree about BSC being good as you can pipe abstract data through it
- that's led to some of the issues, such as encoding of temperature data
and using text strings where knowledge of the endpoint is required to
interpret it. My personal view is that the consuming
device/controller/application should, from the class/schema, be able to
derive what the 'type' of data or control is. I'd rather we had more
schemas....

So, as Keven says in another mail, maybe what is required is a TSC lite
or Basic TSC?

Lehane



On 27/04/2010 14:27, Daniel Berenguer wrote:
>
> Thanks Lehane for the feedback.
>
> Responding to your last question, I primarily use xAP for bridging
> between IP and other buses. I'm currently maintaining two kind of
> controllers, communicating under xAP BSC:
>
> A) Gateways: they basically pipe field bus information from 1-Wire,
> Modbus, CAN, etc to xAP BSC. The gateway maintains an internal table
> of endpoints so that the gateway is seen from the outside as an IO
> controller with a variable amount of endpoints (up to 500 endpoints in
> some cases).Working as pure mappers, these gateways are continuously
> polling or listening for information on the lower bus and provide a
> full BSC interface to the xAP network. Most of the low level devices
> connected to these gateways are generic IO devices (multi-master or
> slaves) that can be used from xAP BSC for any purpose, including
> heating control or alarm signalization. Thus, I'd have expected TSC
> (or any other new schema) to provide more generic mechanisms to
> implement "data piping".
>
> Implementing TSC for this case would involve:
>
> - Using BSC for binary endpoints and text, TSC for analog endpoints.
> - Double use of BSC and TSC for analog endpoints during the first
> months as we need to provide compatibility with the existing BSC
> products before their switch to TSC.
> - Maintain two different arrays of endpoints or merge both schemas
> into a common structure.
>
> B) Main controller (opn-max, but also valid for HomeSeer or Mr.House I
> guess): this device queries all available BSC endpoints in the network
> in a simple manner. Then, the controller stores every endpoint
> information and maintains a live copy of the BSC network in memory.
> Then, users can work with this data from scripts, Web server, etc.
>
> In both cases, data is stored in endpoint structures. The more compact
> is the information stored, the more endpoints can be managed by a
> single controller.
>
> xAP BSC is perfect for most of the M2M applications I think. The only
> objections are IMO the level-text different management and the lack of
> a "unit" field. But for the rest of features, BSC is a very
good
> abstract schema that lets you pipe almost any information through
> UDP/IP. Because of this, I'd have preferred to work on a possible
> evolution of BSC instead of switching to a new schema. I now
> understand the motivations of TSC and agree in that TSC is specially
> suitable for vertical "peer-to-peer" applications like
heating
> control. There is no objection then, I surely was wrong about
> considering TSC as an evolution (improvement) of BSC. Kevin's post
> about spoiling us towards the switch to TSC didn't help either ;-)
>
> Daniel.
>
> --- In xAP_developer@xxxxxxx
> <mailto:xAP_developer%40yahoogroups.com>,
"Lehane Kellett (g8kmh)"
> <g8kmh@...> wrote:
> >
> > My comments in the text below. Apologies for the delay.
> >
> > Lehane
> >
> > On 17/04/2010 18:08, Daniel Berenguer wrote:
> > >
> > > No comments? Come on guys! ;-)
> > >
> > > --- In xAP_developer@xxxxxxx
> <mailto:xAP_developer%40yahoogroups.com>
> > > <mailto:xAP_developer%40yahoogroups.com>,
Daniel Berenguer
> > > <dberenguer@> wrote:
> > > >
> > > > I'm just starting to code the TSC extension for the
opnode libxap
> > > > library and have some remarks regarding the current TSC
specs:
> > > >
> > > > Question DB1: (DB is me :-))
> > > > Setpoints will force us to manage at least two values
per
> endpoint (a
> > > > temperature value and a setpoint) and an additional
keyword
> > > > ("setpoint") in the section title. Generic IO
devices will have to
> > > > provide a way to associate an optional setpoint to any
generic
> analog
> > > > input, not very straightforward.
> > > >
> > > > Proposal DB2:
> > > > I suggest to remove the setpoint feature and take any
real
> setpoint as
> > > > a new endpoint. IMO, the "one value per
endpoint" paradigm is much
> > > > easier to implement in embedded devices, against the
"multiple
> values
> > > > per endpoint". When I say "value" I
really mean "variable
> value". xAP
> > > > BSC brought this problem too, where a single endpoint
could have a
> > > > value (text or level) and a binary state. We could then
simplify
> > > > things for TSC. Doing this, we'll be able to compact
endpoint tables
> > > > in memory and simplify message parsing.
> > > >
> > >
> > I disagree with the moving of, in this case, setpoint to a
different
> > endpoint.
> > Indeed management of a number of values to an endpoint doesn't
> > seem too big an overhead. It would also create even more
divergence from
> > BSC, something TSC is already crticised for.
> >
> > At the smaller end of the CPU scale the IO device probably is
only
> managing
> > a temp and setpoint.
> >
> > > > Question DB2:
> > > > I was expecting to deal with TSC.capability as an
optional
> class, not
> > > > supported in the first versions. TSC.info is IMO a
simpler way to
> > > > discover devices because it's sent periodically whilst
> TSC.capability
> > > > is sent only as a response to a TSC.query with
request.capability
> > > > body. Am I right? I know that TSC.capability will
provide more
> > > > detailed results than TSC.info but for most
applications I think
> that
> > > > infos will be more than enough. I just try to start
things in a
> simple
> > > > manner.
> > > >
> > > > Proposal DB2:
> > > > OK, assuming that we're allowed to not to support
TSC.capability,
> > > > could we maybe move the type=input/output information
to the
> TSC.info
> > > > body? Master applications like opn-max need to know
whether
> endpoints
> > > > are controllable (outputs) or not (inputs). BSC
contained this
> > > > information in the section ttile. E.g: output.state.1,
> input.state.1.
> > > > I'd suggest to follow the BSC way regarding this too.
As result,
> we'd
> > > > have section titles like the following ones, at least
for TSC cmd's,
> > > > events, infos and queries:
> > > >
> > > > input.humidity
> > > > output.temperature (an example of setpoint, see
Question DB2)
> > > > output.level
> > > >
> > > > instead of:
> > > > event.humidity
> > > > cmd.temperature
> > > > info.level
> > > >
> > > > In fact, "event", "cmd",
"info" and "query" are already contained in
> > > > the xAP class field.
> > >
> >
> >
> >
> > > >
> > > > Question DB3:
> > > > "unit" field is supposed to be mandatory in
TSC commands, events and
> > > > infos. I can agree in that events and infos must
contain the unit
> > > > information but, why commands? I'm thinking in master
> controllers like
> > > > opn-max: A very lightweight implementation of TSC would
force the
> > > > controller to maintain the unit information in the
table of
> endpoints
> > > > too.
> > > >
> > > > Proposal DB3:
> > > > Remove "uni"t from the TSC.cmd body. In fact,
TSC.cmd's could
> > > > transport only the relevant information to be changed
in the target
> > > > device, something like xAP BSC
> > > > This has a minor importance but I'd also make unit
optional when no
> > > > unit is specified (no unit field instead of unit=arb).
> > > > This proposal would abstract the source device from the
type of data
> > > > to be controlled in the target device. This would
reduce the size of
> > > > TSC commands too.
> > >
> > The reason units was there was, for example, to change a
setpoint.
> > Without the
> > units it could be in Celsius or Fahrenheit. The controller
doesn't need
> > to maintain
> > the units as long as internally it converts to the working value.
It
> > also only reports
> > in whatever value it wishes. So you could send 68F and get 20C in
> the info.
> > >
> > > >
> > > > Question DB4:
> > > > Why ID=* is not accepted? How can we control multiple
endpoints in a
> > > > single TSC.cmd body?
> > > >
> > > > Proposal DB4:
> > > > Allow ID=*. This can be useful to reset outputs for
example.
> > >
> > It wasn't included as the intended consequences could be
> unpredictable with
> > the complexity of TSC. I think if we go with this it will require
some
> > clarity of documentation as to how it can be used but this is
doable.
> >
> > In what context do you see this working?
> >
> > > >
> > > > Question DB5:
> > > > According to the TSC draft, counters are a special case
where
> inbound
> > > > commands produce outbound infos. This will force us to
treat
> counters
> > > > apart, not as any other endpoint.
> > > >
> > > > Proposal DB5:
> > > > We should keep here the command->event /
query->info mechanism too,
> > > > similar to xAP BSC. Thus, reseting a counter will proce
a TSC event,
> > > > not an info.
> > >
> > Yes, this should be changed.
> >
> > > >
> > > > Question DB6:
> > > > For real alarms, is the alarm body mandatory?
> > > > Is the capability class mandatory?
> > > >
> > > > Proposal DB6:
> > > > Make any body other than cmd, event and info optional.
This will
> allow
> > > > lightweight implementations of TSC (very important for
the first
> > > > adoption stages). Again, this will compact messages in
simple
> > > > implementations (embedded controllers).
> > >
> > Currently, yes for alarms but it could be changed I guess.
Normally
> > you'd want to
> > know the current process value (temperature, etc) when the alarm
is
> > triggered....
> >
> > Capability could be made optional but I think some more thought
> would be
> > needed
> > around how devices advertise their features.
> >
> > The aim of TSC wasn't about simplicity but to be comprehensive
and, yes,
> > endpoints in themselves would be more complex to code than BSC
but
> typically
> > an embedded device only has a few endpoints.
> >
> > I guess the question around controllers is whether they aim to be
> > multipurpose and
> > so control many (tens, hundreds) TSC devices/endpoints - in which
> case I
> > don't believe
> > embedded systems are they way to go (though some recent devices
have
> more
> > power and RAM than my first PC!) - or single purpose, like a
heating
> > system controller -
> > in which case embedded would be fine.
> >
> >
> > > >
> > > > As you see, most of my questions/proposals are aimed to
make xAP TSC
> > > > more compact, simpler to implement and more similar to
BSC. This
> will
> > > > definitely simplify its adoption, at least in embedded
devices, and
> > > > will make TSC and BSC more cohabitable.
> > >
> > Daneil,
> > Can you expand on the kind of devices you envisage a problem
with?
> Maybe my
> > view is that a simple device, like a thermostat, has one or two
sensors
> > (temp/RH)
> > and is a single endpoint. Or a watt/hour meter, maybe two
endpoints.
> And TSC
> > and BSC can co-exist, with some additional coding complexity
agreed.
> >
> > I didn't envisage a simple controller doing both and perhaps
that's
> what you
> > are aiming for.
> >
> > Lehane
> >
> >
> >
> > > >
> > > > Thanks for your time,
> > > >
> > > > --
> > > > Daniel Berenguer
> > > > http://www.usapiens.com <http://www.usapiens.com>
> <http://www.usapiens.com <http://www.usapiens.com>>
> > > > http://www.opnode.org <http://www.opnode.org>
> <http://www.opnode.org <http://www.opnode.org>>
> > > >
> > >
> >
>
>


--------------080308020005060804010909
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit





<head>

<style type="text/css">
<!--

/* start of attachment style */
.ygrp-photo-title{
clear: both;
font-size: smaller;
height: 15px;
overflow: hidden;
text-align: center;
width: 75px;
}
div.ygrp-photo{
background-position: center;
background-repeat: no-repeat;
background-color: white;
border: 1px solid black;
height: 62px;
width: 62px;
}

div.photo-title
a,
div.photo-title a:active,
div.photo-title a:hover,
div.photo-title a:visited {
text-decoration: none;
}

div.attach-table div.attach-row {
clear: both;
}

div.attach-table div.attach-row div {
float: left;
/* margin: 2px;*/
}

p {
clear: both;
padding: 15px 0 3px 0;
overflow: hidden;
}

div.ygrp-file {
width: 30px;
valign: middle;
}
div.attach-table div.attach-row div div a {
text-decoration: none;
}

div.attach-table div.attach-row div div span {
font-weight: normal;
}

div.ygrp-file-title {
font-weight: bold;
}
/* end of attachment style */
-->
</style>
</head>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">


<!-- **begin egp html banner** -->

<br><br>

<!-- **end egp html banner** -->



Daniel,<br>
I'm not sure I agree that TSC isn't suitable as it would remove many of
the ambiguities inherent in BSC's representation of real world data.
However, I do now understand the problem with the capabilities
requests, since I guess as a gateway you may not know the capabilities
of the remote network/systems. <br>
<br>
I wouldn't say TSC is only suitable for P2P but I accept a controller
with multiple (hundreds) TSC endpoints, of varying type, will require
more horspower - so probably along the lines of Floorplan, Housebot,
Homeseer, etc. There the application can maintain all the information
relevant to each endpoint. Whilst in an embedded controller application
you are more interested in compact data structures, in a (Java, c++,
C#,...) you use the applicable data structure to meet the program
goals, making trade offs as required. So, if I needed 500 endpoints at
10Kb per endpoint, it wouldn't worry me - well, not too much ;-)<br>
<br>
I disagree about BSC being good as you can pipe abstract data through
it - that's led to some of the issues, such as encoding of temperature
data and using text strings where knowledge of the endpoint is required
to interpret it. My personal view is that the consuming
device/controller/application should, from the class/schema, be able to
derive what the 'type' of data or control is. I'd rather we had more
schemas....<br>
<br>
So, as Keven says in another mail, maybe what is required is a TSC lite
or Basic TSC?<br>
<br>
Lehane<br>
<br>
<br>
<br>
On 27/04/2010 14:27, Daniel Berenguer wrote:
<blockquote cite="mid:hr6oo5+1dtm@xxxxxxx"
type="cite"><span
style="display: none;">&nbsp;</span>

<div id="ygrp-text">
<p>Thanks Lehane for the feedback.<br>
<br>
Responding to your last question, I primarily use xAP for bridging
between IP and other buses. I'm currently maintaining two kind of
controllers, communicating under xAP BSC:<br>
<br>
A) Gateways: they basically pipe field bus information from 1-Wire,
Modbus, CAN, etc to xAP BSC. The gateway maintains an internal table of
endpoints so that the gateway is seen from the outside as an IO
controller with a variable amount of endpoints (up to 500 endpoints in
some cases).Working as pure mappers, these gateways are continuously
polling or listening for information on the lower bus and provide a
full BSC interface to the xAP network. Most of the low level devices
connected to these gateways are generic IO devices (multi-master or
slaves) that can be used from xAP BSC for any purpose, including
heating control or alarm signalization. Thus, I'd have expected TSC (or
any other new schema) to provide more generic mechanisms to implement
"data piping".<br>
<br>
Implementing TSC for this case would involve:<br>
<br>
- Using BSC for binary endpoints and text, TSC for analog
endpoints.<br>
- Double use of BSC and TSC for analog endpoints during the first
months as we need to provide compatibility with the existing BSC
products before their switch to TSC.<br>
- Maintain two different arrays of endpoints or merge both schemas into
a common structure.<br>
<br>
B) Main controller (opn-max, but also valid for HomeSeer or Mr.House I
guess): this device queries all available BSC endpoints in the network
in a simple manner. Then, the controller stores every endpoint
information and maintains a live copy of the BSC network in memory.
Then, users can work with this data from scripts, Web server,
etc.<br>
<br>
In both cases, data is stored in endpoint structures. The more compact
is the information stored, the more endpoints can be managed by a
single controller.<br>
<br>
xAP BSC is perfect for most of the M2M applications I think. The only
objections are IMO the level-text different management and the lack of
a "unit" field. But for the rest of features, BSC is a very good
abstract schema that lets you pipe almost any information through
UDP/IP. Because of this, I'd have preferred to work on a possible
evolution of BSC instead of switching to a new schema. I now understand
the motivations of TSC and agree in that TSC is specially suitable for
vertical "peer-to-peer" applications like heating control. There
is no
objection then, I surely was wrong about considering TSC as an
evolution (improvement) of BSC. Kevin's post about spoiling us towards
the switch to TSC didn't help either ;-)<br>
<br>
Daniel.<br>
<br>
--- In <a moz-do-not-send="true"
href="mailto:xAP_developer%40yahoogroups.com";>xAP_developer@<wbr>yahoogroups.<wbr>com</a>,
"Lehane Kellett (g8kmh)" <a
class="moz-txt-link-rfc2396E" href="mailto:g8kmh@...";>&lt;g8kmh@...&gt;</a>
wrote:<br>
&gt;<br>
&gt; My comments in the text below. Apologies for the delay.<br>
&gt; <br>
&gt; Lehane<br>
&gt; <br>
&gt; On 17/04/2010 18:08, Daniel Berenguer wrote:<br>
&gt; &gt;<br>
&gt; &gt; No comments? Come on guys! ;-)<br>
&gt; &gt;<br>
&gt; &gt; --- In <a moz-do-not-send="true"
href="mailto:xAP_developer%40yahoogroups.com";>xAP_developer@<wbr>yahoogroups.<wbr>com</a>
<br>
&gt; &gt; &lt;<a class="moz-txt-link-freetext"
href="mailto:xAP_";>mailto:xAP_</a><wbr>developer%<wbr>40yahoogroups.<wbr>com&gt;,
Daniel Berenguer <br>
&gt; &gt; &lt;dberenguer@<wbr>&gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I'm just starting to code the TSC extension for
the
opnode libxap<br>
&gt; &gt; &gt; library and have some remarks regarding the
current TSC
specs:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Question DB1: (DB is me :-))<br>
&gt; &gt; &gt; Setpoints will force us to manage at least two
values
per endpoint (a<br>
&gt; &gt; &gt; temperature value and a setpoint) and an
additional
keyword<br>
&gt; &gt; &gt; ("setpoint") in the section title.
Generic IO devices
will have to<br>
&gt; &gt; &gt; provide a way to associate an optional setpoint
to any
generic analog<br>
&gt; &gt; &gt; input, not very straightforward.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Proposal DB2:<br>
&gt; &gt; &gt; I suggest to remove the setpoint feature and
take any
real setpoint as<br>
&gt; &gt; &gt; a new endpoint. IMO, the "one value per
endpoint"
paradigm is much<br>
&gt; &gt; &gt; easier to implement in embedded devices, against
the
"multiple values<br>
&gt; &gt; &gt; per endpoint". When I say "value"
I really mean
"variable value". xAP<br>
&gt; &gt; &gt; BSC brought this problem too, where a single
endpoint
could have a<br>
&gt; &gt; &gt; value (text or level) and a binary state. We
could then
simplify<br>
&gt; &gt; &gt; things for TSC. Doing this, we'll be able to
compact
endpoint tables<br>
&gt; &gt; &gt; in memory and simplify message
parsing.<br>
&gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; I disagree with the moving of, in this case, setpoint to a
different <br>
&gt; endpoint.<br>
&gt; Indeed management of a number of values to an endpoint
doesn't<br>
&gt; seem too big an overhead. It would also create even more
divergence from<br>
&gt; BSC, something TSC is already crticised for.<br>
&gt; <br>
&gt; At the smaller end of the CPU scale the IO device probably is only
managing<br>
&gt; a temp and setpoint.<br>
&gt; <br>
&gt; &gt; &gt; Question DB2:<br>
&gt; &gt; &gt; I was expecting to deal with TSC.capability as
an
optional class, not<br>
&gt; &gt; &gt; supported in the first versions. TSC.info is IMO
a
simpler way to<br>
&gt; &gt; &gt; discover devices because it's sent periodically
whilst
TSC.capability<br>
&gt; &gt; &gt; is sent only as a response to a TSC.query with
request.capability<br>
&gt; &gt; &gt; body. Am I right? I know that TSC.capability
will
provide more<br>
&gt; &gt; &gt; detailed results than TSC.info but for most
applications
I think that<br>
&gt; &gt; &gt; infos will be more than enough. I just try to
start
things in a simple<br>
&gt; &gt; &gt; manner.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Proposal DB2:<br>
&gt; &gt; &gt; OK, assuming that we're allowed to not to
support
TSC.capability,<br>
&gt; &gt; &gt; could we maybe move the type=input/output
information to
the TSC.info<br>
&gt; &gt; &gt; body? Master applications like opn-max need to
know
whether endpoints<br>
&gt; &gt; &gt; are controllable (outputs) or not (inputs). BSC
contained this<br>
&gt; &gt; &gt; information in the section ttile. E.g:
output.state.<wbr>1,
input.state.<wbr>1.<br>
&gt; &gt; &gt; I'd suggest to follow the BSC way regarding this
too. As
result, we'd<br>
&gt; &gt; &gt; have section titles like the following ones, at
least
for TSC cmd's,<br>
&gt; &gt; &gt; events, infos and queries:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; input.humidity<br>
&gt; &gt; &gt; output.temperature (an example of setpoint, see
Question
DB2)<br>
&gt; &gt; &gt; output.level<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; instead of:<br>
&gt; &gt; &gt; event.humidity<br>
&gt; &gt; &gt; cmd.temperature<br>
&gt; &gt; &gt; info.level<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; In fact, "event", "cmd",
"info" and "query" are already
contained in<br>
&gt; &gt; &gt; the xAP class field.<br>
&gt; &gt;<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Question DB3:<br>
&gt; &gt; &gt; "unit" field is supposed to be
mandatory in TSC
commands, events and<br>
&gt; &gt; &gt; infos. I can agree in that events and infos must
contain
the unit<br>
&gt; &gt; &gt; information but, why commands? I'm thinking in
master
controllers like<br>
&gt; &gt; &gt; opn-max: A very lightweight implementation of
TSC would
force the<br>
&gt; &gt; &gt; controller to maintain the unit information in
the table
of endpoints<br>
&gt; &gt; &gt; too.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Proposal DB3:<br>
&gt; &gt; &gt; Remove "uni"t from the TSC.cmd body.
In fact, TSC.cmd's
could<br>
&gt; &gt; &gt; transport only the relevant information to be
changed in
the target<br>
&gt; &gt; &gt; device, something like xAP BSC<br>
&gt; &gt; &gt; This has a minor importance but I'd also make
unit
optional when no<br>
&gt; &gt; &gt; unit is specified (no unit field instead of
unit=arb).<br>
&gt; &gt; &gt; This proposal would abstract the source device
from the
type of data<br>
&gt; &gt; &gt; to be controlled in the target device. This
would reduce
the size of<br>
&gt; &gt; &gt; TSC commands too.<br>
&gt; &gt;<br>
&gt; The reason units was there was, for example, to change a setpoint.
<br>
&gt; Without the<br>
&gt; units it could be in Celsius or Fahrenheit. The controller doesn't
need <br>
&gt; to maintain<br>
&gt; the units as long as internally it converts to the working value.
It <br>
&gt; also only reports<br>
&gt; in whatever value it wishes. So you could send 68F and get 20C in
the info.<br>
&gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Question DB4:<br>
&gt; &gt; &gt; Why ID=* is not accepted? How can we control
multiple
endpoints in a<br>
&gt; &gt; &gt; single TSC.cmd body?<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Proposal DB4:<br>
&gt; &gt; &gt; Allow ID=*. This can be useful to reset outputs
for
example.<br>
&gt; &gt;<br>
&gt; It wasn't included as the intended consequences could be
unpredictable with<br>
&gt; the complexity of TSC. I think if we go with this it will require
some<br>
&gt; clarity of documentation as to how it can be used but this is
doable.<br>
&gt; <br>
&gt; In what context do you see this working?<br>
&gt; <br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Question DB5:<br>
&gt; &gt; &gt; According to the TSC draft, counters are a
special case
where inbound<br>
&gt; &gt; &gt; commands produce outbound infos. This will force
us to
treat counters<br>
&gt; &gt; &gt; apart, not as any other endpoint.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Proposal DB5:<br>
&gt; &gt; &gt; We should keep here the command-&gt;event /
query-&gt;info mechanism too,<br>
&gt; &gt; &gt; similar to xAP BSC. Thus, reseting a counter
will proce
a TSC event,<br>
&gt; &gt; &gt; not an info.<br>
&gt; &gt;<br>
&gt; Yes, this should be changed.<br>
&gt; <br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Question DB6:<br>
&gt; &gt; &gt; For real alarms, is the alarm body
mandatory?<br>
&gt; &gt; &gt; Is the capability class mandatory?<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Proposal DB6:<br>
&gt; &gt; &gt; Make any body other than cmd, event and info
optional.
This will allow<br>
&gt; &gt; &gt; lightweight implementations of TSC (very
important for
the first<br>
&gt; &gt; &gt; adoption stages). Again, this will compact
messages in
simple<br>
&gt; &gt; &gt; implementations (embedded
controllers)<wbr>.<br>
&gt; &gt;<br>
&gt; Currently, yes for alarms but it could be changed I guess.
Normally <br>
&gt; you'd want to<br>
&gt; know the current process value (temperature, etc) when the alarm
is <br>
&gt; triggered...<wbr>.<br>
&gt; <br>
&gt; Capability could be made optional but I think some more thought
would be <br>
&gt; needed<br>
&gt; around how devices advertise their features.<br>
&gt; <br>
&gt; The aim of TSC wasn't about simplicity but to be comprehensive
and, yes,<br>
&gt; endpoints in themselves would be more complex to code than BSC but
typically<br>
&gt; an embedded device only has a few endpoints.<br>
&gt; <br>
&gt; I guess the question around controllers is whether they aim to be
<br>
&gt; multipurpose and<br>
&gt; so control many (tens, hundreds) TSC devices/endpoints - in which
case I <br>
&gt; don't believe<br>
&gt; embedded systems are they way to go (though some recent devices
have more<br>
&gt; power and RAM than my first PC!) - or single purpose, like a
heating <br>
&gt; system controller -<br>
&gt; in which case embedded would be fine.<br>
&gt; <br>
&gt; <br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; As you see, most of my questions/proposals are
aimed to
make xAP TSC<br>
&gt; &gt; &gt; more compact, simpler to implement and more
similar to
BSC. This will<br>
&gt; &gt; &gt; definitely simplify its adoption, at least in
embedded
devices, and<br>
&gt; &gt; &gt; will make TSC and BSC more
cohabitable.<br>
&gt; &gt;<br>
&gt; Daneil,<br>
&gt; Can you expand on the kind of devices you envisage a problem with?
Maybe my<br>
&gt; view is that a simple device, like a thermostat, has one or two
sensors <br>
&gt; (temp/RH)<br>
&gt; and is a single endpoint. Or a watt/hour meter, maybe two
endpoints. And TSC<br>
&gt; and BSC can co-exist, with some additional coding complexity
agreed.<br>
&gt; <br>
&gt; I didn't envisage a simple controller doing both and perhaps
that's what you<br>
&gt; are aiming for.<br>
&gt; <br>
&gt; Lehane<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Thanks for your time,<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; --<br>
&gt; &gt; &gt; Daniel Berenguer<br>
&gt; &gt; &gt; <a moz-do-not-send="true"
href="http://www.usapiens.com";>http://www.usapiens<wbr>.com</a>
&lt;<a moz-do-not-send="true" href="http://www.usapiens.com";>http://www.usapiens<wbr>.com</a>&gt;<br>
&gt; &gt; &gt; <a moz-do-not-send="true"
href="http://www.opnode.org";>http://www.opnode.<wbr>org</a>
&lt;<a moz-do-not-send="true" href="http://www.opnode.org";>http://www.opnode.<wbr>org</a>&gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt;<br>
<br>
</p>
</div>


<!-- end group email --></blockquote>
<br>




<!-- **begin egp html banner** -->

<br>



<br>

<!-- **end egp html banner** -->


<div width="1" style="color: white; clear:
both;"/>__._,_.___</div>

<!-- Start Recommendations -->
<!-- End Recommendations -->



<!-- **begin egp html banner** -->

<img src="http://geo.yahoo.com/serv?s=97476590/grpId=9629476/grpspId=1705007709/msgId=2146/stime=1272442558";
width="1" height="1"> <br>

<!-- **end egp html banner** -->


<!-- **begin egp html banner** -->

<br>
<div style="font-family: verdana; font-size: 77%; border-top: 1px
solid #666; padding: 5px 0;" >
Your email settings: Individual EmailTraditional <br>
<a href="http://groups.yahoo.com/group/xAP_developer/join;_ylc=X3oDMTJmY3FjdHU3BF9TAzk3NDc2NTkwBGdycElkAzk2Mjk0NzYEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzEyNzI0NDI1NTg-";>Change
settings via the Web</a> (Yahoo! ID required) <br>
Change settings via email: <a href="mailto:xAP_developer-digest@xxxxxxx?subject=Email
Delivery: Digest">Switch delivery to Daily Digest</a>  <a
href = "mailto:xAP_developer-fullfeatured@xxxxxxx?subject=Change
Delivery Format: Fully Featured">Switch to Fully Featured</a>
<br>
<a href="http://groups.yahoo.com/group/xAP_developer;_ylc=X3oDMTJkdDdzN2I3BF9TAzk3NDc2NTkwBGdycElkAzk2Mjk0NzYEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMjcyNDQyNTU4";>
Visit Your Group
</a>
<a href="http://docs.yahoo.com/info/terms/";>
Yahoo! Groups Terms of Use
</a>
<a href="mailto:xAP_developer-unsubscribe@xxxxxxx?subject=Unsubscribe";>
Unsubscribe
</a>
<br>
</div>
<br>

<!-- **end egp html banner** -->


<div style="color: white; clear:
both;"/>__,_._,___</div>
</body>
</html>

--------------080308020005060804010909--

xAP_Development Main Index | xAP_Development Thread Index | xAP_Development Home | Archives Home

Comments to the Webmaster are always welcomed, please use this contact form . Note that as this site is a mailing list archive, the Webmaster has no control over the contents of the messages. Comments about message content should be directed to the relevant mailing list.