Hilfe - Produkte & Funktionen
German English
German English

E Protocol Dispenser

This article explains which parameters an E protocol dispenser system requires for a connection to a bessa product. bessa implements the E protocol according to the P160 / WTS specification from version 1.103 (2021-05-16) onwards.

The E protocol is the classic, manufacturer-independent standard for dispenser systems, coffee machines and beverage dispensers. In bessa it is available for serial connections over USB only.

Prerequisites

  • The dispenser has a serial interface (RS-232) and is connected to the Sales Point through a USB-to-serial adapter.

  • The dispenser technician has enabled the POS interface on the dispenser and knows the configured transmission parameters.

  • A dispenser profile exists in the bessa Manager, populated with article PLUs, user numbers and — if needed — table numbers. See Dispensers.

Every parameter on this page must match the setting on the dispenser exactly. These are not values bessa can guess — they are specified by the dispenser technician. The typical values listed here are only a starting point for troubleshooting.

Where the parameters are entered

The E protocol runs on the Serial (USB) connection type. The values are entered in the respective bessa product — on the Sales Point under Dispenser Settings.

Connection parameters

These four values describe the serial transmission itself and must be identical to the setting on the dispenser.

Field

Meaning

Allowed values

Typical value

Baud rate

Transmission speed in bit/s

Integer, e.g. 1200, 2400, 9600, 19200

9600

Data bits

Number of data bits per character

5, 6, 7, 8

8

Stop bits

Number of stop bits

1 = 1 stop bit, 2 = 2 stop bits, 3 = 1.5 stop bits

1

Parity

Parity check

0 = none, 1 = odd, 2 = even, 3 = mark, 4 = space

0

The value 3 in the Stop bits field means 1.5 stop bits, not 3 stop bits. This encoding comes from the serial driver and is required by very few dispenser systems.

Protocol parameters

The E protocol transmits waiter, product, table and quantity values as fixed-width numbers without separators. The dispenser driver therefore has to know how wide each field is defined on this particular dispenser — otherwise incoming data is split at the wrong position.

Field

Meaning

Typical values

Waiter digits

Field width of the waiter / user number in bookings reported by the dispenser and in the table command

2 or 3

Product digits

Field width of the article PLU in debit and credit bookings

3 or 4

Table digits

Field width of the table number. 0 means the dispenser has no table management and no table data is transmitted

0, 3 or 4

Quantity digits

Field width of the quantity in credit bookings. 0 means the dispenser does not support a quantity value

0 or 4

Checksum

Append an XOR checksum to every command and verify it in every response

Off, unless the dispenser technician specifies otherwise

Quantity digits = 0: If the dispenser does not support a quantity value, the article is automatically sent once per booked unit. Three glasses of beer are then transmitted as three individual releases. Nothing changes for the guest, but the transmission takes slightly longer.

Waiter digits does not apply everywhere: The P160 / WTS specification fixes the waiter number to three digits for waiter clearance and for credit bookings. The Waiter digits field therefore only affects bookings reported by the dispenser and the table command. This is intended by the protocol and not a configuration error.

Checksum

When Checksum is enabled, an XOR check character over all preceding characters is appended to every command sent, and the same scheme is expected in the response. If the received checksum does not match, the response is discarded and an error is reported.

The checksum is a variant of the E protocol and is not active on every unit. It has to be configured identically on both sides — a checksum enabled on one side only makes the response appear "shifted" and causes the connection test to fail.

FAQ

Where do I get the correct values? From the dispenser technician or from the configuration of the dispenser itself. bessa cannot determine these values automatically, because the E protocol does not negotiate them.

Can the E protocol be used over the network? No. In bessa the E protocol is available for the Serial (USB) connection type only. For network connections, use VMPS or Z1U.

Which cables and adapters work? The USB-to-serial adapter is addressed through the Android USB host driver. Common adapters with an FTDI, Prolific, CP210x or CH34x chipset are supported. Adapters without their own chipset (plain connector converters) do not work.

Troubleshooting

  • No device can be selected — the USB adapter was not detected or the permission for it was not granted. Reconnect the adapter and search for devices again.

  • The connection test fails although the device is listed — baud rate, data bits, stop bits or parity do not match the dispenser.

  • Bookings arrive but with the wrong article or the wrong waiter — the digit settings do not match, so the response is split at the wrong position.

  • Sporadic errors, individual bookings get lost — the checksum is enabled on one side only, or the RS-232 cable run is too long.

  • Quantities are transmitted one by one instead of in bulk — expected behaviour when Quantity digits is 0, see above.