EnglishThis website is also available in English

Home Assistant, Node-RED & MQTT di Linux Mint

Home Assistant (HA) adalah perangkat lunak otomatisasi rumah open source gratis. Anda dapat mengintegrasikannya dengan perangkat dan layanan yang tak terhitung jumlahnya. Kami menginstalnya bersama dengan broker Node-RED dan Mosquitto MQTT di Linux Mint. Untuk tutorial ini, saya menggunakan Linux Mint 19.2 “Tina”.

Instalasi manual versus HASS.IO

Anda dapat menginstal Home Assistant pada Raspberry Pi menggunakan HASS.IO, gambar yang sudah jadi. HASS.IO juga memiliki penginstal untuk semua jenis Pengaya. Namun, di Linux Mint Anda harus menginstal semuanya secara manual. Di bawah ini adalah tutorial untuk membantu Anda dalam perjalanan. Setelah menyelesaikan langkah-langkah ini, Anda memiliki instalasi dasar dengan broker Home Assistant, Node-RED dan Mosquitto MQTT.

Install Home Assistant

Untuk menginstal Home Assistant di Linux Mint Anda dapat sebagian besar mengikuti instruksi di “Instalasi manual pada Raspberry Pi“.
Lakukan pembaruan paket yang diinstal:
sudo apt-get update
sudo apt-get upgrade -y
Instal paket baru:
sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev
Tambahkan pengguna ‘homeassistant’ ke grup ‘diaout’. Kami tidak menyertakan grup “i2c” dan “gpio”.
sudo useradd -rm homeassistant -G dialout
Buat direktori instalasi:
cd /srv
sudo mkdir homeassistant
sudo chown homeassistant:homeassistant homeassistant
Buat “lingkungan virtual” untuk “homeassistant” bagi pengguna
sudo -u homeassistant -H -s
cd /srv/homeassistant
python3 -m venv .
source bin/activate
Instal Python wheel:
python3 -m pip install wheel
Instal HA:
pip3 install homeassistant
Mulai HA:
hass

Home Assistant autostart

Agar HA mulai secara otomatis, kami secara luas mengikuti petunjuk di bawah “Python virtual environment” dalam artikel “Autostart using systemd” di situs web HA.

Gunakan perintah di bawah ini untuk membuka editor teks Nano dan membuat file layanan untuk systemd:

sudo nano -w /etc/systemd/system/[email protected]

Rekatkan kode di bawah ini ke dalam file:

[Unit]
Description=Home Assistant
After=network-online.target

[Service]
Type=simple
User=%i
ExecStart=/srv/homeassistant/bin/hass -c "/home/%i/.homeassistant"

[Install]
WantedBy=multi-user.target

Setelah selesai, tekan CTRL-X dan kemudian Y untuk menyimpan file dan tutup Nano.

Instal broker Mosquitto MQTT

Sebagai broker MQTT kami akan menginstal Mosquitto, yang mudah dengan perintah berikut:

sudo apt install mosquitto

Untuk menguji apakah Mosquitto berfungsi dengan baik, kita dapat mengikuti instruksi di artikel “MQTT Testing“. Buka “Developer Tools” di HA dan buka tab “MQTT”.

Misalnya, Anda dapat memasukkan yang berikut di bidang “Topik”:

home-assistant/switch/1/power

Anda kemudian dapat memasukkan pesan untuk topik di bidang “Muatan”, misalnya:

ON

Di bidang “Dengarkan topik”, ketikkan # untuk melihat semuanya:

#

Tekan “Mulai Mendengarkan” dan kemudian tekan “Terbitkan”. Hasilnya harus seperti teks berikut:

Message 23 received on home-assistant/switch/1/power/stat/POWER at 12:16 PM:
ON
QoS: 0 - Retain: false
Message 22 received on home-assistant/switch/1/power/stat/RESULT at 12:16 PM:
{
"POWER": "ON"
}
QoS: 0 - Retain: false

Instal Node-RED

Pertama instal Node.js dan npm, misalnya sesuai dengan instruksi pada halaman ini:
sudo apt-get install curl python-software-properties
curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
sudo apt-get install nodejs
sudo apt-get install npm

Uji Node.js
node -v

Tes npm:
npm -v

Kemudian instal Node-RED sesuai dengan petunjuk di https://github.com/node-red/node-red:

sudo npm install -g --unsafe-perm node-red

Mulai Node-RED:

node-red

Buka http://localhost:1880

Instal node Home Assistant di Node-RED

Untuk membiarkan Node-Red bekerja bersama dengan HA, Anda dapat mengintegrasikan simpul HA ke dalam Node-RED. Untuk melakukan ini, instal paket HA npm “node-red-contrib-home-assistant-websocket“.

Di Node-RED, buka menu (klik ikon dengan tiga garis horizontal), lalu:

  1. Pilih opsi menu “Manage palette”
  2. Pilih tab “Install”
  3. Cari “node-red-contrib-home-assistant-websocket”
  4. Klik pada “Install”
  5. Ketika instalasi selesai Anda akan melihat pesan “Nodes added to palette”

Dalam daftar di sisi kiri layar, Anda akan melihat simpul baru di bawah “home assistant”.

Home Assistant, Node-RED & MQTT op Linux Mint - HA node di Node-RED
Home Assistant, Node-RED & MQTT op Linux Mint – HA node di Node-RED

Mulai Node-Red secara otomatis

Untuk memulai Node-Red saat komputer dinyalakan, Anda dapat mengikuti bagian “Step 3 – Launching Node-RED on Startup” pada instruksi dalam artikel ini, dengan beberapa penyesuaian kecil.

Sama seperti untuk HA, kami membuat file layanan dengan Nano:

sudo nano /etc/systemd/system/node-red.service

Rekatkan kode berikut ke dalam file:

[Unit]
Description=Node-RED
After=syslog.target network.target

[Service]
ExecStart=/usr/bin/node-red --max-old-space-size=128 -v
Restart=on-failure
KillSignal=SIGINT

# log output to syslog as 'node-red'
SyslogIdentifier=node-red
StandardOutput=syslog

# non-root user to run as
WorkingDirectory=/home/myusername/
User=myusername
Group=myusername

[Install]
WantedBy=multi-user.target

Perhatian:

  • Execstart harus mengarah ke /usr/bin/node-red
  • WorkingDirectory, User and Group: masukkan nama pengguna non-root dari instalasi Linux Mint Anda, bukan myusername. Dengan kata lain, nama pengguna yang Anda gunakan untuk masuk ke Linux Mint.

Simpan file dengan CTRL + X dan kemudian Y.

Dengan perintah berikut, Node-RED sekarang akan mulai secara otomatis:

sudo systemctl enable node-red

Anda dapat memulai Node-RED secara manual dengan:

sudo systemctl start node-red

atau berhenti dengan:

sudo systemctl stop node-red

Langkah selanjutnya

Dengan instruksi ini, Anda membuat instalasi dasar dengan HA, Node-RED, dan Mosquitto. Lebih lanjut, adalah bijaksana untuk melindungi Node-RED dan Mosquitto dengan kata sandi dan TLS. Petunjuk untuk ini dapat ditemukan di blog  “IoT server: Mosquitto and Node Red on Raspberry Pi” dan “IoT server: secure MQTT communication using TLS“, dalam artikel selanjutnya kita akan melihat bagaimana kita dapat melakukan ini dengan Linux Mint.

Add a Comment

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *