Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. BenjaminCz

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    B
    • Profile
    • Following 0
    • Followers 0
    • Topics 17
    • Posts 142
    • Best 1
    • Groups 2

    BenjaminCz

    @BenjaminCz

    Starter

    1
    Reputation
    17
    Profile views
    142
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    BenjaminCz Follow
    Pro Starter

    Best posts made by BenjaminCz

    • RE: Jarvis V.2.2.3 Wetter Widget Zeigt nur Pfeile an

      @benjamincz Habe den Fehler gefunden. Unter Wetter Widget unter "Icon Set Wetter" war 2 Anstatt 3.Anscheinend sind Wetter Icons 1 und 2 nur Windrichtung... Trotzdem vielen Dank für die Mühe!

      posted in ioBroker Allgemein
      B
      BenjaminCz

    Latest posts made by BenjaminCz

    • RE: Shelly pro3EM Verbrauch und Einspeisung Script geht nicht

      Hallo nochmal. Also ich habe das heute Probiert aber scheinbar ist der Shelly nicht Saldierend. Ich Produziere nur -417 W und beziehe aber ca. 673 W (die 417 W sind schon angezogen) und trotzdem zählt der Pro3EM TotalActiveReturnEnergy weiter hoch obwohl ich gar nicht ins Netz Einspeise sondern Strom beziehe.

      Genau so ist es bei TotalActiveEnergy. Dort Zählt er phase A und phase C ( phase B bleibt gleich weil hier das Balkonkraftwerk dran hängt). Also ist TotalActiveEnergy die Energie Menge wo ich beziehe abzüglich Balkonkraftwerk (Phase B).

      Ich finde leider auch in der Doku nichts aussagekräftiges genau so wenig im Forum. Hat keine eine Verlässliches Script oder Blockly wo man das vernünftig darstellen kann ?
      ChatGPT sagt:

      TotalActiveEnergy → Energie, die vom Netz bezogen wurde.
      TotalActiveReturnEnergy → Energie, die ins Netz eingespeist wurde.

      Das ist ja aber falsch. Wenn ich doch mehr Strom Brauche als ich Erzeuge darf doch TotalActive ReturnEnergy doch nicht weiter hochzählen...

      9668fb9c-92be-43e8-b5fc-faecd0e074e3-grafik.png

      1834719f-667d-45d9-b45b-8d4992af1a5d-grafik.png

      posted in Skripten / Logik
      B
      BenjaminCz
    • RE: Shelly pro3EM Verbrauch und Einspeisung Script geht nicht

      @benjamincz sagte in Shelly pro3EM Verbrauch und Einspeisung Script geht nicht:

      @mcm1957 Okay danke. ChatGTP sagt:
      Bei Shelly-Geräten (wie z. B. Shelly Plug, Shelly EM, Shelly Pro usw.) gilt im Allgemeinen:

      TotalActiveEnergy (oder je nach Modell auch total_act_energy, total_power, energy etc.) bezeichnet die Gesamtmenge der bezogenen (importierten) Energie in Wattstunden (Wh oder kWh).
      
      TotalActiveReturnEnergy bezeichnet die insgesamt ins Netz zurückgespeiste (exportierte) Energie.
      

      Wird TotalActiveReturnEnergy zu TotalActiveEnergy dazugezählt?

      Nein. Diese beiden Werte werden separat gezählt und nicht zusammengefasst.

      TotalActiveEnergy → Energie, die vom Netz bezogen wurde.
      
      TotalActiveReturnEnergy → Energie, die ins Netz eingespeist wurde.
      

      Das heißt, wenn du wissen willst, wie viel Energie tatsächlich verbraucht wurde, musst du ggf. den Saldo selbst berechnen:

      Nettoverbrauch = TotalActiveEnergy - TotalActiveReturnEnergy

      Hinweis: Manche Shelly-Geräte (wie Shelly EM) haben pro Kanal getrennte Messungen für power, energy, returned_energy usw., je nach Konfiguration und Firmware-Version.
      

      Wenn du mir dein konkretes Modell nennst, kann ich dir eine genauere Antwort geben.

      Heist will ich Messen wieviel die PV Anlage generiert muss ich das über den Plug Machen. Danke das reicht mir erstmal. Schönes Wochenende!

      posted in Skripten / Logik
      B
      BenjaminCz
    • RE: Shelly pro3EM Verbrauch und Einspeisung Script geht nicht

      @mcm1957 Okay danke. ChatGTP sagt:
      Bei Shelly-Geräten (wie z. B. Shelly Plug, Shelly EM, Shelly Pro usw.) gilt im Allgemeinen:

      TotalActiveEnergy (oder je nach Modell auch total_act_energy, total_power, energy etc.) bezeichnet die Gesamtmenge der bezogenen (importierten) Energie in Wattstunden (Wh oder kWh).
      
      TotalActiveReturnEnergy bezeichnet die insgesamt ins Netz zurückgespeiste (exportierte) Energie.
      

      Wird TotalActiveReturnEnergy zu TotalActiveEnergy dazugezählt?

      Nein. Diese beiden Werte werden separat gezählt und nicht zusammengefasst.

      TotalActiveEnergy → Energie, die vom Netz bezogen wurde.
      
      TotalActiveReturnEnergy → Energie, die ins Netz eingespeist wurde.
      

      Das heißt, wenn du wissen willst, wie viel Energie tatsächlich verbraucht wurde, musst du ggf. den Saldo selbst berechnen:

      Nettoverbrauch = TotalActiveEnergy - TotalActiveReturnEnergy

      Hinweis: Manche Shelly-Geräte (wie Shelly EM) haben pro Kanal getrennte Messungen für power, energy, returned_energy usw., je nach Konfiguration und Firmware-Version.
      

      Wenn du mir dein konkretes Modell nennst, kann ich dir eine genauere Antwort geben.

      posted in Skripten / Logik
      B
      BenjaminCz
    • RE: Shelly pro3EM Verbrauch und Einspeisung Script geht nicht

      @mcm1957 Okay. Es ist verzwickt. Ich brauche nur Bezug aus dem Netz Tagesverbrauch gesamt und Generiert (PV-Anlage). Das Ganze will ich an Sourceanalystics weiter geben und von dort aus an InfluxDB und dann Grafana. Letztere 2 sind kein Problem. Nochmal zum verständniss:

      Shelly Pro3EM
      "TotalActiveEnergy" Den Datenpunkt wollte ich für den Tagesverbrauch verwenden. Ist hier schon der Generierte Strom PV Anlage abgezogen oder wird hier auch weiter Hoch Gezählt egal ob positiv oder negativ ? Geht nur darum wie ich es dann ausrechnen muss für Tagesverbrauch und Bezug aus dem Netz.

      "TotalActiveReturnEnergy" Den Datenpunkt verwende ich für Generierten Strom für einen Tag. Das ist ja nur der Erzeuge Strom Richtig ?

      posted in Skripten / Logik
      B
      BenjaminCz
    • RE: Shelly pro3EM Verbrauch und Einspeisung Script geht nicht

      @mcm1957 Okay betrifft aber nicht den Shelly Pro EM3 da kann ich die werte direkt abgreifen. Und bei den Anderen muss ich die werte selbst ausrechnen Richtig ? Gibt es da ein Script weil der Shelly Adapter holt ja nicht z.b alle 500 ms die Werte wie kann man das dann so umsetzen dass es ziemlich genau wird ? Gibt es da eine vorlage bzw. ein Blockly dafür ? Vielen Dank!

      posted in Skripten / Logik
      B
      BenjaminCz
    • RE: Shelly pro3EM Verbrauch und Einspeisung Script geht nicht

      @benjamincz sagte in Shelly pro3EM Verbrauch und Einspeisung Script geht nicht:

      @mcm1957 Okay. Also danke erstmal habe den Adapter Aktualisiert. Und ja die Datenpunkte sind drinen. Also kann ich getrost die Datenpunkte verlässlich abgreifen ist der Pro 3EM Saldierend ? Und noch eine frage ich habe auch Shelly Plugs. An einem Hängt ein Anker Speicher. Da möchte ich gerne sehen wann der Akku Zugeladen wird und wann ins Hausnetz Eingespeist wird. Dort gibt es auch den Datenpunkt Energie. Zählt dieser Vorwärts/Rückwärts weis das einer oder Zählt er immer nach vorne egal ob eingespeist oder verbrauch ?

      Nachtrag:
      Gerade gesehen das es auch Returned Energy gibt aber immer beide Werte geschrieben werden also Returned Energy und Energy. Gibt es da eine möglichkeit dass aufzutrennen also auch verbrauch und einspeisung

      f50bf67a-ecbb-49bb-aa6c-1c3efd63167b-grafik.png

      posted in Skripten / Logik
      B
      BenjaminCz
    • RE: Shelly pro3EM Verbrauch und Einspeisung Script geht nicht

      @mcm1957 Okay. Also danke erstmal habe den Adapter Aktualisiert. Und ja die Datenpunkte sind drinen. Also kann ich getrost die Datenpunkte verlässlich abgreifen ist der Pro 3EM Saldierend ? Und noch eine frage ich habe auch Shelly Plugs. An einem Hängt ein Anker Speicher. Da möchte ich gerne sehen wann der Akku Zugeladen wird und wann ins Hausnetz Eingespeist wird. Dort gibt es auch den Datenpunkt Energie. Zählt dieser Vorwärts/Rückwärts weis das einer oder Zählt er immer nach vorne egal ob eingespeist oder verbrauch ?

      posted in Skripten / Logik
      B
      BenjaminCz
    • RE: Shelly pro3EM Verbrauch und Einspeisung Script geht nicht

      @mcm1957 Hi. Adapter hat die Version v9.2.0. Es funktioniert auch alles. Nur habe ich ein Balkokraftwerk und brauche verbrauch und einspeisung. Daher habe ich das oben genannte script gefunden und im Shelly Pro 3EM unter Scripts eingefügt und am Laufen. Wenn ich in IOBroker den MQTT adapter laufen lasse dann tauchen auch die Datenpunkte auf. Wenn ich dann den MQTT Deaktiviere und wieder den Shelly Adapter Aktiviere fehlen mir in dem Adapter dann die 2 Datenpunkte (Verbrauch und Einspeisung). Ich glaube der Shelly Adapter hat nur vordefinierte werte sodass mein Shelly Pro 3EM zwar diese datenpunkte sendet aber der Adapter damit nichts anfangen kann ?
      Oder hast du eine andere lösung gefunden ? Das Skript ließt alle 500ms den Total Energie wert und unterscheidet zwischen negativ und positiv (Einspeisung, Verbrauch) und legt die datenpunkte dann ab.

      Vielen lieben Dank!

      posted in Skripten / Logik
      B
      BenjaminCz
    • Shelly pro3EM Verbrauch und Einspeisung Script geht nicht

      Hallo,
      ich habe das Script hier https://github.com/sicanins/shelly-pro3EM-energycounter am Laufen und habe in IOBRoker den Shelly Adapter und einmal den Mqtt adapter. Wenn ich den Mqqt adapter aktiveren bekomme ich auch die Werte:

      3293e7ec-0d5f-4fcb-b530-2170a3716bc8-grafik.png

      Wenn ich den Shelly Adapter Aktiviere bekomme ich die werte leider nicht bzw. die 2 Datenpunkte tauchen nicht auf.

      bd14738d-2cc4-4a1b-a153-1669c9f4de20-grafik.png

      Weiß einer wie ich die 2 Datenpunkte in den Shelly Adapter bekomme ? Ich möchte einfach nur verbraucht und einspeisung sehen und auswerten. Evtl. hat einer eine andere lösung.

      Hier nochmal das Script im Shelly Pro3EM:

      let energyReturnedWs = 0.0;
      let energyConsumedWs = 0.0;
      
      let energyReturnedKWh = 0.0;
      let energyConsumedKWh = 0.0;
      
      let log = 1;
      
      // set this to false to stop publishing on MQTT
      let MQTTpublish = true;
      
      // set this to false if you DONT want to update the name
      // (the updated name is necessary to read the data with the iobroker shelly plugin)
      let updateName = false;
      
      // query the MQTT prefix on startup
      let SHELLY_ID = undefined;
      Shelly.call("Mqtt.GetConfig", "", function (res, err_code, err_msg, ud) {
        SHELLY_ID = res["topic_prefix"];
      });
      
      function SetKVS(key, value)
      {
       Shelly.call(
         "KVS.Set", {
           "key": key,
           "value": value,
         },
         function(result) {
           if (log > 0)
             print("KVS Saved, rev:", result.rev);
         }
       );
      }
       
      function SaveCounters()
      {
        SetKVS("EnergyConsumedKWh", energyConsumedKWh );
        SetKVS("EnergyReturnedKWh", energyReturnedKWh );
      }
           
      Shelly.call(
         "KVS.Get", {
           "key": "EnergyReturnedKWh",
         },
        function callback(result, error_code, error_message, userdata) {
           if (error_code === 0) 
           {
             energyReturnedKWh = Number(result.value);
             print("Loaded returned energy: ", energyReturnedKWh, " KWh");
           }       
         }
       );
       
       Shelly.call(
         "KVS.Get", {
           "key": "EnergyConsumedKWh",
         },
        function callback(result, error_code, error_message, userdata) {
           if (error_code === 0) 
           {
             energyConsumedKWh = Number(result.value);
             print("Loaded consumed energy: ", energyConsumedKWh, " KWh");
           }       
         }
       );
      
      let counter3600 = 0;
      let counter20 = 18;
      
      let lastPublishedMQTTConsumed = "";
      let lastPublishedMQTTReturned = "";
      
      function timerHandler(user_data)
      {
        let em = Shelly.getComponentStatus("em", 0);
        if (typeof em.total_act_power !== 'undefined') {
          let power = em.total_act_power;
          
          if (power >= 0)
          {
              energyConsumedWs = energyConsumedWs + power * 0.5;
          }
          else
          {
              energyReturnedWs = energyReturnedWs - power * 0.5;
          }
          
          // once a full Wh is accumulated, move it to the KWh counter
          let fullWh = Math.floor((energyConsumedWs / 3600));
          if (fullWh > 0)
          {
            energyConsumedKWh += fullWh / 1000;
            energyConsumedWs -= fullWh * 3600;
            if (log > 0)
              print("Changed consumed KWh: ",energyConsumedKWh);
          }
          
          fullWh = Math.floor((energyReturnedWs / 3600));
          if (fullWh > 0)
          {
            energyReturnedKWh += fullWh / 1000;
            energyReturnedWs -= fullWh * 3600;
            if (log > 0)
              print("Changed returned KWh: ",energyReturnedKWh);
          }
          
          if (log > 0)
            print(power , "W");
            
          counter3600 = counter3600 + 1;
          if (counter3600 > 3600)      
          {
            counter3600 = 0;     
            SaveCounters();
          }
          
          counter20 = counter20 + 1;
          if ( counter20 > 20)
          {
            counter20 = 0;  
            if (updateName)
            {
              Shelly.call(
                "Sys.SetConfig", {
                   config: {device:{name:energyConsumedKWh.toFixed(3)+" KWh ; "+(energyReturnedKWh+energyReturnedWs / 3600000).toFixed(5)+" KWh"}},
                },
                function(result, error_code, error_message, userdata) {
                   //print("error ", error_code, " : ", error_message);
                   //print("result", JSON.stringify(result));
                }
              );
            }
                   
            if (typeof SHELLY_ID !== "undefined" && MQTTpublish === true) 
            {         
              let value = energyConsumedKWh.toFixed(3);
              if (value !== lastPublishedMQTTConsumed)
              {
                MQTT.publish(
                  SHELLY_ID + "/mqtt/consumed",
                  value,
                  0,
                  false
                );
                lastPublishedMQTTConsumed = value;
              }
              
              let value = energyReturnedKWh.toFixed(3);
              if (value !== lastPublishedMQTTReturned)
              {
                MQTT.publish(
                  SHELLY_ID + "/mqtt/returned",
                  value,
                  0,
                  false
                );
                lastPublishedMQTTReturned = value;
              }           
            }
          }
        };
      }
      
      Timer.set(500, true, timerHandler, null);
      
      function httpServerHandler(request, response) {
          response.code = 200;
      
          // create JSON object 
          const energyData = {
              energyConsumed: energyConsumedKWh.toFixed(3) + " KWh",
              energyReturned: (energyReturnedKWh+(energyReturnedWs / 3600000)).toFixed(5) + " KWh"
          };
      
          // convert JSON object to string and send it as reply
          response.body = JSON.stringify(energyData);
          response.send();
          return;
      }
      HTTPServer.registerEndpoint("energy_counter", httpServerHandler);
      
      posted in Skripten / Logik
      B
      BenjaminCz
    • RE: Bilddatei öffnen per URL nicht möglich

      Hallo,
      weiß einer wie ich den Datenpunkt vom MQTT wo einen Snapshot hat daraus ein JPEG ablege ?
      5519850f-6c5a-456d-92b6-c60d6e5e5802-grafik.png

      9248a74f-e9da-485d-8ae3-789e2a5c23dc-grafik.png

      So funktioniert es nur mit einer URL:
      d7c6e8a7-6d08-4a51-9bcf-d16877afc26e-grafik.png

      posted in ioBroker Allgemein
      B
      BenjaminCz
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo