Connecting to Supabase…
Tasker — продолжение отладки гарнитуры (Scene OK → данные кнопки)
Дата: 2026-06-26
Устройство: Pixel 6a, Tasker 6.6.20
Статус: Scene Headset Event + Hide работают; имя кнопки (%par1 / %evtprm1) пока пустое
См. также:
- Tasker-BT-Headset-Scene-Guide.md — сборка Scene
- Tasker-BT-Headset-Debug-Guide.md — полная диагностика, §6 Community workarounds
- Tasker-BT-Key-Policy.md — выключать профили после сессии
Эталонный бэкап с телефона: Docs/TaskerTasks/BackUps/backupBtnHideOk.xml
1. Что уже работает (контрольная точка)
| Компонент | Статус |
|---|---|
| Профиль BT Headset Any | Play на гарнитуре → задача Headset Log Event |
| Scene Headset Event | Появляется (Dialog) |
| Кнопка Hide | Закрывает панель |
| Headset Hide Panel | ▶ Run закрывает панель |
| Hide Scene / Show Scene | Имя везде Headset Event |
2. Критичные настройки (не менять без причины)
2.1 Show Scene — только Dialog
На Pixel Overlay / Overlay+ часто не получают тапы → кнопка Hide молчит.
| Параметр | Значение |
|---|---|
| Display As | Dialog |
| Show Exit Button | Off |
| Continue Task Immediately | On |
| Overlay + | Off (если случайно Overlay) |
В XML бэкапа backupBtnHideOk.xml: Show Scene в Headset Log Event → arg1=3 (Dialog).
2.2 Одно имя Scene
| Место | Имя |
|---|---|
| SCENES | Headset Event |
| Show Scene | Headset Event |
| Hide Scene (TAP + Headset Hide Panel) | Headset Event |
Заголовок на панели «BT Headset Debug» — только текст, не имя Scene.
2.3 Кнопка Hide
- Элемент BtnHide, тип Button
- TAP → Hide Scene →
Headset Eventили Perform Task → Headset Hide Panel - Set Depth — BtnHide выше HsLog (если снова Overlay — см. §2.1)
2.4 Задачи в проекте Base
| Задача | Назначение |
|---|---|
| Headset Log Event | профиль → переменные → Show Scene |
| Headset Hide Panel | Hide Scene |
| Headset Debug Start | очистить поля → Show Scene (опционально; в бэкапе Show Scene ещё Overlay — при использовании поставить Dialog) |
3. Симптом: Play открывает Scene, повторный Play — «ничего не меняется»
Причина A — Scene не перерисовывается
Tasker не обновляет текст на уже открытом Dialog. Variable Set выполняется, но %Hs_raw на экране старый.
Проверка: Tasker → Run Log → второй Play на гарнитуре.
| Run Log | Вывод |
|---|---|
| Снова Headset Log Event | задача идёт → нужно обновить Scene (ниже) |
| Нет записи | профиль не срабатывает второй раз |
Правка Headset Log Event — перед Show Scene (или вместо одного Show):
| # | Действие |
|---|---|
| … | Variable Set (как сейчас) |
| N | Hide Scene → Headset Event |
| N+1 | Show Scene → Headset Event, Dialog |
Каждое нажатие Play закроет и откроет панель с новыми значениями.
Причина B — поля всё равно пустые
Даже после обновления: p1:%par1 e1:%evtprm1 — State Media Button на Pixel не передаёт имя кнопки. Scene работает, данных нет → §4.
4. Симптом: par1 / evt1 пустые (подтверждено)
На панели буквально %par1, %evtprm1 — профиль срабатывает, параметры не приходят.
Шаг 4.1 — Media Button Events Grab (§6A)
В начало Headset Log Event (или Enter-профиля BT Headset Any):
- Media → Media Button Events
- Action: Grab
- Use New API: On
Play на гарнитуре → смотреть Raw, evt1 на Scene.
Шаг 4.2 — профиль Event
Если Grab не помог:
- Новый профиль Event → Media Button → Any
- Задача: Headset Log Event
- BT Headset Any (State) → OFF
Шаг 4.3 — AutoVoice
Если State и Event пустые → §6C в Debug-Guide (AutoVoice BT Pressed).
5. Задача Headset Log Event — эталонный порядок
1. Media Button Events → Grab (Use New API) ← §4.1, когда дойдёте
2. Variable Set %Hs_p1 ← %par1
3. Variable Set %Hs_e1 ← %evtprm1
4. Variable Set %Hs_e2 ← %evtprm2
5. Variable Set %Hs_raw ← p1:%par1 e1:%evtprm1 e2:%evtprm2
6. Variable Set %Hs_time ← %TIME %DATE
7. Variable Set %Hs_log ← %TIME | %Hs_raw (Append On, Do Maths Off)
8. Hide Scene → Headset Event ← §3, обновление
9. Show Scene → Headset Event (Dialog)
Flash в конце — по желанию.
6. Тесты по порядку
Тест A — Hide без гарнитуры
- ▶ Headset Log Event — панель
- Hide или ▶ Headset Hide Panel — закрылась
Тест B — первый Play
- Только BT Headset Any ON
- AndroidChat захват OFF
- Play → Scene появилась
Тест C — второй Play + Run Log
- Dialog открыт → Play снова
- Run Log — есть Headset Log Event?
- После Hide + Show в задаче — время /
%Hs_logобновились?
Тест D — имя кнопки
После §4.1: evt1 или par1 не пустые → If → Intent в AndroidChat.
7. После сессии
- Профили Media Button → OFF
- Play в музыке снова OK
- См. Tasker-BT-Key-Policy.md
8. Восстановление из бэкапа
Файл: Docs/TaskerTasks/BackUps/backupBtnHideOk.xml
- Tasker → Data → Restore (или экспорт/импорт по вашей версии)
- Проект Base, Scene Headset Event
- Внимание: profile id 200 = task id 200 (Headset Log Event) — при странном импорте см. tasker-xml-conventions
После restore проверить Headset Debug Start: Show Scene → Dialog, если будете пользоваться.
9. Чеклист для отчёта
- [ ] Show Scene = Dialog
- [ ] Hide Scene имя = Headset Event
- [ ] Hide на панели работает
- [ ] Run Log на 2-й Play
- [ ] Hide + Show в задаче (если экран не обновляется)
- [ ] Grab (§4.1) пробовали?
- [ ] Значение evt1 / par1 после Grab
Краткая шпаргалка
Работает: Play → Headset Log Event → Dialog Headset Event → Hide OK
Не работает: пустые par1/evt1 → Media Button Events Grab → Event → AutoVoice
Не обновляется: Hide Scene + Show Scene перед каждым показом
Эталон: backupBtnHideOk.xml