Roborock Vacuum Control via Telegram

v1.0.0

Turn a Roborock into a conversational OpenClaw companion. Use when the user wants natural-language vacuum control like clean the kitchen, go home, pause, sta...

1· 88·0 current·0 all-time
bySerdar Salim@serdarsalim

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for serdarsalim/roborock-conversational-control.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Roborock Vacuum Control via Telegram" (serdarsalim/roborock-conversational-control) from ClawHub.
Skill page: https://clawhub.ai/serdarsalim/roborock-conversational-control
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: bash, roborock, python3
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install roborock-conversational-control

ClawHub CLI

Package manager switcher

npx clawhub@latest install roborock-conversational-control
Security Scan
VirusTotalVirusTotal
Pending
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description align with what the code does: the scripts call the local 'roborock' CLI to report status and issue app_* commands and support room aliases. Required binaries (bash, python3, roborock) are appropriate. Minor note: SKILL.md and scripts expect local jojo.env configuration even though the registry lists no required env vars.
Instruction Scope
SKILL.md explicitly instructs running the included wrapper (scripts/jojo.sh) via exec and to create a local jojo.env containing JOJO_DEVICE_ID and optional ROOM_* aliases. The scripts only read local config, environment variables, and call the roborock CLI + python3; they do not contact unexpected external endpoints or read unrelated system data.
Install Mechanism
This is instruction-only (no remote download/install spec). The SETUP.md suggests installing python-roborock via pipx — that's a standard public package. No archive downloads or obscure URLs are used.
!
Credentials
The skill relies on a local JOJO_DEVICE_ID (jojo.env) and optional ROOM_* environment variables, plus optional overrides like ROBOROCK_BIN and JOJO_CONFIG_FILE; however, the registry metadata does not declare any required env vars or a primary credential. That metadata omission is inconsistent and could mislead users about what secrets/config are needed. The requested config (device id) is proportional to the functionality, but it should be declared in the skill metadata so users know what will be required.
Persistence & Privilege
always:false and no install-time daemonizing code. The scripts run on demand and do not modify other skills or system-wide configurations. They source a local jojo.env only, which is normal for a device-scoped wrapper.
Assessment
This skill appears to do what it says: run the included wrapper which calls your locally installed roborock CLI. Before installing: (1) Inspect and create jojo.env yourself (do not paste tokens into public places); JOJO_DEVICE_ID is required but not declared in the registry — ensure you understand where that file lives. (2) Confirm you are comfortable granting the agent permission to exec the script (OpenClaw exec approvals may be needed). (3) Do not store Telegram bot tokens or other unrelated secrets in jojo.env; bind any Telegram bot to a separate dedicated agent as suggested. (4) If you plan to publish or share the skill, ask the maintainer to add JOJO_DEVICE_ID to the registry metadata so required credentials are explicit.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🤖 Clawdis
Binsbash, roborock, python3
latestvk979rxh5a8rbns2mzrat074t3h845ak3
88downloads
1stars
1versions
Updated 3w ago
v1.0.0
MIT-0

Jojo Bot

Execution rule: use the exec tool to run the shell wrapper in scripts/jojo.sh. Do not use sessions_spawn or ACP for routine Jojo commands.

This skill turns a Roborock vacuum into a conversational device companion.

It is designed for:

  • OpenClaw chat
  • Telegram bots
  • room-aware vacuum control
  • a lightweight Jojo-style persona on top of real device actions

It is not a replacement for low-level Roborock tooling. It is the higher-level layer that makes a vacuum feel like its own agent.

Use it for:

  • clean the kitchen
  • clean the living area
  • clean the house
  • pause
  • go home
  • status
  • which rooms do you know

Required local config

Create jojo.env in this skill folder from jojo.env.example.

Minimum required value:

  • JOJO_DEVICE_ID

Optional:

  • JOJO_DEVICE_NAME
  • ROOM_<ALIAS> mappings such as ROOM_KITCHEN="17"

Wrapper

Resolve the skill directory, then call:

bash <skill_dir>/scripts/jojo.sh status
bash <skill_dir>/scripts/jojo.sh start
bash <skill_dir>/scripts/jojo.sh pause
bash <skill_dir>/scripts/jojo.sh stop
bash <skill_dir>/scripts/jojo.sh home
bash <skill_dir>/scripts/jojo.sh rooms
bash <skill_dir>/scripts/jojo.sh room kitchen
bash <skill_dir>/scripts/jojo.sh room "master bedroom"

Intent mapping

  • status, what are you doing, battery, where are you -> status
  • clean the house, start cleaning, go clean -> start
  • pause, wait, hold on -> pause
  • stop cleaning -> stop
  • go home, dock, charge, return to dock -> home
  • which rooms, what rooms, rooms -> rooms
  • clean the <room> -> room "<room>"

If room intent is ambiguous, ask one short follow-up.

Room aliases

The wrapper supports user-defined aliases through env vars:

ROOM_KITCHEN="17"
ROOM_MASTER_BEDROOM="19"
ROOM_LIVING_AREA="21"

To bootstrap aliases from the live Roborock map:

bash <skill_dir>/scripts/refresh_room_aliases.sh

Positioning

  • Use robo-rock or the raw roborock CLI when you only want direct device control.
  • Use jojo-bot when you want a conversational robot companion with room aliases, short replies, and a dedicated device identity.

Notes

  • Current python-roborock builds use roborock login --email ...
  • Verified command verbs are app_start, app_pause, app_stop, app_charge, and app_segment_clean
  • Keep this skill device-scoped. If the user wants a dedicated Telegram bot, bind a dedicated OpenClaw agent to a separate Telegram account.

Comments

Loading comments...