Füge diesen Code ein, das sollte dir den Batteriestand anzeigen. Sag mir, ob es funktioniert
var inputTopic = msg.topic;
var inputPayload = JSON.parse(msg.payload);
// Gerätenamen in Gladys und in Zigbee2Mqtt
var nomAppareilGladys = "Sirène_1"; // Gerätename in Gladys
var nomIdAppareilGladys = "Sirène_1-power"; // Name der externen ID der Funktion
var nomAppareilZ2M = "Sirène_1"; // Gerätename in Zigbee2Mqtt
// Logik zum Ändern des Topics und des Payloads basierend auf dem Eingabetopic und dem Eingabepayload
if (msg.topic === "zigbee2mqtt/" + nomAppareilZ2M) {
// wenn der Wert "state" im von zigbee2mqtt gesendeten JSON im Payload vorhanden ist
if (inputPayload.hasOwnProperty('battery')) {
// Anpassung des Gladys-Topics an zigbee2mqtt
msg.topic = "gladys/device/mqtt:" + nomAppareilGladys + "/feature/mqtt:" + nomIdAppareilGladys + "/text";
// Anpassung des zigbee2mqtt-Payloads an Gladys
var payloadValue = inputPayload.battery; // anzupassen
msg.payload = payloadValue;
} else {
// Wenn der Schlüssel 'power' nicht vorhanden ist, wird die Ausgabe auf "defaut" gesetzt
msg.payload = "defaut";
}
}
return msg;
Normalerweise, da das Thema # ist, hört der Debugger alles am Eingang ab. Wenn du also den Schalter in Gladys aktivierst, sollte etwas im Debugger erscheinen.
was ist die adresse, um sich mit Gladys zu verbinden? es scheint korrekt verbunden zu sein. wenn du ein anderes gerät wie eine smarte steckdose in deiner mqtt-integration hast, kannst du es einmal ein- und ausschalten, um zu sehen, ob eine nachricht im node-red-debug generiert wird.
um sicherzugehen, dass die IP korrekt ist, wollte ich nichts übersehen, falls nötig. Die Parameter auf der Node-„MQTT In“-Seite scheinen korrekt zu sein. Du solltest Nachrichten im Debug sehen, wenn du ein MQTT-Gerät aktivierst.
Guter Punkt, da kommt tatsächlich etwas aus dem Debug!
Kannst du auf den Pfeil links klicken, um die Nachricht zu erweitern und einen Screenshot vom vollständigen Thema machen, bitte?