81 lines
3.2 KiB
Python
Executable File
81 lines
3.2 KiB
Python
Executable File
# -*- coding: utf-8 -*-
|
|
{
|
|
'name': 'POS Bluetooth Thermal Printer',
|
|
'version': '19.0.1.0.0',
|
|
'category': 'Point of Sale',
|
|
'summary': 'Connect POS to bluetooth thermal printers using Web Bluetooth API',
|
|
'description': """POS Bluetooth Thermal Printer
|
|
==============================
|
|
|
|
This module enables Odoo 18 Point of Sale systems to print receipts directly
|
|
to bluetooth-connected thermal printers (such as RPP02) using the ESC/POS protocol.
|
|
|
|
Features:
|
|
* Direct bluetooth connection to thermal printers via Web Bluetooth API
|
|
* Automatic printer connection on POS session start
|
|
* Auto-reconnection on connection drops with exponential backoff
|
|
* Device-specific printer configuration stored in browser local storage
|
|
* Multi-device support - each tablet/workstation can use different printers
|
|
* ESC/POS command generation for proper receipt formatting
|
|
* Graceful fallback to browser print dialog on failures
|
|
* Real-time connection status indicator
|
|
* Test print functionality for verification
|
|
* Print errors never block sale completion
|
|
|
|
Technical Details:
|
|
* Uses Web Bluetooth API for direct browser-to-printer communication
|
|
* Supports ESC/POS thermal printers
|
|
* Client-side implementation (no server-side drivers needed)
|
|
* HTTPS required (except localhost for testing)
|
|
* Compatible with Chrome, Edge, and Opera browsers
|
|
|
|
Supported Printers:
|
|
* RPP02 Bluetooth Thermal Printer
|
|
* Other ESC/POS compatible bluetooth thermal printers
|
|
|
|
Requirements:
|
|
* Browser with Web Bluetooth API support (Chrome 56+, Edge, Opera 43+)
|
|
* HTTPS connection
|
|
* Bluetooth-enabled device
|
|
* ESC/POS compatible thermal printer
|
|
""",
|
|
'author': 'Suherdy Yacob',
|
|
'depends': [
|
|
'point_of_sale',
|
|
],
|
|
'data': [
|
|
'security/ir.model.access.csv',
|
|
'views/pos_config_views.xml',
|
|
],
|
|
'assets': {
|
|
'point_of_sale._assets_pos': [
|
|
# Core services and utilities first
|
|
'pos_bluetooth_thermal_printer/static/src/js/storage_manager.js',
|
|
'pos_bluetooth_thermal_printer/static/src/js/escpos_generator.js',
|
|
'pos_bluetooth_thermal_printer/static/src/js/escpos_graphics.js',
|
|
'pos_bluetooth_thermal_printer/static/src/js/html_to_image.js',
|
|
'pos_bluetooth_thermal_printer/static/src/js/error_notification_service.js',
|
|
'pos_bluetooth_thermal_printer/static/src/js/bluetooth_printer_manager.js',
|
|
|
|
# Components
|
|
'pos_bluetooth_thermal_printer/static/src/js/connection_status_widget.js',
|
|
'pos_bluetooth_thermal_printer/static/src/js/bluetooth_printer_config.js',
|
|
|
|
# POS integrations (load after components)
|
|
'pos_bluetooth_thermal_printer/static/src/js/pos_session_integration.js',
|
|
'pos_bluetooth_thermal_printer/static/src/js/pos_receipt_printer.js',
|
|
'pos_bluetooth_thermal_printer/static/src/js/pos_navbar_extension.js',
|
|
|
|
# Templates
|
|
'pos_bluetooth_thermal_printer/static/src/xml/**/*.xml',
|
|
|
|
# Styles
|
|
'pos_bluetooth_thermal_printer/static/src/css/**/*.css',
|
|
],
|
|
},
|
|
'installable': True,
|
|
'auto_install': False,
|
|
'application': False,
|
|
'license': 'LGPL-3',
|
|
}
|