tvprogram адаптер для ioBroker
Этот адаптер загружает данные о телевизионных программах и передает их виджетам ioBroker VIS. Данные о программах хранятся в виде файлов в памяти адаптера, а не копируются в точки данных.
Оглавление
Установка
Установите адаптер из стабильного репозитория ioBroker. Используйте бета-версию или последнюю версию для тестирования версии для разработчиков.
После первого запуска дождитесь, пока адаптер загрузит данные о программах и каналах, прежде чем настраивать виджеты.
Конфигурация адаптера
Создайте отдельную конфигурацию телевизора для каждого независимого выбора канала, списка избранных и целевого устройства переключения. Каждому телевизору присваивается свой собственный набор данных под экземпляром адаптера. Ключ устройства только для чтения формируется на основе имени настроенного телевизора. Он использует строчные буквы и цифры без пробелов; немецкие умлауты пишутся как ae, oe и ue. Например, Wohnzimmer Süd становится wohnzimmersued Изменение порядка записей в таблице не меняет их ключи устройств. Имена телевизоров должны генерировать уникальные ключи.
При запуске адаптер синхронизирует эти устройства с конфигурацией. Отсутствующие телевизионные устройства создаются, а лишние устройства удаляются вместе с их данными. Когда устаревший адаптер... tv1, tv2 При первой замене ключа его существующее состояние копируется в новый ключ устройства.
Источники программы
Для каждой конфигурации телевизора источник программы выбирается отдельно. Адаптер поддерживает:
- ТВ для всех
- IPTV-EPG.org
Для IPTV-EPG.org выберите нужную страну в соответствующей строке с телеканалами. Ежедневное время загрузки применяется ко всем источникам и приложениям IPTV-EPG. HH:mm формат. Загрузка начинается со стабильного случайного смещения, составляющего до 60 минут после указанного времени. Это распределяет запросы между отдельными установками ioBroker.
При запуске адаптер проверяет, содержит ли настроенный источник пригодные для использования данные каналов и программ за текущий день вещания. Отсутствующие данные загружаются немедленно. Неудачные загрузки повторяются через час.
Программы, транслируемые с полуночи до 04:59, относятся к предыдущему дню вещания. Загруженные данные хранятся отдельно для каждого источника и страны. Переключение телевизора на другой источник не удаляет существующий кэш. Выбранные каналы сохраняются в виде файлов в кэше адаптера для каждого телевизора и идентификатора источника. Активный выбор копируется в channelfilter После изменения источника и до получения командой перезагрузки виджетов. Данные программы за сегодняшний день и четыре предыдущих календарных дня остаются в кэше, даже если последующий ответ поставщика больше не содержит эти дни.
Набор info.reset к true Для удаления всех исходных данных и сохраненных настроек каналов из кэша адаптера. Адаптер подтверждает нажатие кнопки, очищает активные настройки ТВ и немедленно загружает настроенные источники заново.
Альтернативные логотипы каналов
Установите optchnlogopath Если вы хотите заменить логотипы источника, укажите путь к доступной через браузер директории, например:
http://192.1.2.3:8082/vis.0/icons/tvlogos/
Используйте имена файлов PNG в нижнем регистре, основанные на идентификаторе канала IPTV-EPG без конечного суффикса страны. DasErste является псевдонимом и всегда использует ard.png.
| Страна | Идентификаторы каналов | Названия файлов логотипов |
|---|---|---|
| Германия | DasErste.de, ZDF.de, RTL.de | ard.png, zdf.png, rtl.png |
| Австрия | DasErste.at, ORF1.at, PULS4.at | ard.png, orf1.png, puls4.png |
| Швейцария | DasErste.ch, SRF1.ch, ORFeins.ch | ard.png, srf1.png, orfeins.png |
Для региональных идентификаторов действует одно и то же правило: ORF2Wien.at становится orf2wien.png, и SRFzwei.ch становится srfzwei.png Если имя файла неясно, проверьте в инструментах разработчика браузера ошибки при отправке изображений.
Когда optchnlogopath Если поле пустое, виджеты используют логотипы источников. Селектор каналов всегда использует логотипы источников, чтобы каналы оставались идентифицируемыми.
Примеры настройки и конверсии см. в разделе «Примеры логотипов альтернативных каналов» .
Виджеты
Для работы виджетов требуется современный браузер, такой как Chrome, Firefox, Safari, Opera или Edge на основе Chromium. Internet Explorer и устаревшие версии Edge не поддерживаются.
Общая конфигурация виджета
Выберите любой параметр нужного телевизора, обычно это его cmd Точка данных. Виджет автоматически определяет идентификаторы остальных точек данных.
Общие параметры отображения управляют шириной логотипа канала, высотой строк, изображениями программ, размерами шрифта, цветом избранного и размерами диалогового окна с подробной информацией. Если выбранная тема оформления не обеспечивает достаточного контраста для отображения программ, можно задать конкретный цвет переднего и заднего плана.
Если после установки виджеты отсутствуют или устарели, выполните следующую команду:
iobroker upload tvprogram
Примеры настройки CSS для виджетов доступны в разделе «Стилизация виджетов» .
Расписание
Виджет «Расписание» отображает программы по каналам на временной оси. Он отмечает текущее время, поддерживает масштабирование и навигацию по дням, а также открывает подробную информацию о программе из полной карточки программы.
Откройте селектор каналов из меню виджетов. Щелкните карточку, чтобы включить или отключить канал. Активные каналы отображаются первыми и сохраняют заданный пользователем порядок. Перетащите активную карточку, чтобы переместить ее; на сенсорных экранах удерживайте ее недолго перед перетаскиванием. Поиск фильтрует видимые карточки. Кнопка сортировки переключает неактивные каналы в порядке источников, от А до Я и от Я до А. Галочка сохраняет изменения, а крестик или клавиша Escape закрывают окно без сохранения. Кнопка в правом верхнем углу переключает между заданным размером и полноэкранным режимом.
Логотипы сохраняют свои пропорции и центрируются в пределах заданной ширины канала и высоты строки. Изображения загружаются близко к видимой области, при этом допускается до четырех одновременных запросов и одна повторная попытка. Вертикальная полоса прокрутки скрыта; тонкая горизонтальная полоса прокрутки остается доступной под строками программы.
После загрузки текущего дня виджет ожидает не менее десяти секунд и предварительно загружает данные за следующие два дня трансляции. Активная загрузка изображений может задержать эту операцию.
| Атрибут | По умолчанию/пример | Описание |
|---|---|---|
tvprogram_oid | tvprogram.0.tv1.cmd | Точка данных, относящаяся к телевизору |
widthItem | 120 | Ширина 30-минутного сегмента в пикселях |
heightRow | 35 | Высота строки программы в пикселях |
channeliconwidth | 35 | Доступная ширина логотипа канала в пикселях |
showpictures | включено | Показывайте фотографии программы, если они доступны. |
headerfontpercent | 125 | Размер шрифта заголовка времени в процентах |
broadcastfontpercent | 75 | Размер шрифта программы в процентах |
highlightcolor | yellow | Любимый цвет мелирования |
markerpositionpercent | 25 | Текущее положение временной метки |
dialogwidthpercent | 90 | Ширина диалогового окна относительно виджета |
dialogheightpercent | 90 | Высота диалогового окна относительно виджета |
Избранное
В виджете «Избранное» отображается список предстоящих программ, названия которых отображаются на экране телевизора. favorites Данные отображаются в виде отдельных точек. Результаты сортируются по дате и времени и обновляются каждую минуту.
| Атрибут | По умолчанию/пример | Описание |
|---|---|---|
oid | tvprogram.0.tv1.cmd | Точка данных, относящаяся к телевизору |
channelname | неполноценный | Отображать названия каналов вместо логотипов. |
favorites_selectedchannels | неполноценный | Ограничить результаты выбранными каналами |
showweekday | включено | Показать день недели |
maxfavorites | 10 | Максимальное количество результатов |
highlightcolor | yellow | Любимый цвет значка |
channeliconwidth | 35 | Ширина логотипа канала в пикселях |
Если включено ограничение на количество выбранных каналов, в разделе «Избранное» используется расписание для того же телевизора. До сохранения выбора используются первые четыре канала. Явно пустой выбор не дает результатов.
Управление телевизором
В меню «Управление телевизором» отображается текущая программа или программа, которая будет запущена в заданное время. Щелчок по логотипу канала отправляет команду переключения; щелчок в любом месте карточки программы открывает ее подробную информацию. Она прокручивается вертикально без отображения полосы прокрутки.
| Атрибут | По умолчанию/пример | Описание |
|---|---|---|
oid | tvprogram.0.tv1.cmd | Точка данных, относящаяся к телевизору |
time | пустой | Показать текущую программу |
time | 20:15 | Покажите программу в это время в течение 120 минут. |
time | 20:15/200 | Используйте 200-минутный период показа. |
time | строка даты ISO | Показать программы в абсолютном времени |
heightRow | 35 | Высота строки программы в пикселях |
channeliconwidth | 35 | Доступная ширина логотипа канала в пикселях |
showpictures | включено | Показывайте фотографии программы, если они доступны. |
broadcastfontpercent | 75 | Размер шрифта программы в процентах |
highlightcolor | yellow | Любимый цвет мелирования |
dialogwidthpercent | 90 | Ширина диалогового окна "Подробности" |
dialogheightpercent | 90 | Высота диалогового окна "Подробности" |
Поиск
Поиск находит программы по названию, описанию, категории и дате начала. Необходимо указать как минимум текст поиска или категорию. Если текущая дата не изменяется, поиск начинается с текущего времени; если дата изменяется, поиск начинается с полуночи. Альтернативные логотипы каналов из optchnlogopath Поддерживаются. Результаты прокручиваются вертикально без отображения полосы прокрутки.
| Атрибут | По умолчанию/пример | Описание |
|---|---|---|
Object ID | tvprogram.0.tv1.cmd | Точка данных, относящаяся к телевизору |
showpictures | включено | Показывайте фотографии программы, если они доступны. |
maxresults | 10 | Максимальное количество результатов |
heightRow | 35 | Высота строки программы в пикселях |
broadcastfontpercent | 75 | Размер шрифта программы в процентах |
highlightcolor | yellow | Любимый цвет мелирования |
dialogwidthpercent | 90 | Ширина диалогового окна "Подробности" |
dialogheightpercent | 90 | Высота диалогового окна "Подробности" |
Точки данных
Каждый настроенный телевизор предоставляет следующие данные:
| Точка данных | Описание |
|---|---|
channelfilter | Выбранные идентификаторы каналов в порядке их отображения в формате JSON. |
cmd | Внутренняя связь между виджетами и адаптером. |
favorites | Названия любимых программ в виде JSON-массива |
record | Данные программы записываются с помощью кнопки «Подробный просмотр записи». |
selectchannel | Идентификатор канала записывается с помощью логотипа и действий при переключении. |
show | Отображать ли виджеты программы только избранное |
config | Устаревшая точка данных конфигурации |
optchnlogopath | Доступный в браузере базовый URL-адрес для пользовательских логотипов каналов |
Он record значение содержит startTime, endTime, title, channel, channelid, channelname и eventid.
sendTo команды
Используйте эти команды для создания пользовательских интеграций:
| Командование | Вход | Результат |
|---|---|---|
getServerData | categories, genres или channels | Множество |
getServerTVProgram | День трансляции как yyyy-mm-dd | Множество |
getServerBroadcast | viewdate и eventid | Объект |
getFavoritesData | Подборка любимых названий | Множество |
getServerBroadcastNow | Массив идентификаторов каналов | Множество |
getServerBroadcastDate | Идентификаторы каналов и дата | Множество |
getServerBroadcastFind | Фильтры и диапазон дат | Множество |
getServerInfo | Пустой объект | Доступные дни трансляции |
Параметры и вызываемые функции описаны в документации. sendTo Примеры команд .
Примеры
Все более подробные примеры находятся в файле docs/EXAMPLES.md :
- Настройка CSS виджета
sendToзапросы- Переключение каналов Harmony и MagentaTV
- альтернативная настройка логотипа канала
- Список записей и избранные скрипты статуса
- шаблоны выделения записей
Функции
- Программа передач с указанием текущего времени и автоматической прокруткой.
- Настраиваемый выбор и порядок каналов
- Диалоги с подробной информацией о программе и копирование текста.
- Управление навигацией в течение дня и масштабированием
- Избранные фильтры и будущий список избранных
- Переключение каналов через точку данных
- Дополнительные изображения программ и альтернативные логотипы каналов (по желанию)
- Настраиваемая ширина логотипа, высота строки, цвета и размеры диалогового окна.
- Данные записи заполняются на основе сведений о программе.
Запланированные работы
- Рассмотрите возможность добавления дополнительного виджета для выделенных программ.
При наличии достаточного спроса следует оценить другие источники программного обеспечения или аппаратного обеспечения.
Changelog
6.1.0 (2026-09-28)
- more fixes and adjustments
- add reset button under datapoint info/reset
6.0.0 (2026-09-28)
- improve and extend translation
- improve configuration dialog
- improve and fix dataloading
- improve seperation of data
- Improving the management of the selected channels
- reduce amount of data transfered to widgets
5.0.1 (2026-09-23)
- fix tests
5.0.0 (2026-09-23)
- Comprehensive revision
- New data source added
4.0.4 (2026-03-27)
- update dependencies
- fix repochecker
- tranform translation files
License
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Copyright (c) 2025-2026 oweitman oweitman@gmx.de