#********** INSTALL **********
#***************************************************
#Upgrade your system
sudo apt-get update && sudo apt-get upgrade -y
#Install Node-RED.
#NOTE! Dont install with apt-get, you get old version!
bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
#To start (Starts some verbose output, service continues if you quit with CTRL+c)
node-red-start
#Autostart on boot
sudo systemctl enable nodered.service
#Source:
#https://nodered.org/docs/hardware/raspberrypi
#***************************************************
#********** Additional Nodes **********
#***************************************************
#Move to .node-red
cd ~/.node-red
#node-red-contrib-freeboard requires git
#node-red-contrib-freeboard requires git
sudo apt-get install git
#npm install node-red-node-mysqlnpm install node-red-node-pushbullet
#npm install node-red-contrib-owfs #Havent got it to work
npm install node-red-contrib-thingspeak
#npm install node-red-contrib-freeboard
npm install node-red-dashboard
#npm install node-red-contrib-bigtimer
#npm install node-red-contrib-ramp-thermostat
npm install node-red-contrib-sunevents
npm install node-red-contrib-time-range-switch
#npm install node-red-node-suncalc
npm install node-red-contrib-influxdb
npm install node-red-node-dropbox
npm install node-red-contrib-owfs
#Tellstick node requires telldus-core and libtelldus-core-dev
sudo apt-get install libtelldus-core-dev
npm install node-red-contrib-tellstick
#***************************************************
#********** Password Protect **********
#***************************************************
#Install Node-RED-Admin
sudo npm install -g node-red-admin
#Create password hash
node-red-admin hash-pw
#Update settings file
sudo nano /home/[MyUser]/.node-red/settings.js#Sometimes: /usr/lib/node_modules/node-red/settings.js
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "HASH_FROM_Node-RED-Admin_HERE",
permissions: "*"
}]
},
#Restart
node-red-stop
node-red-start
#***************************************************
#********** Sample Reverse Proxy **********
#***************************************************
#Remember to eable proxy_wstunnel for websocket to work.
sudo a2enmod proxy_wstunnel
<VirtualHost *:443>
ServerName node-red.mysite.org
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /comms ws://[SERVER_IP]:1880/comms
ProxyPass / http://[SERVER_IP]:1880/
ProxyPassReverse /comms ws://[SERVER_IP]:1880/comms
ProxyPassReverse / https://[SERVER_IP]:1880/
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/node-red.mysite.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/node-red.mysite.org/privkey.pem
</VirtualHost>
#***************************************************
#********** OpenZWave NOT WORKING!!! **********
#***************************************************
sudo apt-get install -y libudev-dev
wget http://mirror.my-ho.st/Downloads/OpenZWave/Raspbian_Wheezy/armhf/libopenzwave1.3_1.4.164_armhf.deb
wget http://mirror.my-ho.st/Downloads/OpenZWave/Raspbian_Wheezy/armhf/openzwave_1.4.164_armhf.deb
wget http://mirror.my-ho.st/Downloads/OpenZWave/Raspbian_Wheezy/armhf/libopenzwave1.3-dev_1.4.164_armhf.deb
sudo dpkg -i libopenzwave1.3_1.4.164_armhf.deb
sudo dpkg -i libopenzwave1.3-dev_1.4.164_armhf.deb
sudo dpkg -i openzwave_1.4.164_armhf.deb
#***************************************************
#********** Configuration files **********
#***************************************************
/home/pi/.node-red/flows_[MyPi].json/home/pi/.node-red/flows_[MyPi]_cred.json
npm install node-red-contrib-influxdb
npm install node-red-node-dropbox
npm install node-red-contrib-owfs
#Tellstick node requires telldus-core and libtelldus-core-dev
sudo apt-get install libtelldus-core-dev
npm install node-red-contrib-tellstick
#***************************************************
#********** Password Protect **********
#***************************************************
#Install Node-RED-Admin
sudo npm install -g node-red-admin
#Create password hash
node-red-admin hash-pw
#Update settings file
sudo nano /home/[MyUser]/.node-red/settings.js#Sometimes: /usr/lib/node_modules/node-red/settings.js
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "HASH_FROM_Node-RED-Admin_HERE",
permissions: "*"
}]
},
#Restart
node-red-stop
node-red-start
#***************************************************
#********** Sample Reverse Proxy **********
#***************************************************
#Remember to eable proxy_wstunnel for websocket to work.
sudo a2enmod proxy_wstunnel
<VirtualHost *:443>
ServerName node-red.mysite.org
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /comms ws://[SERVER_IP]:1880/comms
ProxyPass / http://[SERVER_IP]:1880/
ProxyPassReverse /comms ws://[SERVER_IP]:1880/comms
ProxyPassReverse / https://[SERVER_IP]:1880/
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/node-red.mysite.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/node-red.mysite.org/privkey.pem
</VirtualHost>
#***************************************************
#********** OpenZWave NOT WORKING!!! **********
#***************************************************
sudo apt-get install -y libudev-dev
wget http://mirror.my-ho.st/Downloads/OpenZWave/Raspbian_Wheezy/armhf/libopenzwave1.3_1.4.164_armhf.deb
wget http://mirror.my-ho.st/Downloads/OpenZWave/Raspbian_Wheezy/armhf/openzwave_1.4.164_armhf.deb
wget http://mirror.my-ho.st/Downloads/OpenZWave/Raspbian_Wheezy/armhf/libopenzwave1.3-dev_1.4.164_armhf.deb
sudo dpkg -i libopenzwave1.3_1.4.164_armhf.deb
sudo dpkg -i libopenzwave1.3-dev_1.4.164_armhf.deb
sudo dpkg -i openzwave_1.4.164_armhf.deb
#***************************************************
#********** Configuration files **********
#***************************************************
/home/pi/.node-red/flows_[MyPi].json/home/pi/.node-red/flows_[MyPi]_cred.json