thehookup / mqtt-roomba-esp01 Goto Github PK
View Code? Open in Web Editor NEWMaking an old roomba smarter using and ESP01
Making an old roomba smarter using and ESP01
I have a model 790. It will not start when i press the switch. It just beeps once and nothing happens.
Are there different commands?
Soo, i got everything working perfectly.
Only thing thats happening to my setup is that i think the ESP shuts down when the roomba is cleaning.
I get no data from the esp whenever its cleaning. And no way to really check whats happening to the esp when its cleaning.
Any idea what i can do?
Just an FYI that the icon "Roomba" has changed to "robot-vacuum" in material design icons.
Hello Hookup,
Just wondering if you also written something that programs music onto the roomba.
I would love to have it play Darth Vaders theme song whenever it starts cleaning.
Written the following function as a test, and added it after the setup_wifi() function. But that didnt do the trick.
This is a song for Jingle Bells that i found.
void jinglesetup() { Serial.write(128); delay(50); Serial.write(131); delay(50); Serial.write(140); delay(50); Serial.write(2); delay(50); Serial.write(16); delay(50); Serial.write(76); delay(50); Serial.write(16); delay(50); Serial.write(76); delay(50); Serial.write(16); delay(50); Serial.write(76); delay(50); Serial.write(32); delay(50); Serial.write(76); delay(50); Serial.write(16); delay(50); Serial.write(76); delay(50); Serial.write(16); delay(50); Serial.write(76); delay(50); Serial.write(32); delay(50); Serial.write(76); delay(50); Serial.write(16); delay(50); Serial.write(79); delay(50); Serial.write(16); delay(50); Serial.write(72); delay(50); Serial.write(16); delay(50); Serial.write(74); delay(50); Serial.write(16); delay(50); Serial.write(76); delay(50); Serial.write(32); delay(50); Serial.write(77); delay(50); Serial.write(16); delay(50); Serial.write(77); delay(50); Serial.write(16); delay(50); Serial.write(77); delay(50); Serial.write(16); delay(50); Serial.write(77); delay(50); Serial.write(32); delay(50); Serial.write(77); delay(50); Serial.write(16); delay(50); Serial.write(140); delay(50); Serial.write(3); delay(50); Serial.write(7); delay(50); Serial.write(76); delay(50); Serial.write(16); delay(50); Serial.write(76); delay(50); Serial.write(32); delay(50); Serial.write(79); delay(50); Serial.write(16); delay(50); Serial.write(79); delay(50); Serial.write(16); delay(50); Serial.write(77); delay(50); Serial.write(16); delay(50); Serial.write(74); delay(50); Serial.write(16); delay(50); Serial.write(72); delay(50); Serial.write(32); }
Hi,
I have roomba 521; I followed your instructions using ESP01S, but I have these problems:
I already check voltage after bulb converter and on ESP connector: always about 3,3V....
I tried another ESP...
What I have to do?
Can you explain why you have roomba/currentStatus in your config.yaml and not roomba/status? I am not getting feedback from the roomba when using your code as is and wondering if that's the issue? Very well could be I dont understand enough about MQTT. Thanks so much for this project, it's awesome.
EDIT - Nevermind, figured out nodered was generating the MQTT topic of currentStatus. Sorry! Thanks again.
Home assistant version 2023.1.1
MQTT entry requirements has changed and the MQTT configuration.yaml entries no longer work
I've got your code up and running and everything works as expected except for the roomba/charging-topic. I don't get 0 through 5 as mentioned in your video, but values such as 4, 225, 248, 254, 255 - do you have an idea why that is the case?
You have an issue in your code:
if (!client.connected())
{
reconnect();
}
creates endless reconnect loop
Hi,
Do you know how roomba returns dustbin sensor status? I've looked in the dockumentation but no luck :(
I can't get Status value from Roomba 581. Just getting Charging and Battery value. Any advice?
if I have different Roomba to control where I can change name of Roomba to control them all together with same MQTT server?
First of all, thank you so much for this code.
I got this running on my roomba, and it worked great untill I tried to fix the cables and broke the port.
Guess im going to have to find a cheap second hand 500 series so i can try again.
I was wondering if you or anyone else thats using this code has figured out how i could program a song onto the roomba.
Tried to make a function myself example showed below, its for jingle bells and should be correct.
But it seems to now work. Can anyone help me?
I really want to program The Imperial March, and have it play that song everytime it starts cleaning.
Just for fun ofcourse, and maybe find some darth vader decals for the roomba haha.
I made an extra payload with mqtt, that starts this installl. and another that starts the song. But its not working.
void jinglesetupb() { Serial.write(128); Serial.write(131); Serial.write(140); Serial.write(2); Serial.write(16); Serial.write(76); Serial.write(16); Serial.write(76); Serial.write(16); Serial.write(76); Serial.write(32); Serial.write(76); Serial.write(16); Serial.write(76); Serial.write(16); Serial.write(76); Serial.write(32); Serial.write(76); Serial.write(16); Serial.write(79); Serial.write(16); Serial.write(72); Serial.write(16); Serial.write(74); Serial.write(16); Serial.write(76); Serial.write(32); Serial.write(77); Serial.write(16); Serial.write(77); Serial.write(16); Serial.write(77); Serial.write(16); Serial.write(77); Serial.write(32); Serial.write(77); Serial.write(16); Serial.write(140); Serial.write(3); Serial.write(7); Serial.write(76); Serial.write(16); Serial.write(76); Serial.write(32); Serial.write(79); Serial.write(16); Serial.write(79); Serial.write(16); Serial.write(77); Serial.write(16); Serial.write(74); Serial.write(16); Serial.write(72); Serial.write(32); }
Wrong packet ID is used for battery voltage at
MQTT-Roomba-ESP01/RoombaESP01_CONFIGURE.ino
Line 126 in 7ad7cd0
Packet ID 21 is the Charging State
Packet ID 22 is the Voltage
It is only a variable naming issue, but the integer value of Packet ID 21 can be mapped to a more meaningful name based on the Code and Charging State mapping.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.