[2026-09-14] eagle: family/how-to/t610-access.md

This commit is contained in:
Alexey Martemyanov
2026-09-14 13:26:37 +06:00
parent e898e5c022
commit c002ac520b
+13
View File
@@ -526,6 +526,19 @@ jq -r '.data.devices[] | select((.identifiers|tostring)|contains("<ieee_без_0
**6. `sudo` на TrueNAS не нужен для чтения реестров HA.** `/mnt/RED_2TB/docker/ha/.storage/*` — права 644, owner root → **читаются напрямую** (`scp truenas_admin@...:/mnt/.../core.device_registry .`). `sudo cat` падает с `a terminal is required to read the password` — sudo не требуется.
**7. ⚠️ `not_from: [unknown]` в триггерах кнопок — ломает первое нажатие после рестарта HA (открыта и закрыта 2026-09-14).**
Защита задумана верно: при старте HA состояние = `unknown`, затем устройство присылает реальный стейт — без защиты это выглядело бы как «переключение» и свет щёлкал бы сам. **Но стояла слишком широко** — блокировала и первое НАСТОЯЩЕЕ нажатие.
```yaml
trigger:
- platform: state
entity_id: switch.office_table_light_switch_l1
not_from: [unavailable, unknown] # ← убрать: блокирует первое нажатие
```
**Лечение:** убрать `not_from` из триггеров кнопок в `automations.yaml` (правится локально → `scp` → HA restart). Альтернатива — оставить защиту, но сузить (напр. `not_from: [unavailable]` только).
⚠️ **Питфолл-близнец: `mosquitto_sub -R` (retained-only) в аддоне ВРЁТ** — с ним вывод пустой даже там, где retained есть. Надёжный способ проверить retained — подписаться и смотреть, что прилетает **СРАЗУ** при подписке (retained мгновенно, живой трафик — только по событию).
**Общий вывод для будущих переносов HA:** либо переносить конфиг+реестры **вместе с `core.config_entries`**, либо после переноса делать **два фикса**: (а) перемап `device_id`, (б) добор виртуальных entry. Иначе половина автоматизаций будет `unavailable`.
### 🔍 Где искать человеческие имена устройств (важный урок 2026-09-14)
**В реестрах HA имён устройств НЕТ.** Проверено на TrueNAS: `core.entity_registry` содержит `original_name` = имя **параметра** («Температура», «Влага», «Занятость»), а не устройства; `name`/`name_by_user``null`. Все 16 датчиков t° называются «Температура» → **по `original_name` устройство не определить.**