@guim31
Um los kWh-Werte direkt in Node-Red abzurufen, musst du zunächst die gemessenen Werte abrufen
Sobald du diesen Wert hast, werden wir ihn über eine JS-Funktion in einer Node-Red-Datenbank speichern
Danach musst du den Wert so oft wie möglich aktualisieren. (In meinem Fall wird alle 0,01 kWh aktualisiert)
Der Teil zum Abrufen der Daten von deinem Messgerät ist damit abgeschlossen.
Jetzt geht es zu Gladys, hier musst du 1 MQTT-Gerät erstellen (In meinem Fall « Wechselrichter »)
In meinem Gerät habe ich 2 Funktionen erstellt:
Typ: Unbekannt
Name: Update 10 Min
Min: 0
Max: 1
Ist das ein Sensor?: Deaktiviert
(Diese Funktion ermöglicht es Gladys, Node-Red anzuweisen, eine Funktion zu aktivieren, die wir später erstellen werden)
Typ: Verbrauchte Energie
Name: Verbrauchte Energie (10 Min)
Min:0
Max: 100000
Ist das ein Sensor?: Aktiviert
(Diese Funktion ermöglicht es, Werte von Node-Red zu Gladys zu senden)
Jetzt, wo wir unsere 2 MQTT-Funktionen haben, erstellen wir unsere Funktion in Node-Red
Links ist die Funktion « Update 10 Min » mit dem Gladys-Topic « MQTT zum Abhören »
Rechts ist die Funktion « Verbrauchte Energie (10 Min) » mit dem Gladys-Topic « MQTT zum Veröffentlichen »
Wir haben eine JS-Funktion in der Mitte
//Wir überprüfen, ob die globale Variable existiert oder nicht
if(global.get("Energie10Min") === undefined)
{
//Wenn sie nicht existiert, erstellen wir sie mit dem letzten gemessenen Wert (um unsere erste Messung zu initialisieren)
global.set("Energie10Min", global.get("NewEnergie"));
}
//Wir berechnen die Differenz zwischen dem letzten gemessenen Wert und dem neuen und runden auf 2 Dezimalstellen
msg.payload = (global.get("NewEnergie") - global.get("Energie10Min")).toFixed(2);
//Wir speichern den neuen Wert als letzten gemessenen Wert
global.set("Energie10Min", global.get("NewEnergie"));
return msg;
Jetzt bleibt nur noch die Auslöse-Szene in Gladys zu erstellen
Wenn du mehrere Intervalle möchtest, musst du einfach 2 neue MQTT-Funktionen in deinem Modul erstellen und diesen Teil von Node-Red duplizieren
Dabei alle Informationen außer den Namen der Variablen « NewEnergie » in der JS-Funktion ändern, da dies dein automatisch aktualisierter Wert in der ersten erstellten JS-Funktion ist
Jetzt kannst du deine Werte in den Gladys-Grafiken anzeigen
/!\ Der erste in Gladys empfangene Wert wird 0 sein, du musst auf die zweite Messung warten, um die Messwerte zu erhalten
Ich habe auf meiner Seite die folgenden Messungen erstellt:
10 Min
30 Min
1 Stunde
1 Tag
1 Woche
1 Monat
1 Jahr
Und hier sind die Ergebnisse für
10 Min
30 Min
1 Stunde
Lass es mich wissen, wenn es nicht alles klar ist 