Volver a la wiki

Servicio IAdea Adapter — Push de contenido REST local (SMIL)

Descripción

Adapter que integra contenido de CreaRack con players IAdea locales (http://<ip>:8080/v2). IAdea es un fabricante de media appliances (players SMIL) que exponen una API REST local en el puerto 8080. A diferencia de Yodeck y Signagelive, es un endpoint local (LAN), no cloud.

Ubicación: signage/services/adapters/iadea.py
Clase: IAdeaAdapter(SignageDeviceAdapter)
Base URL: http://<ip>:8080/v2 (puerto local, IP del player)
Autenticación: Token en parámetro GET (?access_token=...)
Método de push: PUT /user-data/<filename> (raw binary)

Firma pública

class IAdeaAdapter(SignageDeviceAdapter):
    """IAdea SMIL player local REST API adapter (port 8080, token GET param)."""
    
    def __init__(self, ip: str, credentials: dict, adapter_config: dict) -> None
    async def get_status(self) -> dict
    async def push_content(self, file_path: str, destination: str = "") -> bool
    async def set_playlist(self, playlist_data: dict) -> bool
    async def set_schedule(self, schedule_data: dict) -> bool
    async def take_screenshot(self) -> bytes | None
    async def reboot(self) -> bool

Componentes y flujos

Inicialización

Parámetros GET (privado)

get_status() → dict

push_content(file_path, destination="") → bool

set_playlist(playlist_data) → bool

set_schedule(schedule_data) → bool

take_screenshot() → bytes | None

reboot() → bool

Fuentes de datos y llamadas HTTP

MétodoEndpointAuthDescripción
GET/app/infoGET param tokenInfo de la app player
PUT/user-data/<filename>GET param tokenUpload binario de archivo
POST/app/startGET param tokenIniciar/apuntar playlist o schedule
GET/app/screenshotGET param tokenCaptura de pantalla actual
POST/system/rebootGET param tokenReboot del player

Todas las llamadas usan aiohttp.TCPConnector(force_close=True) para evitar problemas de conexión con dispositivos embebidos. Timeouts: 15s (default), 120s (upload).

Diferencias respecto a Yodeck / Signagelive

AspectoYodeckSignageliveIAdea
UbicaciónCloudCloudLocal (LAN)
Port443 (HTTPS)443 (HTTPS)8080 (HTTP)
AuthToken headerOAuth BearerToken GET param
Content modelMedia + PlaylistMedia + PlaylistSMIL scripts
Schedule modelSeparate endpointSeparate endpointDentro del SMIL

Estado de verificación

⚠ NO verificado contra hardware real. Endpoints y semantics siguen la documentación pública de IAdea (REST API tutorial + A-SMIL REST Push API), pero:

…requieren validación contra un dispositivo real.

Documentación oficial

Véase también

Subir