[Under New Management] iRobot Scheduler

Yes please do!

I have exactly the same problem. @aaron, I'm getting the same good browser output and the same bad app behavior as @codyalanbryant. Just 2x everything he says!

There should be an attribute called Roomba and also supports the switch tile.

Please do the code modification as I suggested above. I am planning on rewriting the app here in the next 2 weeks. Just finishing my NOAA Weather Alerts rewrite currently.

1 Like

I know there should be....that's my point....when I go to the dashboard, select the device, select attribute, switch is the only attribute available.

This is what I see with the device that is created automatically by your app with a device type of "Roomba".....(strange).....

Changed required: to false on lines 100 and lines 101. Deleted the device and the app. Reinstalled the app. Same result. Hmmm. @codyalanbryant, wish I knew what magic you did. Are you able to add your device to a dashboard or are you having the same problem as I am?

Go into the device and execute a start. Tell me your results. Also, enable logs for both app and device. Let me see about 5min worth of logs.

will do tomorrow -- thanks for the help @aaron

1 Like

Alright, I completely wiped my Raspberry Pi's sd card and deleted the iRobot Scheduler App Code and Driver Codes from my Hubitat, so that I could start completely fresh. I can verify that if you follow these steps with this equipment, this scheduler app should work. If following these steps perfectly doesn't get it going, it may be worth deleting/reinstalling the Hubitat app/device codes and reinstalling Raspbian on your RPi and starting completely fresh.

Installation of iRobot Scheduler for Raspberry Pi Zero W:

Raspberry Pi Process:

  • Dorita980 and Rest980 Installation:
  1. sudo apt-get update
  2. sudo apt-get dist-upgrade (You may be asked if you want to continue early on. If so, type y and press ENTER.)
  3. cd ~
  4. wget https://nodejs.org/dist/latest-v11.x/node-v11.15.0-linux-armv6l.tar.gz
  5. tar -xzf node-v11.15.0-linux-armv6l.tar.gz
  6. cd node-v11.15.0-linux-armv6l/
  7. sudo cp -R * /usr/local/
  8. cd ~
  9. sudo npm install -g dorita980 --save
  10. sudo npm -g install dorita980
  11. git clone GitHub - koalazak/rest980: REST interface to control your iRobot Roomba 980 via local server on your lan.
  12. cd rest980
  13. npm install
  • Rest980 Configuration (recommended to have two SSH windows open):
  1. [SSH Window #1] sudo nano ~/rest980/config/default.json
  2. [SSH Window #2] get-roomba-password YOUR_ROOMBA_IP_ADDRESS
    • On your Roomba device that is on the Home Base and powered on, press and hold your Roomba's Home button for at least two seconds until you hear a beep or a series of tones.
    • Press any key in the SSH Windows #2 to continue. If password does not show near the bottom, may have to press key again.
  3. [SSH Window #2] Copy blid and paste into [SSH Window #1] for blid.
  4. [SSH Window #2] Copy password and paste into [SSH Window #1] for password.
  5. [SSH Window #2] logout
  6. [SSH Window #1] Enter YOUR_ROOMBA_IP_ADDRESS for robotIP
  7. [SSH Window #1] Change firmwareVersion to 2.
  8. [SSH Window #1] Press ctrl + o
  9. [SSH Window #1] Press ENTER
  10. [SSH Window #1] Press ctrl + x
  • Setting up Rest980 to run as a service:
  1. sudo nano /etc/systemd/system/roomba.service
  2. Paste the following:

[Unit]
Description=Roomba Service
After=network.target

[Service]
WorkingDirectory=/home/pi/rest980
ExecStart=/usr/local/bin/npm start
Restart=on-failure
User=pi

[Install]
WantedBy=multi-user.target

  1. Press ctrl + o
  2. Press ENTER
  3. Press ctrl + x
  4. sudo systemctl enable roomba.service
  5. sudo systemctl start roomba.service
  6. Test connectivity in browser tab:

Hubitat Process:

  • iRobot Scheduler App Installation:

    1. Copy Roomba-app.groovy RAW URL: https://raw.githubusercontent.com/PrayerfulDrop/Hubitat/master/Roomba/Roomba-app.groovy
    2. In your Hubitat Administrative Console select Apps Code
    3. Click New App in upper right corner
    4. Click Import
    5. Paste RAW URL
    6. Click Import
    7. Click OK on browser warning
    8. Click Save
  • Roomba Driver Installation

    1. Copy Roomba-driver.groovy RAW URL: https://raw.githubusercontent.com/PrayerfulDrop/Hubitat/master/Roomba/Roomba-device.groovy
    2. In your Hubitat Administrative Console select Drivers Code
    3. Click New Driver in upper right corner
    4. Click Import
    5. Paste RAW URL
    6. Click Import
    7. Click OK on browser warning
    8. Click Save
  • Adding Roomba to Hubitat:

    1. Check in your Hubitat device list to ensure you have no prior Roomba devices. If you find any, delete them.
    2. In your Hubitat Administrative Console select Apps.
    3. Click Add User App in upper right corner.
    4. Click iRobot Scheduler.
    5. Enter YOUR_RASPBERRYPI_IPADDRESS (will still get red error at the top saying "Rest980 Server cannot be reached - check IP Address". That's okay, continue through selecting options.
    6. Click Done. A device named 'Roomba' will be created automatically.
4 Likes

Btw if you name your Roomba in the Roomba app then the device will be that name too automagically. My Roomba’s name is Gurdy. :crazy_face:

Thank you for writing this up to!

NINE-NINE!!!!

Although long... It worked perfectly first time. Just followed it verbatim.

1 Like

Well apparently, I've got the same friendly ghosts as @codyalanbryant. Came back into the HE app this evening, starting playing with the device and everything was working perfectly. Go figure. Mega-props @aaron, and thank you to @codyalanbryant for his ridiculously clear instructions.

Two finer questions for all:

  1. Should we still be able to use the iRobot mobile app in parallel with this setup? Or is this an either/or proposition? I ask because I noticed my smartmaps are suddenly inaccessible from the app.
  2. Is everyone else able to add their Roomba device to a dashboard using the RoombaTile attribute, per the instructions? I only get a Switch attribute when I go to add my Roomba device. Weird.
  1. My iRobot mobile app still fully functions, still with smart maps, wifi heat maps, etc.
  2. Yep, I have all the expected dashboard functionality.
1 Like

The Roomba only allows one thing to be connected at a time, so sometimes if HE is polling the device, you might get a brief error in the app

I saw this in the logs today:

Anyone know what that means? I don't recall ever seeing that before and the mop didn't run as a result.

If the mop is already cleaning and the schedule initiates then the warning just gives guidance to user that their multiple schedules could be too close together. You are fine.

Interesting, I only have one schedule for the mop, 2pm on Friday. So I decided to actually look a little closer and maybe the error message is just a bad one?

image

Looks like, though she's on her charger, it must not have lighted up properly and never actually charged :stuck_out_tongue:

Kid's named ours Mr. Sucky.

1 Like

Maybe I'm dense, but where do you get this app? I can't find a link to anything anywhere but this post.