Skip to Content
Menu
This question has been flagged
4 Replies
3367 Views

So I ran across something yesterday that I'd like to share with the group and hopefully someone can benefit from this information.  


We are about to use mobile devices and bar code scanners to do our first non-tag inventory. Very exciting! So we were prepping a couple of new tablets and bluetooth scanners to make sure everything was working.  When we started the "Barcode" mode for the inventory adjustment we tried to scan a location to jump to a specific location in the warehouse.  So with the prompt "Scan a location" at the top when we scanned a location barcode we would get 1 or more error messages in Odoo stating "Product scan expected" or something to that effect. Sometimes it would be 1 message and sometimes 2 or 3.  We couldn't find a pattern to this behavior and were concerned that someone in the warehouse was going to have to press the "Next" button repeatedly to advance to the location they were starting to count. Not fun. 


We tried several different tablets and scanner combinations but they all had the same issue.  We even dug into the Javascript that handles barcode scanning to see if there was something in there.  What we found were notes about the delay used by Odoo to detect when there were no more characters coming from the scanner.  So that made us think the scanners were too slow and at that point we tried wired scanners into the tablets but with the same results.

So I did what we do best in IT; I googled the issue.  On a recommendation from another website I installed an app onto the tablet called "Hacker's Keyboard".  After setting the hacker's keyboard as the default keyboard AND setting the option in Android to display the on screen keyboard even if there is a physical keyboard attached everything started working nicely! 

What I'm guessing is Google's keyboard was probably slowing down the keystrokes coming from the scanner as it attempted to gather word suggestions and probably capturing every keystroke made for ad purposes.  Since the Hacker's keyboard doesn't do that it doesn't slow down the keystrokes.  

And now everything is working very nicely and we are ready for our first tag-less physical inventory!

Avatar
Discard

Hei, 
 
I'm on a vacation untill 19.8.2024
 
Ystävällisin terveisin Janne Immonen
Best Answer

I did not have much success using the Hacker Keyboard set up as you described.

However, I was able to find this commit in the Odoo code base that allows you to set a new parameter value to enable a longer delay for Odoo to process the barcode input.

Once I set the delay value to 175 I no longer had problems when using a Bluetooth scanner paired to a Samsung Android tablet.  Anything under 175 was still causing the errors.

To set the parameter:

Go to Settings and Enable Developer Mode

In Settings, go to Technical Menu > System Parameters

Create a new parameter record.

Set the key as barcode.max_time_between_keys_in_ms and set the value as 175

Avatar
Discard
Best Answer

The issue described is a common challenge when using barcode scanners with Android devices in Odoo's Barcode module. Below is a summary of the problem, why it occurs, and the steps to resolve it based on the shared solution and best practices.

Problem

  • Symptoms:
    • Scanning a location barcode in the inventory adjustment process causes error messages like "Product scan expected."
    • Users are required to press "Next" manually to proceed.
    • Errors appear inconsistently, with no clear pattern.
  • Cause:
    • The default Android keyboard (Google Keyboard or similar) introduces delays when processing inputs from the scanner, likely due to features like word suggestions, spell checking, or keystroke logging.

Solution

  1. Install an Alternative Keyboard (Hacker's Keyboard):
    • Download Hacker's Keyboard from the Google Play Store.
    • Set it as the default keyboard on the tablet.
  2. Configure Android Settings:
    • Enable the on-screen keyboard to remain visible, even when a physical keyboard (scanner) is attached:
      • Go to Settings > Language & Input > Physical Keyboard.
      • Enable the option: "Show virtual keyboard."
  3. Test the Scanner:
    • After configuring the keyboard, test the scanner with Odoo's Barcode app:
      • Open Inventory > Operations > Barcode Scanning.
      • Scan a location barcode and ensure that the system correctly identifies the location and moves to the next step.

Why This Works

  • The Hacker's Keyboard does not attempt to process keystrokes for features like word prediction or ad tracking, which significantly reduces latency when handling scanner inputs.
  • By displaying the on-screen keyboard alongside the scanner, Android ensures that inputs from the scanner are handled without interference.

Best Practices for Barcode Scanning in Odoo

  1. Ensure Scanner Compatibility:
    • Use barcode scanners that are known to work seamlessly with Android devices and Odoo.
    • Ensure the scanner is configured to send a carriage return (Enter) after each scan, which Odoo expects.
  2. Optimize Barcode Settings in Odoo:
    • Go to Inventory > Configuration > Barcode Scanning Settings and verify that the barcode scanning workflow matches your use case.
  3. Test Scanner Speed and Input Lag:
    • If using Bluetooth scanners, ensure the connection is stable.
    • For USB scanners, test using an OTG cable for direct input.
  4. Leverage Odoo Mobile Apps:
    • Use the Odoo Mobile App or Odoo Community/Enterprise Barcode App for optimal integration with Android devices.

Troubleshooting Other Issues

  1. Scanner Reads Incorrect Input:
    • Ensure the barcode is printed clearly and matches the format Odoo expects.
  2. Location vs. Product Scans:
    • Ensure barcodes are correctly labeled (e.g., locations, products, or lots). Mislabeling can confuse Odoo during scanning.
  3. JavaScript Timing Delays:
    • If issues persist, adjust the scanner delay or investigate the Barcode module's JavaScript code for handling input timing.

Key Takeaways

  • Keyboard Optimization: Switching to a lightweight keyboard like Hacker's Keyboard significantly improves barcode scanning performance.
  • Preparation: Testing scanners and device configurations before large-scale operations (like inventory counts) prevents workflow interruptions.
  • Flexibility: Adopting best practices for barcode scanning ensures seamless operation across different hardware setups.

If you need further assistance configuring your Odoo Barcode app or troubleshooting scanner issues, feel free to ask!

Avatar
Discard
Best Answer

Just a heads up, using a barcode scanner with Android devices can be a game-changer for tracking inventory and managing workflows efficiently. It's definitely worth exploring if you're in need of streamlining your processes!

Avatar
Discard
Best Answer

Good job thanks 

Avatar
Discard