Integrare qualsiasi sistema di allarme in Home Assistant

L'angolo dei lettori

Scritto da Luigi Duchi

Dopo tanto tempo finalmente torniamo a scrivere, o meglio a pubblicare, gli articoli di voi utenti che decidete di condividere i vostri lavori sul nostro Blog. 

Oggi è il turno di Pietro Masciulli che, tramite una scheda di espansione di una centrale di allarme installata sulla centrale e l'ausilio di un ESP32 (https://amzn.to/3AZpupc), integrerà tutti gli stati della centrale compreso lo stato dei sensori in Home Assistant.

Sarebbe possibile abilitare e disabilitare anche l'allarme ma, per scelta voluta, non ha integrato tale possibilità per renderlo più sicuro (scelta che condivido).

Se siete sprezzanti del pericolo sappiate tuttavia che esiste questa possibilità.

Pietro ha usato una centrale Paradox ,ma questo progetto è replicabile con qualsiasi centrale di allarme a patto che sia possibile installare una scheda di espansione.

Non vi ruberò altro tempo e vi lascio all'ottimo articolo redatto da Pietro Masciulli.

OVVIAMENTE NOI SEGUIREMO L'OPZIONE 2 CHE, CON UN PO' DI ACCORGIMENTI, DIVENTA UNA SOLUZIONE STAND-ALONE UNIVERSALE PER TUTTI I MARCHI

Vi elenco in breve i risultati che si possono ottenere integrando il sistema d'allarme ad Home Assistant così da farvi venire l'appetito e immaginare quelli che possono essere i PLUS domotici nella vostra abitazione :

Nota bene :  le espansioni uscite delle centrali di allarme si devono aggiungere in base alle proprie necessità e molti sistemi hanno già un bel numero di uscite programmabili a bordo centrale con le quali poter iniziare a smanettare con le prime entità e ESPHOME 

Qui sorge la necessità o di avere la padronanza sul sistema d'allarme oppure di contattare il proprio installatore per poter apportare le modifiche software e aggiungere l'hardware mancante . Rimane il fatto che il sistema di sicurezza DEVE Solo ripetere lo stato in real-time delle entità NECESSARIE e INDISPENSABILI per le automazioni domotiche , ad esempio se si hanno 40 sensori di allarme tra porte, finestre e volumetrici non è detto che tutti debbano essere ripetuti con 40 uscite perchè tutto ciò avrebbe un impatto economico importante ( una scheda da 8 relè oppure open collector può costare dalle 30/100 euro ) e non sortirebbe il risultato voluto .

Pertanto è fondamentale intuire quali sono le necessità della casa e anche con una sola espansione relè e 8 stati/entità creare automatismi semplici e funzionali , lasciare che il sistema di Allarme continui a fungere in autonomia e segnalare le condizioni programmate ai relè sulle schede BUS . L'INTENTO PRINCIPALE rimane sempre quello di affiancarsi al sistema d' allarme e lasciare che DOMOTICA e SICUREZZA funzionino in TANDEM senza mai darsi fastidio e se il Nostro HUB domotico dovesse non funzionare per qualche avaria il sistema d'allarme invece continua a fare il suo dovere e altro aspetto IMPORTANTISSIMO è quello di non INTEGRARE i COMANDI DI

ATTIVAZIONE E DISATTIVAZIONE dell'ALLARME da interfaccia Grafica della DOMOTICA per ovvi motivi di SICUREZZA e Lasciare che tutto ciò possa essere azionato solo da Tastiere o dalle APP già native del proprio sistema d'allarme .

( chi vuole aggiungere queste funzionalità se ne assume le responsabilità )

Passiamo alla fase più importante , il CABLAGGIO fisico tra i RELE' appena programmati del sistema di allarme e la scheda Magica che ci permetterà di interfacciarci con il mondo HOME ASSISTANT :

 

SCHEMA DI CABLAGGIO tra SCHEDA RELE' del nostro sistema di allarme e la scheda LAN ESP32 DevKitC LAN8720 , fondamentale è l'interconnessione da fare tra il GND negativo della centrale di allarme e il GND negativo della scheda ESP32 in modo da avere la massa in comune.

( il fattore GND in comune potrebbe essere utile per chi ha i sensori cablati sull'allarme in modalità NC e NON BILANCIATI per poter collegare direttamente i sensori anche sugli ingressi della scheda ESP32 con dei diodi senza nemmeno l'ausilio di relè aggiuntivi ma questo merita un approfondimento a parte magari in un altra sezione )

