servicenow-chat-alert/146fa088ebdfmaster
README.md
ServiceNow Chat Alert
Userscript ServiceNow qui allume une lampe 230V lorsqu'un nouveau chat arrive dans n'importe laquelle de nos files.
![Boîte contenant le relay](img/yocto-power-relay-box.jpg)
Installation
- Installer Greasemonkey sous FireFox et Tampermonkey sous Chrome.
- Importer script/servicenow-chat-alert.user.js dans Greasemonkey/Tampermonkey
- Installer Python 3.5 (la librairie Yoctopuce ne supporte pas Python 3.6 au 27 janvier 2017)
Configuration
Modifier les urls de votre instance ServiceNow dans les balises @match dans l'entête du Userscript. Il ne faut pas enlever le navpage.do* sinon il ne se lancera pas dans la bonne iframe.
Si le port 8123 n'est pas libre sur votre ordinateur, vous pouvez le changer à la fin du fichier yocto/server.py ainsi que dans le Userscript dans la fonction sendStatus.
La prise est connectée au port B du relai. Ainsi A = off et B = on.
![Image du montage électrique](img/yocto-power-relay-inside.jpg)
Démarrer
Pour démarrer le serveur il faut utiliser cette commande :
python3.5 -m yocto.server
Démarrer en tant que service sous Mac Os
- Copier le fichier scripts/servicenow-chat-alert.plist dans ~/Library/LaunchAgents
- S'assurer qu'il soit en mode 644
- Contrôler le chemin Python, la commande which python3.5 doit retourner le même chemin que celui de la 1er balise string de la clé ProgramArguments
- Charger ce service avec la commande launchctl load ~/Library/LaunchAgents/servicenow-chat-alert.plist
- Si ça a marché : launchctl start ~/Library/LaunchAgents/servicenow-chat-alert.plist
Pourquoi Python au lieu du VirtualHub ?
Yoctopuce propose une librairie EcmaScript qui utilise les modules npm. Importer ces modules depuis un Userscript est compliqué. De plus la balise @require de Greasemonkey/Tampermonkey n'importe les dépendances qu'à l'installation du Userscript. Chaque essai oblige à réinstaller le script, bref, ça prend trop de temps.
La version Ecmascript v2 + python est simple. Si quelqu'un trouve comment utiliser le VirtualHub depuis un Userscript, j'offre une bonne grosse bière.
Le VirtualHub aurait pour avantage d'offrir un panneau de contrôle du relai. Notamment on pourrait cliquer sur "on" et "off" pour tester que tout va bien. Et si une fois on a plusieurs relais, le VirtualHub rend leur identification beaucoup plus facile.
Un autre avantage est qu'il est ultra facile d'installer le VirtualHub en tant que service. Il suffit d'ajouter l'argument -i à la commande pour que ça se fasse automagiquement.