Page 2 sur 3

Re: MQTTMapper syntaxe pour de volets roulant

Publié : 22 mars 2025, 11:36
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.

Re: MQTTMapper syntaxe pour de volets roulant

Publié : 22 mars 2025, 12:58
par Flying Domotic
A priori, checkJsonfiles.py devrait mieux se comporter maintenant ...

Désolé pour le contre-temps ...

Re: MQTTMapper syntaxe pour de volets roulant

Publié : 22 mars 2025, 16:31
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é 1556 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é 1553 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é 1553 fois

Re: MQTTMapper syntaxe pour de volets roulant

Publié : 22 mars 2025, 21:24
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},

Re: MQTTMapper syntaxe pour de volets roulant

Publié : 23 mars 2025, 10:47
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

Re: MQTTMapper syntaxe pour de volets roulant

Publié : 23 mars 2025, 11:39
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.

Re: MQTTMapper syntaxe pour de volets roulant

Publié : 23 mars 2025, 12:01
par marcus_54
Effectivement.

un truc amusant et inattendu du Widget blinds
ezgif-6f71b01389801a.gif
ezgif-6f71b01389801a.gif (4.43 Mio) Consulté 1530 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

Re: MQTTMapper syntaxe pour de volets roulant

Publié : 23 mars 2025, 12:30
par Flying Domotic
Effectivement, elle est assez marrante ...

Je regarde le code, mais j'ai déjà une petite idée ...

Re: MQTTMapper syntaxe pour de volets roulant

Publié : 24 mars 2025, 01:53
par Flying Domotic
C'est corrigé ...

Merci de m'avoir signalé le pb !

Re: MQTTMapper syntaxe pour de volets roulant

Publié : 24 mars 2025, 14:08
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é 1492 fois