IoT box connection¶
Unable to locate the pairing code to connect the IoT box¶
The pairing code should be printed on receipt printers connected to the IoT box and should also be displayed on connected monitors.
The pairing code doesn’t show under the following circumstances:
The IoT box is already connected to an Odoo database.
The IoT box is not connected to the Internet.
The code is only valid for 5 minutes after the IoT box has started. It’s automatically removed from connected displays when this time has expired.
The version of the IoT box image is too old. If the IoT box image is from an earlier version, then the SD card of the IoT box will need to be re-flashed to update the image (see Flashing the SD Card).
If none of the cases listed above correct the issue, then make sure that the IoT box has correctly started, by checking that a fixed green LED is showing next to the power port.
IoT box is connected but it’s not showing in the database¶
When an IoT box connects to a database, it may restart. If so, it can take up to five minutes before appearing in the database. If the IoT box is still not showing after five minutes, make sure that the IoT box can reach the database and that the server doesn’t use a multi-database environment.
To access the database from the IoT box, open a browser and type in the database address.
The IoT box is connected to the Odoo database, but cannot be reached¶
Make sure that the IoT box and the computer running the browser are located on the same network, as the IoT box cannot be reached from outside the local network.
The HTTPS certificate doesn’t generate¶
In order to generate a HTTPS certificate, an IoT box subscription is required for the IoT box. Connecting the IoT box prior to configuring an IoT subscription for the database and IoT box with the Account Manager will result in an unsecured connection.
In addition, a firewall can also prevent the HTTPS certificate from generating correctly. In this case, deactivate the firewall until the certificate is successfully generated. It should also be noted that certain devices, such as a router that has a built-in firewall, can prevent the HTTPS certificate from generating.
The printer is not detected¶
If a printer doesn’t show up in the devices list, go to the IoT box homepage and make sure that it is listed under Printers.
If the printer is not present on the IoT box homepage, click Printers Server, go to the Administration tab and click on Add Printer. If the printer is not present in the list, it’s likely not connected properly.
The printer outputs random text¶
For most printers, the correct driver should be automatically detected and selected. However, in some cases, the automatic detection mechanism might not be enough, and if no driver is found, the printer might print random characters.
The solution is to manually select the corresponding driver. On the IoT box homepage, click on Printers Server, go to the Printers tab and select the printer in the list. In the Administration dropdown, click on Modify Printer. Follow the steps and select the make and model corresponding to the printer.
Epson and Star receipt printers and Zebra label printers do not need a driver to work. Make sure that no driver is selected for those printers.
Epson configuration special case¶
Most Epson printers support printing receipts in Odoo POS using the
GS v 0
command. However, the following Epson printer models do not support this command:
Bypass this issue by configuring the printer to use the
ESC * command instead.
Process to force ESC * command¶
Epson printer compatibility¶
The first step is to check whether the printer is incompatible with
GS v 0 command.
If the printer is not compatible with the
ESC * command then the following process is not
possible. Should the printer be compatible to use the
ESC * command to print, follow this process
to configure the printer with the IoT box.
IoT box configuration for ESC *¶
To configure the IoT box to use the
ESC * command to print, go to the
IoT box homepage by navigating to . Then click on the IP address and this will direct to the IoT box homepage.
Choosing the printer
Now click on the Printers server button. This will redirect the browser to the CUPS page. Next, go to , choose the printer that should be modified, and then click Continue.
If the name of the printer is still uncertain, take the following steps:
Take note of the listed printers on the CUPS page.
Turn the printer off and refresh the page.
Now compare the difference with the first list to see which printer disappeared.
Turn the printer back on and refresh the page again.
Double-check the list again to see if the printer re-appears.
The printer that disappeared and reappears again on the listed printers is the name of the printer in question.
This can be Unknown under Local printers.
CUPS naming convention
CUPS will prompt the admin for three pieces of information: the Name,
Description and the Location. The last two pieces of information do not need
to be specific, however, the Name should follow a particular convention to work with the
ESC * command.
The Name should match this convention:
A breakdown of the naming convention:
printer_name: This is the printer name. It can be any character as long as it does not contain
#, or ` ` (space character).
IMC: This stands for Image Mode Column (the simplified name for
param_1: This stands for the specific parameter:
SCALE<X>: Scale of the picture (with the same aspect ratio).
Xshould be an integer describing the scale percentage that should be used.
100is the original size,
50is half the size,
200is twice the size.
LDV: Low Density Vertical (will be set to High Density Vertical if not specified).
LDH: Low Density Horizontal (will be set to High Density Horizontal if not specified).
Density parameters might need to be configured in a particular way depending on the printer model.
Visit Epson’s ESC * documentation and click on the printer model printer in the table above to see if the printer should set these parameters.
The following are examples of proper and improper name formatting:
Proper name formatting:
Improper name formatting (this will not prevent printing, but the result might not have the expected printed output):
EPSON TMm 30II-> The name can’t have spaces.
EPSONTMm30II-> The name itself is correct, but it won’t use
EPSONTMm30II__IMC-> This name is missing the end
EPSONTMm30II__IMC_XDV__-> The parameter
XDVdoes not match any existing parameters.
EPSONTMm30II__IMC_SCALE__-> The parameter
SCALEis missing the scale value.
Finish adding a printer
After setting the name of the printer with the appropriate naming convention, click Continue. Next, set the Make value to Raw and for the Model value, set this to Raw Queue (en).
After completing these steps, click Add Printer. If everything was done correctly, the page should redirect to the Banners page.
At this point the printer should have been created, now the IoT box just needs to detect it and then sync to Odoo’s server (this could take a few minutes).
Adding the printer to Odoo PoS
Once the printer is visible on the Odoo database, don’t forget to choose it in the PoS printer. Navigate to.
If the printer was set up incorrectly (it is still printing random text or the printed receipt is too big or small), then it cannot be modified via the printer name with CUPS. Instead, the above process can be repeated to set up another printer from scratch to create one with modified parameters.
Example setup of the Epson TM-U220B printer using ESC
The Zebra printer doesn’t print anything¶
Zebra printers are quite sensitive to the format of the Zebra Programming Language (ZPL) code that is printed. If nothing comes out of the printer or blank labels are printed, try changing the format of the report that is sent to the printer by accessing developer mode and look for the corresponding template.in
Check out Zebra’s instructions on printing ZPL files here.
The characters read by the barcode scanner don’t match the barcode¶
By default, most barcode scanners are configured in the US QWERTY format. If the barcode scanner uses a different layout, go to the form view of the device () and select the correct format.
Nothing happens when a barcode is scanned¶
Make sure that the correct device is selected in the
ENTER character (keycode 28) at the end of every
barcode. To do so, navigate to .
The barcode scanner is detected as a keyboard¶
Some barcode scanners do not advertise themselves as barcode scanners but as a USB keyboard instead, and will not be recognized by the IoT box.
The device type can be manually changed by going to its form view (Is scanner option.) and activating the
The cash drawer does not open¶
The cash drawer should be connected to the printer and the Cash drawer checkbox should be ticked in the PoS configuration. To do so, navigate to .