iRobot Roomba i7+ Configuration using Rest980

Hi,

Thanks for your reply.

I pretty sure the credentials are right, since they worked fine with the inbuilt vacuum component, but I have disabled that component in my configuration.yaml file. I will try to verify the credentials

I have the Roomba i7 without the clean base.

Hey,

Great integration, have it working good apart from the Selective Room Clean.

Should I be putting in any different parametres for vacuum_floorplan and vacuum_user_floorplan in the secrets.yaml?

vacuum_floorplan: meXGXXXXXXXXX-ztQXXXXXXX
vacuum_user_floorplan: 1910XXXXXXXXX

I didn’t see any mention of changing this in the doco, so have left it. Roomba makes an error tone and says ‘please check the app’ when I try and select rooms and click the clean button.

Have specified all of my regions in the secrets.yaml file correctly as far as I can tell.

Thanks :slight_smile:

Thanks @size9ed!

Yes you will need to change those variables based on your unique map details. You can get those at the same place as you got the region details.

I’ll amend the doco :blush:

Hey Guys!

I have a new update coming… :open_mouth:

  • The Roomba doesn’t store any details about its maintenance schedule, so i decided that this would be a great opportunity to leverage the check-button-card :slight_smile:
  • After getting inspired from @drjared88’s more compact card, I tried to use existing cards to show more information, but it didn’t look that nice on mobile -> enter custom card :slight_smile:

At this stage I’m just waiting on a PR to be merged for the check-button-card (as i needed an extra attribute for an automation to work) before it can be released :+1:

Here is a preview!

Awesome, thanks - I have the per room cleaning working now… but, it will not work with multiple rooms, only single rooms.

@size9ed - What happens when you try to run multiple rooms?

Can you check and confirm you have no trailing commas in your room regions (secrets.yaml)

Looks awesome!

Another question… Do you use the scheduling function in the iRobot app? or do you use HA to automate the cleaning schedule?

Here is what I have, how’s it look to you?

# Vacuum
vacuum_name: Alfred
vacuum_state: http://192.168.1.65:3000/api/local/info/state
vacuum_action: http://192.168.1.65:3000/api/local/action/
vacuum_verify_ssl: false
vacuum_map: http://192.168.1.65:3001/image.php
vacuum_log: /config/vacuum/vacuum.log
vacuum_floorplan: dOY0do2nRQKVYX1FDnC3yg
vacuum_user_floorplan: 200115T103741
vacuum_hallway: '{"region_id":"6","region_name":"Main Hallway","region_type":"hallway"}'
vacuum_robe: '{"region_id":"10","region_name":"WIR","region_type":"bedroom",}'
vacuum_small_hallway: '{"region_id":"21","region_name":"Small Hallway","region_type":"hallway"}'
vacuum_theatre: '{"region_id":"4","region_name":"Theatre","region_type":"living_room"}'
vacuum_games_room: '{"region_id":"5","region_name":"Game’s Room","region_type":"living_room"}'
vacuum_kitchen: '{"region_id":"18","region_name":"Kitchen","region_type":"kitchen"}'
vacuum_family_room: '{"region_id":"26","region_name":"Family Room","region_type":"family_room"}'
vacuum_master_bedroom: '{"region_id":"2","region_name":"Master Bedroom","region_type":"master_bedroom"}'
vacuum_joshs_office: '{"region_id":"12","region_name":"Josh’s Office","region_type":"office"}'
vacuum_dining_room: '{"region_id":"22","region_name":"Dining Room","region_type":"dining_room"}'
vacuum_ensuite: '{"region_id":"23","region_name":"Ensuite","region_type":"bathroom"}'
vacuum_nayas_study: '{"region_id":"24","region_name":"Naya’s Study","region_type":"study"}'
vacuum_pantry: '{"region_id":"25","region_name":"Pantry","region_type":"pantry"}'
vacuum_bathroom: '{"region_id":"27","region_name":"Bathroom","region_type":"bathroom"}'

Remove this comma and try again

Has anyone used this to expose to Alexa? Via Nabu casa? The entities are exposed and discovered; but I think it would need the automation kicked off not just the input_boolean switched… Thoughts?