Si evidenzia che tutti i morsetti "C" dei relè sono polarizzati a negativo mentre i morsetti "NO" ognuno di essi è cablato su un pin della shield ESP32 . Un approfondimento sulla scheda LAN: ho utilizzato questa shield perchè in precedenza avevo realizzato il tutto solo con la scheda ESP32 in WIFI e ha funzionato senza nessun tipo di problema ma il cablaggio rimane difficoltoso e ad ogni riavvio del WIFI qualche intoppo l'ho avuto a causa dei ritardi di connessione con la rete, ecco perchè ho deciso di passare al cavo LAN e alla sua indiscutibile affidabilità e anche al fatto che la scheda di ZIO Tester è dotata di comodi morsetti per il cablaggio per una soluzione sicura e duratura . ( chi vuole realizzare il tutto solo con scheda wifi il procedimento non cambia )

NOTA: esistono schede di espansione uscite allarme di tipo OPEN COLLECTOR dove fisicamente non si hanno relè bensì uscite di tipo transistor dove comunque l'Output è a negativo ( attenzione NON a POSITIVO ) e pertanto lo schema da realizzare è similare e basta collegare le uscite direttamente ai morsetti della shield LAN pin to Pin

Per chi non sà cosa sia l'ambiente ESPHOME esso in pratica nasce come Addon di Home assistant per poter integrare tutte le schede con chip di tipo ESP8266 /ESP32 DIY i quali si programmano la prima volta con un cavo diretto USB - PC e poi le volte successive in modalità OTA (Over-the-air ) cioè senza fili , non farò una guida su tutte le funzionalità di ESPHOME ma vi lascio ai tutorial ufficiali per qualsiasi approfondimento.

Passiamo subito al nostro programma in YAML per impostare la scheda ESP32 e tutte le variabili :

 

##### SEZIONE per LA PROGRAMMAZIONE DELL'ESP32 da non MODIFICARE  ######## 

esphome:

 name: esp32


esp32:

 board: esp32dev

 framework:

   type: arduino


logger:


api:


ota:


web_server:

 port: 80


##### SEZIONE per LA PROGRAMMAZIONE DELLA SCHEDA LAN  da non MODIFICARE  ######## 

ethernet:

 type: LAN8720

 mdc_pin: GPIO23            ### FISSO non modificare ####

 mdio_pin: GPIO18           ### FISSO non modificare ####


 # NB: nelle versioni < 1.3 il power pin è il 12


 power_pin: GPIO17          ### FISSO non modificare ####

 #power_pin: GPIO12         ### FISSO non modificare ####

 clk_mode: GPIO0_IN         ### FISSO non modificare ####

 phy_addr: 1                ### FISSO non modificare ####


# Optional manual IP (comment for DHCP)

 manual_ip:

   static_ip: 192.168.0.12  # modificare con la propria rete LAN ###

   gateway: 192.168.0.1     # modificare con la propria rete LAN ###

   subnet: 255.255.255.0    # modificare con la propria rete LAN ###

   dns1: 8.8.8.8            # modificare con la propria rete LAN ###

   dns2: 8.8.4.4            # modificare con la propria rete LAN ###


##### SEZIONE per LA PROGRAMMAZIONE dei PIN modificabile a piacere ######## 



binary_sensor:

######  gpio36 DT CUCINA filo BLU ##########

 - platform: gpio

   pin:

     number: GPIO36

