Zendure EV Guard
Protege tus baterías Zendure durante la carga de tu coche eléctrico
Compatible con Zendure SolarFlow 2400 AC • Shelly Pro 3EM • Smappee • Windows, Linux, macOS
¿Tienes baterías Zendure y un coche eléctrico?
Lo sabes: cuando tu coche se conecta a la wallbox, aspira todo. Tus baterías Zendure se vacían a toda velocidad, los ciclos se acumulan y la vida útil de tus preciosas celdas se derrite como nieve al sol.
Si tu coche es un vehículo de empresa y la electricidad la paga tu empleador, es una pena vaciar tus baterías para recargarlo cuando no te quedará nada por la noche para el autoconsumo de tu casa.
Otro caso: incluso si no se trata de un coche de empresa, quizás simplemente quieras evitar que tus baterías se vacíen durante la carga, para aprovechar al máximo la electricidad producida por tus paneles solares a pleno sol, sin extraer de tus baterías Zendure.
Zendure EV Guard resuelve este problema automáticamente. Tan pronto como se detecta la carga de tu coche, el programa pone en pausa tus baterías. Cuando la carga ha terminado, las reactiva. Sencillo, automático, sin riesgo.
¿Cómo funciona?
1. Detección
Tu Shelly Pro 3EM (o Smappee) mide el consumo. Cuando la potencia supera el umbral (ej: 5000W), el programa sabe que tu coche está cargando.
2. Protección
Las baterías Zendure pasan a modo OFF instantáneamente. No se descargan más, tus ciclos se preservan.
3. Reanudación
¿Carga terminada? El programa reactiva tus baterías automáticamente con tus parámetros de origen. Ninguna intervención manual.
🔒 100% seguro para tus baterías
Zendure EV Guard utiliza exclusivamente la API local HTTP de tu hub Zendure. Solo modifica un único parámetro: el minSoc (nivel de carga mínimo). Para poner en pausa, establece el minSoc al 100% — lo que impide cualquier descarga. Para reanudar, restaura tu valor habitual (por ejemplo, 10%).
Ningún firmware modificado, ningún acceso a la nube, ningún riesgo. Es exactamente lo mismo que si cambiaras la configuración manualmente en la app Zendure, pero automáticamente y en el momento adecuado.
Requisitos
| Equipo | Detalles |
|---|---|
| Zendure SolarFlow 2400 AC | Hub con API local HTTP activada (puerto 80) |
| Shelly Pro 3EM o Smappee1 requerido | Pinza amperimétrica (Shelly, tiempo real) o monitor energético Smappee (API en la nube, bloques de 5 min) para medir el consumo |
| Wallbox / Estación de carga | Cualquier estación — la detección se basa en el consumo, no en la estación misma |
| PC, Servidor o NAS | Windows, Linux o macOS — el programa se ejecuta en segundo plano 24/7 |
Instalación
1. Descomprime el archivo
Extrae el contenido del archivo ZIP en el directorio de tu elección, por ejemplo:
- Windows:
C:\ZendureEvGuard\ - Linux:
/home/ZendureEvGuard/ - macOS:
/Applications/ZendureEvGuard/
2. Derechos de ejecución (solo Linux / macOS)
En Linux y macOS, debes hacer que el archivo sea ejecutable antes de ejecutarlo:
chmod +x ZendureEvGuard
./ZendureEvGuard3. Configura appsettings.json
Abre el archivo appsettings.json ubicado junto al ejecutable y completa tus parámetros (ver la sección a continuación).
4. Inicia el programa
# Windows
ZendureEvGuard.exe
# Linux / macOS
./ZendureEvGuard
El programa muestra la información de conexión al inicio. Utilice P para pausar manualmente, R para reanudar, y Ctrl+C dos veces para detener correctamente.
a) Cree un usuario dedicado (opcional pero recomendado):
sudo useradd -r -s /usr/sbin/nologin zendure
sudo chown -R zendure:zendure /home/ZendureEvGuardb) Cree el archivo de servicio:
sudo nano /etc/systemd/system/zendure-evguard.servicePegue el siguiente contenido:
[Unit]
Description=ZendureEvGuard - Daemon de Protección de Batería de Carga EV
After=network.target
[Service]
Type=simple
WorkingDirectory=/home/ZendureEvGuard
ExecStart=/home/ZendureEvGuard/ZendureEvGuard
Restart=on-failure
RestartSec=10
SyslogIdentifier=zendure-evguard
User=zendure
Environment=DOTNET_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.targetc) Active y inicie el servicio:
sudo systemctl daemon-reload
sudo systemctl enable zendure-evguard
sudo systemctl start zendure-evguardd) Comandos útiles:
# Ver el estado
sudo systemctl status zendure-evguard
# Ver los logs en tiempo real
sudo journalctl -u zendure-evguard -f
# Reiniciar después de una actualización
sudo systemctl restart zendure-evguard
# Detener el servicio
sudo systemctl stop zendure-evguardConfiguración — appsettings.json
Aquí están todos los parámetros que puede configurar. Las secciones Shelly y ZendureDevice son obligatorias.
⚡ Shelly requerido
Configuración de su Shelly Pro 3EM. Es el sensor que mide el consumo eléctrico de su hogar.
| Parámetro | Descripción | Ejemplo |
|---|---|---|
Enabled | Activar Shelly como fuente de medida | true |
Host | Dirección IP de su Shelly Pro 3EM en su red local | "192.168.1.50" |
UseDigestAuth | Activar si ha protegido su Shelly con una contraseña | false |
Username | Nombre de usuario (si la autenticación está activada) | "admin" |
Password | Contraseña (si la autenticación está activada) | "micontraseña" |
🔌 Estación Smappee opcional
La estación energética Smappee puede ser utilizada de dos maneras:
- Como fuente de detección EV (alternativa a Shelly) — si Shelly está desactivado, Smappee se convierte en la fuente de medida de potencia para detectar la carga EV. La detección se realiza a través de la API en la nube de Smappee (bloques de 5 minutos, menos reactivo que Shelly en tiempo real).
- En paralelo a Shelly — si Shelly está activo como fuente de detección, Smappee puede seguir estando activo para mostrar continuamente la información de consumo (solar, hogar, red) y de su estación Smappee EV Wall (potencia de carga, estado, etc.) en los logs.
| Parámetro | Descripción | Ejemplo |
|---|---|---|
Enabled | Activar Smappee (fuente de detección si Shelly está desactivado, o visualización de información de consumo/estación EV en paralelo) | false |
ClientId | ID de cliente de su aplicación Smappee (API v3) | "su-id-de-cliente" |
ClientSecret | Secreto de cliente de su aplicación Smappee | "su-secreto-de-cliente" |
Username | Nombre de usuario de su cuenta Smappee | "usuario@email.com" |
Password | Contraseña de su cuenta Smappee | "contraseña" |
ServiceLocationId | ID de su ubicación Smappee (visible en el panel de control de Smappee, este no es el número de serie) | "190802" |
PollingIntervalSeconds | Frecuencia de consulta de la API Smappee | 30 |
EvThresholdWatts | Umbral de potencia para considerar que la estación EV está cargando (solo visualización de información) | 1400 |
🔋 Batería Zendure requerido
Configuración de su hub Zendure SolarFlow 2400 AC u otros. La dirección IP se encuentra en la app de Zendure.
| Parámetro | Descripción | Ejemplo |
|---|---|---|
Host | Dirección IP de su hub Zendure en la red local | "192.168.1.127" |
Port | Puerto HTTP de la API local (80 por defecto) | 80 |
DefaultOutputLimit | Potencia máxima de salida en vatios a restaurar después de la carga EV | 2400 |
DefaultMinSoc | Nivel de carga mínimo a restaurar (el valor es ×10 : 100 = 10%, 950 = 95%). Es el umbral por debajo del cual sus baterías no se descargarán más. | 100 |
TimeoutSeconds | Tiempo de espera para las solicitudes al hub | 10 |
💡 Entender el DefaultMinSoc
Este parámetro define el nivel mínimo de carga de sus baterías después de la reanudación. El valor se multiplica por 10 en la API Zendure :
100= las baterías pueden bajar hasta 10%200= las baterías pueden bajar hasta 20%950= las baterías se detienen en 95% (modo muy conservador)
¡Usted decide! Un minSoc bajo (100-200) maximiza el uso de sus baterías. Un minSoc alto (800-950) preserva la vida útil de las celdas. La mayoría de los usuarios eligen entre 100 (10%) y 200 (20%).
🚗 EvDetection
Ajustes de la detección de carga de su vehículo eléctrico. El algoritmo utiliza una histeresis: se requieren varias lecturas consecutivas por encima del umbral para confirmar una carga, y varias lecturas por debajo para confirmar la detención.
| Parámetro | Descripción | Por defecto |
|---|---|---|
PowerThresholdWatts | Umbral de potencia (en vatios) por encima del cual el programa considera que un coche está cargando. Adáptelo a su wallbox. | 5000 |
ConfirmationReadings | Número de lecturas consecutivas por encima del umbral para confirmar el inicio de la carga | 2 |
ReleaseReadings | Número de lecturas consecutivas por debajo del umbral para confirmar el final de la carga (24 = ~2 minutos a 5s/lectura) | 24 |
PollingIntervalSeconds | Frecuencia de medición en segundos | 5 |
📬 Notificación opcional
Reciba correos electrónicos cuando sus baterías se pongan en pausa, se reanuden, o en caso de error. Configure su servidor SMTP.
| Parámetro | Descripción | Por defecto |
|---|---|---|
Enabled | Activar las notificaciones por correo electrónico | false |
SmtpHost | Servidor SMTP (ej: smtp.gmail.com) | "" |
SmtpPort | Puerto SMTP | 587 |
UseSsl | Usar TLS/SSL | true |
Username / Password | Credenciales SMTP | "" |
FromAddress | Dirección de correo electrónico del remitente | "" |
ToAddress | Destinatario(s), separados por ; para múltiples | "" |
RateLimitMinutes | Intervalo mínimo entre dos alertas (anti-spam) | 15 |
📴 Pushover opcional
Notificaciones push en su teléfono a través de Pushover. Cree una aplicación en pushover.net para obtener su Token API.
| Parámetro | Descripción |
|---|---|
Enabled | Activar Pushover (true / false) |
ApiToken | Token API de su aplicación Pushover |
UserKey | Su clave de usuario Pushover |
RateLimitMinutes | Intervalo mínimo entre alertas (por defecto: 15) |
💬 Telegram opcional
Notificaciones a través de un bot de Telegram. Cree un bot con @BotFather y recupere su ID de chat.
| Parámetro | Descripción |
|---|---|
Enabled | Activar Telegram (true / false) |
BotToken | Token de su bot de Telegram (proporcionado por @BotFather) |
ChatId | ID del chat donde enviar los mensajes (varios separados por ;) |
RateLimitMinutes | Intervalo mínimo entre alertas (por defecto: 15) |
📈 Monitoreo opcional
| Parámetro | Descripción | Por defecto |
|---|---|---|
HealthCheckIntervalSeconds | Frecuencia de verificación de la conectividad de los dispositivos | 30 |
LogStatusIntervalSeconds | Frecuencia de registro del estado completo en los archivos de registro | 300 |
🔄 Actualización opcional
| Parámetro | Descripción | Por defecto |
|---|---|---|
AutoUpdateEnabled | Activar la verificación automática de actualizaciones | true |
CheckIntervalHours | Intervalo de verificación (en horas) | 4 |
🔑 Licencia después de la prueba
Después del período de prueba de 30 días, agregue su clave secreta para activar la licencia PRO. Su clave se encuentra en su cuenta en arriba a la derecha > "Mi Cuenta". La licencia se renueva automáticamente en segundo plano.
| Parámetro | Descripción | Ejemplo |
|---|---|---|
SecretKey | Su clave secreta única (GUID) desde su cuenta digital3d.com. Deje en blanco para usar el modo de prueba. | d79d24cc-eb02-48d7-94f8-xxxxxxxxxxxx |
Ejemplo de configuración mínima
Aquí hay un ejemplo listo para usar. Simplemente reemplace las direcciones IP por las de sus dispositivos:
{
"Shelly": {
"Enabled": true,
"Host": "192.168.1.50"
},
"ZendureDevice": {
"Host": "192.168.1.127",
"Port": 80,
"DefaultOutputLimit": 2400,
"DefaultMinSoc": 100
},
"EvDetection": {
"PowerThresholdWatts": 5000
},
"Subscription": {
"SecretKey": "d79d24cc-eb02-48d7-94f8-xxxxxxxxxxxx"
}
}Con esta configuración, el programa monitorea su Shelly, detecta cualquier consumo superior a 5000W (por ejemplo), y restaura sus baterías con un mínimo de 10% (100 ÷ 10) y una salida máxima de 2400W. La sección Subscription está vacía por defecto: el programa funciona en modo de prueba durante 30 días. Para activar la licencia PRO, agregue su clave secreta desde su cuenta arriba a la derecha.
Prueba gratuita & Suscripción
🎉 30 días de prueba gratuita — ¡sin compromiso!
Descargue Zendure EV Guard y pruébelo durante 30 días completos, sin pagar nada y sin límite de funcionalidades. Tendrá acceso a 100% de las funciones para asegurarse de que el programa se adapte perfectamente a su instalación.
Al final de los 30 días, se requiere una suscripción de Digital3D para continuar utilizando el programa. Una sola suscripción le da acceso a todas las aplicaciones de Digital3D (CompactForIA, AutoMouseMove, Zendure EV Guard, etc.).
🔑 Cómo activar su licencia
- Suscríbase a una suscripción en "One for All"
- Inicie sesión en su cuenta en digital3d.com y copie su clave secreta (un identificador único en formato GUID, por ejemplo:
f89f26cc-eb03-48d7-94f8-xxxxxxxxxxxx) - Abra el archivo
appsettings.jsony agregue su clave en la secciónSubscription:"Subscription": { "SecretKey": "su-clave-secreta-guid" } - Reinicie el programa — la licencia PRO se activa automáticamente y se renueva sin ninguna intervención de su parte.
¿Listo para proteger sus baterías?
Descargue gratis, configure en 5 minutos y duerma tranquilo.
Suscripción « One for All » : una sola suscripción para todas las aplicaciones Digital3D.
Aucun commentaire pour le moment.