iRobot Roomba i7+ Configuration using Rest980

@clipse I’ve done it in German. You need to change the label, titles and text in the card. Additionally I’ve put a list with translations for each object to the card. This is described in the check-button-card repository under text.

see the text passage in the picture. I hope this helps you.

Daniel

1 Like

@Syrius I’ve setup the whole stuff for the second time, but no sensors were created after a complete clean. I’m using home assistant in a VMM on my Synology NAS. I’ve installed your containers and cards. The containers are working. I can get the states of the irobot i7. I’ve modified the secrets file, vacuum.yaml and image.php. In my configuration file I’ve added
homeassistant:
packages: !include_dir_named packages/
in which I copied my vacuum.yaml.
In my configuration dir I’ve copied the vacuum folder.
Then I started a complete clean. No Log File or sensors were created. What have I missed?

Can you or someone else help me?

Thanks Daniel

thats a great quesiton lol, unfortunately this data comes from dorita980/rest980.

It looks like they have deprecated the “cleaned” space measurment, as its no longer listed in the lifetime stats in the app (in my instance, at least)

that error is expected, but wont be breaking your instance. I submitted a PR to rest980 to fix this (back in march)

you can probably just copy the image.php file to another name in the same folder, just reference the different name in the second camera instance.

if you check the developer tools, do you see the sensor.vacuum ?

sounds great! if you can submit a PR, ill review and might put them in a seperate file for modularity as it wont be relevant for everyone :slight_smile:

becuase the PHP file is completley independant of HA, this is currently not possible. when/if i ever find some free time there is the potentialy an option to replace the php file with a native version (whcih has been posted in the thread above) which might bring this as an option?

you wont find it becuase its not there… :frowning_face:
ill add it in shortly however :slight_smile:

what error do you get? :thinking:

yeah, ive realised these are broken… it looks like area has been removed so that attribute will be gewtting removed, however i have already idenified the fix for the timers and will be coming soon

as daniel has noted below, the text fields are completley customizable in the love lace card. you can check the repo for more details

do you see the vacuum and rest980 sensors in developer tools? if you check the HA log, is there any errors showing?

Ok I found a double entry in my configuration files under the point home assistant. It was mentioned in the logs. When will the sensors be created? At the restart or the full clean of my groundlevel? Is there perhaps a problem because I have three levels in my roomba app and only set up the ground floor in your repository? I wanted to integrate the 1st and 2nd floor later, when everything is running.

Thanks Daniel

Edit: After restart the sensors appeared. Thank you very much.

1 Like

yeah, ive realised these are broken… it looks like area has been removed so that attribute will be gewtting removed, however i have already idenified the fix for the timers and will be coming soon"

And I thought the mistake was mine … shit and I kept checking and adding

as daniel has noted below, the text fields are completley customizable in the love lace card. you can check the repo for more details

that already helped me for the Lovelace. Now, however, I would like “Ready” to be displayed as “Ready” or “docked” for example (in the picture above where the robot is shown)
Is that just as feasible? Can i easly change this like this for example (in the yaml):

          2 : 'Uneven Ground',                'clean' : 'Reinigen',
          15 : 'Wenig Batterie',                'quick' : 'Reinigen',
          39 : 'Ausstehend',                     'evac' : 'Leer',
          48 : 'Weg blockiert'                    'train' : 'Training',

And last question, what can i do against the “bin” errors from braava? is it enough to delete the part with it?

  • Template variable warning: ‘None’ has no attribute ‘full’ when rendering ‘{% set mapper = { true : ‘Full’, false : ‘Not Full’ } %} {% set state = state_attr(‘sensor.rest980_2’, ‘bin’)[‘full’] %} {{ mapper[state] if state in mapper else state }}’
  • Template variable warning: ‘None’ has no attribute ‘present’ when rendering ‘{% set mapper = { true : ‘Yes’, false : ‘No’ } %} {% set state = state_attr(‘sensor.rest980_2’, ‘bin’)[‘present’] %} {{ mapper[state] if state in mapper else state }}’
  • Template variable warning: ‘dict object’ has no attribute ‘timestamp’ when rendering ‘{{ value_json.timestamp }}’

Big thanks!!

Yes sensors.vacuum is there but it says it’s ‘Unavailable’. Is there supposed to be a sensor.rest980 as well? I see mention of it in the vacuum.yaml but I don’t have one on my HA.

Has anybody used this for a second floor and is it working? Post 337 above.

Thanks Daniel

Hey sorry to jump in here (3 months later) but I’ve got a similar issue. I’m getting that exact output when trying to trigger a clean of any kind from the card, but using http://<ip or fqdn of docker host>:<rest980port>/api/local/action/start started it going.

I noticed that the vacuum_rooms text input seems to have an empty value, but the configuration.yaml part of vacuum_rooms is exactly as in the documentation. Below is a screenshot showing where I noticed that HA thinks the text input is empty:

I unfortunately came to the same conclusion regarding cleaned area… Send like such an odd thing to remove from the firmware, but I guess that’s where we’re at now.

How exactly do i go about configuring the lovelace overlay?

I tried using the raw config editor and eneded up with this.

No entities specified.
title: Roomba
path: roomba
head:
label: Selective Room Cleaning
type: section
type: custom:fold-entity-row
badges:

  • entity: sensor.vacuum
    cards:
  • entity: sensor.vacuum
    type: custom:roomba-vacuum-card
  • entities:
    • input_boolean.vacuum_clean_dining_room
    • input_boolean.vacuum_clean_master_bedroom
    • input_boolean.vacuum_clean_kids_bathroom_and_hall
    • input_boolean.vacuum_clean_living_room
    • input_boolean.vacuum_clean_kitchen_hall
    • input_boolean.vacuum_clean_avas_room
    • input_boolean.vacuum_clean_kitchen
    • input_boolean.vacuum_clean_brendyns_room
    • input_boolean.vacuum_clean_master_bathroom
    • entity: automation.vacuum_clean_rooms
      lock:
      enabled: |
      [[[
      if ((states[‘group.vacuum_rooms’].state == “on”) && (states[‘sensor.vacuum’].state == “Ready”))
      return false;
      return true;
      ]]]
      exemptions: []
      name: Clean Rooms
      styles:
      card:
      - height: 50px
      tap_action:
      action: call-service
      service: automation.trigger
      service_data:
      entity_id: automation.vacuum_clean_rooms
      type: custom:button-card

Yes, but you will also need to change the attributes for the Lovelace card (vac_states section)

hmm… the LL card will complain if no bin. I recall someone in this thread modifying the card for Braava Pad i think ?

Yes, nothing will work (as you are encountering) without sensor.rest980. Its configured in lines 11-26 of the vacuum.yaml file. Perhaps there is an issue with your resource secret (line 24)?

I know @hawk was looking at it… not sure the progress however.

this gets populated when to “select” rooms from the LL card. this mechanism is used to determine the order when you hit clean, allowing ordered cleaning to actually work

what error are you getting?

yeah… :sob:

you dont need to use raw mode.

create a manual card, copy in lines 2-155 in and then edit 6-16 to reflect the rooms you have configured
create a second manual card, copy in lines 158-161

Thanks for the reply, and d’oh because I thought I’d quoted the error I was referring to, apologies. It was an endpoint not found error for any and all room toggles.

I’m very new to HA so still getting my head around exactly where things live and how to do things (especially as a lot of things I’m reading specifies folders I don’t seem to have on my version) and didn’t initially understand that the vacuum.yaml could be referenced from the configuration.yaml. As a result, I split out what you’d consolidated into the various parts of my configuration.yaml.

Anyway after a while, last thing I did last night was to clean things up a little on my configuration.yaml and move the input_boolean into its own .yaml and reference it from the config file. I don’t know what this changed, however this morning I just decided to give it another go and the toggles work.

Now the only thing that doesn’t seem to be functioning is the right hand set of card parameters when a clean is taking place (currently been running approx. 45 mins):
image

got it working, nice :+1:

if you did want to put this all back into a single file at some stage, you can just create a folder called packages in the config folder, and add the following to your configuration.yaml (or add the packages line to an existing homeassistant: section)

homeassistant:
  packages: !include_dir_named packages

:slight_smile:

Yep so time and resume in i will fix in next release, area however has been deprecated by iRobot (value is no longer published) so im still trying to figure out what to do for that

Oh that’s smart. Much better, thank you! I’ll get round to that soon :slight_smile:

1 Like

Did you end up buying it?

The i6+ is on sale for prime day today and I’m think about buying it:

Well if I change these I can not use the rest commands in my lovelace.
Bildschirmfoto 2021-06-23 um 14.30.09
as you can see here. If I let them in english, there is no problem.
Bildschirmfoto 2021-06-23 um 14.34.58
Have you had the same problems? Have you fixed it?

Just a quick note to say thanks for the advice and instructions on this, I did this and for the card it was like nothing had changed. Now to add the second set of nginx and rest containers for my braava!

Edit - I added the rest980_2 and php-nginx_2 Docker Images, configured fine and connected to the braava but I must be missing something here, do I need to set up another vacuum.yaml for this?

Got it! It was some network configurations I was working on then presumably some typos that didn’t happen in my reinstall. Thanks very much for your help and for the amazing integration!

yeah ok, i have hardcoded values in the card :cry: , i will have to address it and will let you know when its done

yes you essentially need to create a seperate configuration file substituting all the names with a second instance

Thanks for this. Could I ask what you mean with ‘substituting all the names with a second instance’? I’ve set up a new ‘mop.yaml’ in packages, changed everything to point to the new nginx and rest980 ports, have added the rooms into secrets with their correct region IDs and updated the other parts of the mop.yaml, created a new folder called ‘mopping’ to put the nginx stuff in (image.php, vacuum.log etc.) and pointed the niginx addon configuration to it, but I’m not finding a new sensor.vacuum or similar in HA. Should the rest980_2 have created a new sensor? Do I need to change this sensor in the vacuum.yaml to something else?

Sorry for all the questions, I’m getting a bit stuck!

Edit:

I’ve really got myself confused. So in the new mop.yaml and secrets.yaml I replaced everything that had vacuum with mop (except for the mdi, I changed that to robot-vacuum-variant). I now have sensor.vacuum and sensor.mop, however both cards now come up with my braava name and stats:

The card on the left is the Roomba, and still triggers it. The one on the right triggers the braava just fine. I can’t for the life of my figure out why the card name would have changed, nor the triggered stats only reflect one of the robots on both cards. Also while the clean room booleans work for each robot, the pause/stop/dock buttons on each card only trigger the roomba.

Thanks for any help!