Comment automatiser l’ouverture des logiciels de synchronisation des montres GPS

Le sandwich du dimanche matin
3 novembre 2015
Salomon fait de Toulouse la capitale de l’outdoor
19 novembre 2015

Non le blog ne s’est pas transformé en dosedegeek en une nuit, mais j’ai découvert hier un soft qui a enfin solutionné un problème que j’avais depuis longtemps… Je m’explique :

Comme toutes les montres GPS ma suunto ambit utilise un logiciel pour communiquer avec la plateforme online, et ce logiciel doit être installé sur le PC et lancé pour qu’il y ai transfert des données de la montre à la plateforme. Le truc c’est que j’utilise au moins deux ordinateurs et mon smartphone pour décharger mon ambit, et je n’ai pas envie d’avoir le programme de liaison lancé en permanence sur les deux ordinateurs. 

Dans mon exemple je j’utilise ma Suunto avec le logiciel moveslink2 sur un MAC, mais la « solution » est transposable chez garmin, polar &co. En revanche, je ne connais pas l’équivalent du logiciel : Hammerspoon sur PC mais sans aucun doute, il doit exister.

hammerspoon_logo

La solution

  • Elle consiste à utiliser le logiciel Hammerspoon, qui permet d’automatiser des taches et de surveiller des évennements à partir de script au format .lua
  • Téléchargez le soft et installez le comme n’importe quel autre logiciel
  • Autorisez-le dans Préférence Système > Sécurité et confidentialité > Accessibilité

hammerspoon_ax

  • Ouvrez les préférences d’hammerspoon (clique droit sur l’icon du menu) : cochez Launch Hammerspoon at login et décochez Show dock icon

hammerospoon_pref

  • editez le fichier
    ~/.hammerspoon/init.lua
    avec un éditeur comme TextWrangler
  • ajoutez y le code suivant :
-- Auto Detect Suunto Ambit
local usbWatcher = nil

function usbDeviceCallback(data)
if (data["productName"] == "Ambit" ) then
if (data["eventType"] == "added") then
hs.alert.show("Ambit connectée")
hs.application.launchOrFocus("Moveslink2")
elseif (data["eventType"] == "removed") then
app = hs.appfinder.appFromName("Moveslink2")
hs.alert.show("Ambit déconnectée")
app:kill()
end
end
end

usbWatcher = hs.usb.watcher.new(usbDeviceCallback)
usbWatcher:start()
  • enregistrez vos modifications et rechargez la configuration (clique droit sur le menu, reload config)

hammerspoon_reloadconfig

That’s all folks!

à partir de maintenant des que vous connectez la montre au port usb moveslinks2 se lance automatiquement et des que vous la déconnectez le programme est automatiquement fermé.

Notes

Evidemment remplacé un programme résident par un autre programme résident qui lance le premier cela n’a pas beaucoup d’intérêt, mais Hammerspoon sait fait beaucoup de choses. Ceci est juste un cas pratique extrait des tutoriaux disponibles sur le site www.hammerspoon.org/go/ à vous de l’adapter à vos besoins quotidiens.

Si vous utilisez un autre équipement modifiiez le code en remplaçant Ambit par le nom du périphérique affiché dans le Rapport système d’osx et Moveslink2 par le nom du logiciel à piloter.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *