A következő címkéjű bejegyzések mutatása: variable. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: variable. Összes bejegyzés megjelenítése

2013. július 8., hétfő

Azonosítást igénylő nyílt Wi-Fi-bejelentkezés, Taskerrel automatikusan

Egy egyszerű HTTP POST lesz a megoldás. Sok minden más nem fog kelleni hozzá. A cél, hogy kérjük meg a Wi-Fi hálózatot, hogy beengedjen.

A működés elég egyszerű. Csatlakozol az X hotspot-ra és lekéred mondjuk a google.hu-t. X hotspot a google.hu helyett betölti a saját autentikációs oldalát (legyen local.hu), ha még nem vagy azonosítva. Valószínűleg van benne egy csomó szöveg, egy form rejtett elemekkel és egy submit gomb. A rejtett elemek valamelyike tartalmaz egy egyedi azonosítót. Na ezt kell kikeresni.
Első körben töltsük le, vagy nézzük meg local.hu forráskódját.
Valami ilyesmit keresünk benne:
<form action="/" method="post">
<input type="hidden" name="4Tredir" value="/">
<input type="hidden" name="magic" value="213546487974989834156">
<input type="hidden" name="answer" value="0">
<input type="submit" value="OK" onclick="sb(1)">
</form>
Ez a Tesco authentikációs form-ja. A neheze már meg is van.
Annyit észrevenni rajta, hogy nem közvetlen a submit küld, hanem meghív egy script-et, ami átírja az answer értéket és utána küld (nagy biztonsági elem, mondhatom:)
Tehát a Task:

http get: akármi.com -> output file: file.txt, type: text/*
read file: file.txt -> %file
variable split: %file, name="magic" value="
variable split: %file2, ">
http post: akarmi.com -> data: 4Tredir=/ magic=%file21 answer=1
Ez az egyszerű felépítés. Ki lehet egészíteni azonosítással, felugró üzenetekkel, hello kitty-s notification-nel, egyebekkel.

példa

Üdv

2013. július 2., kedd

Tasker+Időkép

Aki ismeri az Időkép-et, annak nem nagyon kell bemutatni. Talán ez a legjobb hazai időjárási oldal. Jó a felület, percre kész, lokalizált és legfőként pontos. Elérhető android-ra app formájában.
Na igen. Mindenre van egy app. Akinek csak előrejelzés kell és soha nincs szüksége percről-percre adatokra, vagy vízhő, hójelentés, stb-re annak való ez a task.
Könnyebb lenne rss-feedből, de sajnos az Időkép megszűntette eme igen hasznos funkcióját a sorozatos visszaélések miatt.

És akkor jöjjön, ami eddig még nem volt:
Időkép notification weather task

Két dolog kell hozzá:
valamiféle adatok, amit feldolgozhatunk
valamiféle net-kapcsolat szükséges lesz hozzá

Hozzunk létre egy új task-ot (az egyszerűség kedvéért "Idokep" néven).
+ Net -> HTTP Get (ezzel egy html oldalt töltünk le txt formátumba)
     Server:Port: m.idokep.hu
     Path: ?varos=Pecs (ha nem csalingálsz sokat. Ha igen, akkor lentebb lesz pár alternatíva) A város nevének formátuma: ékezetek nélküli, nagy kezdőbetűvel.
     Mime type: text/*
     Output file: (tetszőleges fájl, én csináltam az ilyeneknek egy temp mappát a Tasker mappájában) Tasker/temp/idokep.txt

+ File -> read file (beolvassuk a letöltött fájl-t)
     File: Tasker/temp/idokep.txt
     To var: %idokep (lokális változó)

Innentől már nincs is nehéz dolgunk. Ha megfelel a mobil netes nézet, akkor kitehetjük egy HTML-popup-ba és kész is vagyunk :)

Ha fel akarjuk dolgozni, akkor az %idokep változót kell szétdarabolni. Erre van egy nagyon jó függvény:
+ Variables -> variable split
     Name: %idokep
     Splitter: (alapesetben talán szóköz, de bármivel vághatsz) </table>
Nekünk most ez kell, mert a visszakapott txt-ben az adatok táblázatokban vannak. A variable split sorszámozott tömb-be darabolja az eredeti változót.
Ha van kéznél asztali gép, vagy szövegszerkesztő, ami jól keres, akkor könnyebb a dolog. Én gedit-et használok ezekre és nagyon gyorsan ki lehet keresni a tördeléseket.
A 4. táblázat tárolja a napi adatokat. Most ez kell, tehát levágjuk ennek az elejét is, így marad csak a táblázat:
+ Variables -> variable split
     Name: %idokep4
     Splitter: <table

Kikeressük a várost a fentebb taglalt elvet követve (strong /strong közé írták)
Variable split %idokep42, </strong>
Variable split %idokep421, <strong>

Ezzel megvan a város neve
+ Variables -> Array push
     Name: %idokepNapi
     Position: 1
     Value: %idokep4212

A következő a szöveges időjárásjelzés (</td> és <br/> között)
Variable split %idokep422, </td>
Variable split %idokep4221, <br/>
Itt még van egy teendő, mert ebben a sorban tabulátorokat is eldugtak
+ Variables -> variable search replace
     Name: %idokep 42213
     Search: /t
     Replace: yes
Array push %idokepNapi, 2, %idokep42213

Napi hőmérséklet (Ez is strong közé van írva és azzal már felaprítottuk, úgyhogy egy vágás maradt)
variable split %idokep422, <strong>
Array push %idokepNapi, 3, %idokep4222

Kiírjuk valahová. Én értesítésnek teszem ki, így meg tudom nézni bármikor

+ Alert -> Notification
     Title: Időkép - %idokepNapi1
     Text: %idokepNapi3, %idokepNapi2
     Icon, number, permanent: opcionális

És egy stop a végére.
Task -> stop

Task letöltése

Köszönet az Időképnek





2013. június 24., hétfő

Tasker Init

Előfordulhat olyan, hogy szükség van bizonyos dolgokat babrálni a Tasker indításakor. Van erre való funkció, de nem túl bőbeszédű a net ezen a téren.


Feltétel:
event - tasker - monitor start

'Monitor Start

Tasker's Monitor Service has just started.

Tasks triggered from this action are guaranteed to be submitted for execution before any other and are therefore a good place to perform preparatory actions like setting the initial values for variables.

If it's necessary to ensure that resulting tasks finish before any other task starts, set the Task Priority in the profile properties to the highest level.'

Azt mondja, hogy minden előtt ez fut le a Tasker indításakor, és még azt, hogy ajánlott a legmagasabbra állítani a prioritását.

Én a változóimat nullázom vele. Talán azért hasznos, mert néha kifagy a progi, vagy a teló és ilyenkor a tárolt értékeket nem jól kezelik a taskok.