Je me suis inspiré d'autres post sur le forum anglais notamment pour faire un lien entre le statut de mon plex et certaines actions de domoticz.
Par exemple lorsque je met le film en pause ça allume la cuisine pour que je puisse allez chercher un thé sans me prendre la table
et quand je refait play ça éteint la cuisine.
ça marche plutôt bien !
1) créer une variable utilisateur nommée plex
2) créer un script bash script_plex.sh :
Code : Tout sélectionner
#!/bin/bash
while [ 1 ]
do
plexuser="NOM_UTILISATEUR_PLEX"
domoticzvariablename="plex"
domoticzvariableIDX="IDX_VARIABLE_PLEX_DOMOTCZ"
plexstatus=$(curl -k -s 'https://IP_SERVEUR_PLEX:32400/status/sessions' | sed -n "/"$plexuser"/,/title/p")
if [[ $plexstatus == *"playing"* ]]
then
status="playing"
fi
if [[ $plexstatus == *"paused"* ]]
then
status="paused"
fi
if [[ $plexstatus != *"$plexuser"* ]]
then
status="idle"
fi
# Check existing status of variable in Domoticz
variablestate=$(curl -s "http://IP_DOMOTCZ:8080/json.htm?type=command¶m=getuservariable&idx="$domoticzvariableIDX"" | grep "Value")
# Check if Plex status matches existing variable set in Domoticz
if [[ $variablestate != *"$status"* ]]
then
echo "Status changed: $status"
curl -s "http://IP_DOMOTCZ:8080/json.htm?type=command¶m=updateuservariable&vname="$domoticzvariablename"&vtype=2&vvalue="$status"" 2>/dev/null 1>/dev/null
else
echo "Status in sync"
fi
sleep 1
done
6) avoir un script lua de variable : script_variable_plex.lua
Code : Tout sélectionner
-- script_variable_plex.lua
commandArray = {}
if (uservariables["plex"] == 'paused' and otherdevices['Group Cuisine'] == 'Off') then
commandArray['Group Cuisine']='On'
end
if (uservariables["plex"] == 'playing' and otherdevices['Group Cuisine'] == 'On') then
commandArray['Group Cuisine']='Off'
end
return commandArraySeul problème : ne n'aime pas trop l'idée d'avoir un script qui tourne tout la journée à bouffer des ressources du processeur.
je peux lancer le script par un crontab mais je ne sais pas comment le tuer...
Je dois pouvoir le lancer dans l'action ON d'un interrupteur de domoticz mais à nouveau comment l'arrêter ?
Est-ce qu'il y aurai un moyen de lancer le script bash à partir du moment ou la télé est allumé et de le tuer lorsqu'elle est éteinte ?
Comment le tuer ?