livebox:xap_adapter

This is an old revision of the document!


xAP Adapter

This daemon, also called xap-livebox, interfaces the external AVR HARDWARE on the serial port with the xAP control protocol.

# xap-livebox --help

Livebox Connector for xAP v12
Copyright (C) DBzoo, 2008,2009

xap-livebox: [options]
  -n, --instance NAME    Default Controller
  -i, --interface IF     Default br0
  -p, --port NUM         Default 3639
  -s, --serial DEV       Default /dev/ttyS0
  -d, --debug            0-9
  -h, --help
#

We use the WINDOWS .ini file format to store all our configuration parameters

There are several sections in the /etc/xap-livebox.ini which are use to control and configure its runtime behaviour.

The webserver interacts with this daemon by using an internal (127.0.0.1) socket connection on port 79. This allows each component to be restarted independently of the other. If the web server fails to communicate with the xap-livebox daemon you will see the message “Could not connect” being displayed on the webserver. If this occurs, verify that the xap-livebox process is running.

[1-Wire]
# Up to 15x 1-wire devices may be supported increasing the number
# beyond what you have attached simply presents more xAP endpoints than
# you have devices for.
devices=1
sensor1.label=Office

Each sensor can be given a label using the nomenclature “sensor#.label=<your label>”. These are best setup using the WEB interface but can be done manually too. The assigned label will be included in the xAP message that is generated when the temperature changes. The 'displaytext' tag will have the format 'displaytext=<label> <temperature>' e.g. displaytext=Inside 21.0

The RF sections contains the pulse codes that are loaded into the EEPROM of the MEGA8 chip to control the RF transmitter. As the HAH boots up, these codes are sent to the MEGA8. However, the EEPROM is only written to if the code presented is different from the one already stored. This reduces the 'wear' on the EEPROM.

Details regarding the format of the hex strings can be found here

Note that the codes shown below are for the Lidl Rf Mains sockets. If you plan to use BBSB sockets, you will need to use our little Rf code generator program to prepare the correct strings for the .ini file (and you will also need the Mega8 microcontroller that is programmed for use with BBSB).

[rf]
# Up to 12 RF channels may be defined.
devices=4
rf1.off=4D2AAAAAAA80
rf1.on=4D2AAAAB2B00
rf2.off=4D2AAACAAC80
rf2.on=4D2AAACB2D00
rf3.off=4D2AAAB2AB00
rf3.on=4D2AAAB32A80
rf4.off=4D2AAAD2AD00
rf4.on=4D2AAAD32C80
rf1.label=RF 1
rf2.label=RF 2
rf3.label=RF 3
rf4.label=RF 4

More recently, we've introduced a 'universal' RF command. Details are here

These sections allow us to configure user friendly names that will appear on the webserver interface. The xAP protocol does not make use of these labels.

[input]
input1.label=Input 1
input2.label=Input 2
input3.label=Input 3
input4.label=Input 4
 
[relay]
relay1.label=Relay 1
relay2.label=Relay 2
relay3.label=Relay 3
relay4.label=Relay 4

The inputs are exposed as four pairs of terminal blocks. Simply short the adjacent terminals together to turn the input on. Looking at the connectors, with the LCD connector on the right, each pair is one input. Numbered (left to right) 2,1,4,3. If your environment is 'noisy' you might need to add an external pullup resistor on the input pin.

  • livebox/xap_adapter.1324150330.txt.gz
  • Last modified: 2011/12/17 19:32
  • by brett