pschmitt / roombapy

Python program and library to control Wi-Fi enabled iRobot Roombas
MIT License
32 stars 21 forks source link

Custom firmware for ESP based roombas #84

Closed rforro closed 3 years ago

rforro commented 3 years ago

Thanks to Service Port and esp8266 we can connect virtually any roomba to homeassistant. Currently there are few options how to do it like here (mqtt depencency) or with esphome (esphome dependency) but I was thinking how cool it well be to just flash some custom firmware to esp8266 and use the built in roomba addon.

After brief look over the code and I don't think, that it is impossible. The most important thing to implement, as I see it, will be:

My questions to you are:

pschmitt commented 3 years ago

Hi @rforro

Can this library use plain instead of TLS connection?

As of now, no and to be entirely honest with you I won't merge any PR that would make that possible. roombapy targets iRobot Roomba devices that are running the original firmware only.

Can the mapping feature be disabled? What if I don't send the values? Do I have to feed it with dummy values?

What mapping feature? o:) Most of the mapping stuff from https://github.com/NickWaterton/Roomba980-Python should have been removed. Roombapy does not support mapping.

which QoS level is used during sub and pub?

No idea, sorry.

is here something what I overlook and could be potential hurdle while creating the custom firmware?

The password/BLID retrieval perhaps? :shrug:

rforro commented 3 years ago

Thanks for fast reply.

As of now, no and to be entirely honest with you I won't merge any PR that would make that possible. roombapy targets iRobot Roomba devices that are running the original firmware only.

I don't want to do any modification to the code base on this repo, because if I do, there will be no compatibility with other home automation systems like for example openhab.

What mapping feature? o:) Most of the mapping stuff from https://github.com/NickWaterton/Roomba980-Python should have been removed. Roombapy does not support mapping.

I saw this and this line of code an thought that the mapping is supported. Now it makes sense why I also found some posts on hass forum, where people are complaining that the mapping function don't work :D

The password/BLID retrieval perhaps? 🤷

Yes you're right, I forgot about that. The procedure isn't that complicated, but it goes over TLS, which can cause headaches. Will see.

Thanks again.