ЕЛК ЖКХ «Интер РАО» для 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; .....)
— финальный выпуск компонента и исправление ошибок.
Увеличение старшей версии сопутствует:
- изменениям в конфигурационной схеме;
- удалению функционала;
- расширению сферы применения интеграции.
Увеличение младшей версии сопутствует:
- добавлению нового функционала;
- исправлению значительных ошибок.
Увеличение номера сборки сопутствует:
- исправлению мелких ошибок / выпуску хотфиксов;
- изменениям во взаимодействии с основополагающей библиотекой (или её версии).