[GUIDA] Spegnere il PC con l'UPS collegato al NAS via USB

Guide, Tips, Manuali.
burghy86
Moderatore
Moderatore
Messaggi: 11357
Iscritto il: martedì 11 settembre 2012, 18:59

[GUIDA] Spegnere il PC con l'UPS collegato al NAS via USB

Messaggio da burghy86 »

spesso mi viene fatta questa domanda: ho installato il nas e ho collegato il gruppo di continuità usb allo stesso, come faccio a far spegnere in caso di mancanza di corrente anche i pc collegati sotto lo stesso gruppo di continutà?
inizialmente non sapevo che rispondere, poi banalmente come mi è stata posta ho trovato la soluzione proprio da diskstation.

PREREQUISITI:
Nas synology
un pc windows configurato con ip fisso (cercate in internet come fare) (sto lavorando anche per i mac)
un gruppo di continutà compatibile collegato via usb al nas

GUIDA

collegarsi alla dsm ed andare in pannello di controllo/hardware e cliccare sul tab "ups"

Immagine
  • impostare l'utilizzo dell'ups e farlo spegnere dopo 60 secondi (il mio ups è da 1600va quindi è meglio non rischiare, se avete ups di altre misure allungate i tempi)
  • abilitare l'ups network server e impostare l'ip del vostro pc che volete far spegnere con il nas
ora abbiamo impostato un server nut (per i digiuni di terminologia: wikipedia sito progetto)


ora dobbiamo impostare il client, per farlo dobbiamo scaricare winNUT e installarlo sul computer:

facciamo partire il configuration tool dal link in programmi:

Immagine

clicchiamo sul primo tasto edit, troverete il file di configurazione di winNUT e potete modificarlo a piacimento, io vi posto il mio che ho gia impostato e tradotto gli avvisi, per utilizzare il mio file, fate una copia dell'originale, eliminate tutto il testo, incolate il codice qui sotto dopo averlo modificato:

N.B. la prima riga andrà modificata in base all'ip del vostro nas, non lasciate 192.168.1.x

Codice: Seleziona tutto

MONITOR ups@192.168.1.x 1 monuser secret slave
MINSUPPLIES 1
NOTIFYCMD "c:\\Program Files\\WinNUT\\alertPopup.exe"
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
NOTIFYMSG ONLINE "UPS %s collegato alla rete elettrica"
NOTIFYMSG ONBATT "Funzionamento UPS a Batteria %s"
NOTIFYMSG LOWBATT "batteria ups quasi scarica - livello critico"
NOTIFYMSG SHUTDOWN "Il Pc ora si sta per spegnersi %s"
NOTIFYMSG FSD "l'ups sta spegnendo il nas %s"
NOTIFYMSG LOWBATT "livello carica critico %s"
NOTIFYMSG COMMOK "comunicazione nas-ups stabilita correttamente"
NOTIFYMSG COMMBAD "comunicazione nas-ups non riuscita"
NOTIFYMSG NOCOMM "comunicazione pc-nas non riuscita"
NOTIFYMSG REPLBATT "Batteria danneggiata, sostituirla al piu' presto"
RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5
nd: tutti questi codici potete trovarli nel file originale e modificarli direttamente da li, ve li ho copiati per comodità senza le varie descrizioni.

un piccolo approfondimento:

la riga: ups@192.168.1.x 1 monuser secret slave è quella che permette il collegamento.
ups è il nome del servizio NUT dato dal nas
192.168.1.x è l'ip del nas (non so se funziona anche con il nome.. bisognerebbe provare)
monuser è lo username impostato sul server di default
secret è la password impostata sul server di default
slave configura winnut come client, cioè sta agli ordini del master che sarà il nostro nas


N.B. la prima riga andrà modificata in base all'ip del vostro nas, non lasciate 192.168.1.x



salvate il file e tornate nel configuration tool

Immagine

flaggate "install as service" e "automatic startup" questo vi permetterà di far partire il servizio ogni volta che accendete il pc

