Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Energiefluss.erweitert Adapter und datenpunkt in €

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    723

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

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

Energiefluss.erweitert Adapter und datenpunkt in €

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
23 Beiträge 2 Kommentatoren 199 Aufrufe 1 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • HomoranH Homoran

    @Kusselin sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

    wie gehe ich das an?

    indem du in der Konfiguration der Anzeige dieser Quelle die beliebige Einheit eintippst.

    @Kusselin sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

    Ausserdem ist der Datenpunkt nicht in Verwendung....:-( Hängt das damit zusammen weil das € sind und nicht kW?

    nöö, das höngt damit zusammen, dass du ihn nicht verwendest.

    KusselinK Offline
    KusselinK Offline
    Kusselin
    schrieb am zuletzt editiert von Kusselin
    #3

    @Homoran sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

    nöö, das höngt damit zusammen, dass du ihn nicht verwendest.

    Ich hbae den datenpunkt doch aber ausgewählz im Energiefluss Adapter....ich bin in Datenquelle auswählen gegangen udn habe dort dann den Datenpunkt ausgewählt. also habe ich ihn doch eingefügt...

    Wo gebe ich das ein mit dem Wert...unter Erweitert?
    Wa ich auch nicht verstehe ist wenn ich den datenpunkt auswähle kann ich nur "Faktor der Quelle" 1 oder 1000 auswählen....das sind aber kwh ixh will aber €. Geht das denn generell das ich diesen datenpunkt in € anzeigen lassen kann im Ebnergiefluss adapter?

    HomoranH 1 Antwort Letzte Antwort
    0
    • KusselinK Kusselin

      @Homoran sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

      nöö, das höngt damit zusammen, dass du ihn nicht verwendest.

      Ich hbae den datenpunkt doch aber ausgewählz im Energiefluss Adapter....ich bin in Datenquelle auswählen gegangen udn habe dort dann den Datenpunkt ausgewählt. also habe ich ihn doch eingefügt...

      Wo gebe ich das ein mit dem Wert...unter Erweitert?
      Wa ich auch nicht verstehe ist wenn ich den datenpunkt auswähle kann ich nur "Faktor der Quelle" 1 oder 1000 auswählen....das sind aber kwh ixh will aber €. Geht das denn generell das ich diesen datenpunkt in € anzeigen lassen kann im Ebnergiefluss adapter?

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #4

      @Kusselin sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

      Ich hbae den datenpunkt doch aber ausgewählz im Energiefluss Adapter..

      dann zeig mal die Einstellungen des zugehörigen Objekts.

      kein Support per PN! - Fragen im Forum stellen -
      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Antwort Letzte Antwort
      0
      • KusselinK Offline
        KusselinK Offline
        Kusselin
        schrieb am zuletzt editiert von
        #5

        Hier, habe ich ihn doch hinzugefügt

        Image 002.png

        Image 004.png

        HomoranH 1 Antwort Letzte Antwort
        0
        • KusselinK Kusselin

          Hier, habe ich ihn doch hinzugefügt

          Image 002.png

          Image 004.png

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #6

          @Kusselin sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

          habe ich ihn doch hinzugefügt

          ich sehe kein Objekt und keine Konfiguration desselben!

          Du zeigst immer nur die Liste mit den Quellen

          kein Support per PN! - Fragen im Forum stellen -
          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
          Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          1 Antwort Letzte Antwort
          0
          • KusselinK Offline
            KusselinK Offline
            Kusselin
            schrieb am zuletzt editiert von
            #7

            O.K. ich find halt im netz kein video wo das mit den € und dem Energiefluss adapter erklärt ist......

            Aber grundlegend ist der Schritt auf dem Bildern oben mit der Liste schon richtig oder? also das ist das erste was man macht im Energiefluss adpater

            Jetzt muss ich das hinzugefügte objekt "javascript.0.Einspeisung.heute_euro" auf der Hauptseite auswählen...und das raff ich nicht :-(

            HomoranH 2 Antworten Letzte Antwort
            0
            • KusselinK Kusselin

              O.K. ich find halt im netz kein video wo das mit den € und dem Energiefluss adapter erklärt ist......

              Aber grundlegend ist der Schritt auf dem Bildern oben mit der Liste schon richtig oder? also das ist das erste was man macht im Energiefluss adpater

              Jetzt muss ich das hinzugefügte objekt "javascript.0.Einspeisung.heute_euro" auf der Hauptseite auswählen...und das raff ich nicht :-(

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #8

              @Kusselin sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

              das hinzugefügte objekt "javascript.0.Einspeisung.heute_euro"

              Das ist kein Objekt!
              Objekte sind Rechtecke, Kreise, Icons, Text.....

              @Kusselin sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

              und das raff ich nicht :-(

              hast du mal die hervorragende Doku dazu gelesen?
              Wo haperts da beim Verständnis?

              kein Support per PN! - Fragen im Forum stellen -
              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
              Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              1 Antwort Letzte Antwort
              0
              • KusselinK Kusselin

                O.K. ich find halt im netz kein video wo das mit den € und dem Energiefluss adapter erklärt ist......

                Aber grundlegend ist der Schritt auf dem Bildern oben mit der Liste schon richtig oder? also das ist das erste was man macht im Energiefluss adpater

                Jetzt muss ich das hinzugefügte objekt "javascript.0.Einspeisung.heute_euro" auf der Hauptseite auswählen...und das raff ich nicht :-(

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von Homoran
                #9

                @Kusselin

                Hier mal ein Extrembeispiel
                Screenshot_20260328-110606_Firefox.jpg

                Jedes einzelne Objekt (Element) kann mit einer Datenquelle verknüpft werden, deren Wert anzeigen und/oder entsprechend des Wertes z.B. die Farbe ändern.

                Wie du hier siehst, können die Werte x-beliebige Einheiten erhalten, auch frei erfundene wie "Zyklen" oder gar "x Abtauen"

                So lange du deine definierten Datenquellen nicht mit einem Element verknüpft hast, ist sie "nicht verwendet"!

                kein Support per PN! - Fragen im Forum stellen -
                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                1 Antwort Letzte Antwort
                0
                • KusselinK Offline
                  KusselinK Offline
                  Kusselin
                  schrieb am zuletzt editiert von Kusselin
                  #10

                  @homoran, Danke..habs nun hinbekommen mit der Verknüpfung.....

                  Ne Frage aber noch....wenn ich das Objekt nun anklicke...habe ich dort dann irgend ne Möglichkeit den Wert auf 2 Stellen hinter Komma zu runden?
                  Image 005.png

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • KusselinK Kusselin

                    @homoran, Danke..habs nun hinbekommen mit der Verknüpfung.....

                    Ne Frage aber noch....wenn ich das Objekt nun anklicke...habe ich dort dann irgend ne Möglichkeit den Wert auf 2 Stellen hinter Komma zu runden?
                    Image 005.png

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von Homoran
                    #11

                    @Kusselin sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

                    Möglichkeit den Wert auf 2 Stellen hinter Komma zu runden?

                    ääähm, wie sieht denn der Originalwert aus?
                    ist das vielleicht ein String?

                    Bei Zahlen kannst du 0, 1 oder 2 Nachkommastellen auswählen, 4 sind nicht vorgesehen

                    kein Support per PN! - Fragen im Forum stellen -
                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    1 Antwort Letzte Antwort
                    0
                    • KusselinK Offline
                      KusselinK Offline
                      Kusselin
                      schrieb am zuletzt editiert von
                      #12

                      so:
                      Image 006.png

                      0,2972

                      HomoranH 1 Antwort Letzte Antwort
                      0
                      • KusselinK Kusselin

                        so:
                        Image 006.png

                        0,2972

                        HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #13

                        @Kusselin sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

                        so

                        das nutzt nichts!
                        Die Objektdaten bitte!

                        kein Support per PN! - Fragen im Forum stellen -
                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                        Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        1 Antwort Letzte Antwort
                        0
                        • KusselinK Offline
                          KusselinK Offline
                          Kusselin
                          schrieb am zuletzt editiert von Kusselin
                          #14

                          sorry...du meinst das hier:

                          {
                            "_id": "javascript.0.Einspeisung.heute_euro",
                            "common": {
                              "unit": "€",
                              "type": "number",
                              "name": "Einspeisevergütung heute",
                              "role": "state"
                            },
                            "native": {},
                            "type": "state",
                            "from": "system.adapter.javascript.0",
                            "user": "system.user.admin",
                            "ts": 1774461719596,
                            "acl": {
                              "object": 1636,
                              "state": 1636,
                              "owner": "system.user.admin",
                              "ownerGroup": "system.group.administrator"
                            }
                          }
                          
                          HomoranH 1 Antwort Letzte Antwort
                          0
                          • KusselinK Kusselin

                            sorry...du meinst das hier:

                            {
                              "_id": "javascript.0.Einspeisung.heute_euro",
                              "common": {
                                "unit": "€",
                                "type": "number",
                                "name": "Einspeisevergütung heute",
                                "role": "state"
                              },
                              "native": {},
                              "type": "state",
                              "from": "system.adapter.javascript.0",
                              "user": "system.user.admin",
                              "ts": 1774461719596,
                              "acl": {
                                "object": 1636,
                                "state": 1636,
                                "owner": "system.user.admin",
                                "ownerGroup": "system.group.administrator"
                              }
                            }
                            
                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von Homoran
                            #15

                            ja, das meine ich

                            @Kusselin sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

                            "type": "number",
                            

                            dann geh mal in dem Element in der Konfig auf den zweiten Reiter und stell die Anzahl Nachkommastellen auf 2
                            Wenn das nicht hilft, wovon ich ausgehe, ist der Wert nicht vom Typ Zahl, auch wenn der DP vom Typ Zahl ist.

                            Wie wird der Wert geschrieben?

                            kein Support per PN! - Fragen im Forum stellen -
                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            1 Antwort Letzte Antwort
                            0
                            • KusselinK Offline
                              KusselinK Offline
                              Kusselin
                              schrieb am zuletzt editiert von Kusselin
                              #16

                              sorry, ich weiss nicht was du damit meinst mit (in der Konfig auf den zweiten Reiter)?

                              Meinst du hier?
                              Image 001.png

                              HomoranH 1 Antwort Letzte Antwort
                              0
                              • KusselinK Kusselin

                                sorry, ich weiss nicht was du damit meinst mit (in der Konfig auf den zweiten Reiter)?

                                Meinst du hier?
                                Image 001.png

                                HomoranH Nicht stören
                                HomoranH Nicht stören
                                Homoran
                                Global Moderator Administrators
                                schrieb am zuletzt editiert von
                                #17

                                @Kusselin sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

                                ich weiss nicht was du damit meinst mit (in der Konfig auf den zweiten Reiter

                                in Energiefluss-erweitert das dazugehörige Objekt/Element anwählen
                                In der Konfigurationsleiste dazu den zweiten Reiter öffnen

                                Das dann zeigen!

                                kein Support per PN! - Fragen im Forum stellen -
                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                1 Antwort Letzte Antwort
                                0
                                • KusselinK Offline
                                  KusselinK Offline
                                  Kusselin
                                  schrieb am zuletzt editiert von
                                  #18

                                  Bitteschön:
                                  Image 002.png

                                  HomoranH 1 Antwort Letzte Antwort
                                  0
                                  • KusselinK Kusselin

                                    Bitteschön:
                                    Image 002.png

                                    HomoranH Nicht stören
                                    HomoranH Nicht stören
                                    Homoran
                                    Global Moderator Administrators
                                    schrieb am zuletzt editiert von
                                    #19

                                    @Kusselin sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

                                    Bitteschön

                                    wie erwartet hilft das nichts.
                                    Dann scheint der

                                    sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

                                    nicht vom Typ Zahl, auch wenn der DP vom Typ Zahl ist.

                                    zu sein!

                                    Dazu bat ich um Info;

                                    sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

                                    Wie wird der Wert geschrieben?

                                    sprich: Skript zeigen!

                                    kein Support per PN! - Fragen im Forum stellen -
                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                    Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                    1 Antwort Letzte Antwort
                                    0
                                    • KusselinK Offline
                                      KusselinK Offline
                                      Kusselin
                                      schrieb am zuletzt editiert von
                                      #20
                                      // ============================================================
                                      //  Shelly Pro 3EM – Tägliche Einspeisung & Vergütung
                                      //  ioBroker JavaScript Adapter + Source Analytics Adapter
                                      // ============================================================
                                      //
                                      //  Voraussetzungen:
                                      //  - JavaScript Adapter
                                      //  - ioBroker.source-analytics Adapter (oder history/influxdb)
                                      //
                                      //  Objekt-Pfade – ggf. an eigene Instanz anpassen:
                                      //  z.B. shelly.0.SHEM-3EM#<MAC>#1 → hier: shelly.0.shellyem3pro-...
                                      //
                                      //  ANPASSEN: Den Instanz-Präfix auf deine Installation setzen
                                      // ============================================================
                                      
                                      const SHELLY_PREFIX = 'shelly.0.shellypro3em-<DEINE-MAC-ADRESSE>';
                                      // Beispiel: 'shelly.0.shellypro3em-aabbccddeeff'
                                      
                                      const OBJ_RETURN_TOTAL = `${SHELLY_PREFIX}.EMData0.TotalActiveReturnEnergy`;
                                      const OBJ_RETURN_A     = `${SHELLY_PREFIX}.EMData0.TotalActiveReturnEnergyA`;
                                      const OBJ_RETURN_B     = `${SHELLY_PREFIX}.EMData0.TotalActiveReturnEnergyB`;
                                      const OBJ_RETURN_C     = `${SHELLY_PREFIX}.EMData0.TotalActiveReturnEnergyC`;
                                      
                                      // Vergütung je kWh in €
                                      const VERGUETUNG_PRO_KWH = 0.068;
                                      
                                      // Ziel-Datenpunkt für das Ergebnis (wird automatisch erzeugt)
                                      const DP_HEUTE_KWH       = 'javascript.0.Einspeisung.heute_kWh';
                                      const DP_HEUTE_EURO      = 'javascript.0.Einspeisung.heute_euro';
                                      const DP_HEUTE_KWH_A     = 'javascript.0.Einspeisung.heute_kWh_PhaseA';
                                      const DP_HEUTE_KWH_B     = 'javascript.0.Einspeisung.heute_kWh_PhaseB';
                                      const DP_HEUTE_KWH_C     = 'javascript.0.Einspeisung.heute_kWh_PhaseC';
                                      const DP_TAGESBEGINN_WH  = 'javascript.0.Einspeisung.tagesbeginn_Wh';
                                      const DP_TAGESBEGINN_A   = 'javascript.0.Einspeisung.tagesbeginn_Wh_PhaseA';
                                      const DP_TAGESBEGINN_B   = 'javascript.0.Einspeisung.tagesbeginn_Wh_PhaseB';
                                      const DP_TAGESBEGINN_C   = 'javascript.0.Einspeisung.tagesbeginn_Wh_PhaseC';
                                      
                                      // ─── Datenpunkte anlegen ────────────────────────────────────
                                      createState(DP_HEUTE_KWH,      0, { unit: 'kWh', type: 'number', name: 'Einspeisung heute gesamt' });
                                      createState(DP_HEUTE_EURO,     0, { unit: '€',   type: 'number', name: 'Einspeisevergütung heute' });
                                      createState(DP_HEUTE_KWH_A,    0, { unit: 'kWh', type: 'number', name: 'Einspeisung heute Phase A' });
                                      createState(DP_HEUTE_KWH_B,    0, { unit: 'kWh', type: 'number', name: 'Einspeisung heute Phase B' });
                                      createState(DP_HEUTE_KWH_C,    0, { unit: 'kWh', type: 'number', name: 'Einspeisung heute Phase C' });
                                      createState(DP_TAGESBEGINN_WH, 0, { unit: 'Wh',  type: 'number', name: 'Zählerstand Tagesbeginn gesamt' });
                                      createState(DP_TAGESBEGINN_A,  0, { unit: 'Wh',  type: 'number', name: 'Zählerstand Tagesbeginn Phase A' });
                                      createState(DP_TAGESBEGINN_B,  0, { unit: 'Wh',  type: 'number', name: 'Zählerstand Tagesbeginn Phase B' });
                                      createState(DP_TAGESBEGINN_C,  0, { unit: 'Wh',  type: 'number', name: 'Zählerstand Tagesbeginn Phase C' });
                                      
                                      // ─── Hilfsfunktion: Tagesdifferenz berechnen ────────────────
                                      function berechneEinspeisung() {
                                          const aktuellerWert   = getState(OBJ_RETURN_TOTAL).val || 0;
                                          const aktuellerWert_A = getState(OBJ_RETURN_A).val     || 0;
                                          const aktuellerWert_B = getState(OBJ_RETURN_B).val     || 0;
                                          const aktuellerWert_C = getState(OBJ_RETURN_C).val     || 0;
                                      
                                          const tagesbeginn   = getState(DP_TAGESBEGINN_WH).val || aktuellerWert;
                                          const tagesbeginn_A = getState(DP_TAGESBEGINN_A).val  || aktuellerWert_A;
                                          const tagesbeginn_B = getState(DP_TAGESBEGINN_B).val  || aktuellerWert_B;
                                          const tagesbeginn_C = getState(DP_TAGESBEGINN_C).val  || aktuellerWert_C;
                                      
                                          // Differenz in Wh → kWh (auf 3 Dezimalstellen)
                                          const diff_kWh   = Math.round((aktuellerWert   - tagesbeginn)   / 10) / 100;
                                          const diff_kWh_A = Math.round((aktuellerWert_A - tagesbeginn_A) / 10) / 100;
                                          const diff_kWh_B = Math.round((aktuellerWert_B - tagesbeginn_B) / 10) / 100;
                                          const diff_kWh_C = Math.round((aktuellerWert_C - tagesbeginn_C) / 10) / 100;
                                      
                                          const verguetung = Math.round(diff_kWh * VERGUETUNG_PRO_KWH * 10000) / 10000;
                                      
                                          setState(DP_HEUTE_KWH,   diff_kWh   < 0 ? 0 : diff_kWh,   true);
                                          setState(DP_HEUTE_KWH_A, diff_kWh_A < 0 ? 0 : diff_kWh_A, true);
                                          setState(DP_HEUTE_KWH_B, diff_kWh_B < 0 ? 0 : diff_kWh_B, true);
                                          setState(DP_HEUTE_KWH_C, diff_kWh_C < 0 ? 0 : diff_kWh_C, true);
                                          setState(DP_HEUTE_EURO,  verguetung  < 0 ? 0 : verguetung,  true);
                                      
                                          log(`[Einspeisung] Heute: ${diff_kWh} kWh | A: ${diff_kWh_A} | B: ${diff_kWh_B} | C: ${diff_kWh_C} | Vergütung: ${verguetung.toFixed(4)} €`);
                                      }
                                      
                                      // ─── Tagesbeginn um Mitternacht speichern ───────────────────
                                      schedule('0 0 * * *', function () {
                                          const val   = getState(OBJ_RETURN_TOTAL).val || 0;
                                          const val_A = getState(OBJ_RETURN_A).val     || 0;
                                          const val_B = getState(OBJ_RETURN_B).val     || 0;
                                          const val_C = getState(OBJ_RETURN_C).val     || 0;
                                      
                                          setState(DP_TAGESBEGINN_WH, val,   true);
                                          setState(DP_TAGESBEGINN_A,  val_A, true);
                                          setState(DP_TAGESBEGINN_B,  val_B, true);
                                          setState(DP_TAGESBEGINN_C,  val_C, true);
                                      
                                          log(`[Einspeisung] Tagesbeginn gesetzt: ${val} Wh (A:${val_A} B:${val_B} C:${val_C})`);
                                      });
                                      
                                      // ─── Bei jeder Änderung des Shelly-Zählers neu berechnen ───
                                      on({ id: OBJ_RETURN_TOTAL, change: 'any' }, berechneEinspeisung);
                                      
                                      // ─── Beim Skriptstart einmalig berechnen ───────────────────
                                      // Tagesbeginn-Initialisierung: Nur setzen wenn noch 0
                                      setTimeout(function () {
                                          if (getState(DP_TAGESBEGINN_WH).val === 0) {
                                              const val   = getState(OBJ_RETURN_TOTAL).val || 0;
                                              const val_A = getState(OBJ_RETURN_A).val     || 0;
                                              const val_B = getState(OBJ_RETURN_B).val     || 0;
                                              const val_C = getState(OBJ_RETURN_C).val     || 0;
                                              setState(DP_TAGESBEGINN_WH, val,   true);
                                              setState(DP_TAGESBEGINN_A,  val_A, true);
                                              setState(DP_TAGESBEGINN_B,  val_B, true);
                                              setState(DP_TAGESBEGINN_C,  val_C, true);
                                              log('[Einspeisung] Erstinitialisierung Tagesbeginn gesetzt.');
                                          }
                                          berechneEinspeisung();
                                      }, 2000);
                                      
                                      // ─── SOURCE ANALYTICS Adapter Integration ──────────────────
                                      // Der source-analytics Adapter liest automatisch aus dem Datenpunkt
                                      // wenn dieser in der Instanzkonfiguration eingetragen ist.
                                      //
                                      // Alternativ: history-Adapter aktivieren auf:
                                      //   javascript.0.Einspeisung.heute_kWh
                                      //   javascript.0.Einspeisung.heute_euro
                                      //
                                      // Für Tageshistorie via Source Analytics:
                                      // - Datenpunkt: javascript.0.Einspeisung.heute_kWh
                                      // - Aggregation: last (letzter Wert des Tages)
                                      // - Anzeige: Balkendiagramm (Tagesansicht)
                                      //
                                      // ──────────────────────────────────────────────────────────
                                      // ERGEBNIS-DATENPUNKTE (für VIS / Jarvis / Material UI):
                                      //
                                      //   javascript.0.Einspeisung.heute_kWh       → Einspeisung heute in kWh
                                      //   javascript.0.Einspeisung.heute_euro      → Vergütung heute in €
                                      //   javascript.0.Einspeisung.heute_kWh_PhaseA/B/C → je Phase
                                      // ──────────────────────────────────────────────────────────
                                      
                                      HomoranH 1 Antwort Letzte Antwort
                                      0
                                      • KusselinK Kusselin
                                        // ============================================================
                                        //  Shelly Pro 3EM – Tägliche Einspeisung & Vergütung
                                        //  ioBroker JavaScript Adapter + Source Analytics Adapter
                                        // ============================================================
                                        //
                                        //  Voraussetzungen:
                                        //  - JavaScript Adapter
                                        //  - ioBroker.source-analytics Adapter (oder history/influxdb)
                                        //
                                        //  Objekt-Pfade – ggf. an eigene Instanz anpassen:
                                        //  z.B. shelly.0.SHEM-3EM#<MAC>#1 → hier: shelly.0.shellyem3pro-...
                                        //
                                        //  ANPASSEN: Den Instanz-Präfix auf deine Installation setzen
                                        // ============================================================
                                        
                                        const SHELLY_PREFIX = 'shelly.0.shellypro3em-<DEINE-MAC-ADRESSE>';
                                        // Beispiel: 'shelly.0.shellypro3em-aabbccddeeff'
                                        
                                        const OBJ_RETURN_TOTAL = `${SHELLY_PREFIX}.EMData0.TotalActiveReturnEnergy`;
                                        const OBJ_RETURN_A     = `${SHELLY_PREFIX}.EMData0.TotalActiveReturnEnergyA`;
                                        const OBJ_RETURN_B     = `${SHELLY_PREFIX}.EMData0.TotalActiveReturnEnergyB`;
                                        const OBJ_RETURN_C     = `${SHELLY_PREFIX}.EMData0.TotalActiveReturnEnergyC`;
                                        
                                        // Vergütung je kWh in €
                                        const VERGUETUNG_PRO_KWH = 0.068;
                                        
                                        // Ziel-Datenpunkt für das Ergebnis (wird automatisch erzeugt)
                                        const DP_HEUTE_KWH       = 'javascript.0.Einspeisung.heute_kWh';
                                        const DP_HEUTE_EURO      = 'javascript.0.Einspeisung.heute_euro';
                                        const DP_HEUTE_KWH_A     = 'javascript.0.Einspeisung.heute_kWh_PhaseA';
                                        const DP_HEUTE_KWH_B     = 'javascript.0.Einspeisung.heute_kWh_PhaseB';
                                        const DP_HEUTE_KWH_C     = 'javascript.0.Einspeisung.heute_kWh_PhaseC';
                                        const DP_TAGESBEGINN_WH  = 'javascript.0.Einspeisung.tagesbeginn_Wh';
                                        const DP_TAGESBEGINN_A   = 'javascript.0.Einspeisung.tagesbeginn_Wh_PhaseA';
                                        const DP_TAGESBEGINN_B   = 'javascript.0.Einspeisung.tagesbeginn_Wh_PhaseB';
                                        const DP_TAGESBEGINN_C   = 'javascript.0.Einspeisung.tagesbeginn_Wh_PhaseC';
                                        
                                        // ─── Datenpunkte anlegen ────────────────────────────────────
                                        createState(DP_HEUTE_KWH,      0, { unit: 'kWh', type: 'number', name: 'Einspeisung heute gesamt' });
                                        createState(DP_HEUTE_EURO,     0, { unit: '€',   type: 'number', name: 'Einspeisevergütung heute' });
                                        createState(DP_HEUTE_KWH_A,    0, { unit: 'kWh', type: 'number', name: 'Einspeisung heute Phase A' });
                                        createState(DP_HEUTE_KWH_B,    0, { unit: 'kWh', type: 'number', name: 'Einspeisung heute Phase B' });
                                        createState(DP_HEUTE_KWH_C,    0, { unit: 'kWh', type: 'number', name: 'Einspeisung heute Phase C' });
                                        createState(DP_TAGESBEGINN_WH, 0, { unit: 'Wh',  type: 'number', name: 'Zählerstand Tagesbeginn gesamt' });
                                        createState(DP_TAGESBEGINN_A,  0, { unit: 'Wh',  type: 'number', name: 'Zählerstand Tagesbeginn Phase A' });
                                        createState(DP_TAGESBEGINN_B,  0, { unit: 'Wh',  type: 'number', name: 'Zählerstand Tagesbeginn Phase B' });
                                        createState(DP_TAGESBEGINN_C,  0, { unit: 'Wh',  type: 'number', name: 'Zählerstand Tagesbeginn Phase C' });
                                        
                                        // ─── Hilfsfunktion: Tagesdifferenz berechnen ────────────────
                                        function berechneEinspeisung() {
                                            const aktuellerWert   = getState(OBJ_RETURN_TOTAL).val || 0;
                                            const aktuellerWert_A = getState(OBJ_RETURN_A).val     || 0;
                                            const aktuellerWert_B = getState(OBJ_RETURN_B).val     || 0;
                                            const aktuellerWert_C = getState(OBJ_RETURN_C).val     || 0;
                                        
                                            const tagesbeginn   = getState(DP_TAGESBEGINN_WH).val || aktuellerWert;
                                            const tagesbeginn_A = getState(DP_TAGESBEGINN_A).val  || aktuellerWert_A;
                                            const tagesbeginn_B = getState(DP_TAGESBEGINN_B).val  || aktuellerWert_B;
                                            const tagesbeginn_C = getState(DP_TAGESBEGINN_C).val  || aktuellerWert_C;
                                        
                                            // Differenz in Wh → kWh (auf 3 Dezimalstellen)
                                            const diff_kWh   = Math.round((aktuellerWert   - tagesbeginn)   / 10) / 100;
                                            const diff_kWh_A = Math.round((aktuellerWert_A - tagesbeginn_A) / 10) / 100;
                                            const diff_kWh_B = Math.round((aktuellerWert_B - tagesbeginn_B) / 10) / 100;
                                            const diff_kWh_C = Math.round((aktuellerWert_C - tagesbeginn_C) / 10) / 100;
                                        
                                            const verguetung = Math.round(diff_kWh * VERGUETUNG_PRO_KWH * 10000) / 10000;
                                        
                                            setState(DP_HEUTE_KWH,   diff_kWh   < 0 ? 0 : diff_kWh,   true);
                                            setState(DP_HEUTE_KWH_A, diff_kWh_A < 0 ? 0 : diff_kWh_A, true);
                                            setState(DP_HEUTE_KWH_B, diff_kWh_B < 0 ? 0 : diff_kWh_B, true);
                                            setState(DP_HEUTE_KWH_C, diff_kWh_C < 0 ? 0 : diff_kWh_C, true);
                                            setState(DP_HEUTE_EURO,  verguetung  < 0 ? 0 : verguetung,  true);
                                        
                                            log(`[Einspeisung] Heute: ${diff_kWh} kWh | A: ${diff_kWh_A} | B: ${diff_kWh_B} | C: ${diff_kWh_C} | Vergütung: ${verguetung.toFixed(4)} €`);
                                        }
                                        
                                        // ─── Tagesbeginn um Mitternacht speichern ───────────────────
                                        schedule('0 0 * * *', function () {
                                            const val   = getState(OBJ_RETURN_TOTAL).val || 0;
                                            const val_A = getState(OBJ_RETURN_A).val     || 0;
                                            const val_B = getState(OBJ_RETURN_B).val     || 0;
                                            const val_C = getState(OBJ_RETURN_C).val     || 0;
                                        
                                            setState(DP_TAGESBEGINN_WH, val,   true);
                                            setState(DP_TAGESBEGINN_A,  val_A, true);
                                            setState(DP_TAGESBEGINN_B,  val_B, true);
                                            setState(DP_TAGESBEGINN_C,  val_C, true);
                                        
                                            log(`[Einspeisung] Tagesbeginn gesetzt: ${val} Wh (A:${val_A} B:${val_B} C:${val_C})`);
                                        });
                                        
                                        // ─── Bei jeder Änderung des Shelly-Zählers neu berechnen ───
                                        on({ id: OBJ_RETURN_TOTAL, change: 'any' }, berechneEinspeisung);
                                        
                                        // ─── Beim Skriptstart einmalig berechnen ───────────────────
                                        // Tagesbeginn-Initialisierung: Nur setzen wenn noch 0
                                        setTimeout(function () {
                                            if (getState(DP_TAGESBEGINN_WH).val === 0) {
                                                const val   = getState(OBJ_RETURN_TOTAL).val || 0;
                                                const val_A = getState(OBJ_RETURN_A).val     || 0;
                                                const val_B = getState(OBJ_RETURN_B).val     || 0;
                                                const val_C = getState(OBJ_RETURN_C).val     || 0;
                                                setState(DP_TAGESBEGINN_WH, val,   true);
                                                setState(DP_TAGESBEGINN_A,  val_A, true);
                                                setState(DP_TAGESBEGINN_B,  val_B, true);
                                                setState(DP_TAGESBEGINN_C,  val_C, true);
                                                log('[Einspeisung] Erstinitialisierung Tagesbeginn gesetzt.');
                                            }
                                            berechneEinspeisung();
                                        }, 2000);
                                        
                                        // ─── SOURCE ANALYTICS Adapter Integration ──────────────────
                                        // Der source-analytics Adapter liest automatisch aus dem Datenpunkt
                                        // wenn dieser in der Instanzkonfiguration eingetragen ist.
                                        //
                                        // Alternativ: history-Adapter aktivieren auf:
                                        //   javascript.0.Einspeisung.heute_kWh
                                        //   javascript.0.Einspeisung.heute_euro
                                        //
                                        // Für Tageshistorie via Source Analytics:
                                        // - Datenpunkt: javascript.0.Einspeisung.heute_kWh
                                        // - Aggregation: last (letzter Wert des Tages)
                                        // - Anzeige: Balkendiagramm (Tagesansicht)
                                        //
                                        // ──────────────────────────────────────────────────────────
                                        // ERGEBNIS-DATENPUNKTE (für VIS / Jarvis / Material UI):
                                        //
                                        //   javascript.0.Einspeisung.heute_kWh       → Einspeisung heute in kWh
                                        //   javascript.0.Einspeisung.heute_euro      → Vergütung heute in €
                                        //   javascript.0.Einspeisung.heute_kWh_PhaseA/B/C → je Phase
                                        // ──────────────────────────────────────────────────────────
                                        
                                        HomoranH Nicht stören
                                        HomoranH Nicht stören
                                        Homoran
                                        Global Moderator Administrators
                                        schrieb am zuletzt editiert von
                                        #21

                                        @Kusselin sagte in Energiefluss.erweitert Adapter und datenpunkt in €:

                                        verguetung.toFixed(4)

                                        ich kann kein js 😞 😓

                                        wandelt das nicht in String?

                                        kein Support per PN! - Fragen im Forum stellen -
                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                        Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                        1 Antwort Letzte Antwort
                                        1
                                        • KusselinK Offline
                                          KusselinK Offline
                                          Kusselin
                                          schrieb am zuletzt editiert von
                                          #22

                                          Sorry ich auch nicht...habe das über ChatGPT erstelen lassen.....

                                          1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          572

                                          Online

                                          32.7k

                                          Benutzer

                                          82.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe