Mode alarme - 2 questions

Merci, c’est maintenant ok à ce niveau.

Mon problème est que m’a sirène HEIMAN n’a que 2 états « batterie » et « linkquality »

Je n’ai pas d’état « on » et « off » !?

image

Et dans l’onglet Expose il y a quoi?

Tu peux retrouver toutes les informations que tu as besoin dans la doc du lien que tu as mis

Ok donc tu peux déjà ici manipuler ta sirène.
Maintenant si tu veux la piloter depuis Node-Red il faut les info dans cette partie de la doc. Il y a un exemple de message à envoyer.

Il y a un problème,en fait tu as d’abord créé la fonctionnalité texte et ensuite la fonctionnalité sirene On/Off et il faut faire le contraire sinon tu n’aura pas le toggle dans le dashoboard pour activer/désactiver la sirène et tu désactives "est-ce un capteur " dans la partie « Texte » alors que c’est dans la partie « Sirene On/Off » qu’il faut le faire.

Une fois cela fait donne moi la valeur des 3 topic comme cela je te mettrais le code à changer dans les nodes fonctions si tu n’y arrives pas

Dans le node
image

Remplace le code par celui-ci en changeant le nomdu code NOMSIRENE par celui que tu as coté Zigbee2Mqtt

var inputTopic = msg.topic;
var inputPayload = msg.payload;

// Logique pour changer le topic et le payload en fonction à la fois du topic et du payload en entrée

if (inputTopic === "gladys/device/mqtt:Sirène_1/feature/mqtt:sirène_1/state" && inputPayload === "0") {
  // adaption du topic et du payload de Gladys à zigbee2mqtt 
  msg.topic = "zigbee2mqtt/NOMSIRENE/set/warning/mode"; msg.payload = "stop";
}

if (inputTopic === "gladys/device/mqtt:Sirène_1/feature/mqtt:sirène_1/state" && inputPayload === "1") {
  // adaption du topic et du payload de Gladys à zigbee2mqtt 
  msg.topic = "zigbee2mqtt/NOMSIRENE/set/warning/mode"; msg.payload = "emergency";
}

return msg;

et dis moi si cela marche

Ben non tu peux créer tes fonctionnalités dans le sens que tu veux.

@_Will_71
je me suis mal exprimé (cela m’arrives parfois :disappointed_relieved:) , en fait il peut créer les fonctionnalités dans l’ordre qu’il veut effectivement mais là @Isage n’a pas mis les bons paramètres .

« Sirène On/Off » étant un toggle

image

il pourra activer/désactiver mais il aura pas le retour d’état si la sirène est activée/désactivée par une télécommande par exemple ou une scène dans Gladys

les bons paramètres pour la partie sirène doivent être

Après tel quel cela pourrait fonctionner quand même, il faut juste adapter le bon code dans le node « fonction »

Par contre la fonctionnalité « Texte » peut être utilisée pour afficher « Battery » que publie la sirène
image

Dans mon cas en allant http://IP de ton Gladys:8080/#/
j’ai cela pour ma prise NOUS-5

en cliquant sur NOUS-5

image

peut tu faire de même pour ta sirène, ce sera plus facile pour t’aider ?

Ok je comprends maintenant :+1:

voilà les topic

gladys/master/device/mqtt:sirene_1/feature/mqtt:sirene_1/state


gladys/master/device/mqtt:sirene_1/feature/mqtt:sirene_1_power/text
gladys/device/mqtt:sirene_1/feature/mqtt:sirene_1_power/state

J’ai fais les modiffs

image

image

Voilà ce que jaipour ma sirène

image

et dans

Dans le node

image

essaie de remplacer le code par cela et dis moi si cela change

var inputTopic = msg.topic;
var inputPayload = msg.payload;

// Logique pour changer le topic et le payload en fonction à la fois du topic et du payload en entrée

if (inputTopic === "gladys/device/mqtt:sirene_1/feature/mqtt:sirene_1/state" && inputPayload === "0") {
  // adaption du topic et du payload de Gladys à zigbee2mqtt 
  msg.topic = "zigbee2mqtt/Sirène_1/set/warning/mode";
  msg.payload = {
    warning: {
      mode: stop,
      level: high,
      strobe_level: high,
      strobe: true,
      strobe_duty_cycle: 10,
      duration: 5
    }
  };
}

if (inputTopic === "gladys/device/mqtt:sirene_1/feature/mqtt:sirene_1/state" && inputPayload === "1") {
  // adaption du topic et du payload de Gladys à zigbee2mqtt 
  msg.topic = "zigbee2mqtt/Sirène_1/set/warning/mode"; 
  msg.payload = {
    warning: {
      mode: emergency,
      level: high,
      strobe_level: high,
      strobe: true,
      strobe_duty_cycle: 10,
      duration: 5
    }
  };
}

return msg;

J’ai ça

tu as essayé avec le nouveau code ?
Effectivement cette alarme n’expose pas correctement ses valeurs, il y aune issue Heiman HS2WD-E siren not really compatible ? · Issue #14424 · Koenkk/zigbee2mqtt · GitHub pour le signaler mais apparemment il est possible de la controler avec le nouveau code.

J’ai copier le nouveau code

j’ai ce message…

image

confirmes, après il faudra regarder dans le débug de nodered ce que cela donnes

image
« propriétés invalides – Erreurdans le code JavaScrip »

opps j’ai fait un copier merdé de mon autre fonction avant les d’avoir rempli les champs…oh le boulet ! :rofl:
met ce code plutôt :wink:

var inputTopic = msg.topic;
var inputPayload = msg.payload;

// Logique pour changer le topic et le payload en fonction à la fois du topic et du payload en entrée

// ****************************************************************************************************************************/
if (inputTopic === "gladys/device/mqtt:sirene_1/feature/mqtt:sirene_1/state" && inputPayload === "0") {
  // adaption du topic et du payload de Gladys à zigbee2mqtt 
  msg.topic = "zigbee2mqtt/Sirène_1/set";
  msg.payload = {
    warning: {
      mode: "emergency",       // mode              : stop, burglar, fire, emergency, police_panic, fire_panic, emergency_panic
      level: "high",           // level             : low, medium, high, very_high
      strobe_level: "high",    // strobe_level      : low, medium, high, very_high
      strobe: "true",          // strobe            : true, false 
      strobe_duty_cycle: "5",  // strobe_duty_cycle : 1 à 10
      duration: "10"           // duration          : durée en sec
    }
  };
}
// ****************************************************************************************************************************/

// ****************************************************************************************************************************/
if (inputTopic === "gladys/device/mqtt:sirene_1/feature/mqtt:sirene_1/state" && inputPayload === "1") {
  // adaption du topic et du payload de Gladys à zigbee2mqtt 
  msg.topic = "zigbee2mqtt/Sirène_1/set"; 
  msg.payload = {
    warning: {
      mode: "emergency",       // mode              : stop, burglar, fire, emergency, police_panic, fire_panic, emergency_panic
      level: "high",           // level             : low, medium, high, very_high
      strobe_level: "high",    // strobe_level      : low, medium, high, very_high
      strobe: "true",          // strobe            : true, false 
      strobe_duty_cycle: "5",  // strobe_duty_cycle : 1 à 10
      duration: "10"           // duration          : durée en sec
    }
  }; 
}
// ****************************************************************************************************************************/

return msg;