# -*- coding: utf-8 -*- { 'name': 'POS Bluetooth Thermal Printer', 'version': '18.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/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', }