Avec le télétravail s’inscrivant dans les moeurs durablement, on se retrouve de plus en plus à la maison. Cela crée de nouvelles habitudes et donc de nouveau besoin d’automatisation!
Le but est de récupérer le statut Teams via sa machine windows afin de le mettre à jour sur sa domotique Jeedom. Cela permet de faire des scénarios pour les lumières, le chauffage, etc.
Le script d’origine est fait pour homeAssitant par EBOOZ. Je l’ai modifié afin de le rendre compatible avec Jeedom, gérer les caractères « spéciaux » en UTF8 sous powershell, par spéciaux on entend simplement les caractères accentués de la langue française… Pas mal de modifications de variables pour rendre ce script multilingue également. J’ai revu la partie installation pour la rendre plus générique, celle d’origine étant plus hasardeuse en fonction du répertoire courant.
La configuration du virtuel
Création d’un virtuel pour gérer l’état du statut et de l’activité :
Une fois créé, enregistrez pour obtenir les 2 ID utilisés par le script.
Récupération de l’url API via l’onglet équipement :
Vous avez récupéré l’url ainsi que l’apikey (grisé sur l’image).
Le script TeamsStatus
Le TeamsStatus est composé d’un script powershell, d’un fichier de configuration et du binaire nssm.exe qui permet de créer facilement un service sous Windows pour un script.
Il peut également service à faire un update manuel, utilise en cas de test :
C:\Scripts\Get-TeamsStatus.ps1 Occupé
Installation du script
Récupérez le projet git via un fichier zip ou un git clone :
git clone https://github.com/belgotux/TeamsStatus.git
Copiez le fichier Settings de votre langue :
cp Settings-fr.ps1 Settings.local.ps1
- Remplacez
<Insert token>
avec le token Jeedom que vous avez généré - Remplacez
<UserName>
avec le nom d’utilisateur local de la machine qui est logué dans Teams et que vous voulez monitorer - Remplacez
<Jeedom URL>
avec l’URL de votre serveur Jeedom - Remplacez
<ID>
de statut par l’ID du virtuel que vous avez créé - Remplacez
<ID>
d’activité par l’ID du virtuel que vous avez créé
Installez le script avec l’invite de commande admin PowerShell :
New-Item -Path "c:\Scripts\" -ItemType Directory
Copy-Item -Path .\nssm.exe -Destination "c:\Scripts\"
Copy-Item -Path .\Settings.local.ps1 -Destination "c:\Scripts\"
Copy-Item -Path .\Get-TeamsStatus.ps1 -Destination "c:\Scripts\"
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Unblock-File c:\Scripts\Settings.local.ps1
Unblock-File c:\Scripts\Get-TeamsStatus.ps1
Start-Process -FilePath "c:\Scripts\nssm.exe" -ArgumentList 'install "Microsoft Teams Status Monitor" "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "-command "& { . C:\Scripts\Get-TeamsStatus.ps1 }"" ' -NoNewWindow -Wait
Start-Service -Name "Microsoft Teams Status Monitor"
Après avoir exécuter ces commandes, démarrez l’application teams pour voir si le statut remonte bien dans votre domotique Jeedom.
Widget Jeedom
Vous devriez obtenir ce widget dans votre Domotique Jeedom, avec votre status selon votre état, en ligne, occupé, hors connexion :
Maintenant à vous de voir ce que vous voulez en faire dans vos scénarios! Piloter un éclairage, le chauffage, un bandeau led, etc!
Attention que ce statut est remonter dans Jeedom où que vous soyez! Pensez à l’associer dans vos scénarios avec un statut de présence à la maison. Pour éviter d’allumer votre chauffage quand vous êtes en présentiel au bureau 😉
Laisser un commentaire