Alarmmodus - 2 Fragen

@Isage

du 2. Funktionsknoten

image

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;

Das ist in Ordnung

Aber wie löse ich die Sirene aus?
Wenn ich diesen Schalter betätige, passiert nichts

klicke auf den Debug-Knoten

dann sollten Nachrichten eintreffen

kopiere sie hier nach dem Aktivieren/Deaktivieren

kannst du einen Screenshot deines Flows machen und auch den Inhalt deiner „mqtt“-Knoten

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.

Hier ist der Debug-Log, wenn ich den Schalter in Gladys aktiviere

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.

vor Ort kannst du das im Moment wohl nicht, vermute ich…

192.168.1.57

Kann ich mich lokal verbinden? Das ist bereits auf meinem iPad der Fall, warum?

ich habe nichts anderes als die MQTT-Sirene, tut mir leid

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.

Wenn ich mein MQTT-Gerät (sirene_1) aktiviere

Erhalte ich diese Debug-Nachricht
image

08/11/2023 13:55:05noeud: 1908d429c1d0cf06

gladys/device/mqtt:sirene_1/feature/mqtt:sirene_1-state/state : msg : Object

{ topic: « gladys/device/mqtt:sirene_1/fe… », payload: « 1 », qos: 0, retain: false, _msgid: « 2fbbc8c085c57ced » }

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?

Ich sehe nicht, von welchem Pfeil du sprichst

Die auf der linken Seite vor dem Symbol {

tut mir leid