Hola, estas son las nuevas instrucciones para la instalación de las guardas automáticas en las grabaciones que se hacen desde la EPG; si la grabación se hace "a mano", no se modifica nada (se respetan los datos que tu pongas).
La verdad es que esto ha sido muy fácil, porque ya lo tenian resuelto en el foro del LG, aunque es un trigger sobre el INSERT que es obvio; yo lo he optimizado un poco (he puesto un sólo UPDATE, ellos usan cuatro) y se han añadido las modificaciones propuestas por la7747am
Para que esto funcione hay que instalar sqlite3 en la máquina, hay que seguir los pasos de mi post #514, pero el cron no nos va a hacer falta (el que quiera que lo instale).
Para NO instalar el cron, hay que hacer todos los pasos del post #514 MENOS el paso 14.
IMPORTANTE: Debes asegurarte de ejecutar los comandos tal y como aquí aparecen, con sus espacios y todos sus caracteres, puedes copiar desde aquí la linea COMPLETA y pegar en la linea de comandos del telnet.
¡ATENCIÓN!, esto que vamos a hacer puede ser peligroso, aunque no tiene por que si sigues las instrucciones al pie de la letra.
Aún así, ya sabes, hazlo bajo tu entera responsabilidad.
Asegúrate de que el PVR no está grabando en ese momento.
Para realizar esto vamos a necesitar varios ficheros situados bajo el directorio BT del equipo.
Si accedemos al HD795T desde nuestro Windows, la ruta de este directorio será:
\\Gigaset_hd795t\hdd1\BT
Para ver si accedes a esta ruta puedes "ejecutarla" desde Windows: Inicio, ejecutar, poner (\\Gigaset_hd795t\hdd1\BT) y retorno.
Si aparece el explorador de archivos mostrando esta carpeta todo está OK, si hay algún tipo de error es que no estamos viendo el HD795T desde el PC y no podemos continuar hasta arreglar esto.
Si todo va bien, bájate este .zip que he preparado con los ficheros necesarios:
HD795T ficheros para crear guardas en firmware 20110112
usr.local.etc.zip
http://www.megaupload.com/?d=EMWQ097H
Copia el fichero en \\Gigaset_hd795t\hdd1\BT y descomprimelo, tenemos que haber obtenido los siguientes 5 ficheros:
\\Gigaset_hd795t\hdd1\BT\usr.local.etc\rcS
\\Gigaset_hd795t\hdd1\BT\usr.local.etc\profile
\\Gigaset_hd795t\hdd1\BT\usr.local.etc\sql\trigger .sql
El fichero trigger.sql tiene el trigger antiguo, hay que modificar su contenido por este otro:
Código:
CREATE TRIGGER [INSERT_TIMER_RECORD] AFTER INSERT ON [timer_record_table]
BEGIN
UPDATE timer_record_table SET
timestamp_Start =timestamp_Start - 600,
timestamp_Offset=timestamp_Offset + 1800,
date_year =strftime('%Y',(datetime(timestamp_start - 600, 'unixepoch', 'localtime'))),
date_month =strftime('%m',(datetime(timestamp_start - 600, 'unixepoch', 'localtime'))),
date_day =strftime('%d',(datetime(timestamp_start - 600, 'unixepoch', 'localtime'))),
start_hour =strftime('%H',(datetime(timestamp_start - 600, 'unixepoch', 'localtime'))),
start_minute =strftime('%M',(datetime(timestamp_start - 600, 'unixepoch', 'localtime'))),
length_hour =strftime('%H',datetime((strftime('%s', '2000-01-01 00:00:00') + timestamp_Offset + 1800), 'unixepoch')),
length_minute =strftime('%M',datetime((strftime('%s ','2000-01-01 00:00:00') + timestamp_Offset + 1800), 'unixepoch'))
WHERE ID = New.ID
AND event_id>0;
END;
Ahora se trata de poner estos ficheros a "trabajar", vamos a ello:
Código:
01 telnet xxx.xxx.xxx.xxx .Usuario: root (no tiene clave)
02 cp /tmp/hdd/volumes/HDD1/BT/usr.local.etc/rcS /usr/local/etc/rcS
03 cp /tmp/hdd/volumes/HDD1/BT/usr.local.etc/profile /usr/local/etc/profile
04 mkdir /usr/local/etc/sql
05 cp /tmp/hdd/volumes/HDD1/BT/usr.local.etc/sql/* /usr/local/etc/sql
06 reboot
Esta es la parte peligrosa, si el equipo arranca correctamente: Enhorabuena! lo has conseguido!
Vamos a crear el trigger de las guardas en la base de datos Gigaset_hd795t:
Código:
01 telnet xxx.xxx.xxx.xxx .Usuario: root (no tiene clave)
02 sqlite3 $EPG < /usr/local/etc/sql/trigger.sql
03 reboot
Con esto ya tenemos instalado el trigger que añade las guardas automáticamente, he decidido poner unas guardas de 10 minutos por delante y 20 minutos por detrás, el trigger es este (fichero /usr/local/etc/sql/trigger.sql):
Me queda así:
Código:
CREATE TRIGGER [INSERT_TIMER_RECORD] AFTER INSERT ON [timer_record_table]
BEGIN
UPDATE timer_record_table SET
timestamp_Start =timestamp_Start - 600,
timestamp_Offset=timestamp_Offset + 1800,
date_year =strftime('%Y',(datetime(timestamp_start - 600, 'unixepoch', 'localtime'))),
date_month =strftime('%m',(datetime(timestamp_start - 600, 'unixepoch', 'localtime'))),
date_day =strftime('%d',(datetime(timestamp_start - 600, 'unixepoch', 'localtime'))),
start_hour =strftime('%H',(datetime(timestamp_start - 600, 'unixepoch', 'localtime'))),
start_minute =strftime('%M',(datetime(timestamp_start - 600, 'unixepoch', 'localtime'))),
length_hour =strftime('%H',datetime((strftime('%s', '2000-01-01 00:00:00') + timestamp_Offset + 1800), 'unixepoch')),
length_minute =strftime('%M',datetime((strftime('%s ','2000-01-01 00:00:00') + timestamp_Offset + 1800), 'unixepoch'))
WHERE ID = New.ID
AND event_id>0;
END;
Lo explico un poco, por si eres manitas y quieres ponerte tus propias guardas:
Se tocan cuatro campos de la tabla timer_record_table, como no se guarda mas que la hora de inicio, vamos a ver con "claridad" la guarda inicial (en este caso 10 minutos), pero la guarda final (en este caso 20 minutos) no aparece por ningún lado porque lo que se añade es un offset a la duración y por lo tanto, nuestros 20 minutos al final se traducen en 30 minutos mas en total (10 del principio + 20 del final), dicho esto, ahora se entenderán mejor las sentencias (digo yo ¿no?)
1. timestamp_Start=timestamp_Start - 600,
2. timestamp_Offset=timestamp_Offset + 1800,
En 1 restamos 600 segundos a la hora de inicio (600s = 10 min.)
En 2 sumamos 1800 segundos a la duración (1800s = 30 min. = 10 min. + 20 min.)
En todas las expresiones donde aparezca: timestamp_Start - 600 habrá que cambiar el 600 por el número de segundos que queramos añadir por el principio.
En todas las expresiones donde aparezca: timestamp_Offset + 1800 habrá que cambiar el 1800 por el número de segundos TOTALES que hemos añadido, es decir sumando la guarda inicial y la final.
Ejemplo, para añadir 5 minutos por delante y 15 por detrás los número serían:
5 min. = 300 segundos
15 min. = 900 segundos
TOTAL = 300 + 900 = 1200
ENTONCES, habría que cambiar todos los 600 por 300 y todos los 1800 por 1200 ¿comprendido?
Saludos