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]

UID, Source and Heartbeat Questions


  • Subject: UID, Source and Heartbeat Questions
  • From: "twitty_davis" <mick@xxxxxxxxxxxx>
  • Date: Wed, 12 Mar 2008 14:24:25 -0000

Hi,

Forgive me if I'm asking questions that have been answered somewhere
else, I did search...

I have a few basic questions about the UID, source elements and
heartbeats.

The spec seems geared towards embedding xAP with a hardware device.
I'm creating software and I'm not sure how to go about assignment of
UIDs and sources.  I know that there are changes coming with the 1.3
spec, but I don't think that they materially affect the questions.  I
just want to make sure that I conform to whatever everyone else is
doing or expects.

I'm using a totally custom xAP stack and custom applications, all of
which is written in Ruby, for those who are interested.  I would
appreciate feedback and any suggestions as they relate to either the
library or apps.

1) Since I'm developing software that will interface with a hardware
device and send and/or receive xAP messages, the software could be
deployed anywhere, the only thing I know is what kind of hardware it
is intended to interface with.  All of my xAP Apps have a
configuration file that allows the user to set the UID.  Currently I'm
not really doing anything with it other than including it in my
messages.  Should I be doing anything with it?  Perhaps validating and
only processing messages that start with FF?  Should I try to do
anything to control the sub-address?

2) Regarding the source element - here I'm also allowing the user to
define the source in a config file.  Currently I'm not doing anything
to enforce anything here either.  Since I know that I'm the vendor and
what the intended device is, should I only allow the user to define
the instance and sub-address part of the source?  That seems logical.
Is there a standard for this?

3) Heartbeats - I understand the purpose of heartbeats and how they
relate to the apps that are representing hardware devices, but I'm not
sure about the applicability to some other types of apps.  My overall
system architecture consists of a bunch of small xAP apps that send or
receive messages, with a centralized controller or processor that
listens for xAP messages, takes action upon them and could generate
xAP messages.  It could also generate xAP messages as a result of
other actions not related to receiving a xAP message.  For example it
receives caller id message, looks up a friendly name in a database and
sends a speech message.  Or it receives a trigger from an event
scheduler or human interaction and sends a xAP message.  Should my
controller send heartbeats?  It uses heartbeats to "inventory"
devices, but I'm not sure that it should send them, it's not
representing a piece of hardware that can be removed or lock up or
otherwise disappear.

I based my Ruby library's functionality primarily on the Java library
that I believe Patrick created, if not forgive me, but it was a
relatively straight forward library.  It's been several years since I
looked at it so I don't know if it's still available or if it's been
enhanced.  But from some of the messages on these groups I get the
impression that
other libraries do quite a bit more than the message handling.  Is
there any consensus on what a library should do?  My Ruby library does
a few more things than the Java one, it has actual classes to support
the different message schemas, but doesn't go any further than that
and handling the sending/receiving via ethernet.

Thoughts would be appreciated!

Thanks.

Mick Davis





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.