
MQTT-client opzetten met Mosquitto en Zigbee2MQTT
Maak een mqtt-client!
Open de terminal en plak onderstaande codes om de MQTT-client te installeren.
sudo wget https://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
sudo wget http://repo.mosquitto.org/debian/mosquitto-buster.list
cd
sudo apt-get update
sudo apt-get install mosquitto mosquitto-clients
sudo apt-get install python-pip
sudo pip install paho-mqtt
sudo /etc/init.d/mosquitto stop
Configureer mosquitto.conf
sudo nano /etc/mosquitto/mosquitto.conf
Voeg de volgende 6 regels onderaan toe.
log_type error
log_type warning
log_type notice
log_type information
connection_messages true
log_timestamp true
Start de Mosquitto server
sudo /etc/init.d/mosquitto start
Test je MQTT-client
Open een 2de terminal, in de eerste plak je:
mosquitto_sub -d -t hello/world
In de tweede terminal type:
mosquitto_pub -d -t hello/world -m "Hallo scherm 1!"
Het werkt!
Nu kun je met je Tasmota apparaten met je pi laten communiceren
De handmatige start-stop commando’s
sudo systemctl stop mosquitto.service
sudo systemctl start mosquitto.service
sudo systemctl restart mosquitto.service
Lukt dat niet door Mosquitto 2.0?
Downgrade naar Mosquitto 1.6.12
Zigbee2mqtt
Ik ga er van uit dat je een werkende Zigbee-USB-stick hebt.
Kijk of je USB-poort overeenkomt. met ls -l /dev/ttyACM0
en ls -l /dev/serial/by-id
pi@raspberry:~ $ ls -l /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 May 16 19:15 /dev/ttyACM0 # <-- adapter (CC2531 in this case) on /dev/ttyACM0
pi@raspberry:/ $ ls -l /dev/serial/by-id
total 0
lrwxrwxrwx. 1 root root 13 Oct 19 19:26 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF-if00 -> ../../ttyACM0
Installatie:
Je hebt node.js nodig, dit installeer je met onderstaande code.
sudo curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs git make g++ gcc
Contoleer de versies van node en npm
node --version # minimaal v10.X, v12.X, v14.X or v15.X
npm --version # minimaal 6.X or 7.X
Clone koenkk’s github, en installeer.
sudo git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
sudo chown -R pi:pi /opt/zigbee2mqtt
cd /opt/zigbee2mqtt
npm ci --production
Maak de key aan.
echo "\n\nadvanced:\n network_key: GENERATE" >> /opt/zigbee2mqtt/data/configuration.yaml
Start Zigbee2mqtt op.
cd /opt/zigbee2mqtt
npm start
Zorg dat hij opstart met je pi
sudo nano /etc/systemd/system/zigbee2mqtt.service
Zet onderstaande erin
[Unit]
Description=zigbee2mqtt
After=network.target
[Service]
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/zigbee2mqtt
StandardOutput=inherit
# Or use StandardOutput=null if you don't want Zigbee2MQTT messages filling syslog, for more options see systemd.exec(5)
StandardError=inherit
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
Activeerde code
sudo systemctl enable zigbee2mqtt.service
Domoticz Mqtt
cd domoticz/plugins
git clone https://github.com/stas-demydiuk/domoticz-zigbee2mqtt-plugin.git zigbee2mqtt
Restart domoticz
Zorg dat “Accept new Hardware Devices” is geactiveerd in Domoticz. Ga naar “Hardware” en maak nieuwe hardware aan met type “Zigbee2MQTT”
Stel het IP van je MQTT server in, waarschijnlijk 127.0.0.1
Klaar!
Problemen met de nieuwste Mosquitto versie? Downgraden is mogelijk.