Saya mencari solusi yang memulai timer kapan saja saya masuk ke wifi kantor saya dan berhenti ketika saya pergi. Pada dasarnya harus mencatat jam yang saya habiskan di kantor. Saya sadar bahwa ada perangkat lunak iOS untuk ini, tetapi saya suka waktu baterai saya seperti sekarang.
Bonus tambahan akan jika solusinya bisa mencatat jam di iCal secara otomatis.
Jawaban:
ControlPlane mungkin sesuatu yang bisa Anda gunakan untuk mencapai ini:
Singkatnya, Anda bisa memberi ControlPlane "sumber bukti", seperti
Kemudian lakukan serangkaian tindakan saat memasukkan (atau meninggalkan) konteks tertentu, seperti
Pemikiran saya di sini adalah bahwa jika ControlPlane tahu apa yang disebut wifi kantor Anda, Anda dapat membuat aturan sehingga ketika Anda terhubung, Anda memulai aplikasi atau skrip shell untuk mulai mencatat jam Anda. Kemudian, ketika Anda memutuskan koneksi, Anda menghentikan aplikasi atau menjalankan skrip shell lain untuk berhenti mencatat jam Anda.
Saya menyadari ini mungkin bukan solusi "peluru perak" yang Anda cari, tetapi mungkin patut dicoba. Anda masih harus menemukan semacam aplikasi / skrip pengatur waktu, tetapi mungkin itulah bagian yang lebih mudah dari masalahnya :)
sumber
Anda dapat menggunakan perintah
networksetup -getairportnetwork <device>
untuk mendapatkan nama jaringan nirkabel yang saat ini terhubung (di mana ID perangkat bandara Anda - mungkin en1).Dari sana, Anda dapat menggunakan launchd untuk menjadwalkan skrip untuk dijalankan setiap 5 menit atau lebih yang akan mendapatkan nama jaringan nirkabel yang terhubung dan masuk saat Anda pertama kali terhubung ke Wi-Fi kantor Anda.
Bergantung pada apa yang Anda inginkan, Anda kemudian dapat menggunakan skrip yang sama untuk mencatat entri lain ketika pemberitahuan Anda tidak lagi terhubung ke wi-fi pekerjaan Anda, atau untuk memposting semacam pemberitahuan (mungkin menggunakan growl) pada interval tertentu. Sesuatu di sepanjang baris "Saya sudah bekerja selama 9 jam - waktu untuk pulang".
Atau Anda dapat menggunakan waktu mulai / berakhir di log yang sedang berjalan dan menulis skrip lain untuk menguraikannya dan membuat semacam laporan.
Saya mendapatkan beberapa jenis skrip ini, jika waktu memungkinkan, saya akan menambahkan sesuatu di sini.
man launchd
cukup bermanfaat.sumber
Berikut opsi lain untuk orang yang mencoba melakukan ini.
Daripada menjalankan perintah setiap 5 menit, Anda dapat menjalankannya setiap kali folder
/Library/Preferences/SystemConfiguration/
berubah. Ini umumnya terjadi hanya ketika ada semacam perubahan jaringan.Anda bisa melakukan ini menggunakan Lingon atau membuat launchd plist Anda sendiri yang akan terlihat seperti ini:
Jelas Anda ingin mengganti
/path/to/your/script.sh
ke jalur yang sebenarnya.Perhatikan bahwa Anda mungkin perlu memasukkan 'sleep 10' di dekat bagian awal skrip untuk memberi Mac kesempatan untuk melakukan semua penyesuaian setelah perubahan jaringan terjadi.
Juga, cara termudah untuk mendapatkan nama (SSID) dari jaringan AirPort yang terhubung dengan Anda adalah:
The
airport
perintah dapat ditemukan di/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
dalam 10,8 (dan saya percaya 10,7 dan 10,6)Saya biasanya menautkannya ke / usr / local / bin:
Anda mungkin perlu menjalankan
sudo
perintah itu, tergantung pada bagaimana pengaturan / usr / local / bin / Anda.Terakhir namun tidak kalah pentingnya, Anda perlu mempertimbangkan apa yang harus dilakukan ketika Anda meletakkan laptop Anda untuk tidur. Misalnya, jika Anda berada di kantor mulai jam 9-5 dan tidur laptop Anda jam 5, Anda ingin merekam itu juga, kan? Kalau tidak, bagaimana Anda akan tahu kapan Anda pergi?
Untuk itu saya merekomendasikan SleepWatcher 2.2 yang tersedia dari http://www.bernhard-baehr.de (gratis, termasuk kode sumber). Itu akan memungkinkan Anda menjalankan skrip shell setiap kali Mac Anda bangun atau tidur.
Satu-satunya pertimbangan lain adalah apa yang harus dilakukan jika Anda logout atau mematikan komputer Anda, bukannya tidur itu. Saya tidak punya jawaban yang bagus untuk itu. Secara teoritis LogoutHook akan menjadi jawabannya, tetapi itu tampaknya tidak dapat diandalkan, terutama pada shutdown vs logout.
Saran yang sama sekali tidak terkait
Anda menyebutkan bahwa Anda memiliki perangkat iOS. Mungkin salah satu cara untuk mengatasi masalah ini adalah dengan membuat Pengingat kapan pun Anda Tiba atau Tinggalkan pekerjaan. Ketika pengingat berbunyi, memicu Siri dan mengatakan "Ingat bekerja kiri jam 5 sore" atau "Ingat tiba di kantor jam 9 pagi" dan Siri akan mencatatnya. Tidak elegan atau sepenuhnya otomatis, tetapi jika saya melihat pelacakan jam yang dapat ditagih, saya tidak akan keberatan sedikit redundansi :-)
sumber