Beiträge von HighFive

VPN/Proxy erkannt

Es scheint, dass Sie einen VPN- oder Proxy-Dienst verwenden. Bitte beachten Sie, dass die Nutzung eines solchen Dienstes die Funktionalität dieser Webseite einschränken kann.

    Meierchen006

    Ich nutze Modbus beim Pro3EM nicht.

    Mir wäre aber kein Grund bekannt, warum dieser Saldierungs-Script die Modbus Funktion in irgendeiner Form einschränken sollte.

    Der Script holt sich nur die aktuelle Leistung[W] und generiert damit 2 Zählerwerte Consumed/Returned [kWh] und legt diese als MQTT Werte bereit.

    Meine Anpassung ist in der Speicherung der Daten die im Script per default alle 30Min. gespeichert werden.

    (Da die KVS/Flash-Speicher Werte eine begrenzte Anzahl Schreibzyklen haben erfolgt dies per. def. im Script möglichst selten. (alle 30min))

    Code
        counter3600 = counter3600 + 1;  // Bei 500ms Zyklus = 3600 == 30 min.
       if (counter3600 > 3600)      
       {
         counter3600 = 0;     
         SaveCounters();
       }

    [*] Wenn in diesen 30 Min. der Zähler bootet (FW Update, Ausfall Versorgungsspg. etc) sind die Werte bis zum letzten Speichern verloren. (Maximal die letzten 30 min)


    Da meine Smart-Projekte bisher immer Gewerbe Betriebe waren, sind auch höhere Leistungen[kW] im Spiel. [Bezug bzw. PV um die 100kWh/Tg.]

    Dh. bei 30 Min. Fehler können gleich mal 1..4 kWh zu geringer Zählerwert bei einem einmaligem Booten des Pro3EM bedeuten. Bzw. Der PV Zähler braucht in der Nacht überhaupt nicht speichern da ja keine Änderung.

    Daher habe ich für Netz- und PV Zähler spezielle Speicherungs-Strategien um einen möglichen Fehler gering zu halten.

    • PV: 07:00..19:00 alle 1kWh oder 30Min, sonst alle 3 Std.
    • Netz: Alle 1,5kWh oder 30Min.

    Dies ist ein für mich akzeptabler Kompromiss zwischen zu erwartende Lebensdauer Flash/Speicher Pro3EM (Min. 5 Jahre) und korrekte Daten.


    https://www.google.com/search?client=…r+schreibzyklen

    Du kopierst einen Code welcher im Internet schon mal 2018 für eine andere Hardware publiziert wurde in den Shelly und wunderst dich das dieser einige Fehler wirft.

    https://forum.arduino.cc/t/understanding-ph-code/529692

    Ich hoffe du findest jemanden der diesen Code analysiert und dir die mMn. sinnbefreite Mittelwertberechnung und die Skalierung behebt.

    Ich hätte gesagt dies ist alles beim Shelly nicht notwendig da die Skalierung schon in der App und die Mittelung schon HW-seitig erfolgt.

    Prognose meinerseits: Bis auf die Anzeige in der Console keinerlei Script notwendig da alles in der App ganz simpel zu bewerkstelligen ist.

    Auch ich mir nicht klar, welche LED Ansteuerung du machen willst.

    Code
      // LED-Steuerung (angenommen, Shelly hat eine GPIO-Steuerung für die LED)
      Shelly.call("GPIO.Set", {id: 13, value: 1});  // LED einschalten
      Timer.set(800, false, function() {
        Shelly.call("GPIO.Set", {id: 13, value: 0});  // LED ausschalten
      });

    Ich arbeite nur nach einem vernünftigen Funktionsbeschreibung (Lasten- oder Pflichtenheft) daher bin ich schon mal aus dieser Geschichte raus.

    Meierchen006

    Ich habe dieses Saldierungs-Skript:

    https://github.com/sicanins/shelly-pro3EM-energycounter

    ... seit FW [0.13.2] 2023-02-21 problemlos laufen.

    Im Herbst gab es für 1..2 FW Versionen ein Problem, dass intern die Energywerte sehr langsam (~10sek) verfügbar waren und daher auch die ermittelten Skriptdaten ungenau wurde.

    Dies wurde mit FW [1.0.5] 2023-09-26 wieder korrigiert und bis auf diesen kurzen (2 Wochen) Problem läuft das Skript bis heute FW [1.3.1] 2024-04-30 ohne Beanstandung.

    Ich habe dieses Skript für mich zwar ein wenig angepasst jedoch das Grundgerüst ist immer noch das Originale.

    floboss288

    Im Script geht's dann so:

    Resultat;

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.