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



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

Hi Daniel,
I must have missed the original post. I'm busy over this weekend but
I'll read and respond on Monday.

Regards,
Lehane


Daniel Berenguer wrote:
>
>
> No comments? Come on guys! ;-)
>
> --- In xAP_developer@xxxxxxx
> <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.
> >
> > 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.
> >
> > 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.
> >
> > 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.
> >
> > 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).
> >
> > 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.
> >
> > Thanks for your time,
> >
> > --
> > Daniel Berenguer
> > http://www.usapiens.com <http://www.usapiens.com>
> > http://www.opnode.org <http://www.opnode.org>
> >
>
>


--------------020301000307050503040607
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">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">


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

<br><br>

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



Hi Daniel,<br>
I must have missed the original post. I'm busy over this weekend but
I'll read and respond on Monday.<br>
<br>
Regards,<br>
Lehane<br>
<br>
<br>
Daniel Berenguer wrote:
<blockquote cite="mid:hqcpti+9qvm@xxxxxxx"
type="cite"><span
style="display: none;">&nbsp;</span>

<div id="ygrp-text">
<p>No comments? Come on guys! ;-)<br>
<br>
--- In <a moz-do-not-send="true"
href="mailto:xAP_developer%40yahoogroups.com";>xAP_developer@<wbr>yahoogroups.<wbr>com</a>,
Daniel Berenguer &lt;dberenguer@<wbr>...&gt; wrote:<br>
&gt;<br>
&gt; I'm just starting to code the TSC extension for the opnode
libxap<br>
&gt; library and have some remarks regarding the current TSC
specs:<br>
&gt; <br>
&gt; Question DB1: (DB is me :-))<br>
&gt; Setpoints will force us to manage at least two values per endpoint
(a<br>
&gt; temperature value and a setpoint) and an additional
keyword<br>
&gt; ("setpoint") in the section title. Generic IO devices
will have to<br>
&gt; provide a way to associate an optional setpoint to any generic
analog<br>
&gt; input, not very straightforward.<br>
&gt; <br>
&gt; Proposal DB2:<br>
&gt; I suggest to remove the setpoint feature and take any real
setpoint as<br>
&gt; a new endpoint. IMO, the "one value per endpoint"
paradigm is much<br>
&gt; easier to implement in embedded devices, against the
"multiple
values<br>
&gt; per endpoint". When I say "value" I really mean
"variable value".
xAP<br>
&gt; BSC brought this problem too, where a single endpoint could have
a<br>
&gt; value (text or level) and a binary state. We could then
simplify<br>
&gt; things for TSC. Doing this, we'll be able to compact endpoint
tables<br>
&gt; in memory and simplify message parsing.<br>
&gt; <br>
&gt; Question DB2:<br>
&gt; I was expecting to deal with TSC.capability as an optional class,
not<br>
&gt; supported in the first versions. TSC.info is IMO a simpler way
to<br>
&gt; discover devices because it's sent periodically whilst
TSC.capability<br>
&gt; is sent only as a response to a TSC.query with
request.capability<br>
&gt; body. Am I right? I know that TSC.capability will provide
more<br>
&gt; detailed results than TSC.info but for most applications I think
that<br>
&gt; infos will be more than enough. I just try to start things in a
simple<br>
&gt; manner.<br>
&gt; <br>
&gt; Proposal DB2:<br>
&gt; OK, assuming that we're allowed to not to support
TSC.capability,<br>
&gt; could we maybe move the type=input/output information to the
TSC.info<br>
&gt; body? Master applications like opn-max need to know whether
endpoints<br>
&gt; are controllable (outputs) or not (inputs). BSC contained
this<br>
&gt; information in the section ttile. E.g: output.state.<wbr>1,
input.state.<wbr>1.<br>
&gt; I'd suggest to follow the BSC way regarding this too. As result,
we'd<br>
&gt; have section titles like the following ones, at least for TSC
cmd's,<br>
&gt; events, infos and queries:<br>
&gt; <br>
&gt; input.humidity<br>
&gt; output.temperature (an example of setpoint, see Question
DB2)<br>
&gt; output.level<br>
&gt; <br>
&gt; instead of:<br>
&gt; event.humidity<br>
&gt; cmd.temperature<br>
&gt; info.level<br>
&gt; <br>
&gt; In fact, "event", "cmd", "info" and
"query" are already contained
in<br>
&gt; the xAP class field.<br>
&gt; <br>
&gt; Question DB3:<br>
&gt; "unit" field is supposed to be mandatory in TSC
commands, events
and<br>
&gt; infos. I can agree in that events and infos must contain the
unit<br>
&gt; information but, why commands? I'm thinking in master controllers
like<br>
&gt; opn-max: A very lightweight implementation of TSC would force
the<br>
&gt; controller to maintain the unit information in the table of
endpoints<br>
&gt; too.<br>
&gt; <br>
&gt; Proposal DB3:<br>
&gt; Remove "uni"t from the TSC.cmd body. In fact, TSC.cmd's
could<br>
&gt; transport only the relevant information to be changed in the
target<br>
&gt; device, something like xAP BSC<br>
&gt; This has a minor importance but I'd also make unit optional when
no<br>
&gt; unit is specified (no unit field instead of unit=arb).<br>
&gt; This proposal would abstract the source device from the type of
data<br>
&gt; to be controlled in the target device. This would reduce the size
of<br>
&gt; TSC commands too.<br>
&gt; <br>
&gt; Question DB4:<br>
&gt; Why ID=* is not accepted? How can we control multiple endpoints in
a<br>
&gt; single TSC.cmd body?<br>
&gt; <br>
&gt; Proposal DB4:<br>
&gt; Allow ID=*. This can be useful to reset outputs for
example.<br>
&gt; <br>
&gt; Question DB5:<br>
&gt; According to the TSC draft, counters are a special case where
inbound<br>
&gt; commands produce outbound infos. This will force us to treat
counters<br>
&gt; apart, not as any other endpoint.<br>
&gt; <br>
&gt; Proposal DB5:<br>
&gt; We should keep here the command-&gt;event / query-&gt;info
mechanism too,<br>
&gt; similar to xAP BSC. Thus, reseting a counter will proce a TSC
event,<br>
&gt; not an info.<br>
&gt; <br>
&gt; Question DB6:<br>
&gt; For real alarms, is the alarm body mandatory?<br>
&gt; Is the capability class mandatory?<br>
&gt; <br>
&gt; Proposal DB6:<br>
&gt; Make any body other than cmd, event and info optional. This will
allow<br>
&gt; lightweight implementations of TSC (very important for the
first<br>
&gt; adoption stages). Again, this will compact messages in
simple<br>
&gt; implementations (embedded controllers)<wbr>.<br>
&gt; <br>
&gt; As you see, most of my questions/proposals are aimed to make xAP
TSC<br>
&gt; more compact, simpler to implement and more similar to BSC. This
will<br>
&gt; definitely simplify its adoption, at least in embedded devices,
and<br>
&gt; will make TSC and BSC more cohabitable.<br>
&gt; <br>
&gt; Thanks for your time,<br>
&gt; <br>
&gt; -- <br>
&gt; Daniel Berenguer<br>
&gt; <a moz-do-not-send="true" href="http://www.usapiens.com";>http://www.usapiens<wbr>.com</a><br>
&gt; <a moz-do-not-send="true" href="http://www.opnode.org";>http://www.opnode.<wbr>org</a><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=2122/stime=1271525666";
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=X3oDMTJmaDlqZjFuBF9TAzk3NDc2NTkwBGdycElkAzk2Mjk0NzYEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzEyNzE1MjU2NjY-";>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=X3oDMTJkN2NndW50BF9TAzk3NDc2NTkwBGdycElkAzk2Mjk0NzYEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMjcxNTI1NjY2";>
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>

--------------020301000307050503040607--

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.