PDA

Ver la Versión Completa : adaptando tarea Wifi inteligente


saciorlux
27/04/14, 21:58:49
Estoy adaptando la siguiente tarea:
1.- IF %WIFII !~ *CONNECTION* [Comprobamos que no estamos conectados a una Wifi]
2.- IF %LOCN !~ %LOCFALLOWIFI [Comprobamos que la ubicación actual no ha fallado antes, si es así, ni encendemos el Wifi, ahorrando bateria]
3.- Variable Set %WifiInteligente TO on [Por si queremos saber que estamos en esta tarea en otro sitio]
4.- WiFi Set On [Activamos el Wifi]
5.- Variable Set %III TO 60 [60 segundos para pillar red o apagamos...]
6.- Variable Subtract %III value 5 [5 segundos menos...]
7.- Variable Set %III TO 0 IF %WIFII !~ *CONNECTION* [Salida cutre, si estamos conectados pongo el contador a 0...]
8.- Wait Seconds 5 IF %WIFII !~ *CONNECTION* [Esperamos 5 segundos si no estamos conectados]
9.- GOTO Action 6 IF %III > 0 [Ojito a esto que el salto es POSICIONAL, es el bucle de espera, hay que saltar a la posición que resta 5 al contador]
10.- Wifi Set Off IF %WIFII !~ *CONNECTION* [Apagamos WIFI si no estamos conectados]
11.- Variable Set %LOCFALLOWIFI TO %LOCN IF %WIFII !~ *CONNECTION* [Si no hemos conseguido conexión guardo la posición para la próxima ejecución...]
12.- Variable Clear %LOCFALLOWIFI IF %WIFII ~ *CONNECTION* [Si hemos conseguido conexión limpio la posición...]
13.- End If [Cierra los IF de la posición 1 y 2]
14.- Mobile Data APN SET ON IF %WIFII !~ *CONNECTION* [Enciendo los datos móviles si no tengo Wifi]
15.- Mobile Data SET ON IF %WIFII !~ *CONNECTION* [Enciendo los datos móviles si no tengo Wifi]
16.- Variable Clear %WifiInteligente

la tengo añadida a mi perfil casa y trabajo funciona perfectamente a excepción de que no me desactiva la red de datos. La única forma de conseguirlo por ahora es añadiendo al principio antes del punto 1 "red movil - establecer apagado".
si lo pongo como era mi intencion( seguramente estuviese mal por eso no funciona) despues del punto 4. "Red movil ON IF %WIFII ~ *CONNECTION* no desconecta los datos, he probado en cualquier otro punto y en ninguno los desconecta solo desconecta al principio.

Caravantes
28/04/14, 00:19:44
3.- Variable Set %WifiInteligente TO on [Por si queremos saber que estamos en esta tarea en otro sitio]

Eso es innecesario. La variable %TRUN (Taks Runing, Tareas en ejecución) contiene una lista de las tareas que están ejecutándose, separadas por comas. Es posible utilizar esta variable para saber si una tarea concreta está en ejecución, mediante condiciones del estilo de
Si(if) %TRUN ~ *,TareaWifiInteligente,*

11.- Variable Set %LOCFALLOWIFI TO %LOCN IF %WIFII !~ *CONNECTION* [Si no hemos conseguido conexión guardo la posición para la próxima ejecución...]

La variable %LOCN contiene Latitud y longitud del último ajuste de ubicación vía red. Creo que esa variable se actualiza cada vez que se ejecuta la acción OBTENER UBICACIÓN (grupo MISC) habiendo especificado en la acción un Origen de tipo "Red datos" o "cualquiera". Puesto que esta tarea no incluye esa acción, es posible que los datos contenidos en la variable %LOCN correspondan a otro momento y pueden corresponder a la misma ubicación actual u otra distinta. Resumiendo: en esa acción, la tarea pretende guardar la posición actual, pero tal vez esté guardando otra posición cualquiera.

13.- End If [Cierra los IF de la posición 1 y 2]

Cada acción IF (1 y 2) debe ser cerrada por su correspondiente acción Endif, uno a uno. Si solo pones un Endif (en 13) solo estás cerrando el último IF abierto (el 2), y estás dejando sin cerrar cualquier IF anterior (el 1).

14.- Mobile Data APN SET ON IF %WIFII !~ *CONNECTION* [Enciendo los datos móviles si no tengo Wifi]

Es innecesario andar encendiendo y apagando los datos móviles al tener o perder una conexión Wifi. Eso ya lo hace Android automáticamente, no necesitas hacerlo tú. Si dejas los datos móviles activados, cuando haya una conexión Wifi, Android se encarga de ignorar (nigunear) la transmisión de datos móviles. De hecho, cuando hay conexión Wifi verás en la barra de estado que... junto al icono de cobertura no aparece el indicativo de datos móviles.

cerocool2014
14/11/14, 14:59:17
Gente quiero hacer algo similar a esto, pero que me sirva con mas de un wifi de casa , porque tengo un router en cada sector de la casa.
tengo uno que funciona al llegar a casa , pero al perder señal directamente va a la salida y quiero que espere un minuto y si no se conecta a otro wifi de casa ejecute la salida