A raíz de haber publicado "
card_server.cfg desde el terminal de macos" me ha parecido que el siguiente paso era crear un script para automatizarlo.
En principio está desarrollado para macOS y el deco Qviart Undro 2 pero es adaptable para otros S.O. y otros receptores.
El script tiene REMs que lo hacen sencillo de entender, resumiré a continuación lo vital:
- Introducir la IP de nuestro deco en la línea 24 (variable 'ip')
- Introducir el puerto de nuestro deco en la línea 27 (variable 'puerto' por defecto '5555' en el Undro 2)
- Habilitar o inhabilitar Prometheus en la línea 33 (por defecto está en '0' o sea que lo inhabilita)
No se indica de donde sacar las líneas CCcam, cualquier consulta en un buscador arrojará muchas URLs, pero el REM de la línea 18 apunta a un clásico de este foro. Las líneas pueden copiarse y pegarse en un archivo "txt" ('fuente.txt' si no se cambia) sin que sea necesario eliminar la "basura" ya que el código debería depurar lo copiado antes de generar el "card_server.cfg" final. Obviamente puede fallar pero en las pruebas que he realizado desde distintas fuentes ha funcionado correctamente.
Adjunto el código por si alguien prefiere verlo/copiarlo y el script "deco-update.sh" para ser descargado e ir más rápido. Como no se puede subir un archivo con extensión 'sh' lo subo como 'txt' "deco-update.sh.txt" y lo renombráis trás descargarlo.
Espero que le sea útil a alguien.
#!/bin/bash
# Autor: unavailable (https://www.forokeys.com/foro//pm/?sa=send;u=677846)
# Nombre del script: deco-update.sh
# O.S./deco: script ejecutable desde macOS para el deco: Qviart Undro 2 (no olvidar darle permisos de ejecución: chmod +x)
# Propósito: subir líneas directamente al deco sin hacerlo manualmente desde el mando a distancia.
# Requiere: adb (https://dl.google.com/android/repository/platform-tools-latest-darwin.zip)
# Nota: si mejoras este código, compártelo ;-)
# AVISO IMPORTANTE:
# =================
# Para que el deco admita comandos es necesario haber activado PREVIAMENTE la "depuración USB" en las opciones de desarrolladores.
# Lo más sencillo es hacerlo a través de una APK, por ejemplo:
# "Settings" (https://apkpure.com/es/settings-shortcut/com.MirusApplications.settingsshortcut).
# Instrucciones:
# ==============
# Ir donde se publiquen las líneas para elegir las que queramos
# (algunos lugares ya son clásicos, ver http://bit.ly/2LmEB3g)
# copiarlas y pegarlas en un archivo que se grabará con el nombre
# "fuente.txt" (como texto sin formato).
# Introducir la IP del deco "xxx.xxx.xxx.xxx"
# (la IP puede consultarse en el deco: Ajustes > Red > Seleccionamos LAN/WiFi... > Info)
ip="192.168.1.34"
# Introducir el puerto (por defecto: 5555 para Qviart Undro 2)
puerto="5555"
# Sufijo hora + fecha para la copia de seguridad del card_server.cfg del deco
ahora="$(date +"%d-%m-%Y-%Hh%Mm%Ss")"
# Habilita / inhabilita Prometheus
echo DEFAULT:0 > card_server.cfg # 0 = inhabilita Prometheus / 1 = habilita Prometheus
# Limpieza de la fuente y grabación de la lista de servidores
cat fuente.txt | grep "C: "| # Busca las líneas que empiezan por "C: "
sed 's/C: /C:/g'| # Reemplaza "C: " por "C:"
sed 's/ off/ /'| # Elimina los "off" si los hubiera
sed 's/[[:space:]]/|/g' | # Reemplaza cualquier espacio, tabulador, etc. por un pipe [|]
sed 's/||/|/g' | # Reemplaza repeticiones de pipes [|] si los hubiera por un único pipe [|]
sed 's/|$//' | # Elimina pipe [|] si está al final de una línea
sed 's/$/|1|0/' >> card_server.cfg # Añade los atributos al final de cada línea y grabao el archivo resultante
# Borra la pantalla del terminal
clear
# Conecta con el deco
./adb connect $ip:$puerto
# Baja copia de seguridad de la actual lista de servidores del deco al ordenador
./adb pull /data/data/com.dvb.colors.home/files/card_server.cfg card_server.$ahora.cfg
# Actualiza la lista nueva de servidores subiéndola al deco
./adb push card_server.cfg /data/data/com.dvb.colors.home/app_tmp
# Desconecta del deco
./adb disconnect $ip:$puerto
echo -e "\n"
echo "======================================"
echo "Salvo error en la comunicación hay que"
echo "validar/rechazar la actualización en"
echo "la pantalla conectada al deco."
echo "======================================"
echo -e "\n"