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 »

On n'est pas à l'abri d'un coup de pot ...
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: MQTTMapper syntaxe pour de volets roulant

Message par marcus_54 »

Bonjour

J'ai acquis un petit variateur Zigbee pour projecteur DEL, il n'est pas trop mal.
https://www.zigbee2mqtt.io/devices/QS-Z ... triac-ln_1

Je me suis inspiré de la syntaxe du volet roulant. Néanmoins, il y a 2 petits problèmes :
La consigne de luminosité va de 0 à 255 (ou plutôt de 60 à 255 puisqu'en dessous de 60, c'est éteint).

1)Le variateur de Domoticz donne une variation de 0 à 100 : Je peux piloter de 0 à 100
2)J'ai la commande "ON" qui ne passe pas, La commande "OFF" fonctionne...

ma syntaxe Zigbee2Mqtt

Code : Tout sélectionner

	"Variateur Lampe Cam": {"topic": "zigbee/Variateur_L_Ext",
		"type": "244", "subtype": "73", "switchtype": "7",
		"mapping": {"item": "brightness"}, 
		"commands": {
			"Set Level":{"topic": "zigbee/Variateur_L_Ext/set", "payload": "{\"brightness\": <level>}", "retain": true},
			"ON": {"topic": "zigbee/Variateur_L_Ext/set", "payload": {"state": "ON"}},
			"OFF": {"topic": "zigbee/Variateur_L_Ext/set", "payload": {"state": "OFF"}}
		}
	},
message MQTT :

Code : Tout sélectionner

{"brightness":82,"countdown":null,"light_type":"led","linkquality":14,"max_brightness":255,"min_brightness":59,"power_on_behavior":"off","state":"ON","switch_type":null,"update":{"installed_version":70,"latest_version":70,"state":"idle"}}
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 »

J'ai du mal à tester, mais je pense qu'en utilisant la définition suivante, ça pourrait fonctionner :

Code : Tout sélectionner

	"Variateur Lampe Cam": {"topic": "zigbee/Variateur_L_Ext",
		"type": "244", "subtype": "73", "switchtype": "7",
		"mapping": {"item": "brightness"}, 
		"commands": {
			"Set Level":{"topic": "zigbee/Variateur_L_Ext/set", "payload": {"brightness": <level>}},
			"On": {"topic": "zigbee/Variateur_L_Ext/set", "payload": {"state": "ON"}},
			"Off": {"topic": "zigbee/Variateur_L_Ext/set", "payload": {"state": "OFF"}}
		}
	},
La raison est que les commandes passées par Domoticz dont en minuscules, avec la première lettre en majuscule.

De plus, le flag "retain", bien que dans la doc à titre d'exemple, n'a probablement pas de raison d'être.

Du coup, il faudrait certainement détruire le topic "zigbee/Variateur_L_Ext/set" avec un outil genre Mqtt Explorer, a défaut d'avoir des surprises à chaque redémarrage de Domoticz.
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: MQTTMapper syntaxe pour de volets roulant

Message par marcus_54 »

Bonjour

Je n'ai pas bien compris le sens de :
il faudrait certainement détruire le topic "zigbee/Variateur_L_Ext/set"
Le widget ne lit pas l'état du variateur, ("state") ce qu'il fait qu'il est toujours sur "on" et qu'il envoie que le "off"

Et il y a toujours ce problème de valeur de 0 à 100% qui ne correspond pas à 0 à 255 pour le variateur...

Je me demande s'il ne faudrait pas être sur une syntaxe un peu plus classique comme celle du dessous qui entre parenthèses est fausse :)

Code : Tout sélectionner

	"Variateur Lampe Cam": {"topic": "zigbee/Variateur_L_Ext",
		"type": "244", "subtype": "73", "switchtype": "7",
		"set": {"topic": "zigbee/Variateur_L_Ext", "payload": {"state":"#"}},
		"mapping": {"item": "state;brightness","values": {"OFF": "0", "ON": "100"}, 
		}
	},
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 »

Désolé, j'avais lu un peu en travers ...

Une bonne nouvelle concernant le niveau : si l'intervalle 0-100 ne convient pas, on peut toujours multiplier par 2.55 pour corriger le tir :

Code : Tout sélectionner

"mapping": {"item": "brightness", "multiplier": 2.55}
Une moins bonne nouvelle : les gradateurs sont des bêtes spécifiques, qui possèdent 2 informations : l'état et le niveau. Pour le moment, MqttMapper ne sais lire qu'une seule information à la fois (ce qui fait que la description "state;brightness" bien qu'astucieuse n'est pas comprise ...).

Je vais réfléchir au meilleur moyen de corriger le tir ...

Stay tuned!
Répondre