Skip to content

Repository files navigation

ЕИРЦ Санкт-Петербурга

ЕИРЦ Санкт-Петербурга (eirc_spb) для Home Assistant

Открыть в Home Assistant

Описание

Интеграция личного кабинета ЕИРЦ СПб (ikus.pesc.ru) для Home Assistant. Домен интеграции — eirc_spb.

Интеграция предоставляет данные лицевых счетов:

  • начисления по услугам за последний период;
  • сумма текущего счёта (ЕПД), история счетов, последний платёж, пеня, дедлайн передачи показаний;
  • текущие показания счётчиков (вода, многотарифная электроэнергия и др.);
  • отправка показаний счётчиков через сервис.

Возможности

Каждый лицевой счёт отображается как отдельное устройство. Для каждого счёта создаются сенсоры:

Сенсор Описание Ед. Атрибуты
sensor.eirc_spb_<номер_ЕЛС>_accruals Начисления за последний период period — период; разбивка по услугам (отдельный атрибут на каждую услугу); area — общая площадь, rooms — кол-во комнат, owner — владелец, management_company — управляющая компания, tariffs — тарифные ставки по услугам (передаются, если доступны в личном кабинете)
auto_payment, delivery Диагностические атрибуты сенсора начислений (автоплатёж включён, способ получения счёта)
sensor.eirc_spb_<номер_ЕЛС>_bill Сумма текущего счёта (ЕПД) account_id, bill_id, timestamp, history — история счетов (список id/amount/timestamp, новые сверху; передаётся, если доступна)
sensor.eirc_spb_<номер_ЕЛС>_last_payment Последний платёж payment_id, date, status
sensor.eirc_spb_<номер_ЕЛС>_provider_<поставщик> Начисления за текущий период по поставщику (ЖКС, Ростелеком и т.д.; создаётся автоматически на каждого)
sensor.eirc_spb_<номер_ЕЛС>_fines Пеня
sensor.eirc_spb_<номер_ЕЛС>_reading_deadline Дедлайн передачи показаний (день месяца) period — период, window — окно приёма показаний
sensor.eirc_spb_<номер_ЕЛС>_<счётчик>_<тариф> Показания счётчика (счётчик total_increasing) м³ / кВт·ч account_id, meter_id, scale_id, last_submit (дата последних переданных показаний), meter_serial (номер счётчика), verification_date (дата очередной поверки), model (модель), install_date (дата установки) — данные паспорта счётчика, передаются, если доступны в личном кабинете

Для многотарифного электросчётчика создаётся отдельный сенсор на каждый тариф (Т1, Т2, …).

В таблице указан формат unique_id; фактический entity_id сенсора возьмите из интерфейса Home Assistant (Инструменты разработчика → Состояния). Идентификаторы сущностей английские: …_accruals, …_current_bill, …_last_payment, …_fines, …_reading_deadline, …_hot_water_<номер ПУ>, …_electricity_day_<номер ПУ>, …_accruals_<поставщик>.

Расход за месяц

Отдельный сенсор расхода не нужен: показания счётчиков уже total_increasing, поэтому расход за месяц строится штатными средствами Home Assistant — раздел Статистика или панель Энергия (энергия и вода): добавьте сенсор показаний, HA посчитает разницу сам.

Установка

Через HACS (пользовательский репозиторий):

  1. Откройте HACS в боковом меню Home Assistant.
  2. Справа вверху нажмите (три точки) → Пользовательские репозитории.
  3. В поле «Репозиторий" введите: MrYadro/ha-eirc, в поле "Категория" выберите ИнтеграцияДобавить.
  4. Нажмите + Эксплорер и загрузка репозиториев, найдите ЕИРЦ Санкт-ПетербургаСкачать.
  5. Перезапустите Home Assistant.

Если HACS ещё не установлен — инструкция: hacs.xyz/docs/setup/download.

Настройка

  1. Настройки → Устройства и службы → Добавить интеграциюЕИРЦ Санкт-Петербурга.
  2. Введите логин и пароль от личного кабинета. Логин — телефон в формате +7… или e-mail.
  3. Если сервер требует подтверждения входа, выберите способ получения кода: E-mail, SMS или Звонок — код придёт выбранным способом, введите его.
  4. Выберите лицевые счета, по которым нужны данные. Если счёт один, он подключается автоматически.
  5. Интервал обновления задаётся в параметрах интеграции: от 1 до 24 часов (по умолчанию 12).

При смене пароля в личном кабинете Home Assistant предложит повторную авторизацию (reauth).

Отправка показаний

Сервис eirc_spb.send_meter_reading передаёт показания на сервер ЕИРЦ (протокол проверен на реальном аккаунте):

action: eirc_spb.send_meter_reading
data:
  entity_id: sensor.ivan_els_71000000001_hot_water_111111
  readings:
    - value: 234.854
  • entity_id — сенсор счётчика; scale_id подставляется автоматически из атрибутов сенсора (0 — вода, 2 — день, 3 — ночь);
  • для многотарифного электросчётчика передайте несколько записей с явным scale_id в одном вызове:
readings:
  - scale_id: 2
    value: 8673
  - scale_id: 3
    value: 3890
  • сервис возвращает ответ {code, message, validated} — его можно использовать в автоматизациях (режим ответа включается опцией return_response); validated: true означает, что сервер проверил показания перед отправкой;
  • перед отправкой показания проверяются на сервере: если сервер отвечает ошибкой (например, новые показания меньше предыдущих), сервис завершится ошибкой с сообщением сервера и показания не отправятся;
  • если сервер предупреждает о необычном расходе, отправка блокируется с подсказкой подтвердить намерение — передайте confirm: true, чтобы отправить показания несмотря на предупреждение:
action: eirc_spb.send_meter_reading
data:
  entity_id: sensor.ivan_els_71000000001_hot_water_111111
  readings:
    - value: 999.123
  confirm: true
  • если сервер проверки недоступен, показания отправляются без предварительной проверки (validated: false);
  • при отказе API во время отправки сервис завершится ошибкой с сообщением сервера.

После успешной отправки данные интеграции автоматически обновляются.

Скачивание счёта

Сервис eirc_spb.download_bill скачивает счёт (ЕПД) в формате PDF:

action: eirc_spb.download_bill
data:
  entity_id: sensor.ivan_els_71000000001_tekuschii_schet
  • entity_id — сенсор текущего счёта (тот, у которого есть атрибут bill_id; фактический entity_id возьмите из интерфейса Home Assistant — Инструменты разработчика → Состояния); номер счёта берётся из его атрибута bill_id;
  • bill_id (необязательно) — скачать конкретный счёт из атрибута history;
  • path (необязательно) — куда сохранить файл; по умолчанию <каталог конфигурации>/www/eirc/<номер ЕЛС>_<bill_id>.pdf. Путь должен находиться внутри каталога конфигурации Home Assistant;
  • файлы в каталоге www/eirc доступны по адресу /local/eirc/…;
  • сервис возвращает ответ {path, url, bytes} — его можно использовать в автоматизациях (режим ответа включается опцией return_response).

Уведомления

Интеграция генерирует события и (по умолчанию) уведомления в интерфейсе Home Assistant (отключается в опциях):

Событие Когда Данные
eirc_spb_notification Новое уведомление из личного кабината («колокольчик» ЕИРЦ: новый счёт, оплата, важная информация) title, message, timestamp, native_type
eirc_spb_new_bill Появился новый счёт bill_id, amount, timestamp, number
eirc_spb_new_payment Новый платёж payment_id, amount, date, status, number
eirc_spb_reading_deadline Приближается дедлайн показаний (за N дней, N — в опциях) days_left, period, deadline_day, number

Пример автоматизации (Telegram):

alias: ЕИРЦ — уведомления
triggers:
  - trigger: event
    event_type: eirc_spb_notification
  - trigger: event
    event_type: eirc_spb_new_bill
  - trigger: event
    event_type: eirc_spb_new_payment
  - trigger: event
    event_type: eirc_spb_reading_deadline
actions:
  - action: notify.telegram
    data:
      title: ЕИРЦ Санкт-Петербурга
      message: >
        {{ trigger.event.data.title | default('Новый счёт ' ~ trigger.event.data.bill_id,
        true) }}
        {{ trigger.event.data.message | default('на сумму ' ~ trigger.event.data.amount ~ ' ₽', true) }}

Для мобильного приложения замените notify.telegram на ваш notify.mobile_app_*.

За сколько дней предупреждать о дедлайне и включены ли уведомления в интерфейсе — настраивается в опциях интеграции (изменения применяются сразу, без перезапуска).

Отладка

Включите отладочный лог в configuration.yaml:

logger:
  logs:
    custom_components.eirc_spb: debug

Безопасность

Логин, пароль и токен подтверждения хранятся в config entry (конфигурации Home Assistant). Не публикуйте бэкапы конфигурации: они содержат ваши учётные данные.

Ограничения

  • Поддерживается только портал ikus.pesc.ru; ВЦКП (lk.kvartplata.info) не поддерживается.
  • Новые счётчики, появившиеся после настройки, отобразятся после перезагрузки интеграции (обновления записи конфигурации).
  • Отправка показаний — только через ручные вызовы сервиса и автоматизации.

Разработка

Требуется Python 3.14+.

pip install -r requirements_test.txt
pytest

Фикстуры тестов подготовлены sanitize-инструментами из scripts/ (очистка персональных данных).

Лицензия — MIT.

About

Интеграция ЕИРЦ СПб (ikus.pesc.ru) для Home Assistant

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages