Автоматизация управления охранными системами Pandora™, PanDECT® и Benish GUARD Force в Home Assistant.
Автомобиль тоже может быть частью умного дома. С помощью этого компонента вы сможете отслеживать состояние, управлять и автоматизировать свой автомобиль, если он оборудован охранной системой Pandora. После настройки ваши устройства Pandora™ и PanDECT® автоматически добавятся в Home Assistant.
Компонент реализует доступ к API официального приложения Pandora, Pandora Connect, и реализует часть его функционала. Для настройки Вам следует использовать те же авторизационные данные, что вы используете на сайте Pandora (pro.p-on.ru), или в мобильном приложении Pandora Online / Connect / Pro.
На данный момент компонент поддерживает:
- Device Tracker: Местоположение автомобиля.
- Sensors: Температура, скорость, тахометр и т.д.
- Binary Sensors: Статусы открытия, движения, и т.д.
- Switches: Работа двигателя, активная охрана, и т.д.
- Lock: Постановка на охрану
- Number: Регулировка климатических систем
- Services: Команды, например: открыть/закрыть, завести/заглушить и др.
Компонент успешно протестирован и отработан на системах:
- PanDECT X-1700 BT
- PanDECT X-1900 BT
- Pandora DX-4G
- Pandora DX-4G S
- Pandora DX-4GL
- Pandora DX-90BT + NAV-10
- Pandora DX-9X LoRa + NAV-10
- Pandora DXL-4970
- Pandora DXL-5570
- Pandora NAV-08 (маячок)
- Pandora VX-4G GPS
- Сообщите о Вашем успехе!
Доступные виды курсоров трекера
🎉 Рекомендованный метод установки.
- Установите HACS (инструкция по установке на оф. сайте).
- Добавьте репозиторий в список дополнительных:
- Откройте главную страницу HACS.
- Откройте раздел Интеграции (Integrations).
- Нажмите три точки сверху справа (дополнительное меню).
- Выберите Пользовательские репозитории.
- Скопируйте
https://github.com/alryaz/hass-pandora-cas
в поле ввода - Выберите Интеграция (Integration) в выпадающем списке.
- Нажмите Добавить (Add).
- Найдите
Pandora Car Alarm System
в поиске по интеграциям. - Установите последнюю версию компонента, нажав на кнопку
Установить
(Install
). - Перезапустите сервер Home Assistant.
⚠️ Внимание! Данный вариант не рекомендуется в силу сложности поддержки установленной интеграции в актуальном состоянии.
- Скачайте архив с актуальной стабильной версией интеграции
- Создайте папку (если не существует)
custom_components
внутри папки с конфигурацией Home Assistant - Создайте папку
pandora_cas
внутри папкиcustom_components
- Извлеките содержимое скачанного архива в папку
pandora_cas
- Перезапустите сервер Home Assistant
Поддерживается базовый функционал конфигурации через веб-интерфейс Home Assistant. Конфигурация данным способов возможна без перезагрузки Home Assistant.
Вручную (если кнопка выше не работает)
Для перехода к настройке, выполните следующие действия:- Перейдите в раздел Настройки ⟶ Интеграции (`/config/integrations`)
- Нажмите на круглую кнопку с плюсом внутри в нижнем правом углу экрана
- Во всплывшем окне, введите в верхнем поле поиска: Pandora; одним из результатов должен оказаться Pandora Car Alarm System (с соответствующим логотипом торговой марки Pandora Car Alarm System)
- Нажмите на предложенный результат
- Введите имя пользователя и пароль в соответствующие поля
- Нажмите внизу справа на кнопку Подтвердить. В случае обнаружения системой каких-либо ошибок, они будут отображены в окошке
- Обновление займёт не более 5-10 секунд (проверено на Raspberry Pi 4), элементы в конфигурации по-умолчанию должны появиться на главном экране (при использовании конфигурациии Lovelace по-умолчанию)
⚠️ Внимание! Данный вариант не рекомендуется в силу сложности поддержки установленной интеграции в актуальном состоянии.
Чтобы активировать компонент, добавьте эти строки в файл configuration.yaml
:
# Фрагмент файла configuration.yaml
pandora_cas:
# Учётная запись на портале p-on.ru / pro.p-on.ru
password: !secret YOUR_PASSWORD # обязательно
username: !secret YOUR_USERNAME # обязательно
Компонент также поддерживает работу с несколькими учётными записями:
pandora_cas:
# Первая учётная запись
- username: !secret YOUR_USERNAME_1
password: !secret YOUR_PASSWORD_1
# Вторая учётная запись
- username: !secret YOUR_USERNAME_2
password: !secret YOUR_PASSWORD_2
Дополнительно имеется возможость (для всех вариантов конфигурации) использовать раздел устройств для управления включёнными объектами. Для этого:
- Перейдите в раздел Настройки ⟶
Устройства (
/config/devices/dashboard
) - Найдите Ваше устройство (в колонке
Интеграция будет написано
Pandora Car Alarm System
) - Нажмите на найденную строку с устройством
- Прокрутите страницу вниз до обнаружения надписи
+[N] скрытых объектов
- Нажмите на данную надпись
- Нажмите на любой из появившихся объектов
- Во всплывающем окне, переместите переключатель
Отображать объект
в положениеВкл.
- Нажмите на кнопку
Обновить
в нижнем правом углу всплывающего окна
Пример того, как выглядит наполненная страница для устройства модели X-1911BT (нажмите для увеличения):
Для привязки к автомобилю в имени объекта сенсоров используется
идентификатор PANDORA_ID
, в то время как в
человеко-читаемом названии используется название автомобиля с сайта Pandora. Это
сделано для того, чтобы при
изменении названия автомобиля на сайте не менялись имена объектов, а значит не
будет необходимости перенастраивать
lovelace UI и автоматизации.
ВНИМАНИЕ!
При добавлении объектов, компонент в отдельных случаях проверяет поддержку функционала конечным устройством. Во избежание неожиданных ситуаций, Вы можете ознакомиться с таблицами поддержки на официальном сайте Pandora: ссылка на документ.
ПРЕДУПРЕЖДЕНИЕ!
Общее количество различных объектов, доступных в компоненте, в скором времени перевалит за 40. Ввиду этого, по умолчанию отключены объекты, встречающиеся наиболее редко, такие как:
- Состояние зарядки и температура аккумулятора гибридных/электрических автомобилей
- Состояние поднятости стёкол и давление в шинах (TPMS), получаемые по CAN-шине
Такие объекты помечаются символом "⚠" в таблицах ниже. Если Вы уверены, что Ваш автомобиль вкупе с установленной на нём системой поддерживают данные функции, то Вы можете включить перечисленные объекты следуя инструкции выше.
Объект | Назначение | Примечание |
---|---|---|
sensor.PANDORA_ID _mileage |
Пробег сигнализации (по GPS) | км |
sensor.PANDORA_ID _can_mileage |
Пробег штатного одометра (по шине CAN) | км |
sensor.PANDORA_ID _fuel |
Наполненность топливом 1 | % |
sensor.PANDORA_ID _interior_temperature |
Температура салона | °C |
sensor.PANDORA_ID _engine_temperature |
Температура двигателя | °C |
sensor.PANDORA_ID _exterior_temperature |
Уличная температура | °C |
sensor.PANDORA_ID _battery_temperature |
Температура аккумулятора | °C |
sensor.PANDORA_ID _balance |
Баланс СИМ-карты | Валюта баланса |
sensor.PANDORA_ID _speed |
Скорость | км/ч |
sensor.PANDORA_ID _tachometer |
Тахометр (обороты двигателя) | rpm |
sensor.PANDORA_ID _gsm_level |
Уровень сигнала GSM | 0 ... 3 |
sensor.PANDORA_ID _battery_voltage |
Напряжение аккумулятора | V |
sensor.PANDORA_ID _last_online |
Последний выход на связь | Метка времени |
sensor.PANDORA_ID _last_state_update |
Последнее получение обновления | Метка времени |
sensor.PANDORA_ID _last_settings_change |
Последнее изменение настроек системы | Метка времени |
sensor.PANDORA_ID _last_command_execution |
Последнее выполнение команды | Метка времени |
⚠ sensor.PANDORA_ID _balance_secondary |
Баланс дополнительной СИМ-карты | Валюта баланса |
⚠ sensor.PANDORA_ID _can_mileage_to_empty |
Пробег до пустого бака (по шине CAN) | км |
⚠ sensor.PANDORA_ID _left_front_tire_pressure |
Давление левой передней шины | кПа (?) |
⚠ sensor.PANDORA_ID _right_front_tire_pressure |
Давление правой передней шины | кПа (?) |
⚠ sensor.PANDORA_ID _left_back_tire_pressure |
Давление левой задней шины | кПа (?) |
⚠ sensor.PANDORA_ID _right_back_tire_pressure |
Давление правой задней шины | кПа (?) |
⚠ sensor.PANDORA_ID _reserve_tire_pressure |
Давление правой задней шины | кПа (?) |
Объект | Назначение | Примечание |
---|---|---|
binary_sensor.PANDORA_ID _connection_state |
Связь с автомобилем1 | есть / нет |
binary_sensor.PANDORA_ID _moving |
Статус движения | в движении / без движения |
binary_sensor.PANDORA_ID _left_front_door |
Левая передняя дверь | открыта / закрыта |
binary_sensor.PANDORA_ID _right_front_door |
Правая передняя дверь | открыта / закрыта |
binary_sensor.PANDORA_ID _left_back_door |
Левая задняя дверь | открыта / закрыта |
binary_sensor.PANDORA_ID _right_back_door |
Правая задняя дверь | открыта / закрыта |
binary_sensor.PANDORA_ID _trunk |
Багажник | открыт / закрыт |
binary_sensor.PANDORA_ID _hood |
Капот | открыт / закрыт |
binary_sensor.PANDORA_ID _parking |
Режим паркнинга | включен / выключен |
binary_sensor.PANDORA_ID _brakes |
Педаль тормоза | нажата / отпущена |
⚠ binary_sensor.PANDORA_ID _left_front_glass |
Левое переднее окно (водительское)2 | открыто / закрыто |
⚠ binary_sensor.PANDORA_ID _right_front_glass |
Правое переднее окно (пассажирское)2 | открыто / закрыто |
⚠ binary_sensor.PANDORA_ID _left_back_glass |
Левое заднее окно | открыто / закрыто |
⚠ binary_sensor.PANDORA_ID _right_back_glass |
Правое заднее окно | открыто / закрыто |
⚠ binary_sensor.PANDORA_ID _ev_charging_connected |
Зарядка аккумулятора электрокара | подключено / отключено |
1 Данный объект содержит полный перечень свойств, получаемых в момент
обновления состояния автомобиля,
и тем самым может быть запросто использован для template
-выражений.
2 Компонент не тестировался для праворульных транспортных средств.
Может возникнуть
ситуация, что из коробки данные сенсоры перепутаны местами.
Объект | Назначение | Примечание |
---|---|---|
lock.PANDORA_ID _central_lock |
Статус блокировки замка | разблокирован / заблокирован |
switch.PANDORA_ID _active_security |
Статус активной защиты | включена / выключена |
switch.PANDORA_ID _coolant_heater |
Статус предпускового подогревателя | включен / выключен |
switch.PANDORA_ID _engine |
Статус двигателя | запущен / заглушен |
switch.PANDORA_ID _tracking |
Статус отслеживания (GPS-трек) | включен / выключен |
switch.PANDORA_ID _service_mode |
Режим сервиса (обслуживания) | включен / выключен |
switch.PANDORA_ID _ext_channel |
Дополнительный канал 3 | включить / выключить |
switch.PANDORA_ID _status_output |
Статусный выход (для нештатных иммобилайзеров) | включить / выключить |
3 Состояние не остслеживается
Объект | Назначение | Примечание |
---|---|---|
switch.PANDORA_ID _erase_errors |
Очистка кодов ошибок | |
switch.PANDORA_ID _read_errors |
Считывание кодов ошибок | |
switch.PANDORA_ID _trigger_horn |
Статус двигателя | |
switch.PANDORA_ID _trigger_light |
Статус отслеживания (GPS-трек) | |
switch.PANDORA_ID _trigger_trunk |
Режим сервиса (обслуживания) | |
switch.PANDORA_ID _check |
Дополнительный канал 3 | |
switch.PANDORA_ID _additional_command_1 |
Дополнительная команда №1 | |
switch.PANDORA_ID _additional_command_2 |
Дополнительная команда №2 |
Для каждого автомобиля будет создан объект device_tracker.pandora_PANDORA_ID
,
где
PANDORA_ID
уникальный идентификатор автомобиля в системе Pandora. Доступны все
обычные действия для Device Tracker: отслеживание местоположения
на карте,
трекинг пути,
контроль зон
и т.д.
Объект обладает следующими атрибутами:
Параметр | Тип | Описание |
---|---|---|
latitude | float |
Широта |
longitude | float |
Долгота |
device_id | int |
Идентификатор устройства |
direction | int |
Направление (в градусах) |
cardinal | str |
Направление (в сторонах света) |
За период наблюдения компонентом за автомобилем могут происходить некоторые
события, чьи
свойства не позволяют сделать из них удобные к использованию объекты
платформ sensor
,
binary_sensor
и пр. Ввиду этого, для поддержки дополнительных событий введены
два новых
внутренних делегата:
Данное событие делегирует информацию из системы Pandora прямиком в Home Assistant. Следующие данные будут доступны при получении события:
Параметр | Тип | Описание |
---|---|---|
device_id | int |
Идентификатор устройства |
event_id_primary | int |
Первичный код события |
event_id_secondary | int |
Вторичный код события |
title_primary | str , None |
Заглавное наименование события |
title_primary | str , None |
Уточняющее наименование события |
event_type | str |
Код типа события |
latitude | float |
Широта |
longitude | float |
Долгота |
gsm_level | int |
Уровень связи |
fuel | int |
Уровень топлива |
exterior_temperature | int |
Температура за бортом |
engine_temperature | int |
Температура двигателя |
Код типа события является строкой, которая поверхностно описывает смысл события
(на английском языке). Полным списком кодов (кодификатором) возможно обзавестись
в файле
api.py
проекта.
Для всех команд будут выполняться события-уведомители. Данные события содержат следующие данные:
Параметр | Тип | Описание |
---|---|---|
device_id | int |
Идентификатор устройства |
command_id | int |
Номер команды (см. раздел ниже) |
result | int |
Результат выполнения (0 - успех, любое другое значение - ошибка) |
reply | int |
Код описания ошибки (больше нуля, если код доступен) |
Ключевые команды включения/выключения определённых функций вынесены в отдельные
переключаемые объекты
(пр. switch
и lock
). Если же имеется потребность выступить за рамки
предопределённых конфигураций,
существуют два способа передать дополнительные команды на охранную систему.
Для именованого способа требуется вызов службы в
формате pandora_cas.<Постфикс>
:
# Именованый способ вызова команд
- action: call-service
service: pandora_cas.start_engine
data:
device_id: 1231234123
Для универсального способа идентификаторы команд (command_id
) обязательно
должны быть числовыми:
# Универсальный способ вызова команд
- action: call-service
service: pandora_cas.remote_command
data:
device_id: 1234141243
command_id: 1
Для справки, ниже представлена таблица доступных к выполнению команд ( сгруппированых по смысловому признаку):
ID | Постфикс | Действие | Примечание |
---|---|---|---|
1 | lock |
Поставить на охрану | Может быть запрещено настройками блока сигнализации |
2 | unlock |
Снять с охраны | Может быть запрещено настройками блока сигнализации |
4 | start_engine |
Запустить двигатель | |
8 | stop_engine |
Остановить двигатель | |
16 | enable_tracking |
Включить GPS-трекинг | Поддерживается не всеми устройствами |
32 | disable_tracking |
Выключить GPS-трекинг | Поддерживается не всеми устройствами |
17 | enable_active_security |
Включить активную безопасность | Поддерживается не всеми устройствами |
18 | disable_active_security |
Выключить активную безопасность | Поддерживается не всеми устройствами |
21 | turn_on_coolant_heater |
Включить преднагреватель | Поддерживается не всеми устройствами |
22 | turn_off_coolant_heater |
Выключить преднагреватель | Поддерживается не всеми устройствами |
33 | turn_on_ext_channel |
Включить дополнительный канал | Поддерживается не всеми устройствами |
34 | turn_off_ext_channel |
Выключить дополнительный канал | Поддерживается не всеми устройствами |
40 | enable_service_mode |
Включить сервисный режим | |
41 | disable_service_mode |
Выключить сервисный режим | |
23 | trigger_horn |
Издать сигнал клаксона | |
24 | trigger_light |
Включить освещение | |
255 | check |
Команда CHECK | ? |
100 | additional_command_1 |
Дополнительная команда №1 | Настраивается инструментами конфигурации блока сигнализации |
128 | additional_command_2 |
Дополнительная команда №2 | Настраивается инструментами конфигурации блока сигнализации |
240 | enable_connection |
Продлить период коммуникации | ? |
15 | disable_connection |
Завершить период коммуникации | ? |
48 | enable_status_output |
Выключение статусного выхода | Подразумевается поддержка на стороне автомобиля |
49 | disable_status_output |
Включение статусного выхода | Подразумевается поддержка на стороне автомобиля |
Вкладка с кнопкой запуска двигателя
- badges: [ ]
cards:
- hold_action:
action: call-service
service: pandora_cas.start_engine
data:
id: 1234567890
icon: 'mdi:fan'
name: Запуск двигателя
show_icon: true
show_name: true
tap_action:
action: more-info
type: button
icon: 'mdi:car'
panel: false
path: honda_pilot
title: Honda Pilot
Автоматизация включения доп. канала по событию с условиями. Подробнее см. пример использования.
# Фрагмент файла automations.yaml
- id: switch_on_pilot_seat_heaters
alias: Включить подогрев сидений
trigger:
platform: state
entity_id: binary_sensor.1234567890_engine_state
to: 'on'
condition:
- condition: time
after: 05:58:00
before: 06:12:00
weekday:
- mon
- tue
- wed
- thu
- fri
action:
service: pandora_cas.turn_on_ext_channel
data_template:
id: 1234567890
Конфигурация существует трёх видов:
- Карточка ( содержит только графическое изображение транспортного средства)
- Стек ( карточка + элементы управления + сенсоры)
- Панель ( карта по левую сторону, стек по правую)
Чтобы подготовить собственную конфигурацию, выполните следующие действия:
- Открыть папку с подготовленными конфигурациями
- Выбрать файл с желаемым типом конфигурации
- Скопировать содержимое файла в текстовый редактор
- Заменить все вхождения
REPLACE_WITH_PANDORA_ID
на идентификатор автомобиля (device_id
на сенсорах)
Данное программное обеспечение никак не связано и не одобрено ООО «НПО Телеметрия», владельца торговой марки Pandora. Используйте его на свой страх и риск. Автор ни при каких обстоятельствах не несет ответственности за порчу или утрату вашего имущества и возможного вреда в отношении третьих лиц.
Все названия брендов и продуктов принадлежат их законным владельцам.