Objet selector : bouton xiaomi
Publié : 11 juin 2024, 09:11
Bonjour,
ce n'est pas primordial mais j'aimerai arriver à comprendre pourquoi cela ne fonctionne pas.
j'ai un bouton XIAOMI WXKG01LM a qui j'ai déclaré plusieurs niveaux dans domoticz (type selector):
le code nodered est le suivant :
// Xiaomi WXKG01LM Button
if (msg.payload.action) {
const batt = Math.round(msg.payload.battery);
const actionMapping = {
'single': 10,
'double': 20,
'triple': 30,
'quadruple': 40,
'many': 50,
'long': 60,
'release': 70
};
const level = actionMapping[msg.payload.action] || 0;
// Update payload properties
Object.assign(msg.payload, {
idx: 2170,
nom: "Bouton cuisine",
type: "command",
nvalue: level,
level: level,
Battery: batt,
switchcmd: "Set Level",
param:"switchlight"
});
return msg;
} else {
// If action is not defined, do not proceed
return null;
}
Mais cela ne fonctionne pas : malgré le message envoyé suivant :
{
"action":"single",
"battery":100,
"linkquality":152,
"power_outage_count":649,
"voltage":3042,
"idx":2170,
"nom":"Bouton cuisine",
"type":"command",
"nvalue":10,
"level":10,
"Battery":100,
"switchcmd":"Set Level",
"param":"switchlight"}
le bouton passe toujours à Off alors que j'envoie bien un level à 10...
Merci de votre aide
ce n'est pas primordial mais j'aimerai arriver à comprendre pourquoi cela ne fonctionne pas.
j'ai un bouton XIAOMI WXKG01LM a qui j'ai déclaré plusieurs niveaux dans domoticz (type selector):
- 0:Off
- 10:Click
- 20:Double Click
- 30:Triple Click
- 40: Quadruple Click
- 50: Many Click
- 60: Long Click
- 70:Long Release
le code nodered est le suivant :
// Xiaomi WXKG01LM Button
if (msg.payload.action) {
const batt = Math.round(msg.payload.battery);
const actionMapping = {
'single': 10,
'double': 20,
'triple': 30,
'quadruple': 40,
'many': 50,
'long': 60,
'release': 70
};
const level = actionMapping[msg.payload.action] || 0;
// Update payload properties
Object.assign(msg.payload, {
idx: 2170,
nom: "Bouton cuisine",
type: "command",
nvalue: level,
level: level,
Battery: batt,
switchcmd: "Set Level",
param:"switchlight"
});
return msg;
} else {
// If action is not defined, do not proceed
return null;
}
Mais cela ne fonctionne pas : malgré le message envoyé suivant :
{
"action":"single",
"battery":100,
"linkquality":152,
"power_outage_count":649,
"voltage":3042,
"idx":2170,
"nom":"Bouton cuisine",
"type":"command",
"nvalue":10,
"level":10,
"Battery":100,
"switchcmd":"Set Level",
"param":"switchlight"}
le bouton passe toujours à Off alors que j'envoie bien un level à 10...
Merci de votre aide