NEWS
Shelly3EM Wert TotalconsumedPower nach CCU
-
Ich hab im Shelly3EM schon die 3 Leistungswerte und Spannnungswerte, Strom als Datenpunkt an die CCU übergeben das funktioniert ohne Probleme.
Jetzt wollte ich das auch mit dem Gesamtzählerstand (Total.ConsumedPower )
aus dem Shelly3EM machen, jedoch geht das nicht .
Ich habe die Systemvariable angelegt mit Minimum 0 Maximum 8000.In der CCU wird komischerweise immer der Wert 6000 angezeigt aber wo kommt der her ?
und wenn das Script neu starte passiert es auch das der Gesamtzählerstand im IO Broker bei Objekten im Shelly3EM shelly.0.SHEM-3#ECAC6098F3DE#1.Total.ConsumedPower auch kurzzeitig überschrieben wird und 6000 anzeigt., jedoch ein paar Minuten später ist wieder der korrekte alte Zählerstand.
Dasselbe passiert auch wenn mit dem Gesamtzählerstand der einzelnen 3 Phasen .
mit anderen Variablen von Momentanpower, Strom oder Spannung funktioniert es.
const mphabcP = "shelly.0.SHEM-3#ECAC6098F3DE#1.Total.ConsumedPower"; // KWH VerbrauchGesamt Zähler const mphabcP1 = "hm-rega.0.65565"; setState(mphabcP, getState(mphabcP1).val); // Skriptstart on(mphabcP, mphabcP1); // Wertänderung setState("hm-rega.0.65565", getState("shelly.0.SHEM-3#ECAC6098F3DE#1.Total.ConsumedPower").val); on("shelly.0.SHEM-3#ECAC6098F3DE#1.Total.ConsumedPower","hm-rega.0.65565"); // Wertänderung
-
@user4711 sagte: wenn das Script neu starte passiert es auch das der Gesamtzählerstand im IO Broker bei Objekten im Shelly3EM shelly.0.SHEM-3#ECAC6098F3DE#1.Total.ConsumedPower auch kurzzeitig überschrieben wird
Das passiert hier:
setState(mphabcP, getState(mphabcP1).val); // Skriptstart
Richtig wäre
setState(mphabcP1, getState(mphabcP).val); // Skriptstart
-
@paul53 bei den anderen Datenpunkten habe ich das aber auch so.
Hab es mal getauscht aber der Wert wird immer noch nicht übergeben.
Was ich festgestellt habe ist wenn ich in der CCU in der Systemvariable den Maximal Wert 8000 eintrag dann wird 8000 angezeigt, wenn ich 100000 eintrage wird 65000 angezeigt.
Das heist es sind nur Werte bis 65000 in der Systemvariable möglich und der Zählerstand im Shelly ist in Wh angegeben 98000Wh das könnte das Problem sein.Ich müsste also den Wert shelly.0.SHEM-3#ECAC6098F3DE#1.Total.ConsumedPower gleich am Anfang durch 1000 umrechnen in Kwh .
hatte es so versucht aber dann wird 65 angezeigt
setState("hm-rega.0.65565", getState("shelly.0.SHEM-3#ECAC6098F3DE#1.Total.ConsumedPower").val/1000); // KWH Verbraucht Zähler GESAMT alle 3phasen Shelly WP on("shelly.0.SHEM-3#ECAC6098F3DE#1.Total.ConsumedPower","hm-rega.0.65565"); // Wertänderung
-
@user4711 sagte: gleich am Anfang durch 1000 umrechnen in Kwh .
Dann muss das auch im Trigger passieren.
setState("hm-rega.0.65565", getState("shelly.0.SHEM-3#ECAC6098F3DE#1.Total.ConsumedPower").val/1000); // KWH Verbraucht Zähler GESAMT alle 3phasen Shelly WP on("shelly.0.SHEM-3#ECAC6098F3DE#1.Total.ConsumedPower", function(dp) { // Wertänderung setState("hm-rega.0.65565", dp.state.val / 1000); });
-
@paul53 Danke ! hat funktioniert!
ich denke was das Problem ist mit den Werten, scheinbar muss man gleich am Anfang beim Anlegen der Systemvariable den richtigen Maximalwert angeben, und ich hatte 65000 angegeben. wenn man die später ändert werden die nicht im IO broker bei Objekten geändert. Hab mal geschaut dort stand immer noch 65000 obwohl in der der CCU den Wert erhöht hatte.