Skip to content

yaro-m/homebridge-nodemcu-roomba876

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project is to add iRobot roomba 876 (or others without smart/WiFi capabilities) controlls over Apple Home.

npm version

homebridge-nodemcu-roomba876

This Homebridge plugin adds switch, battery level and charge status intrefaces via REAT API calls underneath.

API calls go to nodemcu (esp8266) WiFi microcontroller connected to iRobot roomba to read its status and control it.

See Hardware requirements to make it work for you and your roomba.

Credits

This code was built upon the work in the following projects:

Prerequisities

  • iRobot romba without WiFi capabilities (otherwise, you don't need nodemcu and extra code), my model is 876 but most of robots are having the same open interface (OI) spec so should work well
  • Raspberry Pi or any other Mac/PC to host homebridge software
  • Nodemcu microcontroller to run HTTP REST API server and proxy homebrdge commands to roomba

Features

  • Start/stop Roomba `Hey Siri, start Roomba*
  • Check on/off status Hey Siri, is the Roomba on?
  • Check charging status Hey Siri, is the Roomba charging?
  • Check battery status Hey Siri, is the Roomba charged?

Installation

npm install -g homebridge-nodemcu-roomba876

Homebridge configuration

Add to your config.json's accessory section (add only accessories entry, don't copy whole code shippet):

{
    "bridge": {
		"name": "Homebridge",
		"username": "CD:22:3D:E3:CE:30",
		"port": 51826,
		"pin": "123-45-678"
    },
    "description": "My Homebridge",
    "platforms": [],
    "accessories": [
		{
			"accessory": "Roomba876",
			"model":"876",
			"name": "Roomba",
			"hostname": "http://mdns-host-or-ip-address-of-your-roomba-nodemcu",
		}
    ]
}

The Model and Name options can be set to whatever you'd like. Hostname is an IP address of nodemcu's microcontroller or its mDNS host name used

Nodemcu

This is separate hardware to listen on host/IP with REST interface accepting API calls from this homebridge plugin.

It should be developed and flashed separately from this plugin. You can use Arduino IDE to develop and flash it.

It passes commands from homebridge/Siri to roomba over open interface port (OI).

Source

Source is located in nodemcu folder of this project. But rest of the routine is up to you.

Wiring

TBD

About

Homebridge support for Roomba 690

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 64.7%
  • C++ 35.3%