Предоставление информации о текущем состоянии ваших аккаунтов в Госуслуги Москвы.
- Передача показаний по счётчикам ЖКХ (вода, электричество)
- Проверка штрафов ГИБДД (по номеру В/У и СТС)
- Проверка штрафов ФССП
Данная интеграция предоставляет возможность системе HomeAssistant опрашивать API Портала Московских Госуслуг.
(Возможно увеличить, нажав на картинку и перейдя по ссылке)
- Откройте HACS (через
Extensions
в боковой панели) - Добавьте новый произвольный репозиторий:
- Выберите
Integration
(Интеграция
) в качестве типа репозитория - Введите ссылку на репозиторий:
https://github.com/alryaz/hass-moscow-pgu
- Нажмите кнопку
Add
(Добавить
) - Дождитесь добавления репозитория (занимает до 10 секунд)
- Теперь вы должны видеть доступную интеграцию
Moscow PGU (Госуслуги Москвы)
в списке новых интеграций.
- Выберите
- Нажмите кнопку
Install
чтобы увидеть доступные версии - Установите последнюю версию нажатием кнопки
Install
- Перезапустите HomeAssistant
Примечание: Не рекомендуется устанавливать ветку main
. Она используется исключительно для разработки.
Клонируйте репозиторий во временный каталог, затем создайте каталог custom_components
внутри папки конфигурации
вашего HomeAssistant (если она еще не существует). Затем переместите папку moscow_pgu
из папки custom_components
репозитория в папку custom_components
внутри папки конфигурации HomeAssistant.
Пример (при условии, что конфигурация HomeAssistant доступна по адресу /mnt/homeassistant/config
) для Unix-систем:
git clone https://github.com/alryaz/hass-moscow-pgu.git hass-moscow-pgu
mkdir -p /mnt/homeassistant/config/custom_components
mv hass-moscow-pgu/custom_components/moscow_pgu /mnt/homeassistant/config/custom_components
- Откройте
Настройки
->Интеграции
- Нажмите внизу справа страницы кнопку с плюсом
- Введите в поле поиска
Moscow PGU
илиГосуслуги Москвы
- Если по какой-то причине интеграция не была найдена, убедитесь, что HomeAssistant был перезапущен после установки интеграции.
- Выберите первый результат из списка
- Введите данные вашей учётной записи для ЛК "Госуслуги Москвы"
- Нажмите кнопку
Продолжить
- Через несколько секунд начнётся обновление; проверяйте список ваших объектов на наличие
объектов, чьи названия начинаются на
MES
.
Для настройки данной интеграции потребуются данные авторизации в ЛК Госуслуги Москвы.
username
- Имя пользователя (телефон / адрес эл. почты)
password
- Пароль
moscow_pgu:
username: !secret moscow_pgu_username
password: !secret moscow_pgu_password
Возможно добавить несколько пользователей. Для этого вводите данные, используя пример ниже:
moscow_pgu:
# First account
- username: !secret first_moscow_pgu_username
password: !secret first_moscow_pgu_password
# Second account
- username: !secret second_moscow_pgu_username
password: !secret second_moscow_pgu_password
# Third account
- username: !secret third_moscow_pgu_username
password: !secret third_moscow_pgu_password
Частота обновления данных (scan_interval
) по умолчанию: для каждой функции по-разному
moscow_pgu:
...
# Интервал обновления данных
scan_interval:
hours: 6
seconds: 3
minutes: 1
...
# ... также возможно задать секундами
scan_interval: 21600
# ... также возможно задать для определённых функций
# Неупомянутые функции будут принимать их значения по умолчанию
scan_interval:
water_counters:
days: 1
fssp_debts: 3600
profile:
hours: 6
minutes: 30
Фильтрация объектов может происхожить по двум стратегиям списков: белый (когда определённый набор объектов добавляется, а все остальные игнорируются) и чёрный (когда определённый набор объектов исключается, а все остальные добавляются). С помощью фильтрации также можно реализовать полное отключение обновлений определённых типов сенсоров.
Определяющим фактором, какая стратегия будет применена, является наличие специального символа
в перечне добавляемых объектов: *
(звёздочка).
При наличии звёздочки все объекты, перечисленные в том же списке, будут исключены из добавления. Пример:
moscow_pgu:
...
filter:
...
# Только дети, чьи имена совпадают с "Владимир" и "Сергей", будут добавлены.
children: ["Владимир", "Сергей"]
# Только дневники, чьё имя ребёнка не совпадает с именем "Владимир", будут добавлены.
diaries: ["*", "Владимир"]
# Только автомобиль с номером "Ж177ЭЪ799" будет запланирован на проверку штрафов.
vehicles: "Ж177ЭЪ799"
# Поддержка объектов долгов ФССП будет полностью отключена (в пределах конфигурации)
# При этом, этот тип объектов (как и некоторые другие; см ниже) могут принимать только
# значения `true` и `false` (или `["*"]` и `[]` соответственно). Это связано с тем,
# что эти объекты повявляются при обновлении данных только в единственном изваянии.
fssp_debts: false
# profile: false | true
# driving_licenses: false | true
Замечание: Для некоторых объектов доступна конфигурация, которая может порождать собой дополнительные сенсоры (Взыскания ФССП и Водительское удостоверение).
moscow_pgu:
- device_info:
app_version: 3.10.0.19 (122)
device_agent: Android 11 (SDK 30) Xiaomi sagit (MI 6)
device_os: Android
guid: ''
user_agent: okhttp/4.9.0
driving_licenses: []
filter:
children:
- '*'
diaries:
- '*'
driving_licenses:
- '*'
electric_counters:
- '*'
flats:
- '*'
fssp_debts:
- '*'
profile:
- '*'
vehicles:
- '*'
water_counters:
- '*'
name_format:
children: Child - {identifier}
diaries: Diary - {identifier}
driving_licenses: Driving license {identifier}
electric_counters: Electric Counter {identifier}
flats: Flat - {identifier}
fssp_debts: FSSP Debts - {identifier}
profile: Profile - {identifier}
vehicles: Vehicle {identifier}
water_counters: '{type} Water Counter - {identifier}'
scan_interval:
children:
hours: 1
diaries:
hours: 1
driving_licenses:
hours: 2
electric_counters:
hours: 24
flats:
hours: 24
fssp_debts:
hours: 24
profile:
hours: 24
vehicles:
hours: 2
water_counters:
hours: 24
token: null
track_fssp_profiles: []
Ниже представлены примеры использования доступных сенсоров.
- Конфигурационный ключ:
water_counters
- Частота обновления по умолчанию: 86400 секунд
- Минимальная частота обновления: 30 секунд
- Формат названия объекта по умолчанию: {type} Water Counter - {identifier}
Значение объекта равно последним показаниям счётчика.
Список может быть не полон. Некоторые атрибуты появляются в момент получения ответа от сервера.
Атрибут | Тип(ы) | Значение |
---|---|---|
id |
int |
Идентификатор счётчика |
code |
str |
Номер счётчика |
type |
str |
Тип счётчика (горячое = hot , холодное = cold ) |
flat_id |
int |
Идентификатор квартиры |
checkup_date |
str |
Дата поверки |
last_indication_value |
float |
Значение последнего переданного показания |
last_indication_period |
str |
Период последней передачи показаний |
- Конфигурационный ключ:
children
- Частота обновления по умолчанию: 3600 секунд
- Минимальная частота обновления: 30 секунд
- Формат названия объекта по умолчанию: Child - {identifier}
Общая информация о ребёнке + если ребёнок находится сейчас в школе.
Список может быть не полон. Некоторые атрибуты появляются в момент получения ответа от сервера.
Атрибут | Тип(ы) | Значение |
---|---|---|
school |
str |
Школа, в которой учится |
last_name |
str |
Фамилия ребёнка |
pay_limit |
float |
Ограничение по оплате |
first_name |
str |
Имя ребёнка |
middle_name |
str |
Отчество ребёнка |
is_at_school |
bool |
Находится ли ребёнок в школе |
last_update_date |
NoneType /date |
Последнее обновление состояния |
- Конфигурационный ключ:
vehicles
- Частота обновления по умолчанию: 7200 секунд
- Минимальная частота обновления: 30 секунд
- Формат названия объекта по умолчанию: Vehicle {identifier}
Значение объекта равно:
- если указан номер СТС в ЛК, сумме всех штрафов на автомобиль;
- иначе, значение
unknown
("неизв.").
Список может быть не полон. Некоторые атрибуты появляются в момент получения ответа от сервера.
Атрибут | Тип(ы) | Значение |
---|---|---|
id |
str |
Идентификатор |
is_evacuated |
bool |
Статус эвакуации |
license_plate |
str |
Государственный регистрационный номер |
certificate_series |
NoneType /str |
Номер СТС |
- Конфигурационный ключ:
fssp_debts
- Частота обновления по умолчанию: 86400 секунд
- Минимальная частота обновления: 30 секунд
- Формат названия объекта по умолчанию: FSSP Debts - {identifier}
Значение объекта равно сумме всех неуплаченных взысканий.
Список может быть не полон. Некоторые атрибуты появляются в момент получения ответа от сервера.
Атрибут | Тип(ы) | Значение |
---|---|---|
last_name |
str |
Фамилия (запрашивающего) |
birth_date |
str |
Дата рождения (запрашивающего) |
first_name |
str |
Имя (запрашивающего) |
middle_name |
str |
Отчество (запрашивающего) |
- Конфигурационный ключ:
diaries
- Частота обновления по умолчанию: 3600 секунд
- Минимальная частота обновления: 30 секунд
- Формат названия объекта по умолчанию: Diary - {identifier}
Перечень оценок ученика в школе.
Состояние объекта равно минимальной оценке из списка доступных. Оценки по предметам указаны в виде атрибутов объекта (названия на русском языке).
Список может быть не полон. Некоторые атрибуты появляются в момент получения ответа от сервера.
Атрибут | Тип(ы) | Значение |
---|---|---|
* |
float |
Оценка по предмету |
- Конфигурационный ключ:
children
- Частота обновления по умолчанию: 3600 секунд
- Минимальная частота обновления: 30 секунд
- Формат названия объекта по умолчанию: Child - {identifier}
Общая информация о ребёнке + если ребёнок находится сейчас в школе.
Список может быть не полон. Некоторые атрибуты появляются в момент получения ответа от сервера.
Атрибут | Тип(ы) | Значение |
---|---|---|
school |
str |
Школа, в которой учится |
last_name |
str |
Фамилия ребёнка |
pay_limit |
float |
Ограничение по оплате |
first_name |
str |
Имя ребёнка |
middle_name |
str |
Отчество ребёнка |
is_at_school |
bool |
Находится ли ребёнок в школе |
last_update_date |
NoneType /date |
Последнее обновление состояния |
- Конфигурационный ключ:
profile
- Частота обновления по умолчанию: 86400 секунд
- Минимальная частота обновления: 30 секунд
- Формат названия объекта по умолчанию: Profile - {identifier}
Список может быть не полон. Некоторые атрибуты появляются в момент получения ответа от сервера.
Атрибут | Тип(ы) | Значение |
---|---|---|
email |
str |
Адрес электронной почты |
last_name |
str |
Фамилия |
birth_date |
str (date ) |
Дата рождения |
first_name |
str |
Имя |
middle_name |
str |
Отчество |
phone_number |
str |
Номер телефона |
email_confirmed |
bool |
Статус подтверждения адреса электронной почты |
driving_license_number |
NoneType /str |
Номер водительского удостоверения1 |
driving_license_issue_date |
NoneType /str |
Дата выдачи водительского удостоверения1 |
1 Существование данных атрибутов обусловлено задачей идентификации.
- Конфигурационный ключ:
electric_counters
- Частота обновления по умолчанию: 86400 секунд
- Минимальная частота обновления: 30 секунд
- Формат названия объекта по умолчанию: Electric Counter {identifier}
Данный сенсор отображает последние переданные показания за текущий месяц. Если таковые отсутсвуют,
счётчик будет принимать значение unknown
.
Список может быть не полон. Некоторые атрибуты появляются в момент получения ответа от сервера.
Атрибут | Тип(ы) | Значение |
---|---|---|
type |
str |
Тип счётчика |
state |
str |
Текущее состояние счётчика |
status |
str |
Коментарий к состоянию передачи показаний |
flat_id |
int |
Идентификатор |
debt_amount |
float |
Сумма задолжености |
checkup_date |
str |
Дата поверки |
charges_amount |
float |
Сумма начислений |
returns_amount |
float |
Сумма возвратов |
balance_message |
str |
Коментарий к балансу |
payments_amount |
float |
Сумма учтённых платежей |
settlement_date |
str (date ) |
... |
submit_end_date |
str (date ) |
Дата начала периода передачи показаний |
transfer_amount |
float |
... |
submit_available |
bool |
Доступность передачи показаний |
submit_begin_date |
str (date ) |
Дата начала периода передачи показаний |
whole_part_length |
int |
Длина целой части (кол-во цифр) |
decimal_part_length |
int |
Точность счётчика |
indications.t1.tariff |
str |
Тариф зоны T1 |
indications.t1.zone_name |
str |
Название зоны Т1 |
indications.t1.indication |
float |
Показание по зоне Т1 |
indications.t2.tariff |
str |
Тариф зоны T2 |
indications.t2.zone_name |
str |
Название зоны Т1 |
indications.t2.indication |
float |
Показание по зоне Т2 |
indications.t3.tariff |
str |
Тариф зоны T2 |
indications.t3.zone_name |
str |
Название зоны Т1 |
indications.t3.indication |
float |
Показание по тарифной зоне Т3 |
Компонент позволяет запускать службу moscow_pgu.push_indications
с параметрами:
Раздел | Параметр | Описание | Значения |
---|---|---|---|
data |
indications |
Показание | Число / Числа через запятую / Список |
data |
service_type |
Тип показаний | electric , water 1 |
data |
force |
Игнорировать проверки | true / false (опционально) |
data |
dry_run |
Сухой прогон 2 | true / false (опционально) |
target |
entity_id |
Какой счётчик обновить | Объект счётчика |
1 Требуется только для объектов квартиры.
2 Не передаёт показания, а только симулирует попытку.
Данная служба применима к:
- Счётчик электроэнергии (
sensor.electric_counter_*
) - Счётчик водоснабжения (
sensor.*_water_counter_*
)
Данная служба автоматически определяет попытку передать показание меньшее, чем имеющееся количество показаний. Проверку передачи возможно отключить, ОДНАКО ДЕЛАТЬ ЭТО НАСТОЯТЕЛЬНО НЕ РЕКОМЕНДУЕТСЯ в связи с возможными отрицательными последствиями.
Ниже указан пример вызова службы:
service: moscow_pgu.push_indications
data:
indication: 205
target:
entity_id: sensor.hot_water_counter_123541
Результатом вызова службы будет событие moscow_pgu_electric_indications_push
(для счётчиков электроэнергии) и moscow_pgu_water_indications_push
(для счётчиков водоснабжения).
Атрибут | Тип | Описание |
---|---|---|
time |
str |
Дата и время вызова службы |
entity_id |
str |
Идентификатор объекта |
service_type |
str |
Тип счётчика (water , electric ) |
indications |
[float] /None |
Передаваемые показания (после обработки; если обработка не завершилась успехом, принимает значение None ) |
original_indications |
... |
Показания, с которыми был произведён вызов службы |
dry_run |
bool |
Если передача является тестовой (без фактической передачи) |
success |
bool |
Если передача является успешной |
reason |
str |
Причина ошибки / Сообщение об успешной передаче |