potete impostare un timer ma io lo sconsiglio visto che già vi arriva il messaggio che sta andando in batteria e poi aspetta ancora 60 secondi.

cliccate "apply and start WinNUT" e il vostro pc sarà collegato

quindi cliccate ok, ora siete protetti e il pc si spegnera dopo 60 secondi come il nas.

per fare la prova del nove staccate la usb dell'ups dal nas dovrebbe venire un pop up sul computer con scritto:

Immagine

e quando lo ricollegherete:

Immagine

BUON LAVORO

se la mia guida vi è piaciuta potete offrirmi una birra (rossa se c'è)

se ci sono problemi scrivete pure.


N.B.

il firewall del nas deve avere aperta la porta 3493 per funzionare, accertatevi che lo sia

N.B. 1

Se state lavorando in una azienda e volete più sicurezza potete modificare l'utente e la password di default sul nas per il collegamento ups, dovrete collegarvi via telnet/ssh e modificare i seguenti file:

/usr/syno/etc/ups/upsd.users

modificare le seguenti righe (potete anche aggiungere un user)

Codice: Seleziona tutto

# MONITOR myups@localhost 1 upsmon pass master	(or slave)
[monuser]
		password = secret
		upsmon master
potete configurare anche tutte le varie opzioni di porte, nomi ttl e altro qui:

/usr/syno/etc/ups/ups.conf

e modificare le righe qui:

Codice: Seleziona tutto


pollinterval = 5

[ups]
	driver = blazer_usb
	port = auto
	#community = name
	#snmp_version = v2c

N.B. 2

in molti mi scriveranno per collegare anche il proprio mac al nas, è possibile!
il progetto potete trovarlo qui:indirizzo1 indirizzo2

N.B. 3

con windows vista puo essere che le notifiche non appaiano bene, in questo caso bisogna abbassare il controllo utente al minimo oppure andare sull'event viewer e impostare i messaggi
NUOVO CANALE DISCORD
PARTECIPATE NUMEROSI:

https://discord.gg/McP3d4m2pG



Passare dalla sezione presentazioni e leggere il regolamento firma obbligatorio

siamo una community, aiutateci a sentirci parte di qualcosa e non un helpdesk
Non do aiuto in privato ma sul forum a tutti!!
Un grazie ci spinge a lavorare meglio
------------------------------------------------------------
  • UPS: apc
  • GTW: fritzbox o TP-LINK TD-W8970 ISP: [ADSL] intred(20000/1024/0) IP:[pubblico]
  • SWC: hp gigabit 8 porte with poe
  • NAS: ds213, ds213j, ds415+ 720+ dmv dal 6.2 alla 7. qnap ts212p ts22, all hd con wdred/ironwolf da 2/6tb
  • CLI: win 10, win11 e ubuntu
    [altro]
  • 3 smartphone android, lettore bd with allshare samsung, vodafone tv, raspberry p2 e p3
gianni24
Utente
Utente
Messaggi: 13
Iscritto il: venerdì 18 ottobre 2013, 8:31

per interrogare l'UPS ed accendere/spegnere il beeper

Messaggio da gianni24 »

Con gli script che vi allego si può inoltre interrogare l'UPS tramite il NAS per avere alcune informazioni utili.

1) occorre modificare il file di configurazione di nut del NAS, seguendo la guida di burghy86, ed aggiungere all'utente "monuser" le righe:

Codice: Seleziona tutto

instcmds = all
actions = set
ho visto che nella guida non è spiegato come usare il "vi" per farlo, non so se è spiegato altrove, ma è molto semplice.

Una volta entrati nel sistema linux del NAS come root ed essersi posizionati nella cartella giusta con cd (change directory) e pwd (print working directory) basta "aprire" in edit il file voluto con vi <nomefile>. A questo punto ci si sposta nel punto in cui si vuole inserire con le frecce e quindi si preme "i" (senza virgolette). Dopo aver finito si esce dalla modalità di modifica con esc, e per chiusere salvando il comando è ":wq" (sempre senza virgolette).

2) per gestire il beeper dell'UPS si può ora accedere tramite telnet, e lanciare la seguente sequenza di comandi:

per disattivare:

Codice: Seleziona tutto

telnet 192.168.1.x 3493
  username monuser
OK
  password secret
OK
  login ups
OK
  instcmd ups beeper.off
OK
  get var ups ups.beeper.status
VAR ups ups.beeper.status "disabled"
per attivare:

Codice: Seleziona tutto

telnet 192.168.1.x 3493
  username monuser
OK
  password secret
OK
  login ups
OK
  instcmd ups beeper.on
OK
  get var ups ups.beeper.status
VAR ups ups.beeper.status "enabled"
3) per "leggere" le informazioni UPS invece il comando è:

Codice: Seleziona tutto

telnet 192.168.1.x 3493 OK list var ups
il server NUT che gira sul NAS risponde con un elenco di informazioni, tra cui sono utili:

Codice: Seleziona tutto

	ups.test.result ......... risultato dell'ultimo test
	battery.charge .......... % carica della batteria
	battery.runtime ......... durata prevista in secondi
	input.voltage ........... tensione della rete
	input.transfer.high ..... limite per sovratensione
	input.transfer.low ...... limite per sottotensione
	ups.beeper.status ....... stato della suoneria
	ups.realpower.nominal ... potenza massima erogabile
	ups.load ................ % potenza erogata
	ups.status .............. stato attuale
Per leggere le informazioni si può usare lo script che segue. Va salvato come GetUpsInfo.pl (o con il nome che preferite), e ricordatevi di sostituire l'indirizzo ip del vostro NAS.

Codice: Seleziona tutto

#uso telnet per chiedere informazioni all'UPS tramite il NAS
use Net::Telnet;
$telnet = new Net::Telnet (
	Host=>'192.168.1.x', 
	Port=>'3493', 
	Timeout=>10, 
	Errmode=>'die'
);
$telnet->print('list var ups');
($prematch, $match) = $telnet->waitfor('/END LIST/i');

#scrivo il file ricevuto grezzo
open OUT, ">GetUpsInfo.txt";
print OUT $prematch;
close OUT;

#estraggo le informazioni rilevanti
$powerTot=$1 if($prematch =~ m@ups.realpower.nominal "(\d*?)"@si);
$powerPct=$1 if($prematch =~ m@ups.load "(\d*?).0"@si);
$powerAct=int($powerPct/100.0*$powerTot);
$batteryChg=$1 if($prematch =~ m@battery.charge "(.*?)"@si);
$batteryTmp=$1 if($prematch =~ m@battery.temperature "(.*?)"@si);
$batteryRtimeSec=$1 if($prematch =~ m@battery.runtime "(.*?)"@si);
$batteryRtimeMin=int($batteryRtimeSec/60);
$batteryStatus=$1 if($prematch =~ m@ups.status "(.*?)"@si);
$beeperStatus=$1 if($prematch =~ m@ups.beeper.status "(.*?)"@si);
$beeperStatus =~ s@enabled@acceso@;
$beeperStatus =~ s@disabled@spento@;
$batteryStatus =~ s@OL@On Line@;
$batteryStatus =~ s@OB@On Battery@;
$batteryStatus =~ s@LB@Low Battery@;
$batteryStatus =~ s@FSD@Force Shut Down@;

#mostro le info
print "--------------------\n";
print "carica: $batteryChg"."%\n";
print "potenza: $powerAct W\n";
print "temperatura: $batteryTmp øC\n";
print "autonomia: $batteryRtimeMin min\n";
print "stato: $batteryStatus\n";
print "beeper: $beeperStatus\n";
print "--------------------\n";
<>;
Lo script legge le informazioni complete dal NAS (e le scrive nel caso servano complete nel file GetUpsInfo.txt), decodifica le più importanti e le presenta a schermo.

Per accendere / spegnere il beeper si può invece usare il seguente script, ToggleBeeper.pl

Codice: Seleziona tutto

#uso telnet per chiedere informazioni all'UPS tramite il NAS
use Net::Telnet;
$telnet = new Net::Telnet (
	Host=>'192.168.1.x', 
	Port=>'3493', 
	Timeout=>10, 
	Errmode=>'die'
);
#effettuo il log al NAS
$cmd='username monuser';
$telnet->print($cmd);
($prematch, $match) = $telnet->waitfor('/OK/i');
$cmd='password secret';
$telnet->print($cmd);
($prematch, $match) = $telnet->waitfor('/OK/i');
$cmd='login ups';
$telnet->print($cmd);
($prematch, $match) = $telnet->waitfor('/OK/i');
#leggo lo stato attuale del beeper
$cmd='get var ups ups.beeper.status';
$telnet->print($cmd);
($prematch, $match) = $telnet->waitfor('/ups.beeper.status "(.*?)"/i');
$beeperStatus=$1 if($match =~ m/"(.*?)"/si);
print "--------------------\n";
if($beeperStatus =~ m/enabled/i){
	print "disattivo il beeper\n";
	$telnet->print('instcmd ups beeper.off');
	($prematch, $match) = $telnet->waitfor('/OK/i');
}else{
	print "attivo il beeper\n";
	$telnet->print('instcmd ups beeper.on');
	($prematch, $match) = $telnet->waitfor('/OK/i');
}
#do tempo all'UPS di cambiare stato
sleep 5;
#leggo nuovamente lo stato del beeper
$cmd='get var ups ups.beeper.status';
$telnet->print($cmd);
($prematch, $match) = $telnet->waitfor('/ups.beeper.status "(.*?)"/i');
$beeperStatus=$1 if($match =~ m/"(.*?)"/si);
$beeperStatus =~ s@enabled@acceso@;
$beeperStatus =~ s@disabled@spento@;
print "beeper: $beeperStatus\n";
print "--------------------\n";
<>;
Per eseguire gli script occorre installare il perl (la versione che uso io è free e l'ho presa qui: http://www.activestate.com/activeperl/downloads).

Ciascuno sia libero di farmi sapere se è opportuno modificare qualcosa. Il tutto va anche operando con Windows 7 (io ho la versione 64 bit) ma occorre:

1) dopo aver installato perl cambiare i permessi di esecuzione di perl.exe in modo che venga eseguito come amministratore (ma mi pare questo lo faccia direttamente l'installer).

2) abilitare il telnet di windows 7: "pannello di controllo > programmi e funzionalità > attivazione o disattivazione delle funzionalità di windows > (check) client telnet"

Per avere informazioni circa gli argomenti trattati:
per il file di configurazione utenti: http://www.networkupstools.org/docs/man/upsd.users.html
per i comandi NUT (capitolo 9): http://www.networkupstools.org/docs/dev ... index.html
il manuale utente di NUT: http://www.networkupstools.org/docs/use ... index.html

PS dove ho indicato 192.168.1.x dovete sempre sostituire l'indirizzo ip del vostro NAS!
PPS i comandi usati dovrebbero essere disponibili per tutti gli ups, ma per avere la certezza potete chiedere al vostro i comandi disponibili con il comando

Codice: Seleziona tutto

list cmd ups
da lanciare sempre via telnet. Probabilmente con piccole modifiche gli script sono adattabili a tutti gli ups compatibili col NAS...
Ultima modifica di gianni24 il venerdì 15 novembre 2013, 14:11, modificato 2 volte in totale.
burghy86
Moderatore
Moderatore
Messaggi: 11357
Iscritto il: martedì 11 settembre 2012, 18:59

Re: [guida] spegnere il pc con l'ups usb collegato al nas

Messaggio da burghy86 »

wow, ti ringrazio per la velocità e la precisione della tua guida, complimenti.
per chi è a digiuno di vi e vorrebbe usare qualcosa di più grafico puo installare direttamente sul nas l'app config file editor (con i repository che trovate in questa sezione.
appena ho un momento di tempo vi scrivo qualcosa.

grazie mille Gianni
NUOVO CANALE DISCORD
PARTECIPATE NUMEROSI:

https://discord.gg/McP3d4m2pG



Passare dalla sezione presentazioni e leggere il regolamento firma obbligatorio

siamo una community, aiutateci a sentirci parte di qualcosa e non un helpdesk
Non do aiuto in privato ma sul forum a tutti!!
Un grazie ci spinge a lavorare meglio
------------------------------------------------------------
  • UPS: apc
  • GTW: fritzbox o TP-LINK TD-W8970 ISP: [ADSL] intred(20000/1024/0) IP:[pubblico]
  • SWC: hp gigabit 8 porte with poe
  • NAS: ds213, ds213j, ds415+ 720+ dmv dal 6.2 alla 7. qnap ts212p ts22, all hd con wdred/ironwolf da 2/6tb
  • CLI: win 10, win11 e ubuntu
    [altro]
  • 3 smartphone android, lettore bd with allshare samsung, vodafone tv, raspberry p2 e p3
gianni24
Utente
Utente
Messaggi: 13
Iscritto il: venerdì 18 ottobre 2013, 8:31

Re: [guida] spegnere il pc con l'ups usb collegato al nas

Messaggio da gianni24 »

Troppo gentile, è stato un piacere, e poi avevo tutte le informazioni già quasi pronte. Per abitudine (e perché altrimenti dopo 24h mi scordo tutto) mentre lavoro su script, software e/o combatto con windows mi prendo sempre i miei "appunti"...

Piuttosto approfitto per segnalare un problema che ho con il "server UPS di rete" del mio NAS. Mi succede un fatto scocciante (ed è la seconda volta): il NAS "accende" il flag FSD (Force Shut Down) e lo fa un po' a sproposito. Per come ho settato dovrebbe accenderlo solo dopo 20 minuti di ups "on battery", ma ho visto che lo fa anche senza che la corrente manchi così a lungo (da me è un fatto raro). Come conseguenza mi ritrovo che WinNUT naturalmente mi spegne il pc collegato (che è poi il server di casa, tramite il quale accedo anche dall'esterno). Sarebbe bello capire perché succede questo e porci rimedio.

In alternativa mi sta venendo in mente una soluzione un po' più drastica, che però sarebbe "svincolata" da interventi sul NAS (o da correttive di Synology). Infatti con i "tool" che mi sono creato per gli script di cui sopra potrei tranquillamente scrivere un daemon che sostituisca WinNUT. In questo modo potrei far spegnere il pc ad esempio quando l'UPS scende al di sotto di un certo livello di carica, ignorando il flag FSD impostato dal NAS.

Se qualcuno ha sperimentato lo stesso problema gentilmente si faccia avanti, informazioni e confronti sono sempre utili!!

PS forse questa risposta qui è fuori luogo, se necessario spostate senza pietà...
papinist
Utente
Utente
Messaggi: 23
Iscritto il: sabato 26 ottobre 2013, 16:50

Re: [guida] spegnere il pc con l'ups usb collegato al nas

Messaggio da papinist »

sempre a proposito di UPS e nas, sapete se esiste un'applicazione da installare sui nas synology simile a UPS Assistant? http://www.foxylab.com/UPSAssistant.php?en
In pratica è un'applicazione per windows che monitora lo stato dell'ups come tensione ecc e in caso di problemi può inviare una email ad un indirizzo preimpostato.
Io lo uso così ed è molto comodo, certo ho tutto collegato proprio sull'ups quindi anche in mancanza di corrente è in grado di inviarmi una email :-)

C'è niente del genere?
burghy86
Moderatore
Moderatore
Messaggi: 11357
Iscritto il: martedì 11 settembre 2012, 18:59

Re: [guida] spegnere il pc con l'ups usb collegato al nas

Messaggio da burghy86 »

Mi sembra molto inutile visto che con l'ups collegato usb al nas appena succede qualcosa sul ups(salta corrente, ritorna, errore di tensione) il nas stesso mi invia la notifica via mail skype e sms
NUOVO CANALE DISCORD
PARTECIPATE NUMEROSI:

https://discord.gg/McP3d4m2pG



Passare dalla sezione presentazioni e leggere il regolamento firma obbligatorio

siamo una community, aiutateci a sentirci parte di qualcosa e non un helpdesk
Non do aiuto in privato ma sul forum a tutti!!
Un grazie ci spinge a lavorare meglio
------------------------------------------------------------
  • UPS: apc
  • GTW: fritzbox o TP-LINK TD-W8970 ISP: [ADSL] intred(20000/1024/0) IP:[pubblico]
  • SWC: hp gigabit 8 porte with poe
  • NAS: ds213, ds213j, ds415+ 720+ dmv dal 6.2 alla 7. qnap ts212p ts22, all hd con wdred/ironwolf da 2/6tb
  • CLI: win 10, win11 e ubuntu
    [altro]
  • 3 smartphone android, lettore bd with allshare samsung, vodafone tv, raspberry p2 e p3
papinist
Utente
Utente
Messaggi: 23
Iscritto il: sabato 26 ottobre 2013, 16:50

Re: [guida] spegnere il pc con l'ups usb collegato al nas

Messaggio da papinist »

burghy86 ha scritto:Mi sembra molto inutile visto che con l'ups collegato usb al nas appena succede qualcosa sul ups(salta corrente, ritorna, errore di tensione) il nas stesso mi invia la notifica via mail skype e sms
ah beh se fa le stesse cose certo :-)
Sono appena andato a vedere su pannello di controllo -> notifica -> avanzate e c'è proprio quello che dici tu. Io avevo guardato solo nella sezione 'ups'... grazie!
fuffa9
Utente
Utente
Messaggi: 17
Iscritto il: martedì 2 luglio 2013, 0:59

Re: [GUIDA] Spegnere il PC con l'UPS collegato al NAS via US

Messaggio da fuffa9 »

Ciao a tutti,
io ho due nas Synology e vorrei che entrambi andassero in protezione in caso di interruzione di corrente.

Leggendo la guida di burghy86, di cui riporto uno screenshot sotto, mi pare di capire che nella sezione "diskstation consentite" io possa specificare l'ip del nas non collegato via usb all'ups in modo che quello collegato via usb gli dia il segnale di andare in stand by. Corretto?
E se si, il nas non collegato via usb deve essere settato in qualche maniera?
Immagine
burghy86
Moderatore
Moderatore
Messaggi: 11357
Iscritto il: martedì 11 settembre 2012, 18:59

Re: [GUIDA] Spegnere il PC con l'UPS collegato al NAS via US

Messaggio da burghy86 »

Bisogna solo aggiungere nel nas client l'ip del nas server

topotalkato
NUOVO CANALE DISCORD
PARTECIPATE NUMEROSI:

https://discord.gg/McP3d4m2pG



Passare dalla sezione presentazioni e leggere il regolamento firma obbligatorio

siamo una community, aiutateci a sentirci parte di qualcosa e non un helpdesk
Non do aiuto in privato ma sul forum a tutti!!
Un grazie ci spinge a lavorare meglio
------------------------------------------------------------
  • UPS: apc
  • GTW: fritzbox o TP-LINK TD-W8970 ISP: [ADSL] intred(20000/1024/0) IP:[pubblico]
  • SWC: hp gigabit 8 porte with poe
  • NAS: ds213, ds213j, ds415+ 720+ dmv dal 6.2 alla 7. qnap ts212p ts22, all hd con wdred/ironwolf da 2/6tb
  • CLI: win 10, win11 e ubuntu
    [altro]
  • 3 smartphone android, lettore bd with allshare samsung, vodafone tv, raspberry p2 e p3
fuffa9
Utente
Utente
Messaggi: 17
Iscritto il: martedì 2 luglio 2013, 0:59

Re: [GUIDA] Spegnere il PC con l'UPS collegato al NAS via US

Messaggio da fuffa9 »

Capisco... grazie del suggerimento.
Sono alla ricerca di un UPS, una volta installato farò delle prove e vi farò sapere.
Approfitto... avete suggerimenti per trovarne uno discreto (solo per nas e switch di rete e forse un mini pc linux) e pienamente compatibile con i syno?
Grazie
Rispondi

Torna a “GUIDE & TIPS”