06-sep: [aspiradora] modulo Dreame D10 Plus (r2205 map mc1808) + comando /aspiradora en bot IDD
This commit is contained in:
@@ -754,6 +754,8 @@ def procesar(texto, chat_id):
|
||||
elif t.startswith("bajar ") or t.startswith("/bajar "):
|
||||
n = _int_arg(texto)
|
||||
procesar_bajar(n, chat_id)
|
||||
elif comando == "aspiradora":
|
||||
procesar_aspiradora(argumento, chat_id)
|
||||
elif comando in ("menu", "menú", "inicio", "start") and not argumento:
|
||||
try:
|
||||
from menu_idd import enviar_menu
|
||||
@@ -1003,6 +1005,45 @@ def procesar_novedades(chat_id):
|
||||
log(f"NOVEDADES: {len(items)} items")
|
||||
|
||||
|
||||
def procesar_aspiradora(argumento, chat_id):
|
||||
"""Comandos de la Dreame D10 Plus: estado|start|stop|home|pause|locate."""
|
||||
accion = (argumento or "estado").lower().strip()
|
||||
if accion not in ("estado", "start", "stop", "home", "pause", "locate"):
|
||||
enviar("Uso: <code>/aspiradora estado|start|stop|home|pause|locate</code>.",
|
||||
chat_id)
|
||||
return
|
||||
try:
|
||||
import aspiradora
|
||||
except Exception as e:
|
||||
log(f"aspiradora import error: {e}")
|
||||
enviar("❌ No se pudo cargar el modulo aspiradora", chat_id)
|
||||
return
|
||||
try:
|
||||
if accion == "estado":
|
||||
enviar(aspiradora.estado(), chat_id)
|
||||
else:
|
||||
vac = aspiradora.conectar()
|
||||
if accion == "start":
|
||||
vac.start()
|
||||
enviar("🧹 Limpieza iniciada.", chat_id)
|
||||
elif accion == "stop":
|
||||
vac.stop()
|
||||
enviar("⏹️ Limpieza detenida.", chat_id)
|
||||
elif accion == "home":
|
||||
vac.home()
|
||||
enviar("🏠 Volviendo a la base.", chat_id)
|
||||
elif accion == "pause":
|
||||
vac.pause()
|
||||
enviar("⏸️ Pausada.", chat_id)
|
||||
elif accion == "locate":
|
||||
vac.play_sound()
|
||||
enviar("🔊 Emitiendo sonido de localización.", chat_id)
|
||||
log(f"ASPIRADORA {accion} ok")
|
||||
except Exception as e:
|
||||
log(f"aspiradora error: {e}")
|
||||
enviar(f"❌ Error con la aspiradora: {e}", chat_id)
|
||||
|
||||
|
||||
def _int_arg(texto):
|
||||
"""Extrae el numero de un comando tipo '/bajar 3'."""
|
||||
partes = texto.split()
|
||||
|
||||
Reference in New Issue
Block a user