The Internet of Things

Install Domoticz

Domoticz

Info:

Domoticz is a very light weight home automation system that lets you monitor and configure miscellaneous devices, including lights, switches, various sensors/meters like temperature, rainfall, wind, ultraviolet (UV) radiation, electricity usage/production, gas consumption, water consumption and many more. Notifications/alerts can be sent to any mobile device.

Domoticz is open source and completely free! https://domoticz.com/

Domoticz forum:

Domoticz manual:

Install:

More: https://www.domoticz.com/wiki/Raspberry_Pi

Update:

Use the Web Interface to update Domoticz (Setup-Up & Check for Updates)
If this fails for any reason (e.g. partial download giving segmentation fault) then you should manually update by:
  • Stable:
    • cd domoticz
    • ./updaterelease
  • Beta:
    • cd domoticz
    • ./updatebeta

Test Domoticz:

  • cd domoticz
  • sudo ./domoticz

Start Domoticz:

  • sudo service domoticz.sh start

Status Domoticz:

  • sudo service domoticz.sh status

Connect SAJ Solar Inverter to Node-Red (part 4)

Node-Red flow part 3

Node 14:

Out of order cath node

Node 15:

Out of order function node

Node 16:

Convert Date & Time function node

Node 17:

Display Date text node

Node 18:

Display Time text node

Connect SAJ Solar Inverter to Node-Red (part 3)

Node-Red flow part 2

Node 7:

Display Day power text node

Node 8:

Display Day power gauge node

Node 9:

Display State text node

Node 10:

Display Power text node

Node 11:

Display Power gauge node

Node 12:

Display Power chart node

Node 13:

Display Max Power text node

Connect SAJ Solar Inverter to Node-Red (part 2)


Node-Red flow part 1

Node 1:

Inject every second a Timestamp


Node 2:

Connect to http://192.168.1.24/real_time_data.xml


Node 3:

Convert XML to a Javascript Object


Node 4:

Convert the Javascript Object to individual Objects


Node 5:

Convert the Onjects

Node 6:

Select the objects

Connect SAJ Solar Inverter to Node-Red (part 1)


My SAJ Solar Inverter:

Model: Sununo Plus 4K-M:

http://www.saj-solar.com/

SAJ Solar Inverter local webpage:

http://192.168.1.24

SAJ Solar Inverter local data:

http://192.168.1.24/real_time_data.xml

Node-Red program: 

Node-Red screenshot:

https://192.168.1.31:1880/ui

Node-Red Security

Log in to the Raspberry Pi using Putty

Stop Node-Red

  • sudo systemctl disable nodered.service
  • node-red-stop
  • sudo reboot & exit

Generating new SSH keys

  • cd .node-red (cd /home/pi/.node-red or cd ~/.node-red)
  • openssl genrsa -out privatekey.pem 1024
  • openssl req -new -key privatekey.pem -out private-csr.pem
  • openssl x509 -req -days 365 -in private-csr.pem -signkey privatekey.pem -out certificate.pem
  • ls -all and you find 3 new files:
    • certificate.pem
    • private-csr.pem
    • privatekey.pem

 Update settings.js

  • nano settings.js
  • uncomment lines:
    • var fs=required("fs");
    • https: {
    • key: fs.readFileSunc('/home/pi/.node-red/privatekey.pem')
    • cert: fs.readFileSunc('/home/pi/.node-red/certificate.pem')
    • },
    • adminAuth: {
    • type: "credentials",
    • users: [{
    • Username: "admin",
    • password: " --- ",
    • permissions: "*"
    • }]
    • },
  • save & exit settings.js 

Install node-red-admin

  • su (to log as root)
  • npm install -g node-red-admin
  • exit
  • pwd
  • cd .node-red
  • node-red-admin hash-pw
Enter the password you want, copy the hash code and save this to the 'password' line in the settings.js file.

Start Node-red

  • sudo systemctl enable nodered.service
  • node-red-start
Now you cane see Node-red in your browser by using https://'ip adres raspberry pi':1880
and login with admin and your password.

Update Node-Red on the Raspberry Pi

Update Raspberry Strecht Lite to the latest version.

Log in to the Raspberry Pi using Putty
Type the following commands one by one
  • sudo rpi-update
  • sudo reboot & exit (reboot the Raspberry Pi)
  • sudo apt-get -y update
  • sudo apt-get -y upgrade
  • sudo apt-get dist-upgrade
  • sudo reboot & exit (reboot the Raspberry Pi)


Install the latest Node.js and Npm

bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)

To find the version type this commands:
node -v
v8.9.3
npm -v
5.5.1

Install n

  • sudo npm install -g n
  • sudo n latest
  • sudo npm install -g npm@latest
  • sudo reboot & exit (reboot the Raspberry Pi)
To find the version type this commands: 
node -v
v9.3.0
npm -v
5.6.0

Start and Stop Node-Red

node-red-stop - to stop Node-red
node-red-start - to start Node-Red
node-red-log - to view the recent log output
sudo systemctl enable nodered.service - to autostart Node-Red at every boot
sudo systemctl disable nodered.service - to disable autostart on boot

Fix the Serialport Error

  • cd .node-red
  • node-red-stop
  • sudo npm rebuild
  • de-red-start (ctrl c to exit Node-red)

Start Node-Red as a service

  • sudo systemctl enable nodered.service
  • node-red-start (ctrl c to exit Node-red)
Now you cane see Node-red in your browser by using http://'ip adres raspberry pi':1880

https://youtu.be/B0hpv_8is0Q