GraphicAdventure
14/03/15, 18:45:45
Hace unas semanas de un día para otro mi perfil de casa dejó de funcionar. Esto ocurre cuando el operador hace modificaciones en las antenas.
Cree un sistema que mantiene al día las antenas cercanas que se utilicen para conectar o pasar a un estado fijo.
Un perfil actualiza las células diariamente y una tarea elimina las que no se han conectado hace x días.
Nota: El listado que aparece en un perfil de antena cercana son células y no antenas.
Descarga:884271
IMPLEMENTACIÓN:
1- En el perfil Antena Cercana borrar todas las células existentes e indicar la variable que contendrá las células.
Ej.: %Cellidcasa, %Cellidcasa2, %Cellidtrabajo, %Cellidinstituto, %Cellidvacaciones.
Adicionar contexto : %Cellidvar No Está Ajustada
2- En el perfil de estado fijo (wifi conectado por ej.), en la tarea de entrada poner:
A1: Detener Si (if) %Cellidvar Está Ajustada
A2: Establecer variable %Cellidvar a Cellidnombre (en la palabra nombre poner la utilizada en el primer paso)
3- En el perfil de estado fijo en la tarea de salida Ax: Realizar tarea Cell ID Clean (establecer en las propiedades %priority+1)
En wifi conectado tengo una espera de 10s para los microcortes en A1 y detener en A2, entonces ejecuto la tarea en A3, sino se ejecutaría en cada microcorte.
Tiene que estar habilitada en las propiedades del perfil "Fuerza Orden Tareas" (por defecto está), para que Cell ID Clean termine antes que se ejecute la tarea de entrada en caso de una reconexión.
FUNCIONAMIENTO Y TIEMPOS:
El perfil Cell ID Update solo se ejecuta si la célula conectada no está en la lista o si está pero no tiene la fecha actual.
En la A2 se establece el tiempo que una célula nueva (no está en la lista) tiene que permanecer activa para adicionarla. Por defecto está a 30 segundos.
La tarea Cell ID Clean borra células antiguas si han transcurrido x días.
En la A11 se establecen los días. Por defecto está a 3.
PERFIL Y TAREA:
Perfil: Cell ID Update
Enforce: no Notification: no
Evento: Establecer variable [ Variable:%CELLID Valor:* User Variables Only:Apagado ]
Estado: Valor de variable [ %Cellidvar Ajuste & %Cellidvar !~ *clean* & %%Cellidvar !~ *%CELLID* |+ %Cellidupdate No ajust. |+ %Cellidupdate ~ *%CELLID* ]
Entrada:
Abortar Tarea Existente
A1: Establecer variable [ Nombre:%cellid A:%CELLID Calcular:Apagado Añadir:Apagado ]
<A2: cell change w/ current date won't abort existing task>
A2: Esperar [ MS:0 Segundos:30 Minutos:0 Horas:0 Días:0 ]
A3: Si (if) [ %Cellidvar Ajuste & %Cellidvar !~ *clean* & %cellid ~ %CELLID ]
<A4: after %DATE there is a new line>
A4: Establecer variable [ Nombre:%%Cellidvar A:%cellid / %DATE Calcular:Apagado Añadir:Encendido ] Si (if) [ %%Cellidvar !~ *%cellid* ]
A5: Buscar y Reemplazar Contenido de Variable [ Variable:%%Cellidvar Buscar:(?<=%cellid \/ ).+ Ignorar Caso:Apagado Multilínea:Apagado Una sola coincidencia:Encendido Almacenar Coincidencias En: Reemplazar Coincidencias:Encendido Reemplazar Con:%DATE ] Si (if) [ %Cellidupdate No ajust. | %Cellidupdate ~ *%cellid* ]
A6: Buscar y Reemplazar Contenido de Variable [ Variable:%%Cellidvar Buscar:^.+(?= \/ (?!%DATE)) Ignorar Caso:Apagado Multilínea:Encendido Una sola coincidencia:Apagado Almacenar Coincidencias En:%fecha Reemplazar Coincidencias:Apagado Reemplazar Con: ]
A7: Establecer variable [ Nombre:%Cellidupdate A:%fecha() Calcular:Apagado Añadir:Apagado ] Si (if) [ %fecha1 Ajuste ]
A8: Establecer variable [ Nombre:%Cellidupdate A:done Calcular:Apagado Añadir:Apagado ] Si (if) [ %fecha1 No ajust. ]
A9: Fin si (End if)
Tarea: Cell ID Clean
A1: Si (if) [ %Cellidupdate !~ done & %Cellidupdate Ajuste ]
A2: Establecer variable [ Nombre:%cellidvar A:%Cellidvar Calcular:Apagado Añadir:Apagado ]
A3: Establecer variable [ Nombre:%Cellidvar A:clean Calcular:Apagado Añadir:Encendido ]
A4: Convertir Variable [ Nombre:%DATE Función:Fecha Hora a Segundos Almacenar Resultado en:%dateseg ]
A5: Si (if) [ (%dateseg-%%Cellidvar)/24/60/60 > 0 ]
A6: Buscar y Reemplazar Contenido de Variable [ Variable:%%cellidvar Buscar:(?<=\/ )(?!%DATE).+ Ignorar Caso:Apagado Multilínea:Apagado Una sola coincidencia:Apagado Almacenar Coincidencias En:%fecha Reemplazar Coincidencias:Apagado Reemplazar Con: ]
A7: Procesar Array [ Variable:%fecha Tipo:Eliminar Duplicados ]
A8: Procesar Array [ Variable:%fecha Tipo:Comprimir (Squash) ]
A9: For [ Variable:%fecharep Ítems:%fecha() ]
A10: Convertir Variable [ Nombre:%fecharep Función:Fecha Hora a Segundos Almacenar Resultado en:%fechaseg ]
A11: Buscar y Reemplazar Contenido de Variable [ Variable:%%cellidvar Buscar:.+%fecharep\n Ignorar Caso:Apagado Multilínea:Apagado Una sola coincidencia:Apagado Almacenar Coincidencias En: Reemplazar Coincidencias:Encendido Reemplazar Con: ] Si (if) [ (%dateseg-%fechaseg)/24/60/60 > 2 ]
A12: End For
A13: Establecer variable [ Nombre:%%Cellidvar A:%dateseg Calcular:Apagado Añadir:Apagado ]
A14: Fin si (End if)
A15: Fin si (End if)
A16: Limpiar variable [ Nombre:%Cellidvar Coincidencia de Patrón:Apagado ]
A17: Limpiar variable [ Nombre:%Cellidupdate Coincidencia de Patrón:Apagado ]
Cree un sistema que mantiene al día las antenas cercanas que se utilicen para conectar o pasar a un estado fijo.
Un perfil actualiza las células diariamente y una tarea elimina las que no se han conectado hace x días.
Nota: El listado que aparece en un perfil de antena cercana son células y no antenas.
Descarga:884271
IMPLEMENTACIÓN:
1- En el perfil Antena Cercana borrar todas las células existentes e indicar la variable que contendrá las células.
Ej.: %Cellidcasa, %Cellidcasa2, %Cellidtrabajo, %Cellidinstituto, %Cellidvacaciones.
Adicionar contexto : %Cellidvar No Está Ajustada
2- En el perfil de estado fijo (wifi conectado por ej.), en la tarea de entrada poner:
A1: Detener Si (if) %Cellidvar Está Ajustada
A2: Establecer variable %Cellidvar a Cellidnombre (en la palabra nombre poner la utilizada en el primer paso)
3- En el perfil de estado fijo en la tarea de salida Ax: Realizar tarea Cell ID Clean (establecer en las propiedades %priority+1)
En wifi conectado tengo una espera de 10s para los microcortes en A1 y detener en A2, entonces ejecuto la tarea en A3, sino se ejecutaría en cada microcorte.
Tiene que estar habilitada en las propiedades del perfil "Fuerza Orden Tareas" (por defecto está), para que Cell ID Clean termine antes que se ejecute la tarea de entrada en caso de una reconexión.
FUNCIONAMIENTO Y TIEMPOS:
El perfil Cell ID Update solo se ejecuta si la célula conectada no está en la lista o si está pero no tiene la fecha actual.
En la A2 se establece el tiempo que una célula nueva (no está en la lista) tiene que permanecer activa para adicionarla. Por defecto está a 30 segundos.
La tarea Cell ID Clean borra células antiguas si han transcurrido x días.
En la A11 se establecen los días. Por defecto está a 3.
PERFIL Y TAREA:
Perfil: Cell ID Update
Enforce: no Notification: no
Evento: Establecer variable [ Variable:%CELLID Valor:* User Variables Only:Apagado ]
Estado: Valor de variable [ %Cellidvar Ajuste & %Cellidvar !~ *clean* & %%Cellidvar !~ *%CELLID* |+ %Cellidupdate No ajust. |+ %Cellidupdate ~ *%CELLID* ]
Entrada:
Abortar Tarea Existente
A1: Establecer variable [ Nombre:%cellid A:%CELLID Calcular:Apagado Añadir:Apagado ]
<A2: cell change w/ current date won't abort existing task>
A2: Esperar [ MS:0 Segundos:30 Minutos:0 Horas:0 Días:0 ]
A3: Si (if) [ %Cellidvar Ajuste & %Cellidvar !~ *clean* & %cellid ~ %CELLID ]
<A4: after %DATE there is a new line>
A4: Establecer variable [ Nombre:%%Cellidvar A:%cellid / %DATE Calcular:Apagado Añadir:Encendido ] Si (if) [ %%Cellidvar !~ *%cellid* ]
A5: Buscar y Reemplazar Contenido de Variable [ Variable:%%Cellidvar Buscar:(?<=%cellid \/ ).+ Ignorar Caso:Apagado Multilínea:Apagado Una sola coincidencia:Encendido Almacenar Coincidencias En: Reemplazar Coincidencias:Encendido Reemplazar Con:%DATE ] Si (if) [ %Cellidupdate No ajust. | %Cellidupdate ~ *%cellid* ]
A6: Buscar y Reemplazar Contenido de Variable [ Variable:%%Cellidvar Buscar:^.+(?= \/ (?!%DATE)) Ignorar Caso:Apagado Multilínea:Encendido Una sola coincidencia:Apagado Almacenar Coincidencias En:%fecha Reemplazar Coincidencias:Apagado Reemplazar Con: ]
A7: Establecer variable [ Nombre:%Cellidupdate A:%fecha() Calcular:Apagado Añadir:Apagado ] Si (if) [ %fecha1 Ajuste ]
A8: Establecer variable [ Nombre:%Cellidupdate A:done Calcular:Apagado Añadir:Apagado ] Si (if) [ %fecha1 No ajust. ]
A9: Fin si (End if)
Tarea: Cell ID Clean
A1: Si (if) [ %Cellidupdate !~ done & %Cellidupdate Ajuste ]
A2: Establecer variable [ Nombre:%cellidvar A:%Cellidvar Calcular:Apagado Añadir:Apagado ]
A3: Establecer variable [ Nombre:%Cellidvar A:clean Calcular:Apagado Añadir:Encendido ]
A4: Convertir Variable [ Nombre:%DATE Función:Fecha Hora a Segundos Almacenar Resultado en:%dateseg ]
A5: Si (if) [ (%dateseg-%%Cellidvar)/24/60/60 > 0 ]
A6: Buscar y Reemplazar Contenido de Variable [ Variable:%%cellidvar Buscar:(?<=\/ )(?!%DATE).+ Ignorar Caso:Apagado Multilínea:Apagado Una sola coincidencia:Apagado Almacenar Coincidencias En:%fecha Reemplazar Coincidencias:Apagado Reemplazar Con: ]
A7: Procesar Array [ Variable:%fecha Tipo:Eliminar Duplicados ]
A8: Procesar Array [ Variable:%fecha Tipo:Comprimir (Squash) ]
A9: For [ Variable:%fecharep Ítems:%fecha() ]
A10: Convertir Variable [ Nombre:%fecharep Función:Fecha Hora a Segundos Almacenar Resultado en:%fechaseg ]
A11: Buscar y Reemplazar Contenido de Variable [ Variable:%%cellidvar Buscar:.+%fecharep\n Ignorar Caso:Apagado Multilínea:Apagado Una sola coincidencia:Apagado Almacenar Coincidencias En: Reemplazar Coincidencias:Encendido Reemplazar Con: ] Si (if) [ (%dateseg-%fechaseg)/24/60/60 > 2 ]
A12: End For
A13: Establecer variable [ Nombre:%%Cellidvar A:%dateseg Calcular:Apagado Añadir:Apagado ]
A14: Fin si (End if)
A15: Fin si (End if)
A16: Limpiar variable [ Nombre:%Cellidvar Coincidencia de Patrón:Apagado ]
A17: Limpiar variable [ Nombre:%Cellidupdate Coincidencia de Patrón:Apagado ]