MQTTMapper syntaxe pour de volets roulant

Sous forum dédié au plugin MQTTMAPPER de FlyingDomotic
Merci de poster vous questions concernant ce plugin ici et non pas dans le forum MQTT directement
Flying Domotic
Messages : 772
Inscription : 10 mars 2020, 15:26

Re: MQTTMapper syntaxe pour de volets roulant

Message par Flying Domotic »

Ah ben oui, si j'ajoute des syntaxes et ne mets pas à jour le contrôle, ça fonctionne moins bien ...

En attendant que je corrige, il est toujours possible de tester en relançant le plug-in, ./checkJsonFiles.py ne fait que contrôler la syntaxe du fichier JSON.
Flying Domotic
Messages : 772
Inscription : 10 mars 2020, 15:26

Re: MQTTMapper syntaxe pour de volets roulant

Message par Flying Domotic »

A priori, checkJsonfiles.py devrait mieux se comporter maintenant ...

Désolé pour le contre-temps ...
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: MQTTMapper syntaxe pour de volets roulant

Message par marcus_54 »

À force de faire des essais, j'avais laissé une petite bêtise, le switch est du type 21 pas 0 ce qui me générait un widget du type on off :?

Code : Tout sélectionner

	"Volets Bureau Marc": {"topic": "zigbee/Votels_bureau_Marc",
		"type": "244", "subtype": "73", "switchtype": "21",
		"mapping": {"item": "state","default": "0","values": {"CLOSE": "0", "OPEN": "100"}},
		"commands": {
			"Open": {"topic": "zigbee/Votels_bureau_Marc/set", "payload": {"state": "OPEN"}},
			"Close": {"topic": "zigbee/Votels_bureau_Marc/set", "payload": {"state": "CLOSE"}},
			"Stop": {"topic": "zigbee/Votels_bureau_Marc/set", "payload": {"state": "STOP"}},
			"Set Level": {"topic": "zigbee/Votels_bureau_Marc/set", "payload": {"position": "<level>"}}
		}
	
En l'état ça répercute bien les commande MQTT "ouvert" et "fermé" ça le commande également correctement.
Par contre comme tu l'avais dit, pour la position, il n'aime pas trop...
Capture d'écran 2025-03-22 162640.png
Capture d'écran 2025-03-22 162640.png (5.3 Kio) Consulté 1553 fois
Edit :
Autre petit truc
après fermeture, le widget affiche fermé et le volet "fermé " passe en violet. Ca c'est OK
Capture d'écran 2025-03-22 163958.png
Capture d'écran 2025-03-22 163958.png (22.07 Kio) Consulté 1550 fois
par contre pour le STOP et Ouvert, rien..
Capture d'écran 2025-03-22 164052.png
Capture d'écran 2025-03-22 164052.png (20.38 Kio) Consulté 1550 fois
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
Flying Domotic
Messages : 772
Inscription : 10 mars 2020, 15:26

Re: MQTTMapper syntaxe pour de volets roulant

Message par Flying Domotic »

La dernière version permet de spécifier du JSON dans une chaîne de caractères avec des échappements, afin de pouvoir indiquer des formats numériques, flottants et/ou booléens.

Du coup, la spécification du "payload" de "Set Level" devient ;

Code : Tout sélectionner

"Set Level":{"topic": "xxxx/setLevelTopic", "payload": "{\"value\": <level>}", "retain": true},
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: MQTTMapper syntaxe pour de volets roulant

Message par marcus_54 »

Bonjour,
L'ensemble fonctionne.
Il reste les indications qui sont un peu incomplètes.
Je vous met une petite vidéo pour vous montrer.

Code : Tout sélectionner

	"Volets Bureau Marc": {"topic": "zigbee/Volet_Bureau_Marc",
		"type": "244", "subtype": "73", "switchtype": "21",
		"mapping": {"item": "state","default": "0","values": {"CLOSE": "0", "OPEN": "100"}},
		"commands": {
			"Open": {"topic": "zigbee/Volet_Bureau_Marc/set", "payload": {"state": "OPEN"}},
			"Close": {"topic": "zigbee/Volet_Bureau_Marc/set", "payload": {"state": "CLOSE"}},
			"Stop": {"topic": "zigbee/Volet_Bureau_Marc/set", "payload": {"state": "STOP"}},
			"Set Level":{"topic": "zigbee/Volet_Bureau_Marc/set", "payload": "{\"position\": <level>}", "retain": true}
		}
	}
https://youtu.be/m5dpoDCEmaM
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
Flying Domotic
Messages : 772
Inscription : 10 mars 2020, 15:26

Re: MQTTMapper syntaxe pour de volets roulant

Message par Flying Domotic »

MqttMapper fait ce qu'on lui a demandé, à savoir passer le pourcentage d'ouverture à 0 lorsque "state" = "CLOSE" et 100 lorsque "state" = "OPEN".

En choisissant habilement "position" comme source, on devrait avoir quelque chose de plus adapté. Ca se fait par un non moins habile :

Code : Tout sélectionner

	"Volets Bureau Marc": {"topic": "zigbee/Volet_Bureau_Marc",
		"type": "244", "subtype": "73", "switchtype": "21",
		"mapping": {"item": "position"},
		"commands": {
			"Open": {"topic": "zigbee/Volet_Bureau_Marc/set", "payload": {"state": "OPEN"}},
			"Close": {"topic": "zigbee/Volet_Bureau_Marc/set", "payload": {"state": "CLOSE"}},
			"Stop": {"topic": "zigbee/Volet_Bureau_Marc/set", "payload": {"state": "STOP"}},
			"Set Level":{"topic": "zigbee/Volet_Bureau_Marc/set", "payload": "{\"position\": <level>}", "retain": true}
		}
	}
C'est {"item": "position"} qui fait le boulot.

Pour ceux qui se demanderaient par quelle magie un module enfermé dans une boîte de dérivation et juste connecté sur les fils d'alimentation du moteur sait à quel pourcentage d'ouverture on est, la réponse se trouve dans "calibration_time".

Il faut le définir sur la durée d'ouverture du volet (mesuré avec une montre, entre sa position la plus basse et sa position la plus haute).

Le module initialise la position sur la première commande, puis ajoute ou enlève en fonction du sens de rotation et du temps écoulé (par exemple 5% par seconde pour une durée d'ouverture totale de 20s).

Du coup, si on souhaite que l'information remontée dans Domoticz soit correcte, il peut être (encore !) habile de mesurer et définir ce paramètre dans le module.
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: MQTTMapper syntaxe pour de volets roulant

Message par marcus_54 »

Effectivement.

un truc amusant et inattendu du Widget blinds
ezgif-6f71b01389801a.gif
ezgif-6f71b01389801a.gif (4.43 Mio) Consulté 1527 fois
position 0 Fermé
position 1 Ouvert
position 2 2%
position 3 Group Off
position 4 Groupe allumé
position 5 Set group Level : 5%
position 6 Faire varier
position 7 Lumineux
position 8 Sound 0
position 9 Sound 1
etc
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
Flying Domotic
Messages : 772
Inscription : 10 mars 2020, 15:26

Re: MQTTMapper syntaxe pour de volets roulant

Message par Flying Domotic »

Effectivement, elle est assez marrante ...

Je regarde le code, mais j'ai déjà une petite idée ...
Flying Domotic
Messages : 772
Inscription : 10 mars 2020, 15:26

Re: MQTTMapper syntaxe pour de volets roulant

Message par Flying Domotic »

C'est corrigé ...

Merci de m'avoir signalé le pb !
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: MQTTMapper syntaxe pour de volets roulant

Message par marcus_54 »

Ça fonctionne bien !

Un grand merci :P
ice_video_20250324-140434-ezgif.com-video-to-gif-converter.gif
ice_video_20250324-140434-ezgif.com-video-to-gif-converter.gif (9.73 Mio) Consulté 1489 fois
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
Répondre