#     mode: INPUT_PULLUP ( riga commentata perchè pull-up già di default attivo su questo PIN )

     inverted: False     ( modificare se ingresso da utilizzare come normally closed o normally open )

   name: "DT CUCINA"     ( modificare a piacere in base al nome che si vuole assegnare all'entità da creare )

   device_class: motion  ( classe da attribuire all'entità che assegnerà in automatico la relativa icona )

   filters:

     - delayed_on_off: 100ms  ( filtro per antirimbalzo del relè )


######  gpio39 DT SALA filo VIOLA ##########

 - platform: gpio

   pin:

     number: GPIO39

#     mode: INPUT_PULLUP ( riga commentata perchè pull-up già di default attivo su questo PIN )

     inverted: False

   name: "DT SALA"

   device_class: motion

   filters:

     - delayed_on_off: 100ms


######  gpio34 DT INGRESSO filo Rosa ##########

 - platform: gpio

   pin:

     number: GPIO34

#     mode: INPUT_PULLUP ( riga commentata perchè pull-up già di default attivo su questo PIN )

     inverted: False

   name: "DT INGRESSO"

   device_class: motion

   filters:

     - delayed_on_off: 100ms


######  gpio35 DT SOGGIORNO filo CELESTE ##########

 - platform: gpio

   pin:

     number: GPIO35

#     mode: INPUT_PULLUP ( riga commentata perchè pull-up già di default attivo su questo PIN )

     inverted: False

   name: "DT SOGGIORNO"

   device_class: motion

   filters:

     - delayed_on_off: 100ms

####################################################################

DI SEGUITO ALTRI PIN COLLEGATI

######  gpio15 DT NOTTE filo Marrone ##########

 - platform: gpio

   pin:

     number: GPIO15

     mode: INPUT_PULLUP   ( riga NON commentata perchè pull-up non attivo di default su questo PIN )

     inverted: False

   name: "DT NOTTE"

   device_class: motion

   filters:

     - delayed_on_off: 100ms


######  gpio16 DT CAM LETTO filo Arancione ##########

 - platform: gpio

   pin:

     number: GPIO16

     mode: INPUT_PULLUP   ( riga NON commentata perchè pull-up non attivo di default su questo PIN )

     inverted: False

   name: "DT CAM LETTO"

   device_class: motion

   filters:

     - delayed_on_off: 100ms


######  gpio32 Stato Volum. EXT Radio INGRESSO ##########

 - platform: gpio

   pin:

     number: GPIO32

     mode: INPUT_PULLUP   ( riga NON commentata perchè pull-up non attivo di default su questo PIN )

     inverted: False

   name: "DT Esterno INGR"

   device_class: motion

   filters:

     - delayed_on_off: 100ms


######  gpio33 Stato AREA 2 Mamma e Papà ##########

 - platform: gpio

   pin:

     number: GPIO33

     mode: INPUT_PULLUP   ( riga NON commentata perchè pull-up non attivo di default su questo PIN )

     inverted: False

   name: "Stato Piano Terra"

   device_class: power

   filters:

     - delayed_on_off: 100ms


######  gpio12 Cont Ingresso filo Nero Piccolo ##########

 - platform: gpio

   pin:

     number: GPIO12

     mode: INPUT_PULLUP   ( riga NON commentata perchè pull-up non attivo di default su questo PIN )

     inverted: False

   name: "COUNT INGRESSO"

   device_class: occupancy

   filters:

     - delayed_on_off: 100ms


######  gpio02 Count Uscita Disponibile ##########

 - platform: gpio

   pin:

     number: GPIO02

     mode: INPUT_PULLUP   ( riga NON commentata perchè pull-up non attivo di default su questo PIN )

     inverted: True

   name: "COUNT USCITA"

   device_class: occupancy

   filters:

     - delayed_on_off: 100ms

Arrivati a questo punto con le entità già visibili dalla pagina WEB il gioco è fatto, ovvero andando sulla pagina impostazioni---Dispositivi e Servizi e cercando l'integrazione ESPHOME troverete il nodo ESP chiamato con il nome impostato sulla programmazione firmware YAML , cliccandoci sopra vi troverete il dispositivo e le "N" entità di numero create con le quali potrete iniziare a creare automazioni smart , card lovelace per completare e affinare il vostro impianto domotico di casa 

 

CONCLUSIONI  :   il progetto anche se un pò lungo come realizzazione ;-) con un sistema di allarme già installato in casa anche se un pò datato vi permette di fare un upgrade NOTEVOLE al sistema domotico di casa e un salto di LIVELLO sulla qualità delle routine domestiche legate ai processi di presenza in casa, spegnimento e accensione automatica delle luci , implementazione attuatori di dissuasione in caso di ALLARME intrusione e altro ancora , il limite può essere sola la vostra FANTASIA 

Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.

Luigi Duchi

Nato a Grosseto il 24 Dicembre 1982 perito elettrotecnico che lavora nel mondo della domotica e installazione di impianti elettrici, impianti di allarmi, videosorveglianza e automazioni in genere. Appassionato da sempre di tecnologia e aperto alla conoscenza di nuove soluzioni.


Vai ai commenti