Zendure EV Guard
Защитите ваши батареи Zendure во время зарядки вашего электромобиля
Совместимо с Zendure SolarFlow 2400 AC • Shelly Pro 3EM • Smappee • Windows, Linux, macOS
У вас есть батареи Zendure и электромобиль?
Вы знаете: когда ваш автомобиль подключен к wallbox, он поглощает всё. Ваши батареи Zendure разряжаются с бешеной скоростью, циклы накапливаются, и срок службы ваших драгоценных ячеек тает как снег на солнце.
Если ваш автомобиль является служебным транспортом и электричество оплачивается вашим работодателем, жаль разряжать ваши батареи для зарядки, когда вечером у вас не останется ничего для самопотребления вашего дома.
Другой случай: даже если это не служебный автомобиль, вы, возможно, просто хотите предотвратить разряд ваших батарей во время зарядки, чтобы в полной мере использовать электричество, производимое вашими солнечными панелями в солнечный день, не используя ваши батареи Zendure.
Zendure EV Guard автоматически решает эту проблему. Как только зарядка вашего автомобиля обнаружена, программа ставит ваши батареи на паузу. Когда зарядка завершена, она их активирует. Просто, автоматически, без риска.
Как это работает?
1. Обнаружение
Ваш Shelly Pro 3EM (или Smappee) измеряет потребление. Когда мощность превышает порог (например: 5000W), программа знает, что ваш автомобиль заряжается.
2. Защита
Батареи Zendure мгновенно переходят в режим OFF. Они больше не разряжаются, ваши циклы сохраняются.
3. Возобновление
Зарядка завершена? Программа автоматически активирует ваши батареи с вашими исходными параметрами. Без ручного вмешательства.
🔒 100% безопасно для ваших батарей
Zendure EV Guard использует исключительно локальный HTTP API вашего хаба Zendure. Он изменяет только один параметр: minSoc (минимальный уровень заряда). Чтобы поставить на паузу, он устанавливает minSoc на 100% — что предотвращает любое разряжение. Чтобы возобновить, он восстанавливает ваше обычное значение (например, 10%).
Никакого изменения прошивки, никакого облачного доступа, никакого риска. Это точно то же самое, что если бы вы изменили настройку вручную в приложении Zendure, но автоматически и в нужный момент.
Требования
| Оборудование | Детали |
|---|---|
| Zendure SolarFlow 2400 AC | Хаб с активированным локальным HTTP API (порт 80) |
| Shelly Pro 3EM или Smappee1 требуется | Токовые клещи (Shelly, в реальном времени) или энергетический монитор Smappee (облачный API, блоки по 5 минут) для измерения потребления |
| Wallbox / Зарядная станция | Любая зарядная станция — обнаружение основано на потреблении, а не на самой станции |
| ПК, Сервер или NAS | Windows, Linux или macOS — программа работает в фоновом режиме 24/7 |
Установка
1. Распакуйте архив
Извлеките содержимое ZIP-файла в выбранный вами каталог, например:
- Windows :
C:\ZendureEvGuard\ - Linux :
/home/ZendureEvGuard/ - macOS :
/Applications/ZendureEvGuard/
2. Права на выполнение (только Linux / macOS)
На Linux и macOS вам нужно сделать файл исполняемым перед его запуском:
chmod +x ZendureEvGuard
./ZendureEvGuard3. Настройте appsettings.json
Откройте файл appsettings.json, находящийся рядом с исполняемым файлом, и заполните ваши параметры (см. раздел ниже).
4. Запустите программу
# Windows
ZendureEvGuard.exe
# Linux / macOS
./ZendureEvGuard
Программа отображает информацию для входа при запуске. Используйте P для ручной паузы, R для продолжения и Ctrl+C дважды для корректного завершения.
a) Создайте выделенного пользователя (необязательно, но рекомендуется):
sudo useradd -r -s /usr/sbin/nologin zendure
sudo chown -R zendure:zendure /home/ZendureEvGuardb) Создайте файл службы:
sudo nano /etc/systemd/system/zendure-evguard.serviceВставьте следующее содержимое:
[Unit]
Description=ZendureEvGuard - Демон защиты батареи 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) Активируйте и запустите службу:
sudo systemctl daemon-reload
sudo systemctl enable zendure-evguard
sudo systemctl start zendure-evguardd) Полезные команды:
# Посмотреть статус
sudo systemctl status zendure-evguard
# Смотреть логи в реальном времени
sudo journalctl -u zendure-evguard -f
# Перезапустить после обновления
sudo systemctl restart zendure-evguard
# Остановить службу
sudo systemctl stop zendure-evguardКонфигурация — appsettings.json
Вот все параметры, которые вы можете настроить. Разделы Shelly и ZendureDevice обязательны.
⚡ Shelly обязательно
Конфигурация вашего Shelly Pro 3EM. Это датчик, который измеряет электрическое потребление вашего дома.
| Параметр | Описание | Пример |
|---|---|---|
Enabled | Включить Shelly как источник измерения | true |
Host | IP-адрес вашего Shelly Pro 3EM в вашей локальной сети | "192.168.1.50" |
UseDigestAuth | Включить, если вы защитили свой Shelly паролем | false |
Username | Имя пользователя (если аутентификация включена) | "admin" |
Password | Пароль (если аутентификация включена) | "мойпароль" |
🔌 Станция Smappee необязательно
Энергетическая станция Smappee может использоваться двумя способами:
- Как источник обнаружения EV (альтернатива Shelly) — если Shelly отключен, Smappee становится источником измерения мощности для обнаружения зарядки EV. Обнаружение происходит через облачное API Smappee (блоки по 5 минут, менее реактивно, чем Shelly в реальном времени).
- Параллельно с Shelly — если Shelly активен как источник обнаружения, Smappee все равно может быть активен для постоянного отображения информации о потреблении (солнечная энергия, дом, сеть) и вашей станции Smappee EV Wall (мощность зарядки, состояние и т.д.) в логах.
| Параметр | Описание | Пример |
|---|---|---|
Enabled | Включить Smappee (источник обнаружения, если Shelly отключен, или отображение информации о потреблении/станции EV параллельно) | false |
ClientId | ID клиента вашего приложения Smappee (API v3) | "ваш-id-клиента" |
ClientSecret | Секрет клиента вашего приложения Smappee | "ваш-секрет-клиента" |
Username | Имя пользователя вашей учетной записи Smappee | "user@email.com" |
Password | Пароль вашей учетной записи Smappee | "пароль" |
ServiceLocationId | ID вашего местоположения Smappee (виден на панели управления Smappee, это не серийный номер) | "190802" |
PollingIntervalSeconds | Частота опроса API Smappee | 30 |
EvThresholdWatts | Порог мощности для определения, что станция EV заряжает (только отображение информации) | 1400 |
🔋 Батарея Zendure обязательно
Конфигурация вашего хаба Zendure SolarFlow 2400 AC или других. IP-адрес находится в приложении Zendure.
| Параметр | Описание | Пример |
|---|---|---|
Host | IP-адрес вашего хаба Zendure в локальной сети | "192.168.1.127" |
Port | HTTP-порт локального API (по умолчанию 80) | 80 |
DefaultOutputLimit | Максимальная мощность на выходе в ваттах, которую нужно восстановить после зарядки EV | 2400 |
DefaultMinSoc | Минимальный уровень заряда для восстановления (значение умножается на 10: 100 = 10%, 950 = 95%). Это порог, ниже которого ваши батареи больше не будут разряжаться. | 100 |
TimeoutSeconds | Время ожидания для запросов к хабу | 10 |
💡 Понимание DefaultMinSoc
Этот параметр определяет минимальный уровень заряда ваших батарей после восстановления. Значение умножается на 10 в API Zendure:
100= батареи могут разряжаться до 10%200= батареи могут разряжаться до 20%950= батареи останавливаются на 95% (очень консервативный режим)
Выбор за вами! Низкий minSoc (100-200) максимизирует использование ваших батарей. Высокий minSoc (800-950) сохраняет срок службы ячеек. Большинство пользователей выбирают между 100 (10%) и 200 (20%).
🚗 EvDetection
Настройки обнаружения зарядки вашего электромобиля. Алгоритм использует гистерезис: требуется несколько последовательных измерений выше порога для подтверждения зарядки и несколько измерений ниже для подтверждения остановки.
| Параметр | Описание | По умолчанию |
|---|---|---|
PowerThresholdWatts | Порог мощности (в ваттах), выше которого программа считает, что автомобиль заряжается. Настройте его под вашу стену. | 5000 |
ConfirmationReadings | Количество последовательных измерений выше порога для подтверждения начала зарядки | 2 |
ReleaseReadings | Количество последовательных измерений ниже порога для подтверждения окончания зарядки (24 = ~2 минуты при 5с/измерение) | 24 |
PollingIntervalSeconds | Частота измерений в секундах | 5 |
📬 Уведомление опционально
Получайте электронные письма, когда ваши батареи ставятся на паузу, возобновляются или в случае ошибки. Настройте ваш SMTP-сервер.
| Параметр | Описание | По умолчанию |
|---|---|---|
Enabled | Включить уведомления по электронной почте | false |
SmtpHost | SMTP-сервер (например: smtp.gmail.com) | "" |
SmtpPort | SMTP-порт | 587 |
UseSsl | Использовать TLS/SSL | true |
Username / Password | SMTP-учетные данные | "" |
FromAddress | Адрес электронной почты отправителя | "" |
ToAddress | Получатель(и), разделенные ; для нескольких | "" |
RateLimitMinutes | Минимальный интервал между двумя уведомлениями (анти-спам) | 15 |
📴 Pushover опционально
Push-уведомления на ваш телефон через Pushover. Создайте приложение на pushover.net, чтобы получить ваш API Token.
| Параметр | Описание |
|---|---|
Enabled | Включить Pushover (true / false) |
ApiToken | API Token вашего приложения Pushover |
UserKey | Ваш ключ пользователя Pushover |
RateLimitMinutes | Минимальный интервал между уведомлениями (по умолчанию: 15) |
💬 Telegram опционально
Уведомления через бота Telegram. Создайте бота с @BotFather и получите ваш Chat ID.
| Параметр | Описание |
|---|---|
Enabled | Включить Telegram (true / false) |
BotToken | Токен вашего бота Telegram (предоставлен @BotFather) |
ChatId | ID чата для отправки сообщений (несколько, разделенных ;) |
RateLimitMinutes | Минимальный интервал между оповещениями (по умолчанию: 15) |
📈 Мониторинг необязательно
| Параметр | Описание | По умолчанию |
|---|---|---|
HealthCheckIntervalSeconds | Частота проверки подключения устройств | 30 |
LogStatusIntervalSeconds | Частота записи статуса в файлы логов | 300 |
🔄 Обновление необязательно
| Параметр | Описание | По умолчанию |
|---|---|---|
AutoUpdateEnabled | Включить автоматическую проверку обновлений | true |
CheckIntervalHours | Интервал проверки (в часах) | 4 |
🔑 Лицензия после пробного периода
После пробного периода в 30 дней добавьте ваш секретный ключ для активации лицензии PRO. Ваш ключ находится в вашем аккаунте на вверху справа > "Мой аккаунт". Лицензия автоматически продлевается в фоновом режиме.
| Параметр | Описание | Пример |
|---|---|---|
SecretKey | Ваш уникальный секретный ключ (GUID) из вашего аккаунта digital3d.com. Оставьте пустым, чтобы использовать пробный режим. | d79d24cc-eb02-48d7-94f8-xxxxxxxxxxxx |
Пример минимальной конфигурации
Вот пример, готовый к использованию. Просто замените IP-адреса на адреса ваших устройств:
{
"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"
}
}С этой конфигурацией программа мониторит ваш Shelly, обнаруживает любое потребление выше 5000W (например), и восстанавливает ваши батареи с минимумом 10% (100 ÷ 10) и максимальной мощностью 2400W. Раздел Subscription по умолчанию пуст: программа работает в пробном режиме в течение 30 дней. Чтобы активировать лицензию PRO, добавьте ваш секретный ключ из вашего аккаунта вверху справа.
Бесплатный пробный период & Подписка
🎉 30 дней бесплатного пробного периода — без обязательств!
Скачайте Zendure EV Guard и протестируйте его в течение 30 полных дней, ничего не платя и без ограничений по функциональности. Вы получите доступ к 100% функций, чтобы убедиться, что программа идеально подходит для вашей установки.
По истечении 30 дней необходима подписка Digital3D для продолжения использования программы. Одна подписка дает доступ к всем приложениям Digital3D (CompactForIA, AutoMouseMove, Zendure EV Guard и т.д.).
🔑 Как активировать вашу лицензию
- Подпишитесь на подписку на "One for All"
- Войдите в свой аккаунт на digital3d.com и скопируйте ваш секретный ключ (уникальный идентификатор в формате GUID, например:
f89f26cc-eb03-48d7-94f8-xxxxxxxxxxxx) - Откройте файл
appsettings.jsonи добавьте ваш ключ в разделSubscription:"Subscription": { "SecretKey": "ваш-секретный-ключ-guid" } - Перезапустите программу — лицензия PRO активируется автоматически и продлевается без вашего участия.
Готовы защитить ваши батареи?
Скачайте бесплатно, настройте за 5 минут и спите спокойно.
Подписка « One for All » : одна подписка для всех приложений Digital3D.
Aucun commentaire pour le moment.