Page 1 sur 2

Problème installation MQTT

Publié : 09 août 2018, 16:30
par jmv75013
Bonjour,

J'ai voulu installer MQTT comme indiqué dans le tuto de Vil1driver https://easydomoticz.com/forum/viewtopic.php?f=25&t=331

1èere étape

Code : Tout sélectionner

sudo apt-get update
sudo apt-get install libwebsockets-dev mosquitto mosquitto-clients
car libwebsockets m'indiquait paquet introuvable

2ème étape, création du fichier de conf

Code : Tout sélectionner

sudo nano /etc/mosquitto/conf.d/monitor.conf
en y mettant les lignes suivantes

Code : Tout sélectionner

listener 1883
listener 9001
protocol websockets
puis j'ai redemarré le service mosquitto et ajouter le matériel dans domoticz
Mais cela ne fonctionne pas, j'ai les messages suivants dans les logs domoticz

Code : Tout sélectionner

MQTT: Connecting to localhost:1883
Error: MQTT: Failed to start, return code: 14 (Check IP/Port)
Quelqu'un peut il me dépanner ? Merci

Re: Problème installation MQTT

Publié : 09 août 2018, 17:26
par Jeff
Quel IP as tu renseigné dans le matériel domoticz ?

Re: Problème installation MQTT

Publié : 09 août 2018, 19:44
par jmv75013
Bonsoir jeff

j.ai essayé l’ip du raspberry puis localhost, mais même résultat

J.ai l.impression que masquait tout n.est pas à l.ecoute au vu des résultats ci dessous

Code : Tout sélectionner

pi@raspberrypi ~ $ ps -ef | grep mosquitto
pi       19023 18961  0 19:49 pts/0    00:00:00 grep --color=auto mosquitto
pi@raspberrypi ~ $ service mosquitto status
● mosquitto.service - LSB: mosquitto MQTT v3.1 message broker
   Loaded: loaded (/etc/init.d/mosquitto)
   Active: active (exited) since jeu. 2018-08-09 16:50:18 CEST; 3h 0min ago
  Process: 2097 ExecStop=/etc/init.d/mosquitto stop (code=exited, status=0/SUCCESS)
  Process: 2104 ExecStart=/etc/init.d/mosquitto start (code=exited, status=0/SUCCESS)
pi@raspberrypi ~ $ netstat -tln | grep mosquitto
pi@raspberrypi ~ $ 

Re: Problème installation MQTT

Publié : 09 août 2018, 20:43
par vil1driver
Salut

Et en forçant l'usage du fichier de configuration ?

Code : Tout sélectionner

./usr/sbin/mosquitto -c /etc/mosquitto/conf.d/monitor.conf -d

Re: Problème installation MQTT

Publié : 09 août 2018, 20:49
par Neutrino
websocket n'est pas installé, donc il faut enlever les 2 dernières lignes du .conf pour que mosquitto se lance.
Monitor a besoin de websocket pour fonctionner ?

Re: Problème installation MQTT

Publié : 09 août 2018, 20:59
par jmv75013
Effectivement le resultat de la commande proposée par vil1driver est

Code : Tout sélectionner

Error: Unknown configuration variable "protocol".
Error found at /etc/mosquitto/conf.d/monitor.conf:3.
Error: Unable to open configuration file.
pi@raspberrypi ~ $ 
ce qui semble montrer que websocker n’est pas installé

Pourtant si je relance l’install de Libwebsocket-dev j’ai un message m’indiquant que la dernière version est déjà installee

Re: Problème installation MQTT

Publié : 10 août 2018, 08:30
par jmv75013
Bonjour,

J'ai essayé d'installer libwebsocket en suivant ce qui était dit sur ce site : https://ouilogique.com/mosquitto-mqtt-raspbery/

Héla rien y fait , la commande

Code : Tout sélectionner

mosquitto -c /etc/mosquitto/conf.d/monitor.conf -d
renvoyait toujours l'erreur

Code : Tout sélectionner

Error: Unknown configuration variable "protocol"
et domoticz indiquait toujours l'erreur.

Ensuite j'ai simplement taper la commande

Code : Tout sélectionner

mosquitto
Et là "miraculeusment" mosquitto s'est mis à l'écoute sur le port 1883. Et domoticz s'est connecté. Lorsque je fais

Code : Tout sélectionner

 mosquitto_sub -t 'domoticz/out'
je vois bien défiler ce que domoticz envoie.

Je ne sais pas si mon problème est résolu... mais pour l'instant ca a l'air de fonctionner.

Remarque : la commande

Code : Tout sélectionner

sudo service mosquitto start
ou restart ne donnait rien

Re: Problème installation MQTT

Publié : 10 août 2018, 10:06
par jmv75013
Bon lors, j'ai poussé mes tests un peu plus loin, j'ai intégré le code suivant dans frontpage_settings.js (section MQTT)

Code : Tout sélectionner

switch(message.name) { // filtre sur le nom du dispositif
				case "Chauffe eau":
					if (message.svalue1 == 10) {
						lightbox_open('switch',25000,'Chauffe eau en Auto');							
					}
					if (message.svalue1 == 20) {
						lightbox_open('switch',25000,'Chauffe eau en Marche forcée');							
					}
					if (message.svalue1 == 20) {
						lightbox_open('switch',25000,'Chauffe eau en Arrêt');							
					}
					break;
Rien ne se passe (je ne vois pas de popup) quand je joue avec le sélecteur "Chauffe eau", pourtant je vois bien dans "domoticz/out"

Code : Tout sélectionner

{
   "Battery" : 255,
   "LevelActions" : "|||",
   "LevelNames" : "Off|Auto|Forcee|Arret",
   "LevelOffHidden" : "true",
   "RSSI" : 12,
   "SelectorStyle" : "0",
   "description" : "",
   "dtype" : "Light/Switch",
   "id" : "0001405E",
   "idx" : 14,
   "name" : "Chauffe eau",
   "nvalue" : 2,
   "stype" : "Selector Switch",
   "svalue1" : "10",
   "switchType" : "Selector",
   "unit" : 1
}
Peut-être que je n'ai pas tout compris dans le fonctionnement... Merci pour votre aide

Re: Problème installation MQTT

Publié : 13 août 2018, 18:56
par jmv75013
Bonsoir,

J'ai poussé mes tests un peu plus loin. J'ai supprimé la ligne protocol websocket du fichier monitor.conf, la commande suivante fonctionne mosquitto se met à l'écoute sur les ports 1883 et 9001.

Code : Tout sélectionner

mosquitto -c /etc/mosquitto/conf.d/monitor.conf -d
Coté monitor, dans la console web je vois :

Code : Tout sélectionner

Connecting to domoticz : Success 
puis

Code : Tout sélectionner

Firefox ne peut établir de connexion avec le serveur à l’adresse ws://ip:9001/. mqttws31-min.js:36:418
Error MQTT : Connection Failed AMQJS0007E Socket error:undefined. Reconnect will be attempted in 60 seconds.
Merci pour votre aide

Re: Problème installation MQTT

Publié : 13 août 2018, 21:20
par rimram31
Activer websocket pour mqtt permet au serveur de gerer des clients web a priori le cas pour monitor je suppose, donc il te faut parvenir a avoir une version de mosquitto incluant websocket. Bizarre que tu n'ai pas reussi a la builder si tu as le package deja installe il 'suffit' de remplacer le binaire normalement