#!/bin/bash sleep 10 #pour eviter interference avec des send_sms actives par cron Numeros=("+336xxxxxxxx") #("numero" "numero" "numero") Les numeros autorises a faire des interactions ApiInteract='http://10.40.0.1/core/api/jeeApi.php?apikey=inscrireicilapikeypourlinteractionavecjeedom&type=interact' # lecture_sms(){ #recupere la liste des sms et les traite en boucle sudo mmcli -m 0 --messaging-list-sms | while read -r Line ; do #traite sms de type received if echo "$Line" | grep -q "(received)"; then echo "-- $Line" #recupere ID du message MsgID=$(echo $Line | cut -d "/" -f 6- | cut -d " " -f 1) echo "MsgID -- $MsgID" #recupere le numero de telephone MsgNumero=$(sudo mmcli -s $MsgID | grep "number:"| awk 'BEGIN { FS = ":" } ; { print $2 }'| sed 's/^[[:space:]]*//;s/[[:space:]]*$//') echo "Numero -- $MsgNumero" #traite le sms en verifiant si dans la liste des numeros autorises for NumTph in "${Numeros[@]}"; do if [ "$NumTph" == "$MsgNumero" ]; then echo "OK Numero de la liste" #recupere le texte du sms MsgTxt=$(sudo mmcli -s $MsgID | grep "text:"| awk 'BEGIN { FS = ":" } ; { print $2 }'| sed 's/^[[:space:]]*//;s/[[:space:]]*$//') echo "Texte -- $MsgTxt" #envoi le texte a Jeedom par l'API interaction et recupere la reponse Retour=$(sudo curl -s -X PUT -G $ApiInteract --data-urlencode "query=$MsgTxt") echo "Retour -- $Retour" #envoi au numero originaire de la demande un sms avec la reponse de Jeedom echo "Envoi sms a $MsgNumero avec $Retour" /var/www/html/plugins/script/data/send_sms.sh "$MsgNumero" "$Retour" fi done #suppression du sms echo "suppression sms $MsgID" sudo mmcli -m 0 --messaging-delete-sms=$MsgID fi #supression des sms de type unknown if echo "$Line" | grep -q "(unknown)"; then echo "-- $Line" MsgID=$(echo $Line | cut -d "/" -f 6- | cut -d " " -f 1) echo "MsgID -- $MsgID" echo "suppression sms type unknown $MsgID" sudo mmcli -m 0 --messaging-delete-sms=$MsgID fi #supression des eventuels sms de type sent if echo "$Line" | grep -q "(sent)"; then echo "-- $Line" MsgID=$(echo $Line | cut -d "/" -f 6- | cut -d " " -f 1) echo "MsgID -- $MsgID" echo "suppression sms type send $MsgID" sudo mmcli -m 0 --messaging-delete-sms=$MsgID fi done } #appel de la routine plusieurs fois pour meilleure reactivite car le script est sur cron 1 minute lecture_sms sleep 30 lecture_sms