Continuons de découvrir le couple Powershell/Domoticz en illustrant l’envoi de twitts grâce à un script que nous pourrons déclencher par les action ON/Action Off.
Le point de départ est cette référence ici dont je vais traduire les explications en Français.
Créez vous un compte si ce n’est déjà fait.
Un numéro de téléphone est obligatoire dans votre profil Twitter, Complétez le maintenant , c’est dans le profil puis « Paramètres » puis dans le menu « Mobile ».
Gestion des authorisations
- Il faut se rendre à la page https://apps.twitter.com/ pour créer une nouvelle app
- Remplissez les champs obligatoires avec n’importe quoi mais indiquez http://le_nom_d_un_vrai_site_web.tld (http:// obligatoire)
- Validez et créez l’appli
Relisez ce qui est marqué tout en haut de cette page sous le titre Twitter et le numéro de téléphone obligatoire.
- Une fois cette page validée rendez vous dans l’onglet »Keys And Acces Tokens »
- Jetez un oeil dans le « Acces Level » et si vous n’avez pas « Read and Write » modifiez les « Permissions »
Nous devons être en Read/write
- Descendez dans la page et utilisez « Create my Access Token »
Et nous avons tous les éléments pour notre script twitter
Gardez cette page ouverte pour la suite, nous aurons besoin de faire des copier/coller de nos codes obtenus ici.
Le script Powershell
Le truc magique c’est que sous les PS on a un équivalent de pip : iex
Pour télécharger le script twitter il faut lancer
iex (New-Object Net.WebClient).DownloadString("https://gist.githubusercontent.com/stefanstranger/2138dc710576bc40b64b/raw/bfd25a0e7363e9a1906908b0695ebcffaa508276/InstallMyTwitterModule.ps1")
Vous verrez sans doute un message en rouge disant que le module ne peut être importé car le truc moins magique c’est que suivant la valeur de la variable $env:psmodulepath ces scripts peuvent/ou plutôt ne peuvent pas s’exécuter.
En effet c’est cette variable qui dit au système ou aller chercher les modules PS sur le disque dur. Sur ma machine $env:psmodulepath me renvoie
PS C:\windows\system32> $env:psmodulepath E:\Mes Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerShell\Modules; C:\windows\system32\WindowsPowerShell\v1.0\Modules\
Et malheureusement sur mon PC ces scripts ont été téléchargés dans C:\Users\user_mon_pc\Documents\WindowsPowerShell\Modules\MyTwitter-master et MyTwitter.
Le plus simple étant de recopier les 2 répertoires MyTwitter et MyTwitter-Master dans un des chemins affichés par la variable $env:psmodulepath
Sinon un ajout du chemin par :
$env:PSModulePath = $env:PSModulePath + « ;C:\Users\user_mon_pc\Documents\WindowsPowerShell\Modules »
fonctionnera aussi.
Dans une console PS tapez maintenant
Import-Module -Name MyTwitter
on ne doit pas avoir d’erreurs en rouge qui s’affichent.
Config du script
Lancez , toujours dans un shell Powershell
New-MyTwitterConfiguration
il vous est demandé vos APIKEY, Secret, Token… copiez/coller les depuis la page web Twitter vers ici et retrouvons nous dans un prochain article pour la suite des opérations.