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: Addressing vs Commands



The X10 schema was one of the very first ones ever created and has certain
weaknesses - inparticular the fact that device address is carried within
the body of the message*.  The schema remains really for legacy support.

There are newer schema and applications that support X10 - for example the
xAP X10 conduit available here

http://www.erspearson.com/xAP/X10/x10_main.htm

This uses the xAP BSC schema instead and the device code of say L1 can be
appended at the end of the source address or indeed (and recommended) it
can be replaced by something more readable eg 'Hallway'.

BTW In your comments below the source address could not be
target=rocket.cm12u.L1
because that address is a whole 'device' address and not an endpoint (L1)
within that device (because there is no sub address portion).

The second address suggestion
target=rocket.cm12u.home:L1
is more appropriate and is a sub address as the endpoint identifier is to
the right of the :
Also the UID that this endpoint presented would not end in 00 as it needs
to have a unique number that pairs with L1.
However this is so similar to BSC that in fact Edward implemented X10 using
BSC - which also has the benefit that other devices can be easily
substituted should you later replace your X10 with something else.

target=>:Hallway

K

* This practice of using a parameter within the body of a message to
determine which endpoint within a device you are addressing (context) is
not recommended.  It leads to much difficulty and confusion in identifying
the particular endpoint being addressed, especially if the schema being
used is not recognised. Context parameters as we call them are not
forbidden - but best avoided if possible.  xAP includes sub addressing
specifically to address this issue,and that is a significant benefit over
say xPL.

Kevin



--- In xAP_developer@xxxxxxx, Jerome Kerdreux <jerome.kerdreux@...>
wrote:
>
>
> Hi, all
>
>
> I'm currently trying to write a new Java API for xAP (more Java
orented).
> I'm wondering about the way xAP use command instead of address.
>
> While reading the X10 doc, I discovered that sending an On/Off to a
> single lamp take the form :
>
> xap-header
> {
> v=12
> hop=1
> uid=FF123400
> class=xap-x10.request
> source=acme.my.controller
> target=rocket.cm12u.home
> }
> xap-x10.request
> {
> command=on
> device=L1
> }
>
> I'm wondering why the device address is not L1 ... I mean something
> like this:
>
> xap-header
> {
> v=12
> hop=1
> uid=FF123400
> class=xap-x10.request
> source=acme.my.controller
> target=rocket.cm12u.L1
> }
> xap-x10.request
> {
> command=on
> }
>
>
> or target=rocket.cm12u.home:L1
>
> I understand that xAP is gateway centric and you send message to the
> gateway directly .. but by this way the gateway can't announce the
> "embeded devices" ..
>
> I mean the way X10 schema works right now, mean you can't use xAP by
> this way :
> - configure the gateway (here the xap-X10) with the embedded devices
>   (lamp, switches etc etc .. )
> - look thought the HB packet to discover devices (lamps, switches..)
> - build an IHM with the discovered device.
>
> So each time, you want to use another controller (A web interface, a
> IR, or an Android APP) you must configure it for each device, and that
> sucks no ?
>
> I maybe missed something ?
>
>
> Thanks for any help. Bye.
> --
> Jerome Kerdreux <Jerome.Kerdreux@...>
>




------------------------------------


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.