Skip to content

Bug: Failed to connect to Roomba on different subnet even though static IP provided to plugin #167

@deleto

Description

@deleto

Describe The Bug

Fails to connect to Roomba which is on a different subnet from Homebrige, even though I provide the static IP address of the Roomba. Does not list Roomba on DEVICES tab of the UI.

To Reproduce

Place Roomba on different subnet (192.168.4.xxx) from Homebridge (192.168.3.xxx).
Ensure no router firewall rules set up between these subnets.
I happen to be running Homebrige on a Synology NAS.

Configure the Homebridge Roomba plugin using the Homebridge UI alone. Provide the Roomba's static IP, BLID, and password.

Expected behavior

Homebrige Roomba plugin should be able to connect to the Roomba.
This has worked for me previously with a different Homebridge Roomba plugin.

iRobot iOS app connects successfully from the same subnet as Homebridge (192.168.3.xxx).
Homebridge Roomba plugin script roomba:getpassword also works fine and yields the expected Roomba password.

Workaround

Move the Roomba to the same subnet as Homebridge. The Roomba is then listed on the DEVICES tab of the UI. Aside: why is the IP address listed in the "Serial Number" field?
It works when I continue to provide the details of the Roomba (updated static IP 192.168.3.xxx, BLID, and password).
It also works when I remove the details of the Roomba.

Relevant log output

[4/5/2025, 5:54:43 PM] [CloudflaredTunnel] Initializing Roomba platform...
[4/5/2025, 5:54:43 PM] [CloudflaredTunnel] Initializing child bridge 0E:EE:D1:B5:5C:F8
[4/5/2025, 5:54:43 PM] Loading 1 accessories...
[4/5/2025, 5:54:43 PM] No plugin was found for the accessory "Roomba2" in your config.json. Please make sure the corresponding plugin is installed correctly.
[4/5/2025, 5:54:43 PM] Publishing bridge accessory (name: Paul's Homebridge, publishInfo: {
  username: '0E:AC:1E:11:A9:08',
  port: 51228,
  pincode: '***-**-***',
  category: 2,
  bind: undefined,
  mdns: undefined,
  addIdentifyingMaterial: true,
  advertiser: 'avahi'
}).
Setup Payload:
X-HM://0024MT69IPIYF
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    │ 703-39-318 │     
    └────────────┘     
                       
