Voici la suite d’un billet paru ici https://easydomoticz.com/maison-pilotee-domoticz-windows-sait-tweeter concernant l’ajout de la fonction twitter à Domoticz sous Windows grâce aux Powershell.
Nous y avons vu la mise en place des autorisations twitter et de la mise en place du module PS associé.
Maintenant la commande Send-Tweet permet d’envoyer un message à un utilisateur Twitter depuis votre compte.
Send-Tweet -Message '@utilisateur_twitter Message_ Twitter'
Si vous n’indiquez pas d’utilisateur ce tweett est envoyé dans votre propre compte.
Ou une autre syntaxe :
Send-Tweet 'porte ouverte' Send-Tweet alerte
Remarquez l’absence de guillemets si votre tweet ne contient qu’un seul mot sinon les simples guillemets sont obligatoires
ATTENTION – ATTENTION
AUCUN CARACTERE AUTRE QUE ALPHABETIQUE OU NUMERIQUE N’EST ACCEPTE DANS LE TWEET
DONC PAS DE tirets, points, caractères 100 % français (éàè…)
ATTENTION – ATTENTION
Dans ce cas le tweet n’est pas recu
Les scripts .bat et .ps1
Comme nous avions vu dans d’autres billets il nous faudra un fichier en .ps1 contenant nos instructions powershell et un lanceur en .bat pour Domoticz.
Mon fichier porte_ouverte_tweet.ps1 contient
Send-Tweet 'porte ouverte'
et porte_ouverte_tweet.bat contient le désormais classique :
Powershell.exe -WindowStyle hidden -nologo -executionpolicy remotesigned -Command « & ‘C:\Program Files (x86)\Domoticz\scripts\powershell\porte_ouverte_tweet.ps1′ »
Domoticz
Affectez au action on /action Off l’appel de votre script .bat
et voila
Lors de vos tests n’oubliez pas que Twitter refuse de publier un tweet dont le message est identique à un précédemment reçu. Prenez l’habitude de changer votre message à chaque envoi.
Vérifiez que dans la fenêtre Powershell qui s’ouvre il n’y ait pas de messages d’erreur en rouge et vérifiez dans Powershell ISE que votre script fonctionne.