diff --git a/README.md b/README.md index 9704fcc..35dbbf0 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,7 @@ As work to reverse the protocols and provide a self-hosted central server is sti | --------------- | ------------- | --------------------- | -------------------- | | Deebot 900/901 | MQTT | master | Ecovacs/Ecovacs Home | | Deebot 600 | MQTT | master | Ecovacs Home | +| Deebot Ozmo 920 | MQTT | master | Ecovacs Home | | Deebot Ozmo 950 | MQTT | master | Ecovacs Home | | Deebot Ozmo 601 | XMPP | master | Ecovacs | | Deebot Ozmo 930 | XMPP | master | Ecovacs | diff --git a/docs/DNS_Setup.md b/docs/DNS_Setup.md index e433b8d..d3fcfa3 100644 --- a/docs/DNS_Setup.md +++ b/docs/DNS_Setup.md @@ -68,4 +68,27 @@ Replacement Examples: | `users-base.dc-{region}.ww.ecouser.net` | Accounts for App (v2+) | | `jmq-ngiot-{region}.dc.ww.ecouser.net` | MQTT for App (v2+) | | `api-rop.dc-{region}.ww.ecouser.net` | App (v2+) | -| `jmq-ngiot-{region}.area.ww.ecouser.net`| App (v2+) | \ No newline at end of file +| `jmq-ngiot-{region}.area.ww.ecouser.net`| App (v2+) | + +## Newer Bots: Port 443 Redirect (jmq-ngiot protocol) + +Some newer robots (confirmed: OZMO 920 series) do **not** connect to Bumper on the standard MQTT port (8883). Instead they connect on **port 443**, likely to bypass firewall restrictions. The bot uses a `jmq-ngiot-{countrycode}.area.ww.ecouser.net` hostname for this connection. + +Because Bumper's MQTT server listens on 8883, connections arriving on 443 must be redirected using `iptables`: + +```bash +# Redirect bot MQTT traffic from port 443 → 8883 +# Replace 192.168.x.x with your bot's IP address +sudo iptables -t nat -A PREROUTING -s 192.168.x.x -p tcp --dport 443 -j REDIRECT --to-port 8883 +``` + +**How to find your bot's IP:** Check your router's DHCP client list, or run `sudo arp-scan --localnet` on the Bumper host. + +**Note:** This rule does not persist across reboots. To make it permanent, use `iptables-persistent` (`sudo apt install iptables-persistent`) or add it to your startup script. + +**To remove the rule** (e.g. to restore normal cloud access): +```bash +sudo iptables -t nat -D PREROUTING -s 192.168.x.x -p tcp --dport 443 -j REDIRECT --to-port 8883 +``` + +**How to identify if your bot uses port 443:** After setting up DNS redirection, run `sudo tcpdump -i any -n "src host and (port 443 or port 8883)"` and power-cycle the bot. If you see connections on port 443 with no activity on 8883, your bot needs this redirect. \ No newline at end of file