(node:20528) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
[4/5/2025, 5:54:43 PM] Homebridge v1.9.0 (HAP v0.12.3) (Paul's Homebridge) is running on port 51228.
[4/5/2025, 5:54:43 PM] 

NOTICE TO USERS AND PLUGIN DEVELOPERS
> Homebridge 2.0 is on the way and brings some breaking changes to existing plugins.
> Please visit the following link to learn more about the changes and how to prepare:
> https://github.com/homebridge/homebridge/wiki/Updating-To-Homebridge-v2.0

Failed to create listener for avahi-daemon server state. The system will not be notified about restarts of avahi-daemon and will therefore stay undiscoverable in those instances. Error message: Error: No such interface found
[4/5/2025, 5:54:44 PM] [CloudflaredTunnel] Launched child bridge with PID 20543
[4/5/2025, 5:54:45 PM] [CloudflaredTunnel] Loaded @homebridge-plugins/homebridge-roomba v2.1.0 child bridge successfully
(node:20543) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
[4/5/2025, 5:54:45 PM] Loaded 0 cached accessories from cachedAccessories.0EEED1B55CF8.
[4/5/2025, 5:54:45 PM] [CloudflaredTunnel] Configuration: {
  "name": "CloudflaredTunnel",
  "email": "[email protected]",
  "password": "xxxxxxxxxxx",
  "devices": [
    {
      "name": "Roomba",
      "model": "960",
      "blid": "xxxxxxxxxxxxxxxx",
      "robotpwd": ":x:xxxxxxxxxx:xxxxxxxxxxxxxxxx",
      "ipaddress": "192.168.4.xxx",
      "dockContactSensor": true,
      "cleanBehaviour": "everywhere",
      "mission": {
        "ordered": 1,
        "regions": [
          {
            "type": "rid",
            "params": {
              "noAutoPasses": false,
              "twoPass": false
            }
          }
        ]
      },
      "stopBehaviour": "home"
    }
  ],
  "platform": "Roomba",
  "disableDiscovery": false
}
[4/5/2025, 5:54:45 PM] [CloudflaredTunnel] Plugin Version: 2.1.0
[4/5/2025, 5:54:45 PM] Publishing bridge accessory (name: Roomba Bridge, publishInfo: {
  username: '0E:EE:D1:B5:5C:F8',
  port: 51659,
  pincode: '***-**-***',
  category: 2,
  bind: undefined,
  mdns: undefined,
  addIdentifyingMaterial: true,
  advertiser: 'avahi'
}).
[4/5/2025, 5:54:45 PM] [CloudflaredTunnel] Logging into iRobot...
[4/5/2025, 5:54:45 PM] Homebridge v1.9.0 (HAP v0.12.3) (Roomba Bridge) is running on port 51659.
[4/5/2025, 5:54:45 PM] 

NOTICE TO USERS AND PLUGIN DEVELOPERS
> Homebridge 2.0 is on the way and brings some breaking changes to existing plugins.
> Please visit the following link to learn more about the changes and how to prepare:
> https://github.com/homebridge/homebridge/wiki/Updating-To-Homebridge-v2.0

Failed to create listener for avahi-daemon server state. The system will not be notified about restarts of avahi-daemon and will therefore stay undiscoverable in those instances. Error message: Error: No such interface found
[4/5/2025, 5:54:46 PM] [CloudflaredTunnel] robots: {"xxxxxxxxxxxxxxxx":{"password":":x:xxxxxxxxxx:xxxxxxxxxxxxxxxx","sku":"R960020","softwareVer":"v2.4.17-138","name":"Roomba","cap":{"pose":1,"ota":2,"multiPass":2,"pp":1,"binFullDetect":1,"langOta":1,"maps":1,"edge":1,"eco":1,"svcConf":1},"digiCap":{"appVer":0},"svcDeplId":"v005","user_cert":false}}
[4/5/2025, 5:54:46 PM] [CloudflaredTunnel] Set blid for robot Roomba to xxxxxxxxxxxxxxxx
[4/5/2025, 5:54:46 PM] [CloudflaredTunnel] Converting robots object to array
[4/5/2025, 5:54:46 PM] [CloudflaredTunnel] Processed robots: [{"password":":x:xxxxxxxxxx:xxxxxxxxxxxxxxxx","sku":"R960020","softwareVer":"v2.4.17-138","name":"Roomba","cap":{"pose":1,"ota":2,"multiPass":2,"pp":1,"binFullDetect":1,"langOta":1,"maps":1,"edge":1,"eco":1,"svcConf":1},"digiCap":{"appVer":0},"svcDeplId":"v005","user_cert":false,"blid":"xxxxxxxxxxxxxxxx"}]
[4/5/2025, 5:54:46 PM] [CloudflaredTunnel] roomba name: Roomba blid: xxxxxxxxxxxxxxxx password: :x:xxxxxxxxxx:xxxxxxxxxxxxxxxx
[4/5/2025, 5:54:46 PM] [CloudflaredTunnel] Configuring roomba: Roomba
[4/5/2025, 5:55:11 PM] [CloudflaredTunnel] Failed to connect roomba: Roomba with error: No Roomba Found With Blid: xxxxxxxxxxxxxxxx
[4/5/2025, 5:55:11 PM] [CloudflaredTunnel] This usually happens if the Roomba is not on the same network as Homebridge, or the Roomba is not reachable from the network
[4/5/2025, 5:55:11 PM] [CloudflaredTunnel] Not creating an accessory for unreachable Roomba: Roomba

Config for homebridge-roomba

{
    "name": "CloudflaredTunnel",
    "email": "[email protected]",
    "password": "xxxxxxxxxxx",
    "devices": [
        {
            "name": "Roomba",
            "model": "960",
            "blid": "xxxxxxxxxxxxxxxx",
            "robotpwd": ":x:xxxxxxxxxx:xxxxxxxxxxxxxxxx",
            "ipaddress": "192.168.4.xxx",
            "dockContactSensor": true,
            "cleanBehaviour": "everywhere",
            "mission": {
                "ordered": 1,
                "regions": [
                    {
                        "type": "rid",
                        "params": {
                            "noAutoPasses": false,
                            "twoPass": false
                        }
                    }
                ]
            },
            "stopBehaviour": "home"
        }
    ],
    "_bridge": {
        "name": "Roomba Bridge",
        "username": "0E:EE:D1:B5:5C:F8",
        "port": 51659
    },
    "platform": "Roomba"
}

Screenshots

No response

Node.js Version

v22.13.1

NPM Version

v22.13.1

Homebridge Version

v1.9.0

Homebridge Roomba Plugin Version

v2.1.0

Homebridge Config UI X Plugin Version

v4.72.0

Operating System

Synology DSM v7.2.1-69057

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingpinned

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions