API de Adaptadores DVB
En la interfaz de Astra, puedes gestionar las configuraciones de los Adaptadores DVB y controlar su estado utilizando métodos HTTP API.
Configuración del adaptador
Sección titulada «Configuración del adaptador»{ "id": "...", "name": "...", "type": "...", "enable": true, "adapter": 0, "device": 0}name- nombre del adaptador;type- tipo de adaptador:S,S2,T,T2,ATSC,ISDB-T,C,C/A,C/B,C/C;enable-truesi el adaptador está habilitado;adapter- número del adaptador en el sistema:/dev/dvb/adapter0device- número del dispositivo en el adaptador:/dev/dvb/adapter0/frontend0- otras opciones dependen de la configuración del adaptador
Obtener la configuración del adaptador
Sección titulada «Obtener la configuración del adaptador»Solicitud: GET /api/adapter-info/{id}
id- identificador único del adaptador
La respuesta será un JSON con la configuración del adaptador
Modificar la configuración del adaptador
Sección titulada «Modificar la configuración del adaptador»Solicitud: POST /control/
{ "cmd": "set-adapter", "id": "...", "adapter": {...}}id- identificador único del adaptadoradapter- configuración del adaptador
Reiniciar adaptador
Sección titulada «Reiniciar adaptador»Solicitud: POST /control/
{ "cmd": "restart-adapter", "id": "..."}id- identificador único del adaptador
Eliminar adaptador
Sección titulada «Eliminar adaptador»Solicitud: POST /control/
{ "cmd": "set-adapter", "id": "...", "adapter": { "remove": true }}id- identificador único del adaptador
Obtener el estado del adaptador
Sección titulada «Obtener el estado del adaptador»Estadísticas de señal de un adaptador en ejecución, del módulo de monitorización. Solicitud: POST /control/ o GET /api/adapter-status/{id} con el parámetro opcional ?t={time}. Ambos solo para control. Un observador recibe 404.
{ "cmd": "adapter-status", "id": "a002", "t": 1}id- cadena, obligatorio. Identificador del adaptador: el campoiddel cuerpo o el segundo segmento de la ruta enGET /api/adapter-status/{id}. El adaptador debe estar en ejecución y tener un campotypeovirtual.t- número, opcional. El campotdel cuerpo o el parámetro de consulta enGET.1(predeterminado) devuelve las estadísticas del último intervalo de monitorización completado,0la muestra del último segundo. Cualquier otro número responde con el errornot implemented. Una cadena numérica decimal se lee como su número; cualquier otro valor cuenta como1.
Ambos puntos de entrada responden con los mismos cuerpos.
El intervalo de monitorización es el ajuste tsdb_interval, 60 segundos si no está definido.
Respuesta:
{ "timestamp": 0, "instance": "...", "name": "...", "lock": true, "signal": 0, "signal_db": 0, "snr": 0, "snr_db": 0, "ber": 0, "unc": 0, "bitrate": 0}timestamp- hora Unix. Parat=1, el final del intervalo del reporte,0hasta que se complete el primer intervalo. Parat=0, la hora de la última muestra,0antes de la primera muestra;instance- nombre de la instancia si está definido en Configuración → General → Nombre de la instancia;name- nombre del stream;lock-truesi el sintonizador tiene bloqueo y puede recibir datos;signal- nivel aproximado de señal en porcentaje;signal_db- nivel de señal en dBm multiplicado por 100;snr- relación señal/ruido aproximada en porcentaje;snr_db- relación señal/ruido en dB multiplicado por 100;ber- contador de errores de bit;unc- contador de errores de bloque;bitrate- bitrate total en Kbit/s.
Un adaptador SAT>IP o virtual no tiene frontend: lock es su estado en el aire, bitrate la tasa de su transporte, y los campos de señal son 0.
Respuestas de error, todas con estado 200:
{"adapter-status": "er", "error": "adapter id not defined"}- no hay una cadenaiden el cuerpo, o no hay identificador en la ruta. Un identificador que no se decodifica del URI cuenta como ausente.{"adapter-status": "er", "id": "a002", "error": "adapter not found"}- no hay un adaptador en ejecución con ranura de monitorización para este identificador: identificador desconocido o vacío, adaptador desactivado, adaptador sintypenivirtual, o adaptador conno_event.{"adapter-status": "er", "error": "not implemented"}-tes un número distinto de0y1.