No description
- Python 99.7%
- Dockerfile 0.3%
| __pycache__ | ||
| auth.py | ||
| config_handlers.py | ||
| data.example.json | ||
| data.json | ||
| docker-compose.yml | ||
| Dockerfile | ||
| Guía Bot Toyota.pdf | ||
| handlers.py | ||
| main.py | ||
| README.md | ||
| requirements.txt | ||
| storage.py | ||
| tutorial_instalacion.md | ||
| tutorial_uso.md | ||
🚘 Toyota Telegram Bot
Bot de Telegram inteligente para el control, monitorización y telemática de vehículos Toyota compatibles con la plataforma MyToyota / Toyota Connected Services, basado en la librería pytoyoda.
Soporta vehículos Toyota de combustión, híbridos autorrecargables (HEV), híbridos enchufables (PHEV) y 100% eléctricos (BEV).
✨ Características Principales
- 📊 Estado Integral del Vehículo:
- Odómetro, nivel de combustible, autonomía y estado de bloqueo global.
- Puertas (cerradas y bloqueadas), maletero, capó, ventanas y luces.
- Modo Privacidad automático (oculta matrícula y VIN mediante spoiler interactivo en Telegram).
- 🩺 Salud y Diagnóstico Telemático:
- Nivel de aceite de motor (óptimo/bajo).
- Lectura de testigos y códigos de avería activos en el cuadro.
- Fecha de última comprobación telemática del coche.
- ⚡ Batería y Carga EV (PHEV / Eléctricos BEV):
- Detección automática según equipamiento (oculta en híbridos convencionales HEV para evitar incompatibilidades).
- Barra de carga gráfica interactiva (porcentaje de batería).
- Estado del conector/recarga (cargando, desconectado, completado).
- Autonomía eléctrica pura y autonomía calculada con climatizador.
- Tiempo estimado restante para alcanzar el 100%.
- Solicitud de refresco en tiempo real al coche.
- 🚗 Historial de Viajes y Resumen de Eficiencia:
- Listado paginado de trayectos recientes con fecha, km, duración y consumo medio.
- 📊 Resúmenes de conducción acumulados (Hoy, 7 días y 30 días):
- Distancia y tiempo total de conducción.
- Distancia y Porcentaje en Modo Eléctrico (EV Ratio %) para evaluar la conducción híbrida.
- Consumo medio global y nota Eco Score.
- 🛠️ Mantenimiento Oficial:
- Registro de revisiones, taller, fechas y kilometraje, con enlace a reserva de cita oficial.
- 🌡️ Climatización y Preacondicionamiento Remoto:
- Lectura de temperatura real del habitáculo.
- Ajuste de consigna (+/- 1°C).
- Luneta delantera, luneta trasera y volante calefactable (según equipamiento).
- Temporizador interactivo de climatización en el chat (máx 20 min).
- 🔒 Control Remoto:
- Apertura y cierre de seguros de puertas y maletero.
- Luces de emergencia (ON / OFF) y faros (ON / OFF).
- Avisador acústico / claxon exterior (buzzer para localización en aparcamientos).
- Cerrar todas las ventanillas a distancia.
- Arranque y parada de climatización/motor.
- Control de excepciones amigable si el vehículo carece de equipamiento específico.
- 📍 Ubicación GPS: Mapa con la última posición registrada del coche aparcado.
- 🔔 Notificaciones MyToyota: Historial de alertas oficiales recibidas por el vehículo.
- 👥 Multi-Usuario y Gestión Granular de Invitados:
- Administrador principal con capacidad de autorizar nuevos usuarios de Telegram.
- Cada usuario puede vincular su propia cuenta Toyota y gestionar sus coches.
- Sistema de invitados familiares con permisos configurables de forma individual por vehículo (Estado, Climatización, Viajes, Mantenimiento, Salud, Batería, Control Remoto, Ubicación, Notificaciones).
📚 Documentación
Para ver las guías detalladas paso a paso, consulta:
- 🐳 Tutorial de Instalación: Despliegue en Docker, Docker Compose y Synology NAS (Container Manager).
- 📖 Manual de Uso Completo: Explicación detallada de cada menú, funciones, permisos de invitados y preguntas frecuentes.
🚀 Despliegue Rápido (Docker Compose)
1. Configurar Credenciales
Copia la plantilla y añade tu token de Telegram y tu ID de usuario:
cp data.example.json data.json
Edita data.json:
{
"telegram_token": "TU_TOKEN_DE_BOTFATHER",
"admin_id": 123456789
}
2. Arrancar el Contenedor
docker-compose up -d --build
3. Iniciar el Bot
Abre Telegram, busca tu bot y envía /start para iniciar sesión con tus credenciales de MyToyota.