Rele Shelly comandato da 3cx Con autorizzazione interni

SISTEMI ISDN VOIP ANALOGICI LTE

Relè Shelly comandato dal centralino 3CX
con autorizzazione a solo alcuni interni

 Qui vi presentiamo una nostra applicazione dove vogliamo condividerla si tratta di comandare tramite
il nostro centralino 3cx on Promise  attenzione solo On promise un rele’ Shelly sia  wifi  che lan.
Shelly sono semplicemente dei rele’ molto compatti ed economici che una volta connessi  alla rete wifi o alla rete lan

si possono comandare tramite app oppure da web oppure tramite una stringa di comando lanciata dal nostro 3CX.
Shelly è un produttore ungherese https://www.shelly.cloud/   lo trovate in rete  nei vari siti Amazon o Ebay oppure https://www.shellyitalia.com/

Attuatore di commutazione Wi-Fi WLAN Shelly Plus 1 16 A SHELLY SHELLY PLUS 1 Shelly Pro 2 SHELLY SHELLY PRO2

 

 

 

 

 

 

 

 

Una volta che siete in possesso dell’apparecchio diamo per scontato che lo avete gia’ collegato alla rete wifi o lan e gli avete assegnato un ip statico. Noi consigliamo di abilitare l’autenticazione tanto per non insorgere a problemi di sicurezza attenzione alla password con i caratteri speciali.

Bene ora creiamo i 2 script per attivare il nostro rele’ Shelly per 2 sec.

Ci colleghiamo tramite putty o da dos con ssh o quello che volete al nostro server 3CX installiamo il comando curl digitando apt-get install curl    è di soli 175kb.

Lo script dovra’ essere copiato all’interno della directory /var/lib/3cxpbx/ quindi nano /var/lib/3cxpbx/rele1.sh

 

Prima cosa creiamo un semplice file txt con nome int_autorizzati.tx con l’elenco dei numeri interni autorizzati a comandare l’apertura 

*****************************************************************************************************************

# elenco degli interni autorizzati 
200
201
206
222
225

Salviamo il file ed usciamo dall’editor

******************************************************************************************************************

Creiamo lo script di comando con nome rele1.sh
scriviamo all’interno del file i seguenti comandi relativi ad un Shelly 1 con ip fisso 192.168.100.66 il quale vogliamo eccitare per 2 secondi

 

#!/bin/bash
#
# Imposta le variabili per l’indirizzo IP, nome utente e password del dispositivo
#
ip_address=”192.168.100.66″
username=”admin”
password=”Shelly_Password”
tempo_attesa=1

# Leggi gli interni autorizzati dal file esterno
mapfile -t int_autorizzati < int_autorizzati.txt

# Verifica se il numero dell’interno chiamante è autorizzato
function verifica_autorizzazione() {
numero_interno=”$1″
for interno in “${int_autorizzati[@]}”; do
if [ “$interno” = “$numero_interno” ]; then
return 0 # Autorizzato
fi
done
return 1 # Non autorizzato
}

# Apri la porta se l’autorizzazione è confermata
if verifica_autorizzazione “$1”; then
curl -u “$username:$password” “http://$ip_address/relay/0?turn=on”
sleep “$tempo_attesa”
curl -u “$username:$password” “http://$ip_address/relay/0?turn=off”
exit
fi

*******************************************************************************

Salviamo tramite CTRL e X una volta salvato diamo i giusti diritti
chown phonesystem:phonesystem /var/lib/3cxpbx/rele1.sh
chmod 500 /var/lib/3cxpbx/rele1.sh

Per testarlo basta eseguire il comando ./var/lib/3cxpbx/rele1.sh 200 (dove 200 è uno degli interni autorizzati ) ed il rele’ dovrebbe eccitarsi per 2 secondi
ora proviamo con ./var/lib/3cxpbx/rele1.sh 205
il releì non dovrebbe fare nulla. 

Ora andiamo sull’interfaccia di 3cx > Risponditore digitale e lo configuriamo come segue dove 807 sara’ il nostro interno abbinato al comando del Rele’

 

Bene a questo punto se voi dai soli teleofni autorizzati chiamate l’interno 807 il rele’ partira’ per 2 secondi. 

Se hai bisogno di informazioni Contattaci