Предоставление информации о текущем состоянии ваших аккаунтов в Госуслуги Москвы.
- Передача показаний по счётчикам ЖКХ (вода, электричество)
- Проверка штрафов ГИБДД (по номеру В/У и СТС)
- Проверка штрафов ФССП
Данная интеграция предоставляет возможность системе HomeAssistant опрашивать API Портала Московских Госуслуг.
(Возможно увеличить, нажав на картинку и перейдя по ссылке)
Extensions
в боковой панели)Integration
(Интеграция
) в качестве типа репозиторияhttps://github.com/alryaz/hass-moscow-pgu
Add
(Добавить
)Moscow PGU (Госуслуги Москвы)
в списке новых интеграций.Install
чтобы увидеть доступные версииInstall
Примечание: Не рекомендуется устанавливать ветку 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
или Госуслуги Москвы
Продолжить
MES
.configuration.yaml
Для настройки данной интеграции потребуются данные авторизации в ЛК Госуслуги Москвы.
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
)Частота обновления данных (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
filter
)Фильтрация объектов может происхожить по двум стратегиям списков: белый (когда определённый набор объектов добавляется, а все остальные игнорируются) и чёрный (когда определённый набор объектов исключается, а все остальные добавляются). С помощью фильтрации также можно реализовать полное отключение обновлений определённых типов сенсоров.
Определяющим фактором, какая стратегия будет применена, является наличие специального символа
в перечне добавляемых объектов: *
(звёздочка).
При наличии звёздочки все объекты, перечисленные в том же списке, будут исключены из добавления. Пример:
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: []
Ниже представлены примеры использования доступных сенсоров.
sensor.*_water_counter_*
)water_counters
Значение объекта равно последним показаниям счётчика.
Список может быть не полон. Некоторые атрибуты появляются в момент получения ответа от сервера.
Атрибут | Тип(ы) | Значение |
---|---|---|
id |
int |
Идентификатор счётчика |
code |
str |
Номер счётчика |
type |
str |
Тип счётчика (горячое = hot , холодное = cold ) |
flat_id |
int |
Идентификатор квартиры |
checkup_date |
str |
Дата поверки |
last_indication_value |
float |
Значение последнего переданного показания |
last_indication_period |
str |
Период последней передачи показаний |
sensor.child_*
)children
Общая информация о ребёнке + если ребёнок находится сейчас в школе.
Список может быть не полон. Некоторые атрибуты появляются в момент получения ответа от сервера.
Атрибут | Тип(ы) | Значение |
---|---|---|
school |
str |
Школа, в которой учится |
last_name |
str |
Фамилия ребёнка |
pay_limit |
float |
Ограничение по оплате |
first_name |
str |
Имя ребёнка |
middle_name |
str |
Отчество ребёнка |
is_at_school |
bool |
Находится ли ребёнок в школе |
last_update_date |
NoneType /date |
Последнее обновление состояния |
sensor.vehicle_*
)vehicles
Значение объекта равно:
unknown
("неизв.").Список может быть не полон. Некоторые атрибуты появляются в момент получения ответа от сервера.
Атрибут | Тип(ы) | Значение |
---|---|---|
id |
str |
Идентификатор |
is_evacuated |
bool |
Статус эвакуации |
license_plate |
str |
Государственный регистрационный номер |
certificate_series |
NoneType /str |
Номер СТС |
sensor.fssp_debts_*
)fssp_debts
Значение объекта равно сумме всех неуплаченных взысканий.
Список может быть не полон. Некоторые атрибуты появляются в момент получения ответа от сервера.
Атрибут | Тип(ы) | Значение |
---|---|---|
last_name |
str |
Фамилия (запрашивающего) |
birth_date |
str |
Дата рождения (запрашивающего) |
first_name |
str |
Имя (запрашивающего) |
middle_name |
str |
Отчество (запрашивающего) |
sensor.diary_*
)diaries
Перечень оценок ученика в школе.
Состояние объекта равно минимальной оценке из списка доступных. Оценки по предметам указаны в виде атрибутов объекта (названия на русском языке).
Список может быть не полон. Некоторые атрибуты появляются в момент получения ответа от сервера.
Атрибут | Тип(ы) | Значение |
---|---|---|
* |
float |
Оценка по предмету |
sensor.child_*
)children
Общая информация о ребёнке + если ребёнок находится сейчас в школе.
Список может быть не полон. Некоторые атрибуты появляются в момент получения ответа от сервера.
Атрибут | Тип(ы) | Значение |
---|---|---|
school |
str |
Школа, в которой учится |
last_name |
str |
Фамилия ребёнка |
pay_limit |
float |
Ограничение по оплате |
first_name |
str |
Имя ребёнка |
middle_name |
str |
Отчество ребёнка |
is_at_school |
bool |
Находится ли ребёнок в школе |
last_update_date |
NoneType /date |
Последнее обновление состояния |
sensor.profile_*
)profile
Список может быть не полон. Некоторые атрибуты появляются в момент получения ответа от сервера.
Атрибут | Тип(ы) | Значение |
---|---|---|
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 Существование данных атрибутов обусловлено задачей идентификации.
sensor.electric_counter_*
)electric_counters
Данный сенсор отображает последние переданные показания за текущий месяц. Если таковые отсутсвуют,
счётчик будет принимать значение 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
Компонент позволяет запускать службу 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 |
Причина ошибки / Сообщение об успешной передаче |