iRobot Roomba i7+ Configuration using Rest980

Can you check in Developer Tools, does sensor.rest980 exist?

Hey! Thanks good, and not surprising since its built on the same platform, that one just uses dorita980 direct whereas this uses the rest980 overlay.

@omar416 also getting the same error as you. Did you resolve this?

per @Syrius reply, i was previously using the native component, but since removed it. Still getting the error though. Any suggestions?

EDIT:
SOLVED
error adding localization.

good day

Please help
in the “maintenance” section in the “cleaning” section I have all the buttons red and it is not possible to achieve a green state in any way.
I think, probably wrongly, that I followed the installation procedure.
Can you please advise me where I probably made a mistake or what I could forget to set?
I do not fully understand the part related to mqtt, to config.yaml I did not add any sensors manually, but in the integration of mqtt vacuum_maint_ sensors _ I have _ available _.
I have no idea where I have a mistake?
Some idea???

Thank you

1 Like

Hello,

thank you so much for the hard work! I just got into HA and still dont know all the basics. I managed to get this working but I have a couple questions if someone would be so kind to help me out.

Im looking to add a simple button card per room which, when clicked, would spot clean only that room. Im guessing its flipping the boolean to on, but then what? How would I realize this in a card?

Also, the maintenance card is telling me that maintenance is overdue by 51 years. That seems excessive?

thanks

Hello @Syrius , I still can’t get the second floor running. First I wanted to integrate (merge) the multifloor.yaml into the existing vacuum.yaml of my Roomba. I also tried to rename kitchen map into ground floor map and so on. After a reboot everything was brocken and I needed to go back on my working setup. Next try was to let all the mop_map multifloor naming and put a separate file in the packages directory. I’ve read all the instructions under FAQ, but I think my abilities are limited to get it running with the FAQ alone. I’ve only 1 rest980 running, because I’ve only the Roomba in my House.
Perhaps you or someone who has got it running with two floors can help me.

Thanks

Hey guys, I hope someone can help me out.
I’m facing the classic error of the empty states {} when accessing “/api/local/info/state”.
I followed the instructions and already uninstalled the addons multiple times.
Also checked the thread trying to find the same issue, but I’m still stuck.
I also made sure to remove the Roomba Integration and also confirmed the password and BLID are still valid.

-Rest980 logs:

[email protected] start /usr/src/app
node ./bin/www
GET /api/local/info/state 200 144.815 ms - 2
GET /favicon.ico 200 17.935 ms - 1150

-NGINX
When accessing “/image.php” I get:
No Coordinates found in file, is it reachable and populated? Log file - http://192.168.2.40:3001/vacuum.log?

The only weird thing on the logs is:
[WARN tini (7)] Tini is not running as PID 1 and isn’t registered as a child subreaper.
Zombie processes will not be re-parented to Tini, so zombie reaping won’t work.

Any ideas?
Thanks

@thiagodeserto … i solved that image.php please check this :slight_smile:

@Syrius how can i display the map with the lovelace card like you are show in the image ??

i have the map when i go the url … and i have all the card funcions but no map … do u have a card for that ??

Thank you, André.
But I don’t see a vacuum.log being generated anywhere, not inside the vacuum folder nor inside the config.

The php app … can u tell me what u have in the conguration ???

is it like this

and in the image php … have u changed it ??

Yes. The php-nginx has its default values, like you postedit.
I also changed the values inside image.php, but I’m unsure if they have to point to 3000 or 3001.
I tried both, without luck.

@thiagodeserto

The line 25 … its the ip and port of home assistant not the apps of this mod … please point that to the internal ip of your home assistant and the port of home assistant

'$ha_rest980 = 'http://iphomeassistant:porthomeassistant/api/states/sensor.rest980'; # sensor.rest980_2, if configured for Mop

$ha_token = have u created the long lived home assistant token ??

that should work i thing that is your problem … then restart the apps from the mod in docker !!!

it still appears to be looking for vacuum in your code, you will need to find where its defined and remove it.

glad its solved :+1:

you could use a script or execute a seperate automation which changes the input boolean, and then triggers the automation. have a look at this automation which essentially does this, you just want to change the trigger.

click it again to reset it to 0

PM me and we can sort it out

hmm, typically this is due to the roomba integration running… do you have the app running on your phone? perhaps try rebooting your roomba incase there is a stuck connecting preventing rest980 from reaching the robot

if there is no state info, then this wont work (as there is no coordinates to generate)

you need to add a second card for the camera - refer here

Check this FAQ Item which explains how it works.

if you dont have the states working, then this is unlikely to work as it wont be able to get the coordinates published by the robot.

once thats sorted, then check and make sure the automations are getting executed with the vacuum log changes and writing to the vacuum.log fuile

robot_log should point at 3001 (the php-nginx port)
ha_rest980 should point at 8123 or which ever port you use for HA

Thanks for the all the answers, Syrius, but still no luck.

-I made sure to have the iRobot app closed on the phone.
-I made sure the official integration was removed, not only disabled.
-I rebooted Roomba.
-I confirmed BLID, Password and ip address. I even setup up the official integration again, and after removing it, just to guarantee nothing changed meanwhile.
-Updated the ha_rest980 var with the correct port, even thought that shouldn’t prevent states from showing, right?!
-Read all the FAQ.
-Removed and reinstalled Addons.
-Rebooted HA.

I’m starting to think that may be a particularity of the new J7+.
I’ll try to debug more this weekend.
Any ideas are welcome.
Thanks again and keep up the good work.

I trink this is the problem. I was facing also this problem, because I had the roomba configured simultaneously in iobroker. After killing all additional configurations ( official integration and iobroker) it worked for me.

I wasn’t clear on my text.
I setup the official integration only to test the credentials I had were valid, but right after I removed it.
So no, I do not have roomba configured simultaneously with HA.

I’ve been having some trouble getting this integration set up and haven’t been able to figure out what’s going on. I have gone through the ha-rest980-roomba steps multiple times making sure that nothing is missing and I’ve also re-installed the add-ons a couple of times.

I’m currently having issues getting the rest980 sensor working. Looking at the HA logs I see a few template errors and warnings that the setup of sensor platform rest is taking too long. Is there something that might be good for me to take a look at in order to get rest980 working?

I’m not running the iRobot app, I don’t have the integration on HA, and I’ve unlinked the iRobot integration from the Google Home app. I’ve also made sure to update all the necessary files that were called out on the set up instructions.

Hello

I have a problem with my logo and I don’t know how to solve it.

Template variable error: ‘None’ has no attribute ‘split’ when rendering ‘{% if state_attr(‘sensor.rest980’, ‘softwareVer’) is defined %} {% set version = state_attr(‘sensor.rest980’, ‘softwareVer’) %} {{ version.split(’+’)[1] }} {% else %} - {% endif %}’

Is help available?

I have a similar problem and more log errors

Logger: homeassistant.components.automation.vacuum_maintenance_check
Source: helpers/script.py:1344
Integration: Automatizace (documentation, issues)
First occurred: 09:15:00 (6 occurrences)
Last logged: 10:30:00

Vacuum Maintenance Check: Error executing script. Error for call_service at pos 1: Error rendering service name template: TypeError: '<' not supported between instances of 'NoneType' and 'float'
Logger: homeassistant.components.automation.vacuum_maintenance_check
Source: components/automation/__init__.py:522
Integration: Automatizace (documentation, issues)
First occurred: 09:15:00 (6 occurrences)
Last logged: 10:30:00

Error while executing automation automation.vacuum_maintenance_check: Error rendering service name template: TypeError: '<' not supported between instances of 'NoneType' and 'float'
Logger: homeassistant.helpers.template
Source: helpers/template.py:1624
First occurred: 09:07:36 (90 occurrences)
Last logged: 10:36:36

Template variable error: 'None' has no attribute 'split' when rendering '{% if state_attr('sensor.rest980', 'softwareVer') is defined %} {% set version = state_attr('sensor.rest980', 'softwareVer') %} {{ version.split('+')[1] }} {% else %} - {% endif %}'
...

For quite long time I was running this integration without issues… then I realized that I’m using quite outdated version and updated. Now it partially stopped to work:

  • Most of the device status shows properly on the card, but Resume In and Expires In:
    Screenshot 2021-10-31 at 11.33.12
  • Maintenece data seems to be OK
  • Selective cleaning seems OK and I can command robot to perform tasks as intended
  • No robot traces are visible on the map (map show properly). As I recall traces are build upon data showing in vacuum.log, which is pretty emty:
Home Assistant notifications (Log started: 2021-10-31T10:07:25.956297+00:00)
--------------------------------------------------------------------------------
n-a

I re-checked with backup files configuration in image.php and seems I moved to new version everything properly… HA log does not show any errors related to this integration.
Here is my configuration from image.php:

// ADJUST THESE PARAMETERS
$robot_log = 'http://192.168.xxx.yyy:3001/vacuum.log'; # Could also be HTTPS
$file_append = ''; # Allows differentiation of files for different floors or robots
$robot_type = 'roomba'; # Select between roomba and braava for different icons
$set_first_coordinate = 3; # Ability to skip initial coordinate(s) if incorrect data logged
$overlay_image = 'ground_floor.png'; # Background Layer
$overlay_walls = false; # Allows overlaying of walls, used in fill mode to cover 'spray'
$walls_image = 'walls.png'; # Walls Image must contain transparent floor
$show_stuck_positions = true; 
$line_thickness = 2; # Default 2, Set to ~60 for Fill Mode
$map_width = 763; # Ensure overlay and wall images match this size
$map_height = 747; # Ensure overlay and wall images match this size
$x_offset = -535;
$y_offset = 680;
$flip_vertical = false;
$flip_horizontal = false;
$render_status_text = false;
$rotate_angle = 90; # Allows rotating of the robot lines
$x_scale=0.73; # Allows scaling of roomba x lines
$y_scale=0.73; # Allows scaling of roomba y lines
$ha_rest980 = 'https://192.168.xxx.yyy:8123/api/states/sensor.rest980'; # sensor.rest980_2, if configured for Mop
$ha_token = 'xxxxxx........xxxxx';
$ha_timezone = 'Europe/Warsaw'; # Supported Timezones https://www.php.net/manual/en/timezones.php
$ha_text_delimiter = " |"; # How text is displayed on the map top " \n" --> New Line ## " |" --> Show on one line
//
// Line Color - RGB
// -1 represents gradual increase from 0 to 255 based on number of logged locations
//
$color_red = 128;
$color_green = -1;
$color_blue = 255;
//
// Examples
// red = -1 , green = 255 , blue = -1  ---> Green to White Fade
// red = 0 , green = -1 , blue = 255   ---> Blue to Aqua Fade
// red = 0 , green = 0 , blue = 255    ---> Solid Blue
//
$path_opacity = 0.8; # Opacity of Roomba path --> 0.0 = completely transparent, 1.0 = completely opaque
//
///////////////////////////////////////////////////////////////////

Any idea how to troublesoot?