Zendure EV Guard
Protegez vos batteries Zendure pendant la charge de votre voiture electrique
Compatible Zendure SolarFlow 2400 AC • Shelly Pro 3EM • Smappee • Windows, Linux, macOS
Vous avez des batteries Zendure et une voiture electrique ?
Vous le savez : quand votre voiture se branche sur la wallbox, elle aspire tout. Vos batteries Zendure se vident a toute vitesse, les cycles s'accumulent, et la duree de vie de vos precieuses cellules fond comme neige au soleil.
Si votre voiture est un vehicule de societe et que l'electricite est payee par votre employeur, c'est dommage de vider vos batteries pour la recharger alors qu'il ne vous restera plus rien le soir pour l'autoconsommation de votre maison.
Autre cas de figure : meme s'il ne s'agit pas d'une voiture de societe, vous souhaitez peut-etre simplement empecher vos batteries de se vider pendant la charge, afin de profiter pleinement de l'electricite produite par vos panneaux solaires en plein soleil, sans puiser dans vos batteries Zendure.
Zendure EV Guard resout ce probleme automatiquement. Des que la charge de votre voiture est detectee, le programme met vos batteries en pause. Quand la charge est terminee, il les reactive. Simple, automatique, sans risque.
Comment ca fonctionne ?
1. Detection
Votre Shelly Pro 3EM (ou Smappee) mesure la consommation. Quand la puissance depasse le seuil (ex: 5000W), le programme sait que votre voiture charge.
2. Protection
Les batteries Zendure passent en mode OFF instantanement. Elles ne se dechargent plus, vos cycles sont preserves.
3. Reprise
Charge terminee ? Le programme reactive vos batteries automatiquement avec vos parametres d'origine. Aucune intervention manuelle.
🔒 100% sans danger pour vos batteries
Zendure EV Guard utilise exclusivement l'API locale HTTP de votre hub Zendure. Il ne modifie qu'un seul parametre : le minSoc (niveau de charge minimum). Pour mettre en pause, il place le minSoc a 100% — ce qui empeche toute decharge. Pour reprendre, il restaure votre valeur habituelle (par exemple 10%).
Aucun firmware modifie, aucun acces cloud, aucun risque. C'est exactement la meme chose que si vous changiez le reglage manuellement dans l'app Zendure, mais automatiquement et au bon moment.
Prerequis
| Equipement | Details |
|---|---|
| Zendure SolarFlow 2400 AC | Hub avec API locale HTTP activee (port 80) |
| Shelly Pro 3EM ou Smappee1 requis | Pince amperemetrique (Shelly, temps reel) ou moniteur energetique Smappee (cloud API, blocs de 5 min) pour mesurer la consommation |
| Wallbox / Borne de charge | N'importe quelle borne — la detection se base sur la consommation, pas sur la borne elle-meme |
| PC, Serveur ou NAS | Windows, Linux ou macOS — le programme tourne en arriere-plan 24h/24 |
Telechargement — Version 1.0.4
Installation
1. Dezippez l'archive
Extrayez le contenu du fichier ZIP dans le repertoire de votre choix, par exemple :
- Windows :
C:\ZendureEvGuard\ - Linux :
/home/ZendureEvGuard/ - macOS :
/Applications/ZendureEvGuard/
2. Droits d'execution (Linux / macOS uniquement)
Sur Linux et macOS, vous devez rendre le fichier executable avant de le lancer :
chmod +x ZendureEvGuard
./ZendureEvGuard3. Configurez appsettings.json
Ouvrez le fichier appsettings.json situe a cote de l'executable et remplissez vos parametres (voir la section ci-dessous).
4. Lancez le programme
# Windows
ZendureEvGuard.exe
# Linux / macOS
./ZendureEvGuardLe programme affiche les informations de connexion au demarrage. Utilisez P pour mettre en pause manuellement, R pour reprendre, et Ctrl+C deux fois pour arreter proprement.
a) Creez un utilisateur dedie (optionnel mais recommande) :
sudo useradd -r -s /usr/sbin/nologin zendure
sudo chown -R zendure:zendure /home/ZendureEvGuardb) Creez le fichier service :
sudo nano /etc/systemd/system/zendure-evguard.serviceCollez le contenu suivant :
[Unit]
Description=ZendureEvGuard - EV Charging Battery Protection Daemon
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) Activez et demarrez le service :
sudo systemctl daemon-reload
sudo systemctl enable zendure-evguard
sudo systemctl start zendure-evguardd) Commandes utiles :
# Voir le statut
sudo systemctl status zendure-evguard
# Voir les logs en temps reel
sudo journalctl -u zendure-evguard -f
# Redemarrer apres une mise a jour
sudo systemctl restart zendure-evguard
# Arreter le service
sudo systemctl stop zendure-evguardConfiguration — appsettings.json
Voici tous les parametres que vous pouvez configurer. Les sections Shelly et ZendureDevice sont obligatoires.
⚡ Shelly requis
Configuration de votre Shelly Pro 3EM. C'est le capteur qui mesure la consommation electrique de votre maison.
| Parametre | Description | Exemple |
|---|---|---|
Enabled | Activer le Shelly comme source de mesure | true |
Host | Adresse IP de votre Shelly Pro 3EM sur votre reseau local | "192.168.1.50" |
UseDigestAuth | Activer si vous avez protege votre Shelly par un mot de passe | false |
Username | Nom d'utilisateur (si auth activee) | "admin" |
Password | Mot de passe (si auth activee) | "monmotdepasse" |
🔌 Borne Smappee optionnel
La borne energetique Smappee peut etre utilise de deux facons :
- Comme source de detection EV (alternative au Shelly) — si le Shelly est desactive, Smappee devient la source de mesure de puissance pour detecter la charge EV. La detection se fait via l'API cloud Smappee (blocs de 5 minutes, moins reactif que le Shelly en temps reel).
- En parallele du Shelly — si le Shelly est actif comme source de detection, Smappee peut quand meme etre active pour afficher en continu les informations de consommation (solaire, maison, reseau) et de votre borne Smappee EV Wall (puissance de charge, etat, etc.) dans les logs.
| Parametre | Description | Exemple |
|---|---|---|
Enabled | Activer Smappee (source de detection si Shelly desactive, ou affichage des infos consommation/borne EV en parallele) | false |
ClientId | Client ID de votre application Smappee (API v3) | "votre-client-id" |
ClientSecret | Client Secret de votre application Smappee | "votre-client-secret" |
Username | Nom d'utilisateur de votre compte Smappee | "user@email.com" |
Password | Mot de passe de votre compte Smappee | "motdepasse" |
ServiceLocationId | ID de votre emplacement Smappee (visible dans le dashboard Smappee, ce n'est pas le numero de serie) | "190802" |
PollingIntervalSeconds | Frequence d'interrogation de l'API Smappee | 30 |
EvThresholdWatts | Seuil de puissance pour considerer que la borne EV charge (affichage info uniquement) | 1400 |
🔋 ZendureDevice requis
Configuration de votre hub Zendure SolarFlow 2400 AC. L'adresse IP se trouve dans l'app Zendure.
| Parametre | Description | Exemple |
|---|---|---|
Host | Adresse IP de votre hub Zendure sur le reseau local | "192.168.1.127" |
Port | Port HTTP de l'API locale (80 par defaut) | 80 |
DefaultOutputLimit | Puissance max de sortie en watts a restaurer apres la charge EV | 2400 |
DefaultMinSoc | Niveau de charge minimum a restaurer (la valeur est ×10 : 100 = 10%, 950 = 95%). C'est le seuil en-dessous duquel vos batteries ne se dechargeront plus. | 100 |
TimeoutSeconds | Delai d'attente pour les requetes vers le hub | 10 |
💡 Comprendre le DefaultMinSoc
Ce parametre definit le niveau minimum de charge de vos batteries apres la reprise. La valeur est multipliee par 10 dans l'API Zendure :
100= les batteries peuvent descendre jusqu'a 10%200= les batteries peuvent descendre jusqu'a 20%950= les batteries s'arretent a 95% (mode tres conservateur)
A vous de choisir ! Un minSoc bas (100-200) maximise l'utilisation de vos batteries. Un minSoc haut (800-950) preserve la duree de vie des cellules. La plupart des utilisateurs choisissent entre 100 (10%) et 200 (20%).
🚗 EvDetection
Reglages de la detection de charge de votre vehicule electrique. L'algorithme utilise une hysterese : il faut plusieurs lectures consecutives au-dessus du seuil pour confirmer une charge, et plusieurs lectures en-dessous pour confirmer l'arret.
| Parametre | Description | Defaut |
|---|---|---|
PowerThresholdWatts | Seuil de puissance (en watts) au-dela duquel le programme considere qu'une voiture charge. Adaptez-le a votre wallbox. | 5000 |
ConfirmationReadings | Nombre de lectures consecutives au-dessus du seuil pour confirmer le debut de la charge | 2 |
ReleaseReadings | Nombre de lectures consecutives sous le seuil pour confirmer la fin de la charge (24 = ~2 minutes a 5s/lecture) | 24 |
PollingIntervalSeconds | Frequence de mesure en secondes | 5 |
📬 Notification optionnel
Recevez des emails quand vos batteries se mettent en pause, reprennent, ou en cas d'erreur. Configurez votre serveur SMTP.
| Parametre | Description | Defaut |
|---|---|---|
Enabled | Activer les notifications email | false |
SmtpHost | Serveur SMTP (ex: smtp.gmail.com) | "" |
SmtpPort | Port SMTP | 587 |
UseSsl | Utiliser TLS/SSL | true |
Username / Password | Identifiants SMTP | "" |
FromAddress | Adresse email de l'expediteur | "" |
ToAddress | Destinataire(s), separes par ; pour plusieurs | "" |
RateLimitMinutes | Intervalle minimum entre deux alertes (anti-spam) | 15 |
📴 Pushover optionnel
Notifications push sur votre telephone via Pushover. Creez une application sur pushover.net pour obtenir votre API Token.
| Parametre | Description |
|---|---|
Enabled | Activer Pushover (true / false) |
ApiToken | Token API de votre application Pushover |
UserKey | Votre cle utilisateur Pushover |
RateLimitMinutes | Intervalle minimum entre alertes (defaut: 15) |
💬 Telegram optionnel
Notifications via un bot Telegram. Creez un bot avec @BotFather et recuperez votre Chat ID.
| Parametre | Description |
|---|---|
Enabled | Activer Telegram (true / false) |
BotToken | Token de votre bot Telegram (fourni par @BotFather) |
ChatId | ID du chat ou envoyer les messages (plusieurs separes par ;) |
RateLimitMinutes | Intervalle minimum entre alertes (defaut: 15) |
📈 Monitoring optionnel
| Parametre | Description | Defaut |
|---|---|---|
HealthCheckIntervalSeconds | Frequence de verification de la connectivite des appareils | 30 |
LogStatusIntervalSeconds | Frequence de log du statut complet dans les fichiers de log | 300 |
🔄 Update optionnel
| Parametre | Description | Defaut |
|---|---|---|
AutoUpdateEnabled | Activer la verification automatique des mises a jour | true |
CheckIntervalHours | Intervalle de verification (en heures) | 4 |
Exemple de configuration minimale
Voici un exemple pret a l'emploi. Remplacez simplement les adresses IP par celles de vos appareils :
{
"Shelly": {
"Enabled": true,
"Host": "192.168.1.50"
},
"ZendureDevice": {
"Host": "192.168.1.127",
"Port": 80,
"DefaultOutputLimit": 2400,
"DefaultMinSoc": 100
},
"EvDetection": {
"PowerThresholdWatts": 5000
}
}Avec cette configuration, le programme surveille votre Shelly, detecte toute consommation superieure a 5000W, et restaure vos batteries avec un minimum de 10% (100 ÷ 10) et une sortie maximale de 2400W.
Essai gratuit & Licence
🎉 30 jours d'essai gratuit — sans engagement !
Telechargez Zendure EV Guard et testez-le pendant 30 jours complets, sans rien payer et sans limite de fonctionnalites. Vous aurez acces a 100% des fonctions pour vous assurer que le programme correspond parfaitement a votre installation.
A l'issue des 30 jours, une licence PRO a 99 €/an est necessaire pour continuer a utiliser le programme. Un petit investissement pour proteger des batteries qui valent bien plus !
Pret a proteger vos batteries ?
Telechargez gratuitement, configurez en 5 minutes, et dormez tranquille.
Aucun commentaire pour le moment.