PV-Уведомления

Отправка Telegram-уведомлений о состоянии батареи PV

Текущий релиз
1.2.30
Разработчик
Alex
Лицензия
MIT

Логотип

Отправляет уведомления в Telegram о состоянии батареи фотоэлектрической системы (полный заряд, разряд, промежуточный уровень).

Функции

  • 🔋 Уведомление о полном заряде батареи при достижении 100% заряда
  • ⚠️ Уведомление о разрядке батареи при достижении 0% заряда
  • 📊 Промежуточные уровни (20%, 40%, 60%, 80%) с указанием уровня заряда в % и кВт·ч.
  • 🌙 Ночной режим (время можно настроить, по умолчанию: 23:00-06:00)
  • 🤫 Тихий режим (время настраивается, по умолчанию: 12:00-15:00)
  • 📈 Ежедневная статистика в настраиваемое время (по умолчанию: 22:00)
  • 📅 Еженедельная статистика по настраиваемому дню недели
  • 📆 Ежемесячная статистика (опционально) за настраиваемый день
  • 🌤️ Интеграция с прогнозом погоды (требуется адаптер OpenWeatherMap)
  • Рекомендации для предприятий с высоким уровнем производства/высоким уровнем потребления
  • 📊 Статистические данные из адаптера sourceanalytix

Зависимости

Для полноценной работы необходимы следующие адаптеры:

АдаптерОписаниеНеобходимый
телеграммаОтправляет уведомления✅ Да
sourceanalytixСтатистические данные (потребление, подача электроэнергии в сеть, мощность сети)✅ Да
daswette или openweathermapПрогноз погоды для рекомендаций❌ Необязательно

Конфигурация

Телеграмма

ПараметрОписание
Экземпляр TelegramНапримерtelegram.0
Пользователи TelegramСписок имен или идентификаторов, разделенных запятыми, например:User1, User2 или-123456789

Примечание: Вы можете добавлять пользователей Telegram как по имени пользователя (без символа @), так и по идентификатору Telegram (для групп/каналов — отрицательно).

Точки данных

ПараметрОписаниеПример
Уровень заряда батареиЗначение SOC в %modbus.0.holdingRegisters.40083_Batterie_SOC
PV PowerТекущая мощность в Втjavascript.0.Solar.Sungrow.Leistung
Совокупный объем производстваСегодняшний объем производства в кВтчjavascript.0.Solar.Sungrow.Gesamtproduktion
ПодачаПодача электроэнергии в сеть сегодня в кВтчsourceanalytix.0...Einspeisung...
ПотреблениеПотребление сегодня в кВтчsourceanalytix.0...Hausverbrauch...
Электроэнергия из сетиЭлектроэнергия из сети сегодня в кВтчsourceanalytix.0...Netzbezug...
Производство в этом месяцеЕжемесячное производство (кВт·ч)sourceanalytix.0...Produktion.currentMonth
Потребление в этом месяцеЕжемесячное потребление (кВт·ч)sourceanalytix.0...Verbrauch.currentMonth
Кормите животных в этом месяцеЕжемесячная выработка электроэнергии (кВт·ч)sourceanalytix.0...Einspeisung.currentMonth
Электроэнергия из сети в этом месяцеЕжемесячная выработка электроэнергии из сети (кВт·ч)sourceanalytix.0...Netzbezug.currentMonth
Производство на этой неделеЕженедельное производство (кВт·ч)sourceanalytix.0...Produktion.currentWeek
Потребление на этой неделеЕженедельное потребление (кВт·ч)sourceanalytix.0...Verbrauch.currentWeek
Кормите скот на этой неделеЕженедельная подача электроэнергии в сеть (кВт·ч)sourceanalytix.0...Einspeisung.currentWeek
Электроэнергия из сети на этой неделеЕженедельная выработка электроэнергии из сети (кВт·ч)sourceanalytix.0...Netzbezug.currentWeek

Погода (по желанию)

ПараметрОписаниеПример (daswetter)Пример (openweathermap)
Погода сегодняОписание погоды на сегодняdaswetter.0.Day0.forecast.currentSymbolopenweathermap.0.forecast.0.text
Температура сегодня (°C)Температура сегодняdaswetter.0.Day0.forecast.maxTempopenweathermap.0.forecast.0.temp
Погода завтраОписание погоды на завтраdaswetter.0.Day1.forecast.currentSymbolopenweathermap.0.forecast.1.text
Температура завтра (°C)Температура завтраdaswetter.0.Day1.forecast.maxTempopenweathermap.0.forecast.1.temp

Примечание: ПоляWeather Today иWeather Tomorrow В качестве альтернативы можно использовать, если адаптер погоды поддерживает другие форматы. Для наилучшей совместимости мы рекомендуем использоватьWeather Text поля.

Батарея

ПараметрОписаниеПо умолчанию
Емкость аккумулятораЕмкость в Вт·ч21000
Порог заполненSOC означает «полный»100
Порог ПУСТОЙSOC означает «пусто».0
Сбросить до полного значения нижеСбросьте настройки, если уровень заряда батареи <95
Сбросить пустое значение вышеСбросьте настройки, если уровень заряда батареи >5

Промежуточные уровни

ПараметрОписаниеПо умолчанию
Промежуточные уровниУровни SOC, разделенные запятыми20,40,60,80
Мин. Интервал ПОЛНЫЙМинуты между уведомлениями10
Мин. Интервал ПУСТОМинуты между уведомлениями5
Мин. Интервал ПромежуточныйМинуты между уведомлениями30
Включить ночной режимФлажок для ночного режимаtrue
Ночной режим запущенВремя начала (формат: ЧЧ:ММ)23:00
Конец ночного режимаВремя окончания (формат: ЧЧ:ММ)06:00
Отключите ночной режим, если заряд батареи равен 0%.Всегда уведомляйте при 0%true
Включить тихий режимФлажок для включения тихого режимаfalse
Запуск тихого режимаВремя начала (формат: ЧЧ:ММ)12:00
Завершение тихого режимаВремя окончания (формат: ЧЧ:ММ)15:00

Статистика

ПараметрОписаниеПо умолчанию
Время ежедневной статистикиФормат HH:MM22:00
Еженедельная статистика по будням0 = Пн, 1 = Вт, ..., 6 = Вс0 (Понедельник)
Еженедельная статистика TimeФормат HH:MM10:00
Включить ежемесячную статистикуФлажок для просмотра ежемесячной статистикиfalse
День месяца1-311 (1-го числа месяца)
Ежемесячная статистика по времениФормат HH:MM09:00

Примеры

Заряд батареи полный (100%)

11:45 - 🔋 *Battery FULL* (100%)

⚡ Current Production: 5356 W
🏠 Current Consumption: 1200 W
☀️ Production Today: 12.5 kWh
🔌 Feed-in Today: 8.2 kWh
🌤️ Tomorrow: ☀️ Sunny

🚗 Now ideal for: Electric car, washing machine, dishwasher!

Промежуточный (60%)

11:51 - 🔋 Battery at 60% (12.6 kWh) ⬆️
⚡ Production: 5356 W

Ежедневная статистика (22:00)

22:00 - 📊 *Daily Statistics PV System*
━━━━━━━━━━━━━━━━━━━━━━
🔋 Current Charge Level: 85%
⚡ Current Energy: 17.9 kWh (21.0 kWh Total)
━━━━━━━━━━━━━━━━━━━━━━
☀️ Production: 12.5 kWh
🏠 Own Consumption: 8.2 kWh (65.6%)
🔌 Feed-in: 4.3 kWh
⚡ Grid Power: 2.1 kWh

Ежемесячная статистика (1-го числа месяца в 09:00)

09:00 - 📊 *Monthly Statistics PV System*
━━━━━━━━━━━━━━━━━━━━━━
🔋 Full Cycles This Month: 28
📉 Empty Cycles This Month: 15
━━━━━━━━━━━━━━━━━━━━━━
☀️ Production: 345.2 kWh
🏠 Own Consumption: 287.5 kWh (83.3%)
🔌 Feed-in: 57.7 kWh
⚡ Grid Power: 23.4 kWh
━━━━━━━━━━━━━━━━━━━━━━

Штаты

Адаптер создает следующие состояния в рамкахpv-notifications.0 :

Текущая статистика

СостояниеТипОписание
statistics.fullCyclesTodayчислоПолные циклы сегодня
statistics.emptyCyclesTodayчислоСегодня пустые циклы
statistics.maxSOCTodayчислоМаксимальный уровень SOC сегодня
statistics.minSOCTodayчислоМинистерство социального обеспечения сегодня
statistics.fullCyclesWeekчислоПолные циклы на этой неделе
statistics.emptyCyclesWeekчислоНа этой неделе пустые циклы
statistics.currentSOCчислоТекущий уровень заряда батареи (SOC)
statistics.currentEnergyKWhчислоТекущая энергия в кВт·ч

Сохраненные данные за прошлый месяц (для ежемесячной статистики)

СостояниеТипОписание
statistics.lastMonthProductionчислоПроизводство за прошлый месяц (кВтч)
statistics.lastMonthConsumptionчислоПотребление за прошлый месяц (кВтч)
statistics.lastMonthFeedInчислоПодача электроэнергии в сеть в прошлом месяце (кВт·ч)
statistics.lastMonthGridPowerчислоОбъем электроэнергии из сети за прошлый месяц (кВт·ч)
statistics.lastMonthFullCyclesчислоПолные циклы в прошлом месяце
statistics.lastMonthEmptyCyclesчислоПустые циклы в прошлом месяце

Сохраненные данные за прошлую неделю (для еженедельной статистики)

СостояниеТипОписание
statistics.lastWeekProductionчислоПроизводство за прошлую неделю (кВтч)
statistics.lastWeekConsumptionчислоПотребление за прошлую неделю (кВтч)
statistics.lastWeekFeedInчислоПодача электроэнергии в сеть за последнюю неделю (кВт·ч)
statistics.lastWeekGridPowerчислоЭлектроэнергия из сети за прошлую неделю (кВт·ч)
statistics.lastWeekFullCyclesчислоПолные циклы на прошлой неделе
statistics.lastWeekEmptyCyclesчислоПустые циклы на прошлой неделе

Примечание к ежемесячной и еженедельной статистике.

Важно: адаптер автоматически сохраняет данные за прошлый месяц и прошлую неделю в США.

Ежемесячная статистика

  • Ежемесячная статистика отправляется в указанный день (по умолчанию: 1-го числа месяца).
  • Адаптер автоматически сохраняет текущие ежемесячные данные перед сбросом статистики.
  • В статистике используются сохраненные данные изstatistics.lastMonth* штаты
  • Настройка: Убедитесь, что ежемесячная статистика отправляется после последнего дня месяца (например, 1-го числа в 09:00).

Еженедельная статистика

  • Еженедельная статистика отправляется в указанный день недели (по умолчанию: понедельник).
  • Адаптер автоматически сохраняет данные за текущую неделю перед сбросом статистики.
  • В статистике используются сохраненные данные изstatistics.lastWeek* штаты
  • Настройка: Установить день недели (0=пн, 1=вт, ..., 6=вс)

Пример конфигурации (openweathermap)

Настройка точек данных о погоде

Если вы используете адаптер openweathermap , настройте следующие поля:

Weather Today:          openweathermap.0.forecast.0.text
Temperature Today:      openweathermap.0.forecast.0.temp
Weather Tomorrow:       openweathermap.0.forecast.1.text
Temperature Tomorrow:   openweathermap.0.forecast.1.temp

Альтернатива: адаптер Daswetter

Weather Today:          daswetter.0.Day0.forecast.currentSymbol
Temperature Today:      daswetter.0.Day0.forecast.maxTemp
Weather Tomorrow:       daswetter.0.Day1.forecast.currentSymbol
Temperature Tomorrow:   daswetter.0.Day1.forecast.maxTemp

Пример вывода с данными о погоде.

Ежедневная статистика:

📊 *Daily Statistics PV System*
━━━━━━━━━━━━━━━━━━━━━━
🔋 Current Charge Level: 85%
⚡ Current Energy: 17.9 kWh (21.0 kWh Total)
━━━━━━━━━━━━━━━━━━━━━━
☀️ Production: 45.2 kWh
🏠 Own Consumption: 32.1 kWh (71%)
🔌 Feed-in: 13 kWh
⚡ Grid Power: 2 kWh
━━━━━━━━━━━━━━━━━━━━━━
🌤️ *Weather Tomorrow:* ☀️ Sunny 22.5°C
☀️ Good PV production expected!

Еженедельная статистика:

📊 *Weekly Statistics PV System*
━━━━━━━━━━━━━━━━━━━━━━
🔋 Full Cycles Last Week: 5
📉 Empty Cycles Last Week: 3
━━━━━━━━━━━━━━━━━━━━━━
☀️ Production: 312.5 kWh
🏠 Own Consumption: 224.8 kWh (72%)
🔌 Feed-in: 87.7 kWh
⚡ Grid Power: 45.3 kWh
━━━━━━━━━━━━━━━━━━━━━━
💡 A healthy cycle per day is normal.
🔋 Check battery settings if many cycles.

Ежемесячная статистика (1-го числа месяца в 09:00)

09:00 - 📊 *Monthly Statistics PV System*
━━━━━━━━━━━━━━━━━━━━━━
🔋 Full Cycles Last Month: 28
📉 Empty Cycles Last Month: 15
━━━━━━━━━━━━━━━━━━━━━━
☀️ Production: 1245.7 kWh
🏠 Own Consumption: 897.3 kWh (72%)
🔌 Feed-in: 348.4 kWh
⚡ Grid Power: 185.2 kWh
━━━━━━━━━━━━━━━━━━━━━━

Ночной режим и тихий режим

Ночной режим (настраиваемый)

В период с 23:00 до 06:00 (настраивается) следующие уведомления отключаются:

  • ❌ Батарея полностью заряжена (100%)
  • ❌ Средний уровень (20%, 40%, 60%, 80%)

Всегда отправляется следующее уведомление:

  • ✅ Батарея разряжена (0%) – если включена опция "Игнорировать ночной режим при 0% заряда батареи".

Тихий режим (настраиваемый)

В период с 12:00 до 15:00 (настраивается) все уведомления отключаются:

  • ❌ Батарея полностью заряжена (100%)
  • ❌ Батарея разряжена (0%)
  • ❌ Средний уровень (20%, 40%, 60%, 80%)

Примечание: Тихий режим отключает все уведомления, включая уведомления о 0% заряда батареи. Используйте его в тех случаях, когда вы не хотите, чтобы вас беспокоили (например, во время сна, на совещаниях).

Автор

Alex1808 через LLM: Qwen

sadam6752@gmail.com

Документация на других языках

Changelog

1.2.29

  • (FIX) Corrupted UTF-8 separator lines in the monthly stats message (showed as question marks in Telegram)
  • (FIX) Corrupted Russian translations for "Current charge level" and "Own consumption"
  • (FIX) Weather today in daily stats now shows the temperature as "(currently: X°C)" instead of implying a daily value

1.2.28

  • (FIX) Migrate i18n to short format ({lang}.json); trim news to 7 entries

1.2.27

  • (FIX) CI: update package-lock.json to include all eslint peer dependencies

1.2.26 (2026-08-01)

  • (FIX) W5604: add missing i18n keys for sunset stats in 8 languages (es, fr, it, nl, pl, pt, uk, zh-cn)
  • (FIX) W6019: move old changelog entries to CHANGELOG_OLD.md
  • (FIX) W6021: move License section to end of README
  • (FIX) W6030: add 1.2.25 changelog entry to README

1.2.25 (2026-08-01)

  • (FIX) Update @iobroker/adapter-core to 3.4.3
  • (FIX) Remove old news entry 1.2.18 (max 7 entries allowed)

1.2.24 (2026-03-17)

  • (FIX) Added missing uk translations to news entries, fixed prettier formatting in main.js

1.2.23 (2026-03-17)

  • (FIX) Statistics section layout: daily time, sunset checkbox and sunset object aligned on one row

1.2.22 (2026-03-17)

  • (ADD) Sunset-based daily statistics: optional checkbox to send daily stats at sunset time from a configurable object instead of fixed time

1.2.21 (2026-03-17)

  • (FIX) Use extendObject instead of setObjectNotExists for states with unit/role to update existing instances

1.2.20 (2026-03-17)

  • (FIX) Remove unused admin files, reduce info logs to debug, English state names with units, channel objects for statistics/info, button read:false, this.setInterval, translate fallback to English

1.2.19 (2026-03-16)

  • (FIX) Added v1.2.18 entry to news section in io-package.json

1.2.18 (2026-03-16)

  • (FIX) Missing await in onBatterySOCChange, null-check in buildTestMessage, safe intermediateSteps parsing, remove dead code

For older changelog entries see CHANGELOG_OLD.md

License

MIT License

Copyright (c) 2025-2026 Alex1808 via LLM: Qwen sadam6752@gmail.com

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.