- shandar
- Medlem ●
- International user
- 2008-08-13 21:53
Jaha, alltid kul när man börjar koda på något nytt som kan bli riktigt bra när det är färdigt, bara för att upptäcka att det finns ett par "buggar" som man inte riktigt själv kan fixa...
Jag tänkte se om jag kunde göra ett AppleScript som märker av när min iPhone är i närheten av lägenheten och då gör saker när jag kommer och går. Idéen var att när jag lämnar min lägenhet så stoppas automatiskt musiken, Adium sätter rätt status osv (och i framtiden att lampor, högtalare, tv-spel etc stängs av med hjälp av X10 eller liknande - en chans att vara miljövänlig OCH lat ).
För att kolla om iPhonen är här eller ej pingas den över nätverket var 20:e sekund (lite overkill kanske men jag ville att allt ska vara redo när jag kommer in genom dörren).
Nu kommer den tråkiga biten: mobilen ansluter bara till nätverket när den är vaken. Dvs, jag kan inte bara vandra in genom dörren med mobilen i fickan och tro att allt är igång. Det är rätt lätt fixat genom jag får trycka igång mobilen, som automatiskt ansluter till nätverket, samtidigt som jag drar fram nycklarna. Går att överleva men inte perfekt.
Ett större problem däremot är att mobilen lämnar nätverket efter ca 30 sekunder om den är i vila och inte laddas, enda lösningen jag har kommit på är att lämna iPhonen i dockan hela tiden när man är hemma. Rätt effektiv påminnelse om att ladda mobilen men tar man med sig den ut i köket så hade hela huset släckts ner vilket kan bli lite tröttsamt i längden...
Å andra sidan använder jag app:en Remote med Stay Connected aktivt större delen av tiden jag spenderar hemma vilket borde hålla igång nätverksanslutningen och därmed minimera antalet blackouts...
Iaf här är första delen av mitt nya hobbyprojekt, ett AppleScript som kollar ifall iPhonen (eller vilken annan nätverksenhet som helst faktiskt) finns på nätverket och gör saker.
Om någon har några bra tips & idéer på hur man kan lösa nätverksproblemen och förbättra saker så hojta till!
Nu gäller det att klura ut hur man får X10 att fungera med en Mac...
-- ================= -- iPhone / Network Device Detection Script -- Mikael Mannberg 2008 -- ================= -- ================= -- Configuration -- ================= set DeviceIP to "192.168.1.67" global DeviceIP -- ================= -- Actions -- ================= to deviceConnected() say "The device has connected to the network." -- Do stuff here end deviceConnected to deviceLeft() say "The device has left the network." -- Do stuff here end deviceLeft -- ================= -- Main -- ================= set previousResult to 1 global oldResult set theResult to 1 global theResult repeat set previousResult to theResult set theResult to pingDevice() if not theResult = previousResult then if theResult = 1 then deviceConnected() else if theResult = 0 then deviceLeft() else display dialog "Error: " & theResult end if end if delay 20 end repeat -- ================= -- Functions -- ================= to pingDevice() try -- Ping the IP but only return the last line which reports whether packets were received or not. set Ping to (do shell script "ping -c3 " & DeviceIP & " | grep \"3 packets\"") set text item delimiters to " " set successfullPings to text item 4 of Ping as string set text item delimiters to "" if successfullPings > 0 then return 1 else return 0 end if on error number errNum set text item delimiters to "" return errNum end try end pingDevice