#!/bin/bash ######################################################################## # Author: Fred (support@qo-op.com) # Version: 0.1 # License: GPL (http://www.google.com/search?q=GPL) ######################################################################## ## PUT YOUR PHONE COUNTRY CODE PREFIX HERE prefix="+33" ######################################################################## MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized ######################################################################## ######################################################################## # GET smsadmin PHONE NUMBER FROM ~/.zen/SMSADMIN FILE ######################################################################## [[ ! -f /home/pi/.zen/SMSADMIN ]] && echo "EXIT. Indiquez votre numéro de mobile dans /home/pi/.zen/SMSADMIN" && exit 1 SMSADMIN="$(cat /home/pi/.zen/SMSADMIN)" ## FRENCH NUMBER [[ ${SMSADMIN#"$prefix"} != "${SMSADMIN}" ]] && smsadmin=0${SMSADMIN#"$prefix"} || smsadmin="${SMSADMIN}" ## 06 ######################################################################## # GET INCOMING SMS CONTENT ######################################################################## ######################################################################## PHONE="$SMS_1_NUMBER" # gammu-smsd [[ ! ${PHONE} ]] && PHONE="$1" # CLI MODE [[ "${#PHONE}" < 10 || "${#PHONE}" > 12 ]] && echo "${PHONE} NON RECONNU. EXIT" && exit 1 ## Remove prefix: phone contains local number [[ ${PHONE#"$prefix"} != "${PHONE}" ]] && phone=0${PHONE#"$prefix"} || phone="${PHONE}" TEXT="$SMS_1_TEXT" # gammu-smsd [[ ! ${TEXT} ]] && TEXT="$2" # CLI MODE [[ "${TEXT}" == "" ]] && TEXT="TEST : ABC : 12345*" # TEST MESSAGE ######################################################################## ## LOG ######################################################################## echo "#################################################################" echo "SMS received : $(date)" echo "PHONE: $PHONE" echo "TEXT: $TEXT" ######################################################################## ######################################################################## # SWITCH CASE ######################################################################## CMD=$(echo "$TEXT" | awk '{print toupper($1)}') echo "COMMAND = $CMD" # Handle commands case "$CMD" in A|AIDE) ## ASK FOR HELP $MY_PATH/sms/AIDE.sh "$phone" & exit 0 ;; TEST) echo "TEST: sending ___ $TEXT _to_ $phone" gammu-smsd-inject TEXT "$phone" -text "$TEXT" exit 0 ;; *) echo "MESSAGE DE $phone POUR $CMD" MESSAGE=$(echo "$TEXT" | cut -d ' ' -f 2-) if [[ ${MESSAGE} ]]; then echo "${MESSAGE}" > /tmp/${phone}_message echo "${MESSAGE}" fi ## OK CMD=GROUPE suivi de message $MY_PATH/sms/GUILDE.sh "$phone" "$CMD" > /home/pi/.zen/SMS/debug.log ## TRY UGGLY WAY !!?? # sudo service gammu-smsd stop # sudo gammu sendsms TEXT "$phone" -text "Message pour ${CMD} bien reçu." # sudo service gammu-smsd start exit 0 ;; esac ## SEND A COPY OF INCOMING MESSAGE TO SMSADMIN # [[ "$phone" != "$smsadmin" ]] && gammu-smsd-inject TEXT "$smsadmin" -text "$phone : $TEXT" ## FILESYSTEM RIGHTS CORRECTION chown -R pi:pi /home/pi/.zen exit 0