Control remoto

El control remoto te permite enviar un breve SMS desde otro teléfono al tuyo y hacer que SmsForwarder actúe por ti — responder un SMS en tu lugar, activar o desactivar el reenvío, consultar el estado de la app, comprobar si el teléfono sigue en línea, volver a sincronizar el estado de la suscripción con Google Play, o (con una suscripción Advanced) dar una instrucción en lenguaje natural.

Solo los números que añadas explícitamente a la lista de permitidos pueden enviar estos comandos. No hay contraseña compartida — el número del remitente es la credencial.

Antes de empezar

  1. Abre Control remoto en los ajustes de la app.
  2. Activa el interruptor principal de Control remoto.
  3. Añade al menos un número de teléfono permitido. Usa el formato internacional completo (por ejemplo +34612345678).
  4. Elige cómo quieres recibir los resultados — ver Recibir respuestas más abajo.
  5. Asegúrate de tener concedido el permiso de Enviar SMS si vas a usar #REPLY o quieres recibir las respuestas por SMS.

Cómo es un comando

Cada comando es un SMS normal enviado desde un número permitido a tu teléfono. La primera línea no vacía siempre es la palabra clave del comando (empezando por #). En los comandos que necesitan más información, cada valor va en su propia línea.

El comando en sí no se reenvía como un SMS normal — la app lo reconoce y lo consume.

#REPLY — Enviar un SMS de respuesta en tu nombre

Úsalo cuando quieras que tu teléfono envíe un SMS a alguien y no lo tengas a mano.

Formato:

#REPLY
<número del destinatario>
<cuerpo del mensaje>

Con indicación de SIM (opcional, para teléfonos con doble SIM — fija qué SIM envía la respuesta):

#REPLY
#<número de tu SIM>
<número del destinatario>
<cuerpo del mensaje>

La línea de la SIM empieza por # y se compara por los últimos 8 dígitos. Omítela en teléfonos de una sola SIM o para usar la predeterminada del sistema.

Ejemplos:

#REPLY
+34612345678
Voy de camino, llego en 10 minutos.
#REPLY
#15557654321
+14155550123
Envíalo desde la segunda SIM.

Notas:

  • El destinatario verá la respuesta enviada desde el número de tu teléfono, no desde el del remitente original.
  • Requiere el permiso Enviar SMS. Si lo retiras o no está concedido, este comando no se ejecuta.
  • El cuerpo de la respuesta puede tener varias líneas.

#CTRL — Activar o desactivar reglas, canales o interruptores principales

Úsalo para conmutar una regla de reenvío, un canal de envío o un interruptor principal sin tocar el teléfono.

Formato:

#CTRL
<DESTINO>
<NOMBRE o ÁMBITO>
<ON u OFF>
  • DESTINO es uno de RULE, CHANNEL o FORWARDING (no distingue mayúsculas).
  • NOMBRE o ÁMBITO depende del destino:
    • Para RULE — el nombre exacto de la regla tal como aparece en la app (distingue mayúsculas y debe ser único).
    • Para CHANNEL — el nombre exacto del canal tal como aparece en la app (distingue mayúsculas y debe ser único).
    • Para FORWARDING — uno de SMS, CALL, NOTIFICATION (o NOTIFY), o ALL.
  • ON / OFF también admite 1 / 0, TRUE / FALSE, o YES / NO.

Ejemplos:

Activar una regla concreta:

#CTRL
RULE
Aviso de nómina
ON

Desactivar el interruptor principal de reenvío de SMS:

#CTRL
FORWARDING
SMS
OFF

Desactivar un canal de envío:

#CTRL
CHANNEL
Mi Telegram
OFF

Desactivar todo a la vez (SMS, llamadas y notificaciones):

#CTRL
FORWARDING
ALL
OFF

Notas:

  • Este comando funciona incluso cuando el reenvío principal de SMS está apagado — así puedes volver a activarlo en remoto después de haberlo desactivado.
  • Los nombres de regla y canal deben ser únicos. Si dos reglas comparten el mismo nombre, el comando se rechaza para evitar actuar sobre la incorrecta.
  • Los nombres de regla y canal se comparan exactamente, incluyendo mayúsculas y espacios.

#STATUS — Consultar qué está activo ahora

Consulta de solo lectura. Devuelve el estado de los interruptores principales y los nombres de todas las reglas y canales activos.

Formato:

#STATUS

Respuesta de ejemplo:

[Remoto] Estado
Reenvío · SMS on · Llamada off · Notificación off
Reglas (2): Aviso de nómina, OTP
Canales (1): Mi Telegram

La respuesta puede ocupar varios SMS según cuántas reglas y canales tengas. Tu operador cobrará por segmento.

#PING — Comprobar el latido del teléfono

Consulta de solo lectura. Devuelve una instantánea del estado actual del teléfono — útil cuando solo quieres saber que está despierto, en línea y no se está quedando sin batería.

Formato:

#PING

Respuesta de ejemplo:

[Remoto] Pixel 7 · 2026-05-01 14:35
Batería 73% · cargando
Ahorro de energía: off
Red: Wi-Fi · internet OK

Cuando el teléfono está en datos móviles, la respuesta también muestra la generación de red, el operador, y (en Android 10 y posterior) un nivel de señal de 0 a 4:

[Remoto] OnePlus 9 · 2026-05-01 14:35
Batería 45% · en batería
Ahorro de energía: on
Red: Móvil · internet OK
Móvil: 5G · Operador
Señal: 3/4

Notas:

  • En teléfonos con doble SIM, el nivel de señal corresponde a la SIM de datos, que puede no ser la SIM que recibió el comando.
  • #PING se ejecuta independientemente de que el reenvío principal esté activado o no.

#HELP — Obtener un enlace a esta referencia

Consulta de solo lectura. Devuelve un enlace a esta referencia de comandos en línea. Útil para compartir la documentación con otra persona, o cuando no recuerdes el formato exacto de un comando y quieras consultarlo.

Formato:

#HELP

Respuesta de ejemplo:

[Remoto] Referencia de comandos: https://smsforward.zobubo.com/Remote-Control/

Hoy en día, #HELP devuelve la página inglesa por defecto, o la versión china si la app está en chino. Otros idiomas todavía caen sobre la página inglesa — esa página cubre todos los comandos. #HELP se ejecuta independientemente de que el reenvío principal esté activado o no.

#REFRESH — Volver a sincronizar el estado de la suscripción con Google Play

Consulta de solo lectura. Le indica al teléfono que pregunte ahora mismo a Google Play por la suscripción activa de la cuenta de Google de este dispositivo, y reescriba el estado local con lo que devuelva Play.

Úsalo cuando hayas vuelto a suscribirte en otro teléfono (o acabes de comprar) y quieras que este teléfono detecte la nueva suscripción de inmediato, sin esperar a la comprobación diaria en segundo plano.

Formato:

#REFRESH

Respuestas de ejemplo:

[Remoto] Suscripción actualizada: plan mensual activa
[Remoto] Suscripción actualizada: plan anual activa
[Remoto] Actualización completada: sin suscripción activa en esta cuenta de Google
[Remoto] No se pudo actualizar: no se puede conectar con Google Play. Comprueba la red y vuelve a intentarlo.

Notas:

  • El teléfono necesita acceso a la red y una conexión funcional con Google Play. Si alguno falla, el comando informa del fallo y el estado local de la suscripción no cambia.
  • La consulta usa la cuenta de Google con la que está iniciada sesión en el dispositivo. Asegúrate de que sea la cuenta titular de la suscripción.
  • #REFRESH se ejecuta incluso si la suscripción local ya ha caducado — esa es la vía de recuperación para la que está pensado. También se ejecuta independientemente de que el reenvío principal esté activado.
  • La acción es idempotente: enviar #REFRESH repetidamente no compra ni cancela una suscripción; solo vuelve a leer lo que Google Play ya sabe.

#AI — Enviar una instrucción en lenguaje natural

Úsalo cuando quieras dar al teléfono una instrucción en lenguaje cotidiano, en lugar de escribir un comando estructurado. SmsForwarder envía tu mensaje al proveedor de IA en la nube que tengas configurado, le pide que lo reformule como uno de los comandos existentes y luego ejecuta ese comando — pero solo si el resultado sigue correspondiéndose con una de las palabras clave permitidas.

Formato:

#AI
<tu instrucción en cualquier idioma>

Ejemplos:

#AI
Responde a +34612345678 que llegaré en 10 minutos
#AI
Apaga todo el reenvío por ahora
#AI
¿Cómo están la batería y la cobertura del teléfono ahora mismo?

Requisitos previos:

  • Una suscripción Advanced activa en la cuenta de Google con sesión iniciada en el dispositivo.
  • El interruptor principal de IA está activado y hay una vía de IA en la nube configurada en Ajustes → IA — ya sea la nube integrada (por defecto para los suscriptores Advanced, sin necesidad de clave API) o un proveedor BYOK (Gemini, Claude u OpenAI) con una clave API válida.
  • El interruptor Comando remoto en lenguaje natural está activado en Control remoto.

Si falta alguno de los requisitos, el comando se rechaza con una breve explicación.

Notas:

  • #AI siempre se ejecuta en la nube. El procesamiento de IA en SmsForwarder es solo en la nube por diseño.
  • El texto que produce la IA se comprueba contra la misma lista de permitidos que #REPLY / #CTRL / #STATUS / #PING / #HELP / #REFRESH. Cualquier cosa fuera de esa lista se descarta — #AI no se puede usar para ejecutar comandos nuevos o arbitrarios.
  • El comando estructurado traducido no se envía como un SMS nuevo; se ejecuta igual que si hubieras escrito tú mismo el comando estructurado. El texto #AI original y el comando traducido se guardan juntos en el panel de detalle del historial de reenvíos para auditoría.
  • Si el proveedor en la nube no está accesible o la respuesta no puede interpretarse como un comando permitido, el mensaje de resultado lo indica y no ocurre nada más.

Recibir respuestas

Cada comando produce un mensaje breve con el resultado. Puedes recibir ese resultado por una o ambas vías, configurables en Control remoto:

  • Respuesta por SMS al remitente. El resultado se devuelve como un SMS normal al número que envió el comando. Requiere el permiso Enviar SMS. Si retiras el permiso, esta opción se desactiva automáticamente.
  • Envío a canales de entrega. El resultado se enruta por uno o varios de los canales de envío que ya tengas configurados (Telegram, correo, webhook, etc.). Se pueden seleccionar hasta diez canales. Los canales desactivados o sin configurar se omiten.

Ambas opciones son independientes. Puedes usar solo una, las dos, o ninguna (en cuyo caso los comandos se siguen ejecutando, pero no recibirás confirmación).

Errores frecuentes

Si un comando está mal formado, recibirás un mensaje similar a este:

[Remoto] Comando rechazado: <motivo>

Motivos típicos:

  • falta el destinatario#REPLY se envió sin un número de destino.
  • falta el contenido de la respuesta#REPLY se envió sin cuerpo de mensaje.
  • falta el destino#CTRL no incluyó RULE, CHANNEL o FORWARDING en la segunda línea.
  • destino desconocido — la segunda línea de #CTRL no era ninguno de los tres valores válidos.
  • falta el nombre#CTRL RULE o #CTRL CHANNEL no incluyó un nombre.
  • falta ON / OFF — la línea de conmutador estaba vacía.
  • valor de conmutador no válido — la línea de conmutador no es un valor reconocido.
  • ámbito no válido#CTRL FORWARDING recibió algo distinto de SMS, CALL, NOTIFICATION / NOTIFY o ALL.
  • No existe la regla / canal "X" — el nombre no coincide con ninguna regla o canal.
  • Hay más de una regla / canal "X" — nombres duplicados; renombra uno en la app primero.

Cosas que conviene saber

  • Los comandos enviados desde números fuera de la lista de permitidos se ignoran en silencio.
  • La lista de permitidos compara el número del remitente de forma exacta. Añádelo en el mismo formato con el que tu operador lo entrega (lo más fiable es el formato internacional con el + inicial).
  • Los SMS con forma de comando se reconocen y consumen, así que no aparecerán en el historial como reenviados.
  • Algunos canales de respuesta (como la respuesta por SMS) consumen tu cuota de SMS del operador igual que cualquier otro mensaje que envíes.

Si un comando no se comporta como esperas, consulta la página de Soporte técnico.