[Under New Management] iRobot Scheduler

Great question! I do not own a 960 or i7 robot. Can we PM to determine what shows up in the API?

@aaron, I have the i7 so let me know if you need me to do anything to help out for rooms.

1 Like

App: 1.3.4 - removed AppWatchDog, added last cleaning visibility, added ability to start a Brava device after successful docking/charging

Driver: 1.1.5 - removed AppWatchDog

Driver - 1.1.6 - fixed CSS layout for smartly dashboards

App - 1.3.5 - fixed spelling of "Braava" not "Brava". Added a setting to use a switch to override presence settings (great for a global pandemic!)

Thanks to @dman2306 for the code updates!

Just looking through this app.

I’m using get rest API calls manually but was thinking this might be beneficial to add to your app.

Instead of just schedules, can you consider using a virtual switch that turns on the roomba?

How I use it today is, if an occupancy switch or motion becomes inactive to turn on my roomba between specific times of the day. 8am-8pm.

It already does this using the Roomba device. You can turn it on/dock/stop using a standard switch call.

I was having the same issue. Finally figured it out. I don't know if it's because of how we had to install npm on the pi zero w since node.js doesn't support armv6 anymore, but npm is in the directory /usr/local/bin, not in /usr/bin like is listed in that file.

I just changed ExecStart to =/usr/local/bin/npm and it's been working like a charm ever since.

@aaron, it may be worth adding that into your readme in case anyone else runs into this same issue with the "Bad message" error.

And if anyone is interested, I can write up the step-by-step difference for installing on the Pi Zero W since it's somewhat significantly different.

1 Like

Hmmm, I've been having the same problems as @codyalanbryant and @mikewoodld. I get "Failed to enable unit: File roomba.service: Bad message" when issuing command "sudo systemctl enable roomba.service". I've tried every permutation of the suggestions provided above and can't lick it.

@aaron, I'm using a share folder with Rest980 inside exactly as you prescribed. I've run through the entire set of steps three times. Everything works as expected following your instructions until I get to this one step. I'm stymied. Would appreciate anyone's ideas....

Below is my roomba.service file. I've tried with a without /local in ExecStart. No joy.

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

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

[Install] WantedBy=multi-user.target

1 Like

I think another issue is it needs line spacing. This is my file.

[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

This gives me the expected response when I browse to 'xxx.xxx.xxx.xxx:xxxx' in my browser.

I'm personally running into another issue. When I try to add the iRobot scheduler app in hubitat, typing in the ip address of the rpi just gives me the message "Rest980 Server cannot be reached - check IP Address." This has been the case both for my Zero W and my 3b. I'm probably missing something simple, but so far I've been stuck at the final point of trying to add the Roomba to my HE. Anyone can tell me what I'm doing wrong?

There is a docker of rest980 available, Docker Hub might be easier for some folks having difficulty getting it up and running?

1 Like

I don’t see it. This is how I’m looking to use it.

Maybe this is better fit for a rule then a app?

I see exactly the same behavior. I got past the problem on the rpi by respacing the file (though that seemed like an odd solve?). Then, when I configure HE app, the app reports that it can't see the Rest980 Server, this despite the fact that I can clearly test the connectivity manually and it works no problem.

For me, when I click done on the app, I get the Hubitat spinning blue circle in the upper right for a long time (over an hour before giving up). The device is created, but it doesn't appear to work.

There is something common here. And @dman2306, I'm willing to try another method, but truly this isn't a degree of difficulty thing. It's just a question of the app not behaving as expected and looking to the developer for a hint or pointer.

So you’re saying rest980 works fine if you hit the endpoints in a browser? Only the HE app doesn’t work?

Yeah, that's what's happening for me. If I browse to 192.168.1.11:3000, or if I browse to http://raspberrypi:3000, I get the expected response, similar to {"documentation":"https://githubcom/koalazak/rest980","pong":"2019-09-13T12:13:36.408Z"}.

But after adding the app and device codes in my HE, and trying to add the User App, the done button does nothing for me, and I see "null" multiple times throughout the app addition process (add notifications from 'null', etc.), and the message that I need to try another ip address at the top remains. I'm no developer, but I suspect there may be something wrong with the process of adding to HE because it seems with my modifications that the raspberry pi portion is working fine. Tomorrow I'm planning on trying older versions of the HE app and device codes to see if this is maybe a new issue.

1 Like

I am unsure of what you do not see. The iRobot is a device with a switch capability. You have the option to set what will happen when the switch is turned off. Either stop or dock. If turned on it will initiate a cleaning.

If you have rest980 up and running then the app should go ahead and allow you to move forward. BUT, if you do not have the iRobot configured to rest980 then the application will not let you move forward as it cannot create the needed device. Do you have your iRobot connected to rest980?

Easiest way to know is to execute the following command in a browser: http://your-rest980:3000//api/local/info/state

Yes that would be great! I can add accordingly. Sorry I did not see the issues both you and @mluck were having. The forums are not notifying me when ppl post. I am here to help just didn't see these messages until now.

The app requires a schedule, which I don’t use.

I posted pictures of how I handle my roomba.

I also use a zone motion to determine when it should be turned on, and it also checks the HSM status.

The app is great, I’m just trying to sort out if it would work in my use case.

Yes the app does require a schedule. I don't see a picture of your use requirements besides a Rule Machine. Please keep in mind I developed this app for my initially for my use and then shared for others. Others have made requests that have expanded the app drastically based on their use case scenario(s). Also, I provide this app for free so I do my best to help but please be flexible. :slight_smile:

I am unsure what your use case is that you need that the app does not provide. Can you explain your use case?

BTW, you don't have to use the app. You can do many things manually if you like. There are others who own some of the newer iRobots and they don't need this app but rather just little things like you are wanting outside of the iRobot app. Others with the newer iRobots use this app to control cleaning based on advanced presence (@dman2306 - a lot of coding for his use case :slight_smile: ). But ultimately it is up to you. I always like to help but need to understand how your use case is different than what the app can do for you.