Connection to Roomba iRobot 971 failing

Hi all,

I’m failing on getting the Roomba iRobot binding to work. I´m running

  • Raspberry 4
  • Openhabian
  • OH3 3.0.2
  • iRobot Binding 3.0.2

When I install the binding the Roomba 971 is immediately detected, but then binding fails to connect.

The message in the OH UI says

COMMUNICATION_ERROR
Read Timeout

and then

COMMUNICATION_ERROR
Connection refused (Connection refused)

I have tried

log:set DEBUG org.openhab.binding.irobot

but the log did not show the cause of the problem.

2021-05-08 17:42:20.264 [DEBUG] [nal.discovery.IRobotDiscoveryService] - Starting broadcast for /192.168.2.255
2021-05-08 17:42:22.957 [DEBUG] [robot.internal.handler.RoombaHandler] - Connecting to 192.168.2.124
2021-05-08 17:42:22.968 [DEBUG] [robot.internal.handler.RoombaHandler] - BLID is: 80B446247073XXXX
2021-05-08 17:42:27.974 [DEBUG] [robot.internal.handler.RoombaHandler] - Connecting to 192.168.2.124
2021-05-08 17:42:27.976 [DEBUG] [robot.internal.handler.RoombaHandler] - BLID is: 80B446247073XXXX
2021-05-08 17:42:32.994 [DEBUG] [robot.internal.handler.RoombaHandler] - Connecting to 192.168.2.124
2021-05-08 17:42:32.995 [DEBUG] [robot.internal.handler.RoombaHandler] - BLID is: 80B446247073XXXX
2021-05-08 17:42:38.013 [DEBUG] [robot.internal.handler.RoombaHandler] - Connecting to 192.168.2.124

After some digging I found out that there was an issue with the TLS connection (dh_key_too_small), which I could fix in /etc/ssl/openssl.cnf with “CipherString = DEFAULT@SECLEVEL=1”
Now I can connect with the Python implementation (GitHub - NickWaterton/Roomba980-Python: Python program and library to control iRobot Roomba 980 Vacuum Cleaner)
and also directly with the MQTT broker of the Roomba with MQTT Explorer.
Only the binding does not connect.
Am I missing something?

Jens

The known issues section ( iRobot - Bindings | openHAB ) mentions that

Roomba’s built-in MQTT server, used for communication, supports only a single local connection at a time

could that be the problem ?

Good point. I tried always exclusively. Two methods worked (Python an direct MQTT), but not the binding

Hi Wolfgang!
Does that include Amazon Alexa? Or even the automated inbox-scan of the iRobot openHAB binding itself?
Do you think that an existing and working Alexa Skill prevents openHAB binding from working? I deactivated the alexa skill but still iRobot has “COMMUNICATION_ERROR”. The Binding just works shortly. It detects the blid and password and it is broken seconds later.
I use textfile definition of things. Maybe the “inbox”-scan of openHAB does a detection and destroys my former working connection? I tried so much - but it is not working properly.
Best,
Dirk

Sorry to say, as I do not own an iRobot I can’t answer your questions from practice.
My previous post was just about to give a hint about known issues.

I do not know how Alexa connects to the iRobot. In case the binding and Alexa use the MQTT iRobot server then it could be the problem.

May be you can do some network sniffing and analyze the traffic that is intended for the iRobot ?

Could this be due to a firmware update? Does your robot have 2.4.16-126?