ЕЛК ЖКХ «Интер РАО» для Home Assistant
Предоставление информации о текущем состоянии ваших аккаунтов в ЕЛК ЖКХ.
Введение
@ TODO @
Установка
Посредством HACS
✔️ ️ Рекомендуемый метод
- Установите HACS (инструкция по установке на оф. сайте)
- Добавьте репозиторий в список дополнительных
- Найдите
energosbytв поиске по интеграциям 1 - Установите последнюю версию компонента, нажав на кнопку
Установить(Install) - Перезапустите Home Assistant
1 При поиске может появиться компонент Мосэнергосбыт. Это предшествующая данному проекту интеграция, и будет в скором времени упразднена.
Вручную
⚠️ Не рекомендуется
- Скачайте архив с исходным кодом дополнения
- Извлеките папку
lkcomu_interraoиз архива в папкуcustom_componentsвнутри папки с конфигурацией Home Assistant (создайте её, если она отсутствует) - Перезапустите Home Assistant
Настройка
Через раздел интеграции
- Перейдите в подраздел "Интеграции" в разделе "Настройки"
- Нажмите кнопку "Добавить интеграцию"
- Введите в поисковую строку: Личный кабинет Интер РАО (Энергосбыт) (англ. Inter RAO Personal Cabinet (Energosbyt))
- Выберите найденную интеграцию
- Следуйте инструкциям мастера по добавлению
Примечание: Поле Заголовок User-Agent (англ. User-Agent header) генерируется автоматически.
Описание конфигурационной схемы
# Файл `configuration.yaml`
lkcomu_interrao:
# Тип выбранного ЛК
# Значение по умолчанию: moscow
# Перечень возможных значений:
# - altai (ЛК Алтай (АО «АлтайЭнергосбыт»))
# - bashkortostan (ЛКК ЭСКБ (Башэлектросбыт))
# - moscow (ЕЛК ЖКХ (АО «Мосэнергосбыт», МосОблЕИРЦ, ПАО «Россети Московский регион»))
# - oryol (ЛКК Орел (ООО «Орловский энергосбыт»))
# - saratov (ЛК Саратов (ПАО «Саратовэнерго»))
# - sevesk (ЕЛК Вологда (Северная сбытовая компания))
# - tambov (ЛК ТЭСК (Тамбовская энергосбытовая компания))
# - tomsk (ЕЛК Томск (Томскэнергосбыт / Томск РТС))
# - volga (ЛКК ЭСВ (Энергосбыт Волга))
type: "..."
# Имя пользователя
# Обязательный параметр
username: "..."
# Пароль
# Обязательный параметр
password: "..."
# Конфигурация по умолчанию для лицевых счетов
# Необязательный параметр
# # Данная конфигурация применяется, если отсутствует # конкретизация, указанная в разделе `accounts`.
default:
# Получать ли ссылки на логотипы
# Значение по умолчанию: истина (true)
logos: true | false
# Добавлять ли объект(-ы): Информация о лицевом счёте
# Значение по умолчанию: истина (true)
accounts: true | false
# Добавлять ли объект(-ы): Счётчик коммунальных услуг
# Значение по умолчанию: истина (true)
meters: true | false
# Добавлять ли объект(-ы): Последний зарегистрированный платёж
# Значение по умолчанию: истина (true)
last_payment: true | false
# Добавлять ли объект(-ы): Последняя выпущенная квитанция
# Значение по умолчанию: истина (true)
last_invoice: true | false
# Настройки для отдельных лицевых счетов
# Необязательный параметр
accounts:
# Номер лицевого счёта
"...":
# Конфигурация по конкретным лицевым счетам выполняется аналогично
# конфигурации по умолчанию для лицевых счетов (раздел `default`).
...
Вариант конфигурации "Чёрный список"
Для реализации белого списка, конфигурация выполняется следующим образом:
...
lkcomu_interrao:
...
# Выборочное исключение лицевых счетов
accounts:
# Все указанные ниже лицевые счета будут добавлены
"12345-678-90": false
"98765-432-10": false
"111000111000": false
Вариант конфигурации "Белый список"
Для реализации белого списка, конфигурация выполняется следующим образом:
...
lkcomu_interrao:
...
# Отключение добавление лицевых счетов по умолчанию
default: false
# Выборочное включение лицевых сченов
accounts:
# Все указанные ниже лицевые счета будут добавлены
"12345-678-90": true
"98765-432-10": true
"111000111000": true
Также возможно использовать укороченную запись:
...
lkcomu_interrao:
...
# Данный пример функционально эквивалентен предыдущему примеру
default: false
accounts: ["12345-678-90", "98765-432-10", "111000111000"]
Доступные объекты
Все объекты гарантируют наличие и полноту следующих атрибутов:
account_code: str- Номер лицевого счётаaccount_id: int- Внутренний идентификатор лицевого счёта
Лицевые счета — lkcomu_interrao_account
Домен объектов:
sensor
Объект лицевого счёта отображает основную информацию о лицевом счёте, а также его баланс (положительное значение) или имеющуюся задолженность (отрицательное значение) 1.
Состояние объекта может принимать следующие значения:
unknown- Информация о состоянии баланса не была предоставлена- число - Текущее состояние баланса
1 ... в том случае, если лицевой счёт предоставляет информацию о балансе
Сопутствующие службы
Данные службы применимы только к объектам лицевых счетов
set_description — Установить описание лицевого счёта
Устанавливает описание для лицевого счёта и провоцирует его обновление.
Параметры
description: str | None- (опционально) Новое описание для лицевого счёта
Результат
Событие с идентификатором lkcomu_interrao_set_description и следующими значениями:
success: bool- Если установка описания была выполнена успешноdescription: str | None- Описание, с которым была вызвана службаprevious: str | None- Описание, которым обладал (или, в случае ошибки, обладает) лицевой счётaccount_id: int- Внутренний идентификатор лицевого счётаaccount_code: str- Номер лицевого счёта
get_invoices — Получение квитанций по периодам
Только для объектов, поддерживающих данный функционал
Параметры
start: str | None- (опционально) Дата начала периодаend: str | None- (опционально) Дата окончания периода
Результат
Событие с идентификатором lkcomu_interrao_get_invoices и следующими значениями:
sum: float- сумма всех квитанций за указанный периодperiod: str- период квитанцииinvoice_id: str- идентификатор квитанцииtotal: float- сумма к оплате по квитанцииpaid: float | None- сумма оплат, учтённых к квитанцииinitial: float | None- задолженность/избыток на начало периодаcharged: float | None- начислено за периодinsurance: float | None- добровольное страхованиеbenefits: float | None- льготыpenalty: float | None- штрафыservice: float | None- тех. обслуживание
get_payments — Получение платежей по периодам
Только для объектов, поддерживающих данный функционал
Параметры
start: str | None- (опционально) Дата начала периодаend: str | None- (опционально) Дата окончания периода
Результат
Событие с идентификатором lkcomu_interrao_get_payments и следующими значениями:
sum: float- сумма всех платежей за указанный периодamount: float- объём платежаpaid_at: str- дата/время платежаperiod: str- период, за который платёж был выполненstatus: str | None- состояние платежаagent: str | None- банк-обработчик платежаgroup: str | None- группа платежа (для лицевых счетов с несколькими типами платежей)
Счётчики — lkcomu_interrao_meter
Домен объектов:
sensor
Объект счётчика отображает информацию о счётчике, а также сведения о последних переданных показаниях и диапазоне периода передачи показаний1.
Состояние объекта может принимать следующие значения:
ok- Текстовое описание состояния отсутствует- текст - Текстовое описание состояние счётчика (может быть любой длины, и содержать в себе любой набор символов, в т.ч. HTML-теги)
Объект гарантирует наличие и полноту следующих атрибутов:
meter_code- Номер счётчикаinstall_date- Дата установкиsubmit_period_start- Дата начала периода передачи показаний (в текущем месяце) 1submit_period_end- Дата окончания периода передачи показаний (в текущем месяце) 1submit_period_active- Флаг активности периода передачи показаний 1zone_t[N]_name- Наименование тарифной зоны / тарифаzone_t[N]_last_indication- Последнее показание по тарифной зоне 2
Объект гарантирует наличие, но не полноту следующих атрибутов:
model- Модель счётчикаlast_indications_date- Дата последней передачи показанийzone_t[N]_description- Описание тарифной зоны / тарифаzone_t[N]_today_indication- Значение переданного сегодня показания по тарифной зонеzone_t[N]_invoice_indication- Значение последнего показания по тарифной зоне, учтённому в квитанцииzone_t[N]_period_indication- Значение переданного за период показания по тарифной зоне 1zone_t[N]_invoice_name- Наименование тарифной зоны, указанное в последней квитанции
1 ... в том случае, если счётчик поддерживает передачу показаний
2 При отсутствии фактического значения атрибут примет значение 0.0
Сопутствующие службы
Данные службы применимы только к объектам счётчиков
push_indications — Передача показаний
Только для объектов, поддерживающих данный функционал
calculate_indications — Подсчёт показаний
Только для объектов, поддерживающих данный функционал
Последние платежи — lkcomu_interrao_last_payment
Домен объектов:
binary_sensor
Объект последнего платежа отображает информацию о последнем зарегистрированном платеже, связанном с лицевым счётом.
Состояние объекта может принимать следующие значения:
on- Платёж был обработанoff- Платёж ещё не обработанunknown- Последний платёж не был найден
Объект гарантирует наличие и полноту следующих атрибутов:
amount: float- Сумма платежаpaid_at: str- Дата и время платежаperiod: str- Период, за который был выполнен платёж
Объект гарантирует наличие, но не полноту, следующих атрибутов:
status: str | None- Состояние платежаagent: str | None- Банк, проводящий платёжgroup: str | None- Группа платежа (для лицевых счетов с несколькими источниками платежей)
Последние квитанции — lkcomu_interrao_last_invoice
Домен объектов:
sensor
@ TODO @
Поддерживаемые ЛК
Ниже предъявлен перечень поддерживаемых ЛК с их внутренними идентификаторами. Данные идентификаторы используются как значение для поля type.
Внимание: Поддерживаются только ЛК физических лиц. Поддержка ЛК юридических лиц не планируется.
ЕЛК ЖКХ (АО «Мосэнергосбыт», МосОблЕИРЦ, ПАО «Россети Московский регион») - moscow
Пример конфигурации:
...
lkcomu_interrao:
type: moscow
username: username1
password: password1
Поставщик MES — Электричество
Для поставщика реализована поддержка следующих объектов:
Поставщик KSG — Электричество
Для поставщика реализована поддержка следующих объектов:
Поставщик MOE — ЕПД
Для поставщика реализована поддержка следующих объектов:
Поставщик TKO — ТКО
Для поставщика реализована поддержка следующих объектов:
Последний зарегистрированный платёж
Снимок экрана отсутствуетСчётчик коммунальных услуг
Снимок экрана отсутствуетЛКК Орел (ООО «Орловский энергосбыт») - oryol
Пример конфигурации:
...
lkcomu_interrao:
type: oryol
username: username1
password: password1
Поставщик ORL_EPD — ЕПД
Для поставщика реализована поддержка следующих объектов:
Поставщик ORL — Электричество
Для поставщика реализована поддержка следующих объектов:
ЛКК ЭСВ (Энергосбыт Волга) - volga
Пример конфигурации:
...
lkcomu_interrao:
type: volga
username: username1
password: password1
Поставщик VLD — Электричество
Для поставщика реализована поддержка следующих объектов:
ЕЛК Томск (Томскэнергосбыт / Томск РТС) - tomsk
Пример конфигурации:
...
lkcomu_interrao:
type: tomsk
username: username1
password: password1
Поставщик TMK_NRG — generic
Для поставщика реализована поддержка следующих объектов:
ЛК ТЭСК (Тамбовская энергосбытовая компания) - tambov
Пример конфигурации:
...
lkcomu_interrao:
type: tambov
username: username1
password: password1
Поставщик TMB — Электричество
Для поставщика реализована поддержка следующих объектов:
ЕЛК Вологда (Северная сбытовая компания) - sevesk
Пример конфигурации:
...
lkcomu_interrao:
type: sevesk
username: username1
password: password1
Поставщик VLG — Электричество
Для поставщика реализована поддержка следующих объектов:
ЛК Саратов (ПАО «Саратовэнерго») - saratov
Пример конфигурации:
...
lkcomu_interrao:
type: saratov
username: username1
password: password1
Поставщик SAR — Электричество
Для поставщика реализована поддержка следующих объектов:
ЛКК ЭСКБ (Башэлектросбыт) - bashkortostan
Пример конфигурации:
...
lkcomu_interrao:
type: bashkortostan
username: username1
password: password1
Поставщик UFA — Электричество
Для поставщика реализована поддержка следующих объектов:
ЛК Алтай (АО «АлтайЭнергосбыт») - altai
Пример конфигурации:
...
lkcomu_interrao:
type: altai
username: username1
password: password1
Поставщик ALT — Электричество
Для поставщика реализована поддержка следующих объектов:
Дополнительная информация
Компонент находится в активной разработке. Примерная дорожная карта и план развития:
[0.0.1; 0.1.0)— первичная обкатка компонента на поддерживаемых поставщиках;[0.1.0; 0.2.0)— разработка визуального конфигуратора для интеграции;[0.2.0; 1.0.0)— выполнение задач по оптимизации и чистке кода;[1.0.0; .....)— финальный выпуск компонента и исправление ошибок.
Увеличение старшей версии сопутствует:
- изменениям в конфигурационной схеме;
- удалению функционала;
- расширению сферы применения интеграции.
Увеличение младшей версии сопутствует:
- добавлению нового функционала;
- исправлению значительных ошибок.
Увеличение номера сборки сопутствует:
- исправлению мелких ошибок / выпуску хотфиксов;
- изменениям во взаимодействии с основополагающей библиотекой (или её версии).



























































