Component error: w800rf32 - No module named 'serial'

I’m currently running HASSIO 0.107.7 in a VM and my w800rf32 is working fine. I just ran the HA configuration checking add-on which is checking against 0.108.5 and I get the following error:

Failed config
  General Errors: 
    - Component error: w800rf32 - No module named 'serial'

Looking at the component source I found a commit that removed an unused field from the manifest.json but I can’t see how that would cause something like this.

The manifest.json also shows the following line:

"requirements": ["pyW800rf32==0.1"],

It is this package that is attempting to import ‘serial’. That package has not changed. Any idea why this is getting called out now when the same package is working fine with 0.107.7?

There was probably another integration you were using that imported serial (pyserial) which is no longer importing it. Or some built-in that is in default_config. It’s pretty hard to tell where it could have went. Or you used to have a component in your config that used it and removed that component? Or the order of checking dependencies has changed. Could be many many reasons.

pyW800rf32 should be calling out serial as a requirement. It should have a requirements.txt calling out serial (or pyserial probably)…but it doesn’t.

You’d probably have to submit a ticket. If pyW800rf32 wont change, pyserial could be added to the manifest…I think? Not sure how they handle these things.

Thanks Jim. I did more digging into the source for the serial component, which I’m also using, and it has a requirement of “pyserial-asyncio”, which I know for certain, requires pyserial. I suspect the requirement is being met, because it’s working with 0.107.7, but the checker is getting confused.

I think the right place to fix this is, as you said, in a requirement.txt file for pyW800rf32.

Hi Ken,
I’m wondering if you were ever able to get this to work. I’m new to Home Assistant, but I am getting the same
Failed config
General Errors:
- Component error: w800rf32 - No module named ‘serial’
error after following the instructions at WGL Designs W800RF32 - Home Assistant
Thanks in advance for any advice you offer.

Hi Alex (@afraun),

Sorry for the delayed reply. Yes, I fixed this in pyW800rf32 over a year ago. Here’s a link to the pull request and merge: Added "install_requires" keyword to setup.py for library "pyserial". by kmitch95120 · Pull Request #2 · horga83/pyW800rf32 · GitHub

I wonder if it got reverted somehow.

Ken

Found the problem:

The integration only requires pyW800rf32==0.1 but my fix is in 0.4.

  "domain": "w800rf32",
  "name": "WGL Designs W800RF32",
  "documentation": "https://www.home-assistant.io/integrations/w800rf32",
  "requirements": ["pyW800rf32==0.1"],
  "codeowners": [],
  "iot_class": "local_push"
}

Ken,
Thank you very much for the quick replies and information. I really appreciate it. I’m pretty technical and familiar with using git and github but will have to look up how to pull a specific branch into home assistant. I’m still a HA newbie!
I installed Heyu on a second Raspberry Pi and got MQTT going back and forth from it to Home Assistant with some Python scripts, so that is always an option as well. I’m not sure, but I may need to use that option anyway for controlling my X10 power devices from within HA (have HA send an MQTT to my Heyu Pi and have it run the Heyu command).
Again thank you very much for your help and time.
Have a great day!
Alex