
Security News
Deno 2.6 + Socket: Supply Chain Defense In Your CLI
Deno 2.6 introduces deno audit with a new --socket flag that plugs directly into Socket to bring supply chain security checks into the Deno CLI.
odoo-pos-driver
Advanced tools
Python library to communicates with devices used by the Odoo Point of Sale application.Alternative to Iot Box Odoo solution or Pywebdriver community solution.
This tools is intented to be used with the Odoo Point of sale application. It replaces the Odoo IoT Box or the Community pywebdriver library.
Once installed locally in the cashier computer, devices will be discovered by the tool, once plugged, and communication can be done with the Odoo Point of Sale module.
odoo-tools-grap\
--address 0.0.0.0\
--port 8069\
--secure\
--refresh-devices-delay 1\
--log-level INFO\
--log-folder false\
--options EXTRA_OPTIONS
(The values displayed above are the default values.
-a / --address: address where the web service will be available
-p / --port: port where the web service will be available
--secure/--unsecure: expose webservice with https
(or http, if --unsecure is selected).
-r / --refresh-devices-delay: interval in seconds
between two checks of devices connected to usb ports.
-l / --log-level: Possible values:
TRACE / DEBUG / INFO / SUCCESS /
WARNING / ERROR / CRITICAL.
Note:
TRACE will log all the http call.DEBUG will log all the data received, including images received by the
printer device.INFO level or higher in production outside a debugging situation.-f / --log-folder: Optional directory that will contains logs.
If defined, it should exist and be writable.
--options: Json formatted data to pass to devices. Ex:
'{"scale": {"polynomial": 123456}}'
That will pass the polynomial value to the scale device.
Note: don't forget the simple quote at the beginning and the end of the
dictionnary.
Go the home page of the tool, via https://localhost:8069.
If you choose https deployment, you should accept the first time a security exception in your browser.

Pages are available to test connections, see errors, etc.

pipx install odoo-pos-driver
pipx install git+https://gitlab.com/grap-rhone-alpes/odoo-pos-driver.git
Note: use --python python3.9 (or higher) option, if your default python environment is under python 3.9 version.
This will create a service (via systemd) that will execute odoo-pos-driver in the background and launches at startup.
wget https://gitlab.com/grap-rhone-alpes/odoo-pos-driver/-/raw/main/install_debian.sh
# (OPTIONAL) adapt the installation script before execution
# adding specific argument in the call of odoo-pos-driver in the .service file
sudo sh install_debian.sh
Once installed, you can run the following system command.
# Get status of the service
sudo systemctl status odoo-pos-driver.service
# Follow the logs of the service
sudo journalctl -fu odoo-pos-driver.service
Compatibility of the library with Odoo Modules, depending on the version.
Printer (+ Cashbox): point_of_sale (Odoo CE)
Display: pos_odoo_driver_display
Payment: pos_odoo_driver_payment
Scale: point_of_sale (Odoo CE)
Printers | |
|---|---|
|
Epson - TM-T20III |
|
Display | |
| Aures - OCD 300 |
|
Payment Terminal | |
| Ingenico - Move/5000 |
|
Scale | |
| Mettler Toledo - Ariva S |
|
If the project is not translated into your language, you can propose a translation.
If you've encountered a problem or bug that you've solved, the patch will be very welcome !
Please do not propose a Merge Request before opening first an issue on gitlab, if you want to add new feature, new devices, etc.
Maintaining a driver library is an impossible task if you don't own the device. If the device or the feature you propose is not in the Roadmap of the GRAP company, it will be refused, to avoid rising technical debt.
In that case, do not hesitate to fork the project, to implement your change in a dedicated branch.
See the dedicated section here.
See the dedicated section here.
Part of the code in this project comes from the following projects, including:
Pywebdriver (AGPL-3.0), by GRAP. Main contributors are:
hw_dialog06_scale (AGPL-3.0), by Coop It Easy. Main contributors are:
pyposdisplay (AGPL-3.0), by Akretion. Main contributors are:
The following projects were also useful and were studied to realize this library.
Main Application icon, by AbtoCreative (Flaticon).
Credit Card Payment Terminal Icon, created by ToZ Icon (Flaticon).
LCD Customer Display Icon, created by Iconic Panda (Flaticon).
Thermal Receipt Printer Icon, created by Icongeek26 (Flaticon).
Scale Icon, created by itim2101 (Flaticon).
FAQs
Python library to communicates with devices used by the Odoo Point of Sale application.Alternative to Iot Box Odoo solution or Pywebdriver community solution.
We found that odoo-pos-driver demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Deno 2.6 introduces deno audit with a new --socket flag that plugs directly into Socket to bring supply chain security checks into the Deno CLI.

Security News
New DoS and source code exposure bugs in React Server Components and Next.js: what’s affected and how to update safely.

Security News
Socket CEO Feross Aboukhadijeh joins Software Engineering Daily to discuss modern software supply chain attacks and rising AI-driven security risks.