********************
Rabbit XBee String
********************

.. index:: devices; rabbit; Rabbit XBee String

Overview
====================

XBee Rabbit String creates two channels. The 'local' channel is settable,
and sends its value (a string) to the remote device. The 'remote' channel
is gettable, and is updated when the remote device sends a string.

Configuration
====================

A typical Rabbit XBee String configuration block looks like this::

    - name: rabbit_string0
      driver: devices.rabbit.xbee_string:XBeeString
      settings:
          xbee_device_manager: <instance name>
          extended_address: <XBee module address>
          endpoint: 2
          profile: 42
          cluster: 7

Settings
--------------------

xbee_device_manager (required)
    Name of the XBee_device_manager device declared in the devices
    section. This setting is necessary because this device will configure all
    the XBee devices.

extended_address (required)
    MAC address of the BL4S100's XBee module.

    Notice that the value must have an exclamation sign at end and
    is between quotes.

endpoint (required)
    Endpoint of local and remote device.

profile (required)
    Profile of local and remote device.

cluster (required)
    Cluster of local and remote device.

local (optional, default: local)
    Name for the local channel.

remote (optional, default: remote)
    Name for the remote channel.

Channels
====================

local (Get/Set, type: string)
    Settable-only channel to send a value (string) to the remote device.

.. Note::
    Please notice that the name of this channel can be provided by the
    **local** configuration setting of the driver.

remote (Get, type: string)
    Gettable-only channel which is updated with the string sent by the
    remote device.

.. Note::
    Please notice that the name of this channel can be provided by the
    **remote** configuration setting of the driver.


