Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. shellys auslesen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

shellys auslesen

Scheduled Pinned Locked Moved ioBroker Allgemein
8 Posts 4 Posters 1.5k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    Alero
    wrote on last edited by Alero
    #1

    Hi,
    vielleicht kann ich ja auch mal was beitragen. Auch wenn es nicht direkt von mir ist.

    ich habe im Internet ein schönes Script gefunden welches alle Shellys auslesen kann.
    Mit der Änderung auch für den 3empro.

    Hier der Link falls noch nicht bekannt.
    https://www.kreyenborg.koeln/shelly-verbrauchs-historie-fuer-tag-woche-monat-jahr/comment-page-7/?unapproved=1488&moderation-hash=1431404234d6afdbde4ad69cf889c462#comment-1488

    Es werden Datenpunkte angelegt und befüllt wie "gesamt", "dieses_jahr", "letztes_jahr", "letzter_monat", "dieser_monat", "letzte_woche",
    "diese_woche", "gestern", "heute", "alter_wert", "aktueller_wert

    ich nutze es für mein Grafana Dashboard.

    Hier die Anpassung für den shelly 3emPro. Diese Zeilen in das script von zeile 47 bis 54 eintragen. zzw. überschreiben. Dann wird auf der 3empro ausgelesen und befüllt.

    // Datenpunkte der Shelly Pro3EM DP
    var shelly3EMDps = $('state[id=' + shelly_dp + '.*.*.TotalActiveEnergy]'); // Total
    
    // Datenpunkte der Shelly Pro3EM DP – Total
    var shelly3EMTotalDps = $('state[id=' + shelly_dp + '.*.*.TotalActivePower]'); //ConsumedPower
    
    // Datenpunkte der Shelly Pro3EM DP – Total
    var shelly3EMTotalReturned = $('state[id=' + shelly_dp + '.*.*.TotalActiveReturnEnergy]'); //Total_Returned
    

    ich hatte zuerst Fehler als ich es aus dem Kommentar kopiert hatte. Das Problem war das man das " ’ " durch ein " ' " ersetzen muss. Schwierig zu sehen.

    So sollte es dann unter Javascript.0.shellyverbrauch ausschauen:
    d754f1ff-cd89-45fb-b4e9-6915aeae3a0a-image.png

    Ich hoffe es hilft einigen von euch hier.
    Würde mich freuen.

    P.S. Kann mir jemand den Unterschied der Ordner vom 3empro erklären?
    EM0 und EMData0?

    R HomoranH 2 Replies Last reply
    0
    • A Alero

      Hi,
      vielleicht kann ich ja auch mal was beitragen. Auch wenn es nicht direkt von mir ist.

      ich habe im Internet ein schönes Script gefunden welches alle Shellys auslesen kann.
      Mit der Änderung auch für den 3empro.

      Hier der Link falls noch nicht bekannt.
      https://www.kreyenborg.koeln/shelly-verbrauchs-historie-fuer-tag-woche-monat-jahr/comment-page-7/?unapproved=1488&moderation-hash=1431404234d6afdbde4ad69cf889c462#comment-1488

      Es werden Datenpunkte angelegt und befüllt wie "gesamt", "dieses_jahr", "letztes_jahr", "letzter_monat", "dieser_monat", "letzte_woche",
      "diese_woche", "gestern", "heute", "alter_wert", "aktueller_wert

      ich nutze es für mein Grafana Dashboard.

      Hier die Anpassung für den shelly 3emPro. Diese Zeilen in das script von zeile 47 bis 54 eintragen. zzw. überschreiben. Dann wird auf der 3empro ausgelesen und befüllt.

      // Datenpunkte der Shelly Pro3EM DP
      var shelly3EMDps = $('state[id=' + shelly_dp + '.*.*.TotalActiveEnergy]'); // Total
      
      // Datenpunkte der Shelly Pro3EM DP – Total
      var shelly3EMTotalDps = $('state[id=' + shelly_dp + '.*.*.TotalActivePower]'); //ConsumedPower
      
      // Datenpunkte der Shelly Pro3EM DP – Total
      var shelly3EMTotalReturned = $('state[id=' + shelly_dp + '.*.*.TotalActiveReturnEnergy]'); //Total_Returned
      

      ich hatte zuerst Fehler als ich es aus dem Kommentar kopiert hatte. Das Problem war das man das " ’ " durch ein " ' " ersetzen muss. Schwierig zu sehen.

      So sollte es dann unter Javascript.0.shellyverbrauch ausschauen:
      d754f1ff-cd89-45fb-b4e9-6915aeae3a0a-image.png

      Ich hoffe es hilft einigen von euch hier.
      Würde mich freuen.

      P.S. Kann mir jemand den Unterschied der Ordner vom 3empro erklären?
      EM0 und EMData0?

      R Offline
      R Offline
      RGT
      wrote on last edited by
      #2

      @alero
      Hallo,
      wenn ich das richtig interpretiere werden unter EM0 die Bezugswerte aus dem Netz aufgelistet. Das sind die Werte für Spannung, Strom, Scheinleistung etc. Hier wird auch der "Eigenverbrauch" des Shelly erfasst.
      Unter EMData0 geht es um die Energie (KWh), die an den "Verbraucher" gehen oder von da kommen.
      Ich erfasse mit dem Shelly die Zuleitung zu meiner Wallbox für's EAuto.
      Unter EMData0 sind dann bei mir die reinen Ladedaten ins Auto, während unter EM0 auch die Werte für den Shelly selbst erscheinen. Hier sind auch dann Änderungen, wenn das Auto nicht geladen wird. Die liegen bei mir im einstelligen Watt Bereich und sind für mich Vernachlässigbar, da das Auto sich im KW-Bereich bewegt. Unter EMData0 ändern sich die Werte nur dann, wenn die Wallbox das Auto lädt, also wirklich ein Verbrauch vom Shelly auf den drei Phasen gemessen wird.

      Eine Gegenfrage.
      Wie hast du das Skript von Kreyerborg bei dir eingebaut. Einfach im iobroker ein neues Skript angelegt und copy paste?

      LG RGT

      Ich bin zwar alt, aber lernfähig...

      A 1 Reply Last reply
      1
      • A Alero

        Hi,
        vielleicht kann ich ja auch mal was beitragen. Auch wenn es nicht direkt von mir ist.

        ich habe im Internet ein schönes Script gefunden welches alle Shellys auslesen kann.
        Mit der Änderung auch für den 3empro.

        Hier der Link falls noch nicht bekannt.
        https://www.kreyenborg.koeln/shelly-verbrauchs-historie-fuer-tag-woche-monat-jahr/comment-page-7/?unapproved=1488&moderation-hash=1431404234d6afdbde4ad69cf889c462#comment-1488

        Es werden Datenpunkte angelegt und befüllt wie "gesamt", "dieses_jahr", "letztes_jahr", "letzter_monat", "dieser_monat", "letzte_woche",
        "diese_woche", "gestern", "heute", "alter_wert", "aktueller_wert

        ich nutze es für mein Grafana Dashboard.

        Hier die Anpassung für den shelly 3emPro. Diese Zeilen in das script von zeile 47 bis 54 eintragen. zzw. überschreiben. Dann wird auf der 3empro ausgelesen und befüllt.

        // Datenpunkte der Shelly Pro3EM DP
        var shelly3EMDps = $('state[id=' + shelly_dp + '.*.*.TotalActiveEnergy]'); // Total
        
        // Datenpunkte der Shelly Pro3EM DP – Total
        var shelly3EMTotalDps = $('state[id=' + shelly_dp + '.*.*.TotalActivePower]'); //ConsumedPower
        
        // Datenpunkte der Shelly Pro3EM DP – Total
        var shelly3EMTotalReturned = $('state[id=' + shelly_dp + '.*.*.TotalActiveReturnEnergy]'); //Total_Returned
        

        ich hatte zuerst Fehler als ich es aus dem Kommentar kopiert hatte. Das Problem war das man das " ’ " durch ein " ' " ersetzen muss. Schwierig zu sehen.

        So sollte es dann unter Javascript.0.shellyverbrauch ausschauen:
        d754f1ff-cd89-45fb-b4e9-6915aeae3a0a-image.png

        Ich hoffe es hilft einigen von euch hier.
        Würde mich freuen.

        P.S. Kann mir jemand den Unterschied der Ordner vom 3empro erklären?
        EM0 und EMData0?

        HomoranH Offline
        HomoranH Offline
        Homoran
        Global Moderator Administrators
        wrote on last edited by
        #3

        @alero sagte in shellys auslesen:

        ich habe im Internet ein schönes Script gefunden

        ds wird @skb aber freuen!

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        A 1 Reply Last reply
        1
        • R RGT

          @alero
          Hallo,
          wenn ich das richtig interpretiere werden unter EM0 die Bezugswerte aus dem Netz aufgelistet. Das sind die Werte für Spannung, Strom, Scheinleistung etc. Hier wird auch der "Eigenverbrauch" des Shelly erfasst.
          Unter EMData0 geht es um die Energie (KWh), die an den "Verbraucher" gehen oder von da kommen.
          Ich erfasse mit dem Shelly die Zuleitung zu meiner Wallbox für's EAuto.
          Unter EMData0 sind dann bei mir die reinen Ladedaten ins Auto, während unter EM0 auch die Werte für den Shelly selbst erscheinen. Hier sind auch dann Änderungen, wenn das Auto nicht geladen wird. Die liegen bei mir im einstelligen Watt Bereich und sind für mich Vernachlässigbar, da das Auto sich im KW-Bereich bewegt. Unter EMData0 ändern sich die Werte nur dann, wenn die Wallbox das Auto lädt, also wirklich ein Verbrauch vom Shelly auf den drei Phasen gemessen wird.

          Eine Gegenfrage.
          Wie hast du das Skript von Kreyerborg bei dir eingebaut. Einfach im iobroker ein neues Skript angelegt und copy paste?

          LG RGT

          A Offline
          A Offline
          Alero
          wrote on last edited by
          #4

          @rgt
          Hi,
          Ich habe das Script auf den em3 Pro angepasst wie es auf der Seite stand und dan eingefügt.

          1 Reply Last reply
          0
          • HomoranH Homoran

            @alero sagte in shellys auslesen:

            ich habe im Internet ein schönes Script gefunden

            ds wird @skb aber freuen!

            A Offline
            A Offline
            Alero
            wrote on last edited by
            #5

            @Homoran
            Hi,
            Skb?

            R 1 Reply Last reply
            0
            • A Alero

              @Homoran
              Hi,
              Skb?

              R Offline
              R Offline
              RGT
              wrote on last edited by
              #6

              @alero
              SKB ist der Entwickler des Skripts.

              Ich habe eine Frage zu dem Skript.
              An dieser Stelle:
              // Funktion um die aktuellen Namen des Shelly abzuholen
              function aktualisiere_namen() {
              if (typeof extendObject === "function") {
              shellyDpsName.each(function (id, i) {
              if (existsState(id)) {
              setState(shelly_DP_Name(id), String(getState(id).val), true);
              // extendObject("javascript.0." + shelly_DP_Name_Main(id), {
              extendObject("0_userdata.0." + shelly_DP_Name_Main(id), {
              common: {
              wird scheinbar der Datenpunkt definiert, der dann unter javasript.0. erscheint.
              Ich wollte diesen Punkt gerne wo anders hinhaben.
              Im iobroker sollten Benutzerdefinierte Datenpunkte unter 0_userdata.0 eingehängt werden.
              Das habe ich versucht, wie man oben sehen kann.
              Leider ohne Erfolg. Selbst wenn ich die Zeile extendObject auskommentiere wird er unter javascript.0 wieder erzeugt und gefüllt.
              Was mache ich falsch?
              Wie bekomme ich die oberste Ebene des DP definiert?

              LG RGT

              Ich bin zwar alt, aber lernfähig...

              A da_WoodyD 2 Replies Last reply
              0
              • R RGT

                @alero
                SKB ist der Entwickler des Skripts.

                Ich habe eine Frage zu dem Skript.
                An dieser Stelle:
                // Funktion um die aktuellen Namen des Shelly abzuholen
                function aktualisiere_namen() {
                if (typeof extendObject === "function") {
                shellyDpsName.each(function (id, i) {
                if (existsState(id)) {
                setState(shelly_DP_Name(id), String(getState(id).val), true);
                // extendObject("javascript.0." + shelly_DP_Name_Main(id), {
                extendObject("0_userdata.0." + shelly_DP_Name_Main(id), {
                common: {
                wird scheinbar der Datenpunkt definiert, der dann unter javasript.0. erscheint.
                Ich wollte diesen Punkt gerne wo anders hinhaben.
                Im iobroker sollten Benutzerdefinierte Datenpunkte unter 0_userdata.0 eingehängt werden.
                Das habe ich versucht, wie man oben sehen kann.
                Leider ohne Erfolg. Selbst wenn ich die Zeile extendObject auskommentiere wird er unter javascript.0 wieder erzeugt und gefüllt.
                Was mache ich falsch?
                Wie bekomme ich die oberste Ebene des DP definiert?

                LG RGT

                A Offline
                A Offline
                Alero
                wrote on last edited by
                #7

                @rgt
                Hi, da kann ich dir leider nicht helfen. So fit bin ich auch nicht. Für mich passte das Script mit der kleinen Anpassung. Vielleicht kann jemand hier im Forum dir helfen.

                1 Reply Last reply
                0
                • R RGT

                  @alero
                  SKB ist der Entwickler des Skripts.

                  Ich habe eine Frage zu dem Skript.
                  An dieser Stelle:
                  // Funktion um die aktuellen Namen des Shelly abzuholen
                  function aktualisiere_namen() {
                  if (typeof extendObject === "function") {
                  shellyDpsName.each(function (id, i) {
                  if (existsState(id)) {
                  setState(shelly_DP_Name(id), String(getState(id).val), true);
                  // extendObject("javascript.0." + shelly_DP_Name_Main(id), {
                  extendObject("0_userdata.0." + shelly_DP_Name_Main(id), {
                  common: {
                  wird scheinbar der Datenpunkt definiert, der dann unter javasript.0. erscheint.
                  Ich wollte diesen Punkt gerne wo anders hinhaben.
                  Im iobroker sollten Benutzerdefinierte Datenpunkte unter 0_userdata.0 eingehängt werden.
                  Das habe ich versucht, wie man oben sehen kann.
                  Leider ohne Erfolg. Selbst wenn ich die Zeile extendObject auskommentiere wird er unter javascript.0 wieder erzeugt und gefüllt.
                  Was mache ich falsch?
                  Wie bekomme ich die oberste Ebene des DP definiert?

                  LG RGT

                  da_WoodyD Online
                  da_WoodyD Online
                  da_Woody
                  wrote on last edited by
                  #8

                  @rgt "selbst erstellte DPs" ja
                  Von JavaScript erstellte werden eben dort gespeichert. Wo ist das Problem? Die werden vom Script erstellt, nicht von dir.

                  gruß vom Woody
                  HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                  1 Reply Last reply
                  0
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  Support us

                  ioBroker
                  Community Adapters
                  Donate
                  FAQ Cloud / IOT
                  HowTo: Node.js-Update
                  HowTo: Backup/Restore
                  Downloads
                  BLOG

                  385

                  Online

                  32.7k

                  Users

                  82.4k

                  Topics

                  1.3m

                  Posts
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                  ioBroker Community 2014-2025
                  logo
                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Home
                  • Recent
                  • Tags
                  • Unread 0
                  • Categories
                  • Unreplied
                  • Popular
                  • GitHub
                  • Docu
                  • Hilfe