Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. shellys auslesen

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    shellys auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Alero last edited by 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 Homoran 2 Replies Last reply Reply Quote 0
      • R
        RGT @Alero last edited by

        @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 1 Reply Last reply Reply Quote 1
        • Homoran
          Homoran Global Moderator Administrators @Alero last edited by

          @alero sagte in shellys auslesen:

          ich habe im Internet ein schönes Script gefunden

          ds wird @skb aber freuen!

          A 1 Reply Last reply Reply Quote 1
          • A
            Alero @RGT last edited by

            @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 Reply Quote 0
            • A
              Alero @Homoran last edited by

              @Homoran
              Hi,
              Skb?

              R 1 Reply Last reply Reply Quote 0
              • R
                RGT @Alero last edited by

                @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 da_Woody 2 Replies Last reply Reply Quote 0
                • A
                  Alero @RGT last edited by

                  @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 Reply Quote 0
                  • da_Woody
                    da_Woody @RGT last edited by

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

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Support us

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

                    798
                    Online

                    31.6k
                    Users

                    79.4k
                    Topics

                    1.3m
                    Posts

                    4
                    8
                    959
                    Loading More Posts
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes
                    Reply
                    • Reply as topic
                    Log in to reply
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                    The ioBroker Community 2014-2023
                    logo