Network UPS Tool addon per Hass.io

HassioHelp

Network UPS Tool addon per Hass.io

Introduzione

A tutti sarà capitato, almeno una volta, di arrabbiarsi perché a causa di un black-out il Raspberry o il PC/Server in cui gira Hass.io ha perso l’alimentazione elettrica è la domotica di casa si è fermata: per prevenire questo tipo di incidenti occorre un sistema che protegga qualsiasi apparato elettronico ad esso collegato in caso di interruzione accidentale della corrente elettrica.
In commercio esistono molti modelli di UPS (“Uninterruptible Power Supply”, è questo il nome dell’apparecchio), che garantiscono sia il funzionamento degli apparati collegati  attraverso l’erogazione di corrente sia filtrando  i disturbi proveniente dalla rete elettrica: in questo articolo vedremo come interfacciare un UPS con Hass.io tramite un addon basato sul software NUT (Network UPS Tool) la cui configurazione è “tailor-made” per gli UPS della serie Tecnoware ERA Plus con porta USB.

Requisiti

Per poter recuperare le informazioni dal nostro UPS il requisito fondamentale è che sia dotato di porta USB da collegare al Raspberry o al miniPC in cui gira Hass.io

Installazione

Per prima cosa occorre aggiungere il repository https://github.com/jumping2000/hassio-addons dentro l’add-store di Hass.io come da figura seguente e procedere con l’installazione dell’addon.

Una volta scelto il repository dell’addon vi troverete nella classica schermata di installazione che presenta in aggiunta alla configurazione dell’addon che vedremo di seguito, anche una descrizione completa dell’addon stesso e il codice YAML da aggiungere in Hass.io

Configurazione addon

La configurazione dell’addon presenta numerosi parametri che possono essere variati per adattarli alle proprie esigenze, ma se non sapete bene quello che state facendo vi consiglio di modificare solo i parametri seguenti:

 

 

“username”: “user”,
“password”: “pwd”,
Use e password scelti per accedere all’addon, i dati vanno ripresi nella configurazione del sensore in HA
“runtime1”: 420,
“power1”: 100,
“runtime2”: 700,
“power2”: 50
Questa è la parte di configurazione che serve per la stima della durata delle batteria dell’UPS in caso di blackout. I valori sono “adattati” per il Tecnoware ERA+ 1100.

Il primo valore “runtime1” indica la durata in secondi a pieno carico (100), il valore “runtime2” indica la durata (in secondi) con un carico del 50%

“upsname”: “tecnoware1100”,
“driver”: “blazer_usb”,
“port”: “auto”,
“vendorid”: “0665”,
“productid”: “5161”,
“desc”: “Tecnoware ERA 1100”
Dati specifici per l’UPS Tecnoware ERA+, i dati che possono essere variati a piacimento sono “upsname” e “desc”

“blazer_usb” è il driver usato dal Tecnoware ERA+, per altri UPS occorre cambiarlo, vale lo stesso per “vendorid” e “productid”

Se tutto è andato bene dovreste vedere nel log dell’addon qualcosa di simile.

Configurazione HA e Lovelace

Per visualizzare le informazioni dell’UPS su Home Assistanrt occorre aggiunger inconfiguration.yaml la seguente configurazione, da personalizzare con user e password inseriti nell’addon e l’indirizzo IP dell’host (raspberry) dove gira l’addon, nella sezione sensor:

 

Per quanto riguarda la configurazione dell’interfaccia grafica Lovelace io ho utilizzato questa visualizzazione:

Il codice è riportato di seguito, ovviamente occorre personalizzarlo con i corretti nomi delle entità:

Prossimi sviluppi

La prossima versione permetterà di inserire i valori delle tensioni HIGH e LOW della batteria dell’UPS in modo da permettere al software NUT di fare stime più precise sulla durata.

Ringraziamenti:

L’addon è un “fork” di altri progetti presenti su Github che ho personalizzato ed adattato alle mie esigenze, il vero  lavoro è stato fatto da:

 

45 risposte

  1. Avatar BePPe ha detto:

    Questo utile addon Lo uso dal day one del rilascio e funziona egregiamente, un must per chi ha questo economico ma performante UPS .
    Se non ci fosse bisognerebbe inventarlo
    Grazie 🙏🏻 Gianpi 😉

  2. Avatar Cristian ha detto:

    Ciao grazie per la guida , ho comprato oggi questo ups ma nel log mi rimane così:
    Log
    Network UPS Tools – UPS driver controller 3.8.0-3396-gcdc7c4b5b1
    Network UPS Tools – Megatec/Q1 protocol USB driver 0.12 (3.8.0-3396-gcdc7c4b5b1)
    Supported UPS detected with megatec/old protocol
    Rating information unavailable
    Startup timer elapsed, continuing…

    sai cosa può essere?
    Ti ringrazio
    Cristian

  3. Avatar Cristian ha detto:

    ok ora dopo aver riavviato sia ups che raspberry il log funziona !

    ho solo messo host: 0.0.0.0
    al posto host: IP_ADDRESS
    nel configuration.yaml

    ora funziona !
    ciao ciao

  4. Avatar Davide ha detto:

    Salve a tutti.. prima di poter acquistare questo splendido prodotto.. qualcuno saprebbe dirmi .. quanti minuti resterà attivo il raspberry 3 model B + con Hassio installato senza la tensione elettrica ?? Grazie mille

  5. Avatar Gherardo ha detto:

    Grazie per questa guida. Ho però alcune difficoltà: avendo un UPS diverso (probabilmente compatibile) ho difficoltà a reperire il “vendorid”, il “productid” e vorrei sapere se il driver deve essere installato sul raspberry (Home assistant gira su HASSIO, chiaramente). Qualcuno mi può aiutare?

    • Avatar Giampi ha detto:

      la domanda non mi è chiara, l’addon ha tutto il necessario per far funzionare il software NUT, per vendorid e productid lascia i valori di default

      • Avatar Gherardo ha detto:

        Nella spiegazione è scritto che sia driver sia vendorid che productid vanno cambiati a seconda del modello di UPS utilizzato. Da qui la mia domanda.

        • Avatar Giampi ha detto:

          eh ma se non li sai o lasci quelli di default o li togli, in ogni caso devi verificare quello che succede. La non chiarezza della domanda è riferita ad installazioni di driver sul raspberry

          • Avatar Gherardo ha detto:

            Perfetto. Ho lasciato quei valori di default e tutto funziona perfettamente. Scusa ma pensavo fosse fondamentale “personalizzare” quei dati in riferrimento al modello di UPS, invece, almeno nel mio caso, no.
            Grazie ancora.

          • Avatar Giampi ha detto:

            Ottimo!! puoi lasciare scritto il tuo modello di UPS in modo da essere utile ad altri utenti? grazie

          • Avatar Gherardo ha detto:

            Certo: è un V7 UPS1DT750-1E che è, credo, una “copia” del TECNOWARE ERA PLUS STRIP 800 e forse anche per questo compatibile con questa configurazione.
            Se qualcuno avesse bisogno di altre delucidazioni in merito, se ne sarò capace, le darò senz’altro.

  6. Avatar Stefano ha detto:

    Ciao a tutti!!!
    Intanto grazie mille per l’articolo, semplicissimo e chiarissimo.
    Premetto che ho installato tutto su Windows tramite VirtualBox (Installato Hassio)
    Avrei un problema,
    Ho installato e configurato il tutto, che funziona senza problemi, ma dopo circa 3/4 minuti si interrompe facendo chiudere la macchina virtuale, con un errore la memoria non poteva essere read.
    Da cosa può dipendere?

    • Avatar Giampi ha detto:

      difficile da dire, mai riscontrato questo problema nelle installazioni su raspberry o PC.

      • Avatar Stefano ha detto:

        Ti ringrazio per la risposta, alla fine ho risolto utilizzando VmWare.
        Avrei un altra domanda, io al momento ho un UPS della Elsist (Nemo 2.0) Modello vecchio.
        sono riuscito a farlo connettere, nei log vedo questo:

        Network UPS Tools – UPS driver controller 3.8.0-3220-g866b921892
        Network UPS Tools – Megatec/Q1 protocol USB driver 0.12 (3.8.0-3220-g866b921892)
        Supported UPS detected with megatec protocol
        Rating information unavailable
        Vendor information unavailable
        No values provided for battery high/low voltages in ups.conf
        Using ‘guestimation’ (low: -0.866667, high: -1.083333)!
        Battery runtime will not be calculated (runtimecal not set)
        Network UPS Tools upsd 3.8.0-3220-g866b921892
        0.000000 fopen /var/run/nut/upsd.pid: No such file or directory
        0.003835 listening on 0.0.0.0 port 3493
        0.006298 Connected to UPS [ups]: blazer_usb-ups
        nel file configuration.yaml ho questo:
        sensor:
        – platform: nut
        name: “Tecnoware UPS”
        host: 0.0.0.0
        port: 3493
        username: miousername
        password: miapassword
        resources:
        – battery.charge
        – battery.runtime
        – battery.voltage
        – ups.load
        – ups.status.display
        – input.voltage
        – output.voltage
        – input.frequency

        ma non mi crea le entità per monitorare lo stato.
        Grazie mille
        Stefano

        • Avatar Stefano ha detto:

          Avendo installato Hass.io come posso eseguire questo comando?
          $ upsc ups_name@192.168.11.5
          Grazie Mille
          Stefano

        • Avatar Giampi ha detto:

          Questo “risposta”: Using ‘guestimation’ (low: -0.866667, high: -1.083333)!
          Non è corretta, dovrebbe esserci un low intorno ai 10v e un HIGH sui 12-13. Visto che il tuo Ups non é un tecnoware dovresti vedere se occorre cambiare driver o aggiungere altri parametri.

          • Avatar Stefano ha detto:

            Grazie mille per tutto l’aiuto!!
            Ho provato ad eseguire il comando ma mi chiede user e se metto root mi avvia la linea di comando di Hassio dicendo che il comando docker non è riconosciuto…
            Ho letto che per il mio ups devo aggiungere a mano i valori della batteria ma non so come scriverli ho solo capito che il file e ups.conf tu potresti aiutarmi?

          • Avatar Giampi ha detto:

            al momento l’addon permette di specificare solo i parametri presenti nella config dell’addon stesso, vedrò di inserirli una prossima versione

  7. Avatar Davide ha detto:

    Salve a tutti.. ho un paio di domande da farvi.. forse Gherardo potrebbe rispondermi in quanto le ha postate lui e forse ha anche le risposte.. grazie in anticipo.
    1) vorrei poter acquistare un ups da collegare il RPI 3 model b con Hass.io docher .. sai effettivamente quanto dura la carica della batteria in assenza di tensione elettrica per i diversi modelli proposti di tecnoware (750 o 900) ??

    2) il collegamento tra PRI 3 e Ups dovrebbe avvenire tramite USB o presa elettrica .. se collegato tramite usb ha la protezione sbalzi di tensione ed interferenze elettromagnetiche sulla porta usb ??

    3) sai se l’ups di tecnoware ha funzionalità di passthrough, ovvero la capacità di accettare corrente in ingresso ed erogarne in uscita, contemporaneamente.

    4) sai se tramite l’addon basato sul software NUT riesce a spegnere Hass.io prima che le batterie si scaricano completamente ??

    principio visualizzato sulla guida proposta da indomus al seguente link:
    “https://indomus.it/progetti/realizzare-un-gruppo-di-continuita-ups-a-basso-costo-per-raspberry-pi/”
    (scusate se ho postato il link)

    • Avatar Giampi ha detto:

      1) solo il 1100 ha la porta Usb per collegare Ups e Raspberry /PC per lo scambio dati e poter usare l’addon
      2) vedi punto 1, devi collegare alimentatore del Raspberry alla presa 220v sull’ups
      3) si
      4) l’addon no. occorre fare un automazione in hassio/hassos o lanciare uno script bash dal SO host

  8. Avatar Davide ha detto:

    Scusami..Giampi.. se non compro quello da 1100 non posso utilizzare l’addon perchè non ha la porta USB.. giusto ?? e quindi se non posso usare l’addon non avrò sensori che rilevano la durata della batteria ups e quindi non potrò creare un’automazione di spegnimento del raspberry.. giusto??

  9. Avatar Davide ha detto:

    Salve a tutti.. qualcuno ha provato tecnoware 1100VA su raspberry con hassio ?? sapete il tempo di durata della batterie con RPI 3 model B+ ??

    Ho letto che il tecnoware 1100VA è di tipo: Line Interactive con stabilizzatore –> entra in azione dopo soli 5 millisecondi.. qualcuno ha riscontrato problemi di alimentazione con RPI ??

    Grazie a tutti.

  10. Avatar Davide ha detto:

    Salve a tutti.. scusate se insito nel capire le cose.. ma il tecnoware è in offerta per 12 ore e quindi vorrei capire se acquistarlo oppure acquistare una power banck.. per alimentare il RPI3 model + il più tempo possibile ed in sicurezza.

    Dai calcoli visto su alcuni siti riportano che per calcolare i Kwh bisogna applicare i watt consumati dal dispositivo per il numero dello ore volute.. 4W (RPI) x 24 ore = 120W /1000 = 0.12 KWh.

    considerando che il tecnoware + di 750 W .. il raspberry dovrebbe funzionare 5 giorni o sbaglio qualcosa??

    • Avatar Giampi ha detto:

      sul sito APC c’è il simulatore, con un UPS da 700W ti dura 4-5 ore (consumo di 5 watt)

      APC Easy UPS, 700 Watts / 1000 VA, 230 V in ingresso / 230 V di uscita, Porta di interfaccia USB, SmartSlot.
      256 min Tempo di esecuzione
      1 % Capacità massima utilizzata

  11. Avatar Davide ha detto:

    Ciao Giampi.. potresti inviarmi il link del simulatore.. non lo riesco a trovare– per 700 intendi VA o Watt .. sai il prezzo ?? Grazie

  12. Avatar Antonio ha detto:

    Buongiorno.. ho acquistato un tecnoware 11100 ed ho installato il vostro addon.. qualcuno sa come configurare i parametri:
    host: IP_ADDRESS
    port: 3493
    username: USER
    password: PWD

    Grazie mille per la rispostata

  13. Avatar GRegorio ha detto:

    Buongiorno.. ho acquistato un tecnoware 1100 Va ed ho installato il vostro addon qualcuno potrebbe aiutarmi con la configurazione dell’addon e del sensore nut in configuration.yaml.. Grazie
    {
    “logins”: [
    {
    “username”: “nut”,
    “password”: “nut”,
    “instcmds”: “all”
    }
    ],
    “pollinterval”: 2,
    “runtimecal”: [
    {
    “runtime1”: 420,
    “power1”: 100,
    “runtime2”: 800,
    “power2”: 50
    }
    ],
    “ups”: [
    {
    “upsname”: “tecnoware1100”,
    “driver”: “blazer_usb”,
    “port”: “auto”,
    “vendorid”: “0665”,
    “productid”: “5161”,
    “desc”: “Tecnoware ERA 1100”
    }
    ],
    “bindaddr”: “0.0.0.0”,
    “bindport”: “3493”,
    “mode”: “standalone”
    }

    • Avatar Giampi ha detto:

      L’addon è già preconfigurato per il tecnoware 1100, basta che cambi user, password e indirizzo IP (che sarà indirizzo IP del tuo raspberry)

      • Avatar GRegorio ha detto:

        Grazie per l’aiuto.. ieri ho effettuato un test sulla durata della batteria..ho constato che dal momento in cui la carica della batteria segnava 0 % allo spegnimento completo dell’ UPS sono passati circa 1 ORA. Qualcuno potrebbe aiutarmi a settare i valori (“runtime1”: 420,
        “power1”: 100, “runtime2”: 800, “power2”: 50) sulla base dei miei test.. Grazie

        Ecco i Test:

        al 100 % della batteria (ora 19:14) il parametro battery ruintime è a 4148
        al 75 % della batteria (ora 19:30) il parametro battery ruintime è a 3161
        al 50 % della batteria (ora 19:48) il parametro battery ruintime è a 2100
        al 25 % della batteria (ora 20:06) il parametro battery ruintime è a 1052
        al 10 % della batteria (ora 20:16) il parametro battery ruintime è a 425
        al 5 % della batteria (ora 20:20) il parametro battery ruintime è a 178

        0% (ora 20 e 23) Si è spento alle 21:10 .. AUTONOMIA DELLA BATTERIA DI CIRCA 2 ORE..

        • Avatar Giampi ha detto:

          Devi attaccare un carico di circa 700 watt all’ups e ti segni quanto dura la batteria, poi ripeti la stessa Procedura con un carico di circa 350w. Questi due tempi sono i dati da inseire nell’addon.

          • Avatar GRegorio ha detto:

            Grazie mille per la dritta.. quindi sulla base di quei 2 valori.. determinare:
            – il tempo totale in secondi (sensor.tecnoware_ups_battery_runtime)
            – la percentuale di carica della batteria (sensor.tecnoware_ups_battery_charge)
            per qualsiasi Watt per i carichi in uscita ??

          • Avatar Giampi ha detto:

            la procedura che ti ho descritto è quella presa direttamente dalla documentazione del software NUT e insieme ad altri dati in input fornisce i dati in output per i sensori dell’addon

  14. Avatar Davide ha detto:

    Ciao.. ragazzi..
    No charge time specified, using built in default [43200 seconds] ?? qualcuno sa dove si specifica questo valore nel vostro addon ??

    Grazie

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *