Se Domoticz è il cuore del sistema domotico, Nodered, con il tempo è diventato il suo migliore alleato. Si è rilevato molto utile, si puo vedere nei vari esempi presenti sul sito. Interazione con Alexa, Telegram, HomeConnect, MQTT, comunicazione Modbus sia RTU che TCP, per integrare misuratori di energia, fotovoltaico e solare termico.
Installazione di Nodered, viene effettuata direttamente da Portainer.
Di seguito immagini e accorgimenti utili.
Viene creato un nuovo container con image nodered/nodered:latest.
In seguito vengono assegnate le porte utilizzate dal container e quelle esposte sul sistema host.
Porta 1884 utilizzata per il Broker interno Aedes
porta 3456 utilizzata per cookie di Alexa.
Creato il container, Nodered è ragiungibile all'indirizzo:
http://ip_server:1880
Nella crezione del container, la creazione dei volumi, viene gestita manualmente come riportato nell'immagine di seguito.
La prima opzione, va a creare il volume Nodered_Paolo collegato alla cartella interna /data.
E' possibile gestire la cartella direttamente dal percorso /var/lib/docker/volumes/Nodered_Paolo nel sistema host.
Il secondo volume, crea un collegamento "Bind" tra la cartella /mnt/Noderd del sistema Host con la cartella interna /usr/src/node-red/media.
Verrà utilizzato per gestire i file del percorso HttpStaticRoot all'interno del file setting.js
Per utilizzare i convertitori seriali all'interno del container, bisogna creare l'opzione riportata nell'immagine di seguito.
Ad ogni riavvio del sistema, Nodered rimaneva in errore e non partiva.
Per fuorviare al problema è stata modificata l'opzione restart policy in Always, come riportato nell' immagine di seguito.
Di seguito i passaggi per rendere più sicuro Nodered, aggiungendo credenziali e HTTPS
Nell'immagine che segue si può vedere come abilitare le credenziali di accesso alla pagina editor all'interno del file setting.js. (adminAuth)
Nell'immagine che segue si può vedere come abilitare le credenziali di accesso alla dashboard all'interno del file setting.js. (httpNodeAuth)
Per generare la password, entrare nella cli del container ed eseguire il comando node-red admin hash-pw
Nell'immagine che segue si può vedere come abilitare accesso HTTPS.
La cartella dei certificati viene inserita nel percorso host mnt/Nodered che nel container corrisponde ad /usr/src/node-red/media
Per generare i certificati , creare una cartella certificati in mnt/Nodered ed al suo interno eseguire i seguenti comandi.
openssl genrsa -out node-key.pem 2048
openssl req -new -sha256 -key node-key.pem -out node-csr.pem
openssl x509 -req -in node-csr.pem -signkey node-key.pem -out node-cert.pem
Finito il tutto riavviare Nodered. Sarà possibile accedere con il seguente indirizzo https://ip_server:1880 comprensivo di username e password
Nell' immagine che segue, si può vedere come abilitare il salvataggio su filesystem delle variabili all interno del file setting.js