User Tools

Site Tools




The Local Area Network library sends RCP commands over TCP/IP connections.
The Loco or Decoder must provide a WiFi server socket to which this library can connect.
The commands are sent as XML strings using the Rocrail Client Protocol without the XML-Header.
The Loco or Decoder may also send events back in the same format.

This library makes it possible to use any kind of computer to act as a decoder.


  • Loco and Function commands
  • Sensor support (Reported by a Loco or Decoder)
  • RFID sensor off support
  • Connection recovery
  • Decoder support
    • Switches
    • Signals
    • Outputs
    • Sensors

LAN Setup

Interface ID

Unique ID which should be set on the Interface Tab of the WiFi Loco/Decoder.


The default TCP/IP port used to connect to the WiFi Loco/Decoder.

Connect retry

Number of connection retries before give up.
If set to zero the retries will continue endlessly.

Retry sleep

Number of seconds between the connection retries.

Sensor off delay

The off delay timer in ms for reported RFID's by the WiFi Loco/Decoder.



The LAN library becomes at startup the decoder list to initialise connections.
This option is mandatory for Switch, Output and/or Signal objects.

Loco Setup


The TCP/IP address, or hostname, must be set in the Code field.

Decoder Setup


The TCP/IP address, or hostname, must be set in the Code field.

Switch/Output/Signal Setup

The Decoder ID must be set.

Code Format

The Code format may contain a port number in the usual format:

If no port is set the default Port, which has been set in the LAN-Setup, will be used.

Test sources


import time
from socket import *
myHost = ''
myPort = 4711
s = socket(AF_INET, SOCK_STREAM)     # create a TCP socket
s.bind((myHost, myPort))             # bind it to the server
s.listen(5)                          # allow 5 simultaneously
                                     # pending connections
while 1:
  # wait for next client to connect
  connection, address = s.accept()
  while 1:
    data = connection.recv(1024) # receive up to 1K byte
    if data:
      print data
      connection.send('<fb id="102.567.22.46" state="true" fbtype="5"/>\n') # send RFID sensor event which was just read
connection.close()               # close socket


lan-en.txt · Last modified: 2019/10/27 03:14 by rainerk