Thanks! Looking forward to making it public :slight_smile:

Right now I use the scheduling directly from the iRobot App :see_no_evil: :speak_no_evil:
Given its a set and forget for me - I haven’t spent the time (yet!) to incorporate it into HA.

To prevent code double up, i would probably write an automation/node red flow to “turn on” the appropriate input booleans and then trigger the automation via call-service (or using event “initiate_vacuum_clean”) :+1:

Ahh, derp. Perfect - I guess I didn’t look that hard.

Working perfectly now, thanks a million!

1 Like

The node red solution above should also work with Alexa local node… I’ll try that. I’d like to create a simple way to ask alexa to clean a room. The irobot alexa integration is clunky. With this I should be able to say “Alexa, turn on clean kitchen”. I’ll report back

Done - Works exactly like i said…

[{"id":"4a8b496b.936eb8","type":"tab","label":"Vacuum","disabled":false,"info":""},{"id":"5573fcd.af84f04","type":"alexa-local","z":"4a8b496b.936eb8","devicename":"Clean Kitchen","inputtrigger":false,"x":196,"y":227,"wires":[["e1d4ba7c.f15428"]]},{"id":"e1d4ba7c.f15428","type":"api-call-service","z":"4a8b496b.936eb8","name":"Kitchen input on","server":"2a12269e.94634a","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"turn_on","entityId":"input_boolean.vacuum_kitchen","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":420,"y":220,"wires":[["a6c0c69c.c37538"]]},{"id":"a6c0c69c.c37538","type":"delay","z":"4a8b496b.936eb8","name":"","pauseType":"delay","timeout":"3","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":600,"y":220,"wires":[["73884d9d.301574"]]},{"id":"73884d9d.301574","type":"api-call-service","z":"4a8b496b.936eb8","name":"vacuum","server":"2a12269e.94634a","version":1,"debugenabled":false,"service_domain":"automation","service":"trigger","entityId":"automation.vacuum_clean_rooms","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":810,"y":220,"wires":[[]]},{"id":"2a12269e.94634a","type":"server","z":"","name":"Home Assistant1","legacy":false,"hassio":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true}]
1 Like

Thanks for sharing @paulcusick3!

Now you just need to get multiple rooms working at once :rofl:

Any news on the card?

Hi @ Ddppddpp
I’ve finally got a floor plan created, I found the original blue-print of my house in PDF,
i’ve shrunk-ed it re-scaled to .png file, did my best to superimpose the vacuum cleaning path over my house floor plan. I’ve noticed there is a slight rotational offset overall, and to the East of the vacuum the furthest point from the base the vacuum location data is suggesting it is going through the walls.

Either the irobot 7 positional accurary is not the best, the further it goes from the base, it may rely on a signal from the base to supplement positional data, and to help it find the home base to overcome the positional accuracy, or the builder did not stick to the floor plan exactly, at least the inner walls, the outer house perimeter dimensions should be
more exact, as city inspection were pretty rough on the builders here.

image

Pierre,
Don’t tear down the walls just yet :smiley:
I found out that putting the base perpendicular to the wall goes a loong way.
I actually secured it to the floor with a bit of adhesive tape so that the roomba doesn’t accidentally move it when coming back ‘home’.

I’ll try the adhesive under the base, see if that helps the slight rotational offset, sometimes my unit does return to base recharge and then finish the cleaning on its scheduled remaining room. Not sure if it will help with the X offset furthest to the east from the base. that seems more like accumulation of some data inaccuracy from the irobot7, the room with the highest location data error was the last room it cleaned.
I’ll try a test where I’ll clean that room by itself after the unit is charged at its docking base.
when its docked the roomba location gets reset to (0,0,0), which is not the location data when its redocked after a clean.

Hi @Heine_Madsen

The card and required changes (there is alot!) is already uploaded in GitHub, just switch to the dev branch :slight_smile:

Please feel free to give it a shot and let me know !

Note: You will need to use my forked version of the check-button-card for maintenance to work properly, I have updated the README to reference this.

Once the PR for check-button-card is merged, ill re-base this to master !

Master Branch

EDIT: Link updated to Master branch