Markdown source

# Node-red notes 

### Update to new versions

	sudo npm install -g --unsafe-perm node-red
	sudo systemctl restart nodered

### Log

	sudo journalctl -f -u node-red

Per generare messaggi nel log da node-red:

	node.log("Something happened");
	node.warn("Something happened you should know about");
	node.error("Oh no, something bad happened");

### Visibilità delle variabili (scope)

	// initialise the counter to 0 if it doesn't exist already
	var count = context.get('count')||0;
	count += 1;
	// store the value back
	// make it part of the outgoing msg object
	msg.count = count;

Scope types:

* __context__ Static data at node level
* __flow__ Static data at flow level
* __global__ Static data at global level

Ref: <>

### Change the node status

	node.status({text:"Just text status"});
	node.status({});   // to clear the status

## Installing

### Roadrunner
	curl -sL | sudo -E bash -
	sudo apt-get install -y nodejs
	sudo npm install -g --unsafe-perm node-red

* <>
* <>

### Rasbian Buster Lite 2019-07-10

Type at command line prompt:

	bash <(curl -sL

Enable the [systemd service](/systemd) by typing:

	sudo systemctl enable nodered.service

Then start it:

	sudo systemctl start nodered.service

## Get the access to the NodeRED IDE:

* <http://raspberrypi.local:1880>

## Enabling NodeRED projects

Install __git__ by typing:

	sudo apt-get update
	sudo apt-get install git

Enable the project feature editing the file __setting.js__:

	sudo nano .node-red/settings.js

Add these lines inside the __module.exports__ session:

	module.exports = {
	    editorTheme: {
	       projects: {
	           enabled: true


Restart NodeRED:

	sudo systemctl restart node-red.service
Check for any errors at NodeRED startup:

	sudo journalctl -f -u node-red -o cat

* <>

## Security

Install __node-red-admin__

	sudo npm install -g node-red-admin

Create a password hash by typing:

	node-red-admin hash-pw
Add these lines in __.node-red/settings.js__ inside the __module.exports__ session:

	module.exports = {
		adminAuth: {
		    type: "credentials",
		    users: [{
		        username: "admin",
		        password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.",
		        permissions: "*"

Restart NodeRED:

	sudo systemctl restart nodered.service
Check for any errors at NodeRED startup:

	sudo journalctl -f -u node-red -o cat

* <>
* <>

## Links

* Documentazione ufficiale <>
* Flows <>


## Link alle sessioni Node-red su cloud per le prove durante le lezioni

* <a href="" target="_new">Benito Cifiello</a>
* <a href="" target="_new">Daniele </a>
* <a href="" target="_new">Gianpaolo Maero - gianpaolo2019</a>
* <a href="" target="_new">Alessia Tocci</a>
* <a href="" target="_new">Andrea Ancora</a>
* <a href="" target="_new">Sergio Tanzilli</a>
* <a href="" target="_new">Sergio Campi</a>
* <a href="" target="_new">Maurizio Bozzi</a>