Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
livebox:hah_plugboard_v2 [2012/05/12 19:07] – [Basics] minerva9 | livebox:hah_plugboard_v2 [2013/12/27 04:08] – [Select] brett | ||
---|---|---|---|
Line 70: | Line 70: | ||
===== Basics ===== | ===== Basics ===== | ||
- | The first thing to note is that using the plugboard generally takes a little personal effort. There are sample scripts available to help get you going, but it is assumed that you can prepare a script, get it onto the HAH and run it. Being familiar with tools such as FTP & vi, together with a basic knowledge of some Unix commands will make your work with the plugboard a lot easier. Familiarity of how [[http:// | + | The first thing to note is that using the plugboard generally takes a little personal effort. There are sample scripts available to help get you going, but it is assumed that you can prepare a script, get it onto the HAH and run it. Being familiar with tools such as FTP & vi, together with a basic knowledge of some Unix commands will make your work with the plugboard a lot easier. Familiarity of how [[http:// |
There are only two calls that are needed to build an xAP Lua application. | There are only two calls that are needed to build an xAP Lua application. | ||
^^ **Return Type** ^^ **Method** ^^ **Description** ^^ | ^^ **Return Type** ^^ **Method** ^^ **Description** ^^ | ||
- | || void|| xap.init(source, | + | || void|| xap.init(source, |
+ | || void|| xap.init{vendorid=, | ||
|| void|| xap.process() || Enter the xAP processing loop || | || void|| xap.process() || Enter the xAP processing loop || | ||
|| void|| xap.send(msg) || Send RAW data on the well known xAP UDP port 3639 || | || void|| xap.send(msg) || Send RAW data on the well known xAP UDP port 3639 || | ||
|| String || xap.expandShortMsg(msg) || Inject/ | || String || xap.expandShortMsg(msg) || Inject/ | ||
|| void|| xap.sendShort(msg) || A shortcut for send(expandShortMsg(msg)) || | || void|| xap.sendShort(msg) || A shortcut for send(expandShortMsg(msg)) || | ||
+ | || String || xap.buildXapAdddress{vendorid=, | ||
+ | || String || xap.getDeviceID() || Returns the resolved deviceid, either hostname or / | ||
In its most simplistic form a basic application would look like this; It wouldn' | In its most simplistic form a basic application would look like this; It wouldn' | ||
Line 85: | Line 88: | ||
<code lua> | <code lua> | ||
require(" | require(" | ||
- | xap.init("dbzoo.lua.simple"," | + | xap.init{instance=" |
xap.process() | xap.process() | ||
</ | </ | ||
Line 185: | Line 188: | ||
The constructor can also accept a set of filter patterns directly; these are equivalent. | The constructor can also accept a set of filter patterns directly; these are equivalent. | ||
- | < | + | < |
filter = xap.Filter() | filter = xap.Filter() | ||
filter: | filter: | ||
Line 226: | Line 229: | ||
end | end | ||
- | xap.init("dbzoo.lua.test"," | + | xap.init{instance=" |
f = xap.Filter() | f = xap.Filter() | ||
f: | f: | ||
Line 317: | Line 320: | ||
end | end | ||
- | xap.init("dbzoo.lua.socket"," | + | xap.init{instance=" |
print(" | print(" | ||
Line 381: | Line 384: | ||
More about the Endpoint(table) constructor. | More about the Endpoint(table) constructor. | ||
- | **name**: | + | **name** : Append |
+ | |||
+ | **instance**: | ||
**direction**: | **direction**: | ||
Line 404: | Line 409: | ||
**displaytext** An additional parameter that may be include in an EVENT of INFO message, configurable with a infoEventCB callback function. | **displaytext** An additional parameter that may be include in an EVENT of INFO message, configurable with a infoEventCB callback function. | ||
- | |||
- | **source** The fully qualified target endpoint name. Such as dbzoo.livebox.plugboard: | ||
**uid** UID key. If nothing is provide one will be automatically assigned based on the order of BSC endpoints created so far. | **uid** UID key. If nothing is provide one will be automatically assigned based on the order of BSC endpoints created so far. | ||
Line 427: | Line 430: | ||
end | end | ||
- | xap.init("dbzoo.livebox.test"," | + | xap.init{instance=" |
+ | -- Form 1 : Constructed using the xAP address from xap.init() | ||
+ | -- creates -> dbzoo.livebox.test: | ||
bsc.Endpoint{name=" | bsc.Endpoint{name=" | ||
bsc.Endpoint{name=" | bsc.Endpoint{name=" | ||
bsc.Endpoint{name=" | bsc.Endpoint{name=" | ||
+ | |||
+ | -- Form 2 : vendorid and deviceid default, remaining from instance is appended | ||
+ | -- creates -> dbzoo.livebox.my: | ||
+ | bsc.Endpoint{instance=" | ||
+ | |||
+ | -- Form 3 : vendorid defaults, override deviceid. | ||
+ | -- creates -> dbzoo.test.my: | ||
+ | bsc.Endpoint{deviceid=" | ||
+ | |||
+ | -- Form 4 : full override all keys | ||
+ | -- creates -> hello.test.my: | ||
+ | bsc.Endpoint{vendorid=" | ||
+ | |||
+ | -- Form 5 : Shorter way of doing form 4. | ||
+ | -- creates -> helloworld.test.my: | ||
+ | bsc.Endpoint{source=" | ||
xap.process() | xap.process() | ||
Line 459: | Line 480: | ||
function init() | function init() | ||
- | local e = bsc.Endpoint{source="dbzoo.livebox.Plugboard: | + | |
+ | | ||
xap.Timer(update, | xap.Timer(update, | ||
end | end | ||
Line 503: | Line 525: | ||
require(" | require(" | ||
- | xap.init("dbzoo.livebox.test"," | + | xap.init{instance=" |
bsc.sendState(" | bsc.sendState(" | ||
Line 556: | Line 578: | ||
end | end | ||
- | xap.init("dbzoo.lua.example"," | + | xap.init{instance=" |
init() | init() | ||
xap.process() | xap.process() |