Python library to communicates with devices used by Odoo.(Mainly Point of Sale application)Alternative to Iot Box Odoo solution or Pywebdriver community solution.
Project description
Odoo Drivers
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.
Table of contents
Run
odoo-driver\
--address 0.0.0.0\
--port 8069\
--secure\
--refresh-devices-delay 1\
--log-level INFO\
--log-folder false
(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--unsecureis selected). -
-r / --refresh-devices-delay: interval in seconds between two checks of devices connected to usb ports. -
-l / --log-level: Possible values:DEBUG/INFO/SUCCESS/WARNING/ERROR/CRITICAL.
Note:
DEBUG will log all the data received, including images received by the printer device.
Use 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.
Usage
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.
Installation
Run it manually
- install the latest released version:
pipx install odoo-driver
- or Install the latest version:
pipx install git+https://gitlab.com/grap-rhone-alpes/odoo-driver.git
Note: use --python python3.10 (or higher) option, if your default python environment is under python 3.10 version.
Run it as a service
This will create a service (via systemd) that will execute odoo-driver in the background and launches at startup.
wget https://gitlab.com/grap-rhone-alpes/odoo-driver/-/raw/main/debian_install.sh
# (OPTIONAL) adapt the installation script before execution
# - specific argument in the call of odoo-driver in the .service file
# - enable or disable plugins
sudo sh debian_install.sh
Once installed, you can run the following system command.
# Get status of the service
sudo systemctl status odoo-driver.service
# Follow the logs of the service
sudo journalctl -fu odoo-driver.service
Compatible Plugins
| Function | Protocol | URL |
|---|---|---|
| Printers | ESC/POS | odoo-driver-plugin-printer-escpos |
| Payment Terminals | Telium | odoo-driver-plugin-payment-telium |
| LCD Displays | ESC/POS | odoo-driver-plugin-display-escpos |
| Scale | Toledo | odoo-driver-plugin-scale-toledo |
How to Contribute
Welcome contributions
-
If the project is not translated into your language, you can propose a translation. (Refer to the
update_translation.shhelper script.) -
If you tested a plugin with a driver that is not referenced in the
usb_devices.pyfile, and if all works correctly, please feel free to make an Merge Request, to mark this device as compatible. (add an image, make a change inusb_devices.pyand in theREADME.mdfiles) -
If you've encountered a problem or bug that you've solved, the patch will be very welcome !
-
If you face an issue and you have a budget, you can ask for a quotation to try to solve the problem.
Unwelcome contributions
-
Please do not use AI to propose Merge Requests and / or write issues. Such 'contributions' will be closed. (If you don't have time to contribute, don't ask time for review.)
-
Please do not propose a Merge Request before opening first an issue on gitlab, if you want to add new feature, new devices, etc.
Separate contributions
- If you want to develop a plugin that is not developped, feel free to create
a new project, named
odoo-driver-plugin-FUNCTION-PROTOCOL. you can take example on the existing projects.
Development
See the dedicated section in this document.
Credits
Authors
Contributors
- Sylvain LE GAL https://www.grap.coop/
Extra authorship
Part of the code in this project comes from the following projects, including:
-
Pywebdriver (AGPL-3.0). Main contributors are:
- Sylvain LE GAL https://www.grap.coop/
- Sylvain CALADOR https://akretion.com/
- Sébastien BEAU https://akretion.com/
- Carmen BIANCA BAKKER https://coopiteasy.be/
- Alexis DE LATTRE https://akretion.com/
- Quentin DUPONT https://www.grap.coop/
- Pierrick BRUN https://akretion.com/
- Hugues DE KEYZER https://coopiteasy.be/
The following projects were also useful and were studied to realize this library.
- Odoo (AGPL-3.0 up to version 8.0, and then LGPL-3.0 from version 9.0 onwards), by Odoo SA, specially "hw_" modules.
Images
-
Main Application icon, by AbtoCreative (Flaticon).
-
Unknown device icon, by Freepik (Flaticon).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file odoo_driver-2.2.0.tar.gz.
File metadata
- Download URL: odoo_driver-2.2.0.tar.gz
- Upload date:
- Size: 153.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.0 CPython/3.14.4 Linux/5.15.154+
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
560a2d5fe4b54722209fe895d8692bcdc9effa00004e7ef8098fb9a1ce7ccc5c
|
|
| MD5 |
e98b029c6c308950ffb1cfc9d3a105ce
|
|
| BLAKE2b-256 |
9051ac360e7333410716efa37d448cf849a94fea89a198620c8ca05e9c22e9ac
|
File details
Details for the file odoo_driver-2.2.0-py3-none-any.whl.
File metadata
- Download URL: odoo_driver-2.2.0-py3-none-any.whl
- Upload date:
- Size: 158.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.0 CPython/3.14.4 Linux/5.15.154+
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8648af310ff6109e471d429264cda502c0b0b14d7c1f91888414986bdd4d6c3d
|
|
| MD5 |
b7f4c6c09c42cf6e30e0e1a4a09c906c
|
|
| BLAKE2b-256 |
dbce2f28df41fe27a1227a89d67d128cd7419da80d0981a58ec433630816bf20
|