You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: bundles/org.openhab.binding.irobot/README.md
+36Lines changed: 36 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -169,6 +169,42 @@ The easiest way to determine the pmapId, region_ids/zoneids and userPmapvId is t
169
169
1. Roomba's built-in MQTT server, used for communication, supports only a single local connection at a time. Bear this in mind when you want to do something that requires local connection from your phone, like reconfiguring the network. Disable openHAB Thing before doing this.
170
170
1. Sometimes during intensive testing Roomba just stopped communicating over the local connection. If this happens, try rebooting it. On my robot it's done by holding "Clean" button for about 10 seconds until all the LEDs come on. Release the button and the reboot tone will be played. It looks like there are some bugs in the firmware.
171
171
172
+
### TLS Compatibility Issue
173
+
174
+
The Thing may go OFFLINE (COMMUNICATION_ERROR) with:
175
+
176
+
> Required TLS cipher (TLS_RSA_WITH_AES_256_CBC_SHA) is disabled by your Java security settings.
177
+
178
+
Some Roomba models use an outdated TLS configuration and require the legacy cipher `TLS_RSA_WITH_AES_256_CBC_SHA`.
179
+
180
+
Starting with OpenJDK 21.0.10 (and corresponding distributions such as Eclipse Temurin 21.0.10), Java disables all `TLS_RSA_*` cipher suites by default via the `jdk.tls.disabledAlgorithms` setting.
181
+
As a result, connections to devices relying on these ciphers (such as some Roomba models) will fail.
182
+
183
+
To allow the connection, you must re-enable this cipher in Java’s TLS configuration.
184
+
185
+
:::warning
186
+
Re-enabling `TLS_RSA_WITH_AES_256_CBC_SHA` has security implications:
187
+
188
+
- No forward secrecy (RSA key exchange)
189
+
- Uses older CBC-based cipher
190
+
- Considered deprecated in modern TLS standards
191
+
192
+
Only enable this on trusted/local networks.
193
+
:::
194
+
195
+
To proceed, modify the system Java configuration by editing (for example) `/usr/lib/jvm/temurin-21-jre-arm64/conf/security/java.security` and adjust the `jdk.tls.disabledAlgorithms` setting with the following contents:
Copy file name to clipboardExpand all lines: bundles/org.openhab.binding.irobot/src/main/java/org/openhab/binding/irobot/internal/handler/IRobotConnectionHandler.java
+37-2Lines changed: 37 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,7 @@
19
19
importjava.io.IOException;
20
20
importjava.net.InetAddress;
21
21
importjava.net.UnknownHostException;
22
+
importjava.security.Security;
22
23
importjava.util.concurrent.CompletableFuture;
23
24
importjava.util.concurrent.ExecutionException;
24
25
importjava.util.concurrent.Future;
@@ -91,8 +92,16 @@ public synchronized void connect(final String ip, final String blid, final Strin
Copy file name to clipboardExpand all lines: bundles/org.openhab.binding.irobot/src/main/java/org/openhab/binding/irobot/internal/handler/RoombaHandler.java
+6-1Lines changed: 6 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -123,6 +123,11 @@ public void connectionStateChanged(MqttConnectionState state, @Nullable Throwabl
0 commit comments