[2026-09-22] eagle: family/how-to/tv-lampac-plugin.md family/projects/watchlist-automation.md personal/plans/lampac-kraken.md personal/plans/lampac-watchlist-plugin.md personal/tech/lampac-deployment.md
This commit is contained in:
1 parent
ba65c521f0
commit
97237168a0
5 files changed
+238
-18
No files matched your search
@@ -144,10 +144,15 @@ curl -fsS "http://localhost:9118/version?type=hash"
|
||||
|
||||
Итог: `movies-watchlist.md` отдаётся каталогом Lampa через модуль `Catalog`:
|
||||
|
||||
- Плагин на ТВ: `http://192.168.1.14:9118/catalog.js` → источник **«Мой список»**
|
||||
- 4 категории: Фильмы 360 · Новинки 34 · Мультфильмы 3 · Аниме 7
|
||||
- Плагин на ТВ: `http://192.168.1.14:9118/catalog.js`
|
||||
- Источник выбирается **панелью слева** в меню каталогов (пункта «Настройки → Источник» НЕ существует!)
|
||||
- 4 категории: Фильмы 360 · Новинки **33** · Мультфильмы 3 · Аниме 7
|
||||
- Автообновление: cron `30 2 * * *` → `~/scripts/watchlist-catalog.sh`
|
||||
|
||||
⚠️ **Не проверено в UI ТВ.** Alex добавил плагин, но каталог не увидел; соединений ТВ → `:9118` — ноль.
|
||||
Гипотеза: нужен **полный перезапуск Lampa** (каталоги регистрируются только при старте).
|
||||
Порядок диагностики — [[personal/tech/lampac-deployment]], раздел «Выбор источника каталога в Lampa».
|
||||
|
||||
⚠️ **Исходная формулировка шага 7 была неточной** («плагин, который ходит к библиотеке
|
||||
как к источнику воспроизведения»). Уточнено Alex: задача — **отображение списка**, не плейбэк.
|
||||
Механизм — встроенный модуль `Catalog`, свой плагин не писался.
|
||||
@@ -266,7 +271,9 @@ curl -fsS "http://localhost:9118/version?type=hash"
|
||||
⚠️ **Смонтирован `config-module/init.conf` — это исправляет шаг «init.conf без volume»**,
|
||||
который раньше числился в открытых задачах.
|
||||
|
||||
Осталось на Alex: добавить на ТВ плагин `http://192.168.1.14:9118/catalog.js` (пультом).
|
||||
Осталось на Alex: добавить на ТВ плагин `http://192.168.1.14:9118/catalog.js` (пультом),
|
||||
**полностью перезапустить Lampa** и выбрать источник **панелью слева** в меню каталогов
|
||||
(пункта «Настройки → Источник» не существует).
|
||||
|
||||
Сопутствующие доки: [[family/how-to/tv-luna-send]], [[family/how-to/htpc-webos-luna]],
|
||||
[[family/how-to/tv-lampac-plugin]].
|
||||
@@ -326,8 +333,9 @@ curl -fsS "http://localhost:9118/version?type=hash"
|
||||
|
||||
### Что осталось
|
||||
|
||||
1. **Лимит кэша TorrServer** (шаг 3) — дефолт. Единственный незакрытый шаг. Критичность низкая.
|
||||
2. **Alex добавляет плагин на ТВ** пультом — `catalog.js`.
|
||||
1. **Лимит кэша TorrServer** (шаг 3) — дефолт. Критичность низкая.
|
||||
2. **Каталог watchlist не подтверждён в UI ТВ** — плагин добавлен, но не виден. Нужен полный
|
||||
перезапуск Lampa + выбор источника панелью слева. Соединений ТВ → `:9118` было ноль.
|
||||
3. **Проверка полосы на торрент-источнике** — не сделана.
|
||||
|
||||
## Журнал сессии 2026-09-22
|
||||
|
||||
@@ -27,9 +27,9 @@ updated: '2026-09-22'
|
||||
> Базовое развёртывание — [[personal/plans/lampac-kraken]] (шаги 1–6 закрыты).
|
||||
>
|
||||
> **Итог одной строкой:** Lampac отдаёт `movies-watchlist.md` как каталог Lampa
|
||||
> через модуль `Catalog` → 4 категории (360/34/3/7 позиций), автообновление кроном 02:30.
|
||||
> через модуль `Catalog` → 4 категории (360/33/3/7 позиций), автообновление кроном 02:30.
|
||||
> Работает на стороне сервера; на ТВ остаётся добавить плагин
|
||||
> `http://192.168.1.14:9118/catalog.js` (см. «Что осталось на Alex»).
|
||||
> `http://192.168.1.14:9118/catalog.js` и выбрать источник (см. «Что осталось на Alex»).
|
||||
|
||||
## Задача
|
||||
|
||||
@@ -170,7 +170,11 @@ Cron: `30 2 * * *` → лог `~/logs/watchlist-catalog.log`.
|
||||
Добавить плагин на ТВ — **пультом**, 1 минута:
|
||||
|
||||
1. Lampa → **Настройки → Плагины** → добавить URL `http://192.168.1.14:9118/catalog.js`
|
||||
2. Lampa → **Настройки → Источник** → выбрать **«Мой список»**
|
||||
2. **Полностью перезапустить Lampa** (не сворачивать) — каталоги регистрируются только при старте
|
||||
3. На главной встать на ряд каталога и нажать **влево** → в выехавшей панели выбрать **«Мой список»**
|
||||
|
||||
🔴 **Пункта «Настройки → Источник» в Lampa НЕ СУЩЕСТВУЕТ** — я его выдумал, Alex дважды указал на ошибку.
|
||||
Источник переключается панелью слева в меню каталогов. Подробно: [[family/how-to/tv-lampac-plugin]].
|
||||
|
||||
Приёмка = категории видны в UI Lampa, названия совпадают с `movies-watchlist.md`.
|
||||
|
||||
@@ -192,16 +196,21 @@ Cron: `30 2 * * *` → лог `~/logs/watchlist-catalog.log`.
|
||||
|
||||
| Проверка | Результат |
|
||||
|---|---|
|
||||
| `/catalog.js` по IP | 200, `api_host:'http://192.168.1.14:9118'` |
|
||||
| Каталог в `/catalog` | «Мой список» в списке каналов |
|
||||
| `/catalog.js` по IP | 200, ~32 КБ, `api_host:'http://192.168.1.14:9118'` |
|
||||
| Каталог в `/catalog` | **7 ключей**, «Мой список» первым (Rezka, Kinobase, FilmixApp, VoKino, Eneyida, KinoUkr, Мой список) |
|
||||
| JSON-файлы | `watchlist.json` + `watchlist-{films,new,cartoons,anime}.json` — все 200 |
|
||||
| Выдача по категориям | films 360 · new 34 · cartoons 3 · anime 7 |
|
||||
| Выдача по категориям | films 360 · new **33** · cartoons 3 · anime 7 (после фикса сирот 2026-09-22) |
|
||||
| Формат ответа `/catalog/list` | `{page, results, total_pages}`, `total_pages: 1` для films |
|
||||
| Сортировка | ⭐ → рейтинг ↓ → ужасы |
|
||||
| Чистота названий | эмодзи-маркеров 0 |
|
||||
| Сирота «Конец света» | ❌ отсутствует во всех 4 категориях |
|
||||
|
||||
**НЕ проверено:**
|
||||
|
||||
- ❌ **UI Lampa на ТВ** — Alex ещё не добавил плагин. Это единственная непроверенная часть.
|
||||
- ❌ **UI Lampa на ТВ** — Alex добавил плагин, но каталог в UI не увидел.
|
||||
Соединений ТВ → `:9118` на момент диагностики — **ноль**. Гипотеза: не сделан полный
|
||||
перезапуск Lampa (каталоги регистрируются только при старте) либо не выбран источник
|
||||
в панели слева. **Требуется подтверждение от Alex.**
|
||||
- ❌ Боевой прогон крона в 02:30 (скрипт отработал вручную успешно).
|
||||
- ❌ Карточка/постеры в UI.
|
||||
|
||||
|
||||
@@ -324,6 +324,56 @@ ssh root@TV 'script -q -c "luna-send -n 1 -f luna://service/method {json}" /tmp/
|
||||
|
||||
**Как убрать выбор источника:** Lampa → Настройки → Плагины → выключить `online.js`. Останутся только торренты.
|
||||
|
||||
## 🔴 Выбор источника каталога в Lampa (проверено 2026-09-22)
|
||||
|
||||
**В Lampa НЕТ пункта «Настройки → Источник».** Я его выдумал — Alex дважды указал на ошибку.
|
||||
Не повторять.
|
||||
|
||||
Источник (Rezka / Kinobase / «Мой список» / …) переключается **из меню каталогов на главной**:
|
||||
|
||||
1. Открыть Lampa на главной
|
||||
2. Встать на любой ряд каталога → нажать **влево** на пульте
|
||||
3. Слева выедет **панель со списком источников**
|
||||
4. Выбрать нужный → OK; каталог перестроится, в заголовке появится имя источника
|
||||
в верхнем регистре («Фильмы — МОЙ СПИСОК»)
|
||||
|
||||
**Плагин `catalog.js` не добавляет пункт меню — он подменяет существующие.**
|
||||
Механика: при старте приложения `Lampa.Utils.account(api_host + '/catalog', …)` получает список
|
||||
каталогов, регистрирует каждый как `Lampa.Params.values.source[key]` и подменяет
|
||||
`Lampa.Api.sources[key]`. Затем хук `Lampa.Listener.follow('menu', …)` перехватывает клики по
|
||||
`movie`/`tv`/`cartoon`/`anime`/`relise` и подставляет URL из `catalogs[key].menu`.
|
||||
|
||||
⚠️ **Следствие — каталоги регистрируются ТОЛЬКО при старте приложения.**
|
||||
Добавил плагин и не перезапустил Lampa → источника не будет, `/catalog` не запрашивается,
|
||||
соединений с `:9118` ноль. Нужен **полный перезапуск** (не сворачивание).
|
||||
|
||||
### ⚠️ Клиент на ТВ — это не «отдельная Lampa»
|
||||
|
||||
`com.lampac.tv` (webOS) грузит UI **с сервера**: `loader.js` читает `lampac_url` из localStorage
|
||||
(дефолт `http://192.168.1.14:9118`) и подключает `app.min.js` + `lampainit.js`.
|
||||
Значит логика каталога на ТВ = **серверная**, и править её надо на Lampac, а не на ТВ.
|
||||
|
||||
`/lampainit.js` содержит `var plugins_add = [...]` со строкой
|
||||
`{"url":".../catalog.js","name":"Альтернативные источники каталога","status":1}` —
|
||||
это **серверный список плагинов, которые Lampac сам подсовывает** в UI.
|
||||
Каталог watchlist работает через **модуль `Catalog`**, не через эту строку.
|
||||
Не искать причину поломки в `plugins_add`.
|
||||
|
||||
### Диагностика «каталога нет в UI»
|
||||
|
||||
| Проверка | Команда | Норма |
|
||||
|---|---|---|
|
||||
| Плагин отдаётся | `curl -sI http://192.168.1.14:9118/catalog.js` | 200, ~32 КБ |
|
||||
| Каталоги зарегистрированы | `curl -s http://192.168.1.14:9118/catalog \| jq 'keys'` | 7 ключей, «Мой список» есть |
|
||||
| Данные отдаются | `curl -s "…/catalog/list?plugin=watchlist&cat=films" \| jq .total_pages` | 1 |
|
||||
| ТВ реально ходит | `ssh kraken 'sudo ss -tnp \| grep :9118'` | есть ESTABLISHED <br>**ноль = Lampa не запускалась заново** |
|
||||
|
||||
Порядок разбора: сначала `ss` (ходит ли ТВ вообще), потом `/catalog` (что отдаёт сервер),
|
||||
потом UI. Если ноль соединений — проблема не в сервере.
|
||||
|
||||
⚠️ `docker logs lampac` **HTTP-запросы не пишет** — по логам факт обращения ТВ не проверить.
|
||||
Использовать `ss`, а не логи.
|
||||
|
||||
## Внутреннее устройство Lampac (разведка 2026-09-22)
|
||||
|
||||
**33 модуля** в образе (`/lampac/module/`):
|
||||
|
||||
Reference in new issue
Block a user