tisdag 13 september 2016

Node-RED on Raspbian

#***************************************************
#**********           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
sudo apt-get install git

#npm install node-red-node-mysql
npm 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