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.