Hola, ya tengo resuelto el tema 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).
Para que esto funcione hay que instalar sqlite3 en la máquina, hay que seguir los pasos de mi post #493, 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 #493 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
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):
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,
start_minute=max(0,start_minute -10),
length_minute=length_minute + 30
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,
3. start_minute=max(0,start_minute -10),
4. length_minute=length_minute + 30
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 3 restamos 10 minutos al minuto de inicio y ponemos cero si el minuto sale negativo. Si alguien tiene una solución mejor que hable ahora...
En 4 sumamos 30 minutos a la longitud en minutos
Saludos