Node Red
Additional nodes added
node-red-dashboard
node-red-contrib-wemo-emulator
node-red-node-email
node-red-contrib-play-audio
node-red-contrib-arp
Optional Nodes Added
node-red-contrib-onvif-nodes *
node-red-contrib-alexa-home
emulates Phillips HUE. Need to redirect Port 80 e.g.
sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 60000
The changes to iptables are not persistent, after reboot you have to forward the port again, or use iptables-save as described here
NB Both Alexa nodes need to be in the flow.
node-red-node-base64
A function that converts the chosen property (default msg.payload) to and from base64 format. Used to convert a buffer object from http request to a string for image output to a dashboard template node.
* node-red-contrib-onvif-nodes
Loaded from https://github.com/bartbutenaers/node-red-contrib-onvif-nodes
pi@raspberrypi:~ $ cd ~/.node-red
npm install node-red-contrib-onvif-nodes@0.0.1-beta.15
* @node-red-matter/node-red-matter
Still under develpment.
Installation:
npm install @node-red-matter/node-red-matter@latest
from your .node-red directory of course.
pi@raspberrypi:~ $ cd ~/.node-red
Unistall and Reinstall Node Red
node-red-stop
sudo npm -g remove node-red
sudo npm -g remove node-red-admin
rm .R /.node-red
rm .R /.node-red
node-red
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Miscellaneous
A useful momentary button on ui_template node
[{"id":"eac5d9eb.958798","type":"ui_template","z":"6d08d5ab.a8aa3c","group":"61e6d4c4.e7619c","name":"momentary button","order":7,"width":"1","height":"1","format":"<div id=\"momentary\">\n <md-button style=\"min-width:36px;\n width: 100%; \n height: 100%; \n margin:0; \n padding: 0px; \n border-radius: 50%; \n background-color:green\">\n \n <i class=\"fa fa-hand-pointer-o\"></i>\n </md-button>\n</div>\n<script>\n(function($scope) {\n \n$('#momentary').on('touchstart mousedown', function(e) {\n e.preventDefault(); //prevent default behavior\n $scope.send({\"topic\":\"momentary\",\"payload\": true});\n});\n\n$('#momentary').on('touchend mouseup', function(e) {\n e.preventDefault(); //prevent default behavior\n $scope.send({\"topic\":\"momentary\",\"payload\": false});\n});\n \n})(scope);\n</script>","storeOutMessages":true,"fwdInMessages":true,"resendOnRefresh":true,"templateScope":"local","x":360,"y":140,"wires":[["534f375d.fce978"]]},{"id":"534f375d.fce978","type":"debug","z":"6d08d5ab.a8aa3c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":530,"y":140,"wires":[]},{"id":"61e6d4c4.e7619c","type":"ui_group","name":"TEST","tab":"d680797a.2f8b88","order":1,"disp":true,"width":"5","collapse":false},{"id":"d680797a.2f8b88","type":"ui_tab","name":"Home","icon":"dashboard","disabled":false,"hidden":false}]