Roomba i7 support


#21

Sorry guys, here’s how my custom component was created - see diplix post (Dec2018)


#22

great, again sorry for all the background questions. I just wanted to make sure there weren’t any differences from my install that would make me unable to help.

What errors show in the error file when you try to start with the roomba config in your configuration.yaml file. Just for completeness can you post your roomba config from your yaml file?


#23
    vacuum:
      - platform: roomba
        host: !secret roomba_ip
        username: !secret roomba_blid
        password: !secret roomba_password
        name: Gerbert

I tested this exact config in an empty docker and it works. Something has to be weird with my setup and its causing me to pull out my hair. I even blew away my venv and recreated it and same issue happens.

My log file doesn’t seem to show much either. It always stops right here.

2019-02-02 10:28:29 INFO (MainThread) [homeassistant.core] Timer:starting
2019-02-02 10:28:29 INFO (Dummy-31) [openzwave] Driver ready using library Static Controller version Z-Wave 4.05
2019-02-02 10:28:29 INFO (Dummy-31) [openzwave] home_id 0xc2c5ddf4, controller node id is 1

I tried disabling z-wave and that didn’t fix it either. Not sure what else to try.


#24

try running hass from the command line. See if it’s dumping anything out that’s not going into the log. Also check your OZW log and see if it’s giving any feedback. My guess is there won’t be anything in the OZW logs, but it never hurts to ask.
from inside of your virtual environment run the following, correcting for any path differences.

/home/homeassistant/homeassistant/bin/python3 /home/homeassistant/homeassistant/bin/hass -c /home/homeassistant/.homeassistant


#25

So it looks like home assistant hard crashes. Here is what I see running it from command line.

2019-02-02 12:01:31 INFO (MainThread) [homeassistant.core] Timer:starting
2019-02-02 12:01:31 INFO (Dummy-31) [openzwave] Driver ready using library Static Controller version Z-Wave 4.05
2019-02-02 12:01:31 INFO (Dummy-31) [openzwave] home_id 0xc2c5ddf4, controller node id is 1
Segmentation fault (core dumped)

That is where is stops running.


#26

ok, just to try and make your config look 100% or at least 90% like mine lets do a few things.

  1. just to clarify, vacuum is not indented any, it starts in the first column. Right?
  2. replace your hostname, username and password with the actual values don’t use secrets for now.

Did I understand that you ran HA in docker with the roomba config and it worked correctly? If so, can you post your entire config (i know it’s a pain sorry)


#27

Syntax is right and I have tried without secrets.

Yes I spun up an empty docker and it worked there. I did just find this though. Maybe it’s an issue that only happens in Ubuntu. Either that or I might have something else in common with that guy.


#28

So I have done some thorough testing and this is what I have learned.

  • I can get it running with a basic configuration.yaml in the same venv so I eliminated the issue being inside the venv.
  • I removed pretty much every integration I had with my existing config and it still did not work.
  • I then removed all integrations from my core.config_entries file and it worked

I then started adding stuff back into my setup and found two things that broke it.

  • I configured Google Cast under configuration > integrations and it broke my setup. Wouldn’t boot anymore like before. Removed the integration from my core.config_entries file and everything worked again.
  • Similar for Z-Wave. I added my z-wave config back in and it wouldn’t start up anymore. After I removed it from my config it works again. Also tried configuring z-wave from the configuration> integrations menu and had the same results.

All my other integrations seem to work with the roomba component from what I can tell. I don’t really know what else I can try here…


#29

do you have any entity_id’s that need to be fixed because of the breaking change with 86?

Have you tried backing up to 0.85 and see if it works there?

I am basically running the same environment as you. I am running ubuntu on an intel nuc. I have over 100 zwave devices so if it broke zwave, I would be up a creek. We will get this working. I’m concerned with why it took so long to do the upgrade. I’m wondering if it made it through the zwave config correctly with the update.


#30

Ok let me clarify a few things. I just got my Roomba so it has never worked for me. I have been running on 0.86.x since it came out and everything works great. All my entity_id’s are fine as 0.86 works for me including zwave. I did try backing down to 0.85 though to see if this would fix my problem and it did not.

All I’ve noticed though is for some reason Google Cast and Z-Wave being enabled is what prevents me from having the Roomba component working. It is interesting to hear that it works for you with z-wave though. I could try blowing away my z-wave database but I think that would mean re-pairing everything right?


#31

yea, I wouldn’t blow away zwave. are you on 0.86.4? If not, try upgrading to that and see if it fixes whatever isn’t installed correctly. Or I think there is a way to do a pip install with a fix parameter, but I’m not sure what that is off the top of my head.

It sounds like your install is screwed up somehow, but you already know that. The thing is there shouldn’t be any relation between Google Cast, Zwave and Roomba. I believe roomba runs off of mqtt so it shouldn’t be impacted by zwave at all.


#32

Yes I am on 0.86.4 already. I completely blew away my venv so everything would have been installed from scratch today.


#33

but then you restored from a backup so any issues in the yaml or cfg or xml files would have come back with the backup right?
for grins, make a copy of your zwcfg*.xml file and restart home assistant and see if the new file it generates will let you in? I’m grasping at straws right now, just like you are. Sorry


#34

Yes the same yaml, xml and .storage files after restore.

Tried removing the xml files and same issue. Tried removing the z-wave from my core.config_entries file and it adds it back and immediately crashes. I also had Google Cast removed during this to ensure it wasn’t conflicting.


#35

do you have any custom_components?


#36

Not right now. Though I did try running a modified roomba.py as a test which also failed.


#37

you know, I’m not sure there isn’t a general zwave issue with 0.86.4. I’ve lost several zwave devices today and have been having to re-add them today. ozw sees them but HA refuses to acknowledge them. It’s not crashing, but it is something new.


#38

I haven’t had any z-wave issues that I have noticed. That being said I was able to get my vacuum working in my existing config. After looking at other posts specific to roomba.py, I came across another user that had similar issues. He ended up having to install ‘apt install python3-opencv’ on Ubuntu 18.04 outside his venv to resolve the issue.

I tried this and it worked immediately. It still doesn’t completely make sense to me though because why would it work with an empty config or when I took z-wave out of my config. At any rate I am happy it is working now.

On another note I also got live mapping working using a modified roomba.py and this https://github.com/NickWaterton/Roomba980-Python using a custom_component. Just working on a way to display it nicer in my setup.


#39

Awesome.

OpenCV provides low level portable data types and operators, and a set of high level functionalities for video acquisition, image processing and analysis, structural analysis, motion analysis and object tracking, object recognition, camera calibration and 3D reconstruction.

So just why in the world would OpenCV be needed given that description?

I finally restored back to my backup to get most of my zwave devices back. I had already re-added 3 or 4 of them, so now I’ll have to re-add them to the network again.

Glad you got yours working. I’ll have to play with the live mapping. Sounds cool.


#40

Here is a link to the roomba.py I am using. Just place it in your custom_components and it should work.