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: BSC and OneWire] + X10 mapping




------=_NextPart_000_0077_01C4D3BB.B14C9DF0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

If "application" refers to a process thread then there will be 16
processes=
trying to share a serial connection with something like a CM12U.  This see=
ms like a step in the wrong complexity direction.=20=20=20

If "application" is simply terminology then one UDP port will
have 16 xap s=
ource addresses.  I had made the assumption in my xapProcess node, as well
=
in my general redundancy management approach that there is a one-to-one
rel=
ationship between an xap application, xap source address, and a windows
pro=
cess thread.  I guess this was not a good assumption.  It also seems to
add=
some ill-effects to routing nodes such as a hub that will want to route to=
16 applications based upon 16 heartbeats.  If the CM12U connector only sen=
ds one heartbeat for all 16 applications to make the hub happy, then
failur=
e monitoring nodes will get confused with an application responding, yet
no=
heartbeats being generated.

The Homeseer device model of status, value, and string are mix and match
an=
d none are required.  House codes A through P will use the status
property.=
Other house codes will use only the value property or only the string, or=
some combination of all three.  While I understand that I can make-up uses=
for a device state in a BSC message, the fact that it is required by the s=
chema implies that it has a well-defined meaning.  This is especially true
=
since it is the only required body entry. It fits for binary devices, but
w=
hy impose an artificial/misleading message on analog devices?

I went through the implementation of using the source address flag to
ident=
ify a message for which data collection should be perfomred.  This works
fo=
r cases where the source only sends BSC messages that want to be recorded,
=
but falls apart when something like my Homeseer pluign wants to provide a
c=
ombination of recorded and unrecorded BSC messages.  I  had played with
cha=
nging the source address dynamically based upon the message recordability,
=
but backed off after butting up against the issues similiar to what I
discu=
ssed above on the CM12U connector implementation.  It looks like the most
v=
iable way it to include the record request as part of the message body if
B=
SC is to be used.
----- Original Message -----=20
From: Kevin Hawkins=20
To: xAP_developer@xxxxxxx=20
Sent: Friday, November 26, 2004 11:58 AM
Subject: Re: [xAP_developer] BSC and OneWire] + X10 mapping


Michael McSharry wrote:

> What are those doing BSC for the X10 interface adapters doing to
map=20
> the 255 BSC codes into the 256 X10 codes?

The approach has been to divide the application into 16 individual=20
applications each with the 16 sub ID's -a ctually it can be more as=20
applications like HomeSeer use virtual devices beyond 16  eg=20=20=20
ACME.X10.location.B:Lounge    equiv to FF11110B   and perhpas=20
ACME.X10.location.A:HallLamp equiv to FF111004

We are discussing expanding the length of the UID for exactly this reason

>=20=20
> The sensors discovered on the 1-wire will change over time and the=20
> interface to which they are connected will change as well.  I
expect=20
> to make the UID autogenerated based upon its discovery sequence. 
This=
=20
> means that on any given session a particular sensor's UID will=20
> change.  In my applications that actually use the senor reading,
they=20
> will only use the ID, channel, and type/application fields from the=20
> source address to uniquely identify the sensor.  Other applications=20
> that use the UID for identification will become confused.  Is it
the=20
> case the BSC should only be used for a static environment and not
for=20
> one such as this which is dynamic?

Really xAP uses the source address line and not the UID for=20
identification of devices - it is true that a receiver could look for a=20
UID as a match but I dont think it happens in practice. It would be nice=
=20
to have persistance of UID's matched wth names though and xAP was=20
originally conceived with this in mind.

>=20=20
> For example assume a configuration of two xap 1-wire interface=20
> nodes. Each of these nodes will have a different base UID.  A
1-wire=20
> sensor has a unique 16 character hardware ID.  When this sensor is=20
> connected to one of the two xap interface nodes then the UID will
be=20
> the composite of the base UID of the node and a mapping of the 16=20
> characters into two hex digits.  If this sensor is moved from the=20
> first xap interface node to the second, then the UID will
change.=20=20
> Same sensor, but a different UID because the UID contains=20
> both interface information and sensor information.
>=20=20
> The BSC schema requires a State property which tends to imply that
a=20
> BSC device should be able to take on multiple states.  This makes=20
> sense for Binary devices, but it does not for Level and Stream
devices=
=20
> that also do not have a State.  What does it mean for a speed
sensor=20
> to be ON or is OFF?  What is the rationale for the schema's=20
> requirement for a device to have a State property?

Some Level devices do have a use for STATE for example a light can be at=
=20
level 50% but ON or OFF - if it is off and then turned ON it would come=20
on at 50% - so the level is like a stored level for the device.  X10=20
breaks this and comes on at 100% of course ! (but that would be apparent=
=20
from teh content of the  .event that would be sent)  You can choose to=20
apply what interpretation you want to this STATE value - for example a=20
thermostat could use a TEXT BSC device to report 34.5 degrees and state=20
of ON/OFF could be applied to the call for heat. However I would=20
recommend a different schema for this. Perhpas a Text device showing the=
=20
last share price for Microsoft could use ON /OFF to show the feed data=20
it was watching was still active - eg an internet source. If you dont=20
have a use for it leave it set as one or the other.   Some of this comes=
=20
from the fact that HomeSeers state model is based around keeping an=20
ONOFF value and a level and indeed a TEXT (display) vlaue for all=20
devices eg so it can say HIGH  LOW instead of ONOFF. hence our=20
DisplayText parameter to allow such labeling.

Kevin


>=20=20
>
>     ----- Original Message -----
>     *From:* Kevin Hawkins <mailto:lists@xxxxxxx>
>     *To:* xAP_developer@xxxxxxx
>     <mailto:xAP_developer@xxxxxxx>
>     *Sent:* Wednesday, November 24, 2004 3:46 PM
>     *Subject:* [Fwd: Re: [xAP_developer] BSC and OneWire]
>
>
>     Hi Michael,
>
>        Wouldn't it be possible to group all your 1-wire devices by a
>     level
>     within the source address (not the sub address) to achieve this
>     and then
>     just filter on the source
>
>     eg setup a filter for  *.*.*.1wire:>     or something  ??
>
>     mcs.Sensor.Lounge.1wire:temp.outside
>
>        If not then there is an allowance within the spec that says
that
>     unexpected key name/values within the header or bodies should be
>     gracefully ignored. This allows for you to add your own key values
>     into
>     a header of an existing schema without breaking  the existing
schem=
a
>     parsers.  So you could add a 'type=3D1wire' value into a BSC body.
=
We
>     generally discourage this because it pollutes the purity of the
>     message
>     but it is permitted.  We used it to allow for experimentation in
th=
e
>     header and in that instance we recommended people use key names of
>     Test00  to Test99 and made people aware (via this list) of what
>     interpretation they were putting on these names to test any new
>     features
>     that people might wish to see suggested as enhancements to xAP.=20
>     So far
>     we haven't seen much, if any need to use this, the only one I can
>     think
>     of is that it has been used for xAP groups and scenes but a neater
>     solution was settled upon. The risk is that should you elect to
use=
a
>     keyname that coincidently later became part of the official schema
>     then
>     you would need to change it as it wouldn't comply with teh
>     official spec
>     and BSC is an official 'xAP' spec (xAPBSC). Hence in existing
>     schemas a
>     slightly obsure naming is probably a wise precaution eg dtype=3D
or
>     something.
>
>       Likewise if you wanted to add your own extra custom blocks you
>     could
>     within an existing schema (I think??) - they should just be
>     ignored and
>     not cause errors .
>
>        One problem is that this aspect of the spec was overlooked by
>     several early apps so you might find that (certainly with extra
pai=
rs
>     within the header) errors are thrown by a hub or something. and
the
>     message is dropped as being 'non conformant'. This is a know issue
>     and
>     on the 'to do' list I believe - but as no-one uses this currently
i=
t
>     hasn't been a high priority issue. Keynames of Test00 to Test99
are
>     passed OK in the headers in current hubs AIUI.
>
>        Kevin
>
>
>     Michael McSharry wrote:
>
>     > I have a set of Dallas 1-wire networks running under xap
using th=
e
>     > OneWire schema I proposed about 6 months ago and am
considering
>     BSC,
>     > but I have a dilema with respect to my xapDataCollection
node.  I=
t
>     > captures all messages on the OneWire schema, but I do not
want
>     it to
>     > capture all BSC messages of which the 1-wire sensor messages
>     would be
>     > a subset.  I've considered adding a flag as part of the
source
>     > subaddress field so the transmitter can identify the sensor
>     value to
>     > be recordable.  I've also considered adding an additional key
to
>     the
>     > Info and Event BSC message for this purpose.  My least
favorite
>     choice
>     > it to put a GUI interface on xapDataCollection where
individual
>     > messages can be selected for recording.  I really want the
>     > recordability knowledge to exist at the source rather than at
the
>     > target.  The easiest solution is to just leave
well-enough-alone
>     and
>     > not break something that is already working.
>     >=20
>     > Is there a preferred technique to handle this general class
of
>     problem
>     > where the source wants to convey information as part of the
>     message,
>     > but the schema does not directly support such a capability?
>     >=20
>     >
>
>
>
>     *Yahoo! Groups Sponsor*
>     ADVERTISEMENT
>     click here
>     <http://us.ard.yahoo.com/SIG=3D1295h73up/M=3D298184.5639630.6699735=
.3001176/D=3Dgroups/S=3D1705007709:HM/EXP=3D1101575730/A=3D2434970/R=3D0/SI=
G=3D11edksnhv/*http://www.netflix.com/Default?mqso=3D60185402>
>
>
>
>    
-------------------------------------------------------------------=
-----
>     *Yahoo! Groups Links*
>
>         * To visit your group on the web, go to:
>           http://groups.yahoo.com/group/xAP_developer/
>=20=20=20=20=20=20=20=20=20=20=20=20
>         * To unsubscribe from this group, send an email to:
>           xAP_developer-unsubscribe@xxxxxxx
>           <mailto:xAP_developer-unsubscribe@xxxxxxx?subject=3DU=
nsubscribe>
>=20=20=20=20=20=20=20=20=20=20=20=20
>         * Your use of Yahoo! Groups is subject to the Yahoo! Terms of
>           Service <http://docs.yahoo.com/info/terms/>.
>
>



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.