Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Autarkiegrad (aktuell und gesamt) berechnen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Autarkiegrad (aktuell und gesamt) berechnen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
33 Beiträge 6 Kommentatoren 4.1k Aufrufe 6 Watching
  • Ä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.
  • M ManfredHi

    Mein "Eigenverbrauch" deckt sich mit dem was in der SolarEdge App unter "Solarenergie und Batterie" angezeigt wird.
    Also ist das dann doch der Autarkiegrad.

    Screenshot_20240311_192546_mySolarEdge.jpg

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

    @manfredhi sagte in Autarkiegrad (aktuell und gesamt) berechnen:

    Also ist das dann doch der Autarkiegrad.

    Ja, und dein Eigenverbrauch ist 81%, da 19% ins Netz gegangen sind

    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 -

    1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @homoran sagte: Der Anteil der Produktion, den ich selbst verbrauche ist der Eigenverbrauch.

      Damit verwendet ihr unterschiedliche Definitionen für Eigenverbrauch.

      Anderer Ansatz für Autarkiegrad:
      100% * (1 - Netzbezug / Verbrauch)

      M Offline
      M Offline
      ManfredHi
      schrieb am zuletzt editiert von
      #20

      @paul53 sagte in Autarkiegrad (aktuell und gesamt) berechnen:

      Damit verwendet ihr unterschiedliche Definitionen für Eigenverbrauch.
      Anderer Ansatz für Autarkiegrad:
      100% * (1 - Netzbezug / Verbrauch)

      Ja scheinbar. Aber wie bezeichne ich dann das was ich bisher als "Eigenverbrauch" bezeichnet habe?
      Das Ergebnis der Formel für deine Berechnung des Autarkiegrades stimmt mit meinem Wert überein.

      HomoranH 1 Antwort Letzte Antwort
      0
      • M ManfredHi

        @paul53 sagte in Autarkiegrad (aktuell und gesamt) berechnen:

        Damit verwendet ihr unterschiedliche Definitionen für Eigenverbrauch.
        Anderer Ansatz für Autarkiegrad:
        100% * (1 - Netzbezug / Verbrauch)

        Ja scheinbar. Aber wie bezeichne ich dann das was ich bisher als "Eigenverbrauch" bezeichnet habe?
        Das Ergebnis der Formel für deine Berechnung des Autarkiegrades stimmt mit meinem Wert überein.

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

        @manfredhi sagte in Autarkiegrad (aktuell und gesamt) berechnen:

        @paul53 sagte in Autarkiegrad (aktuell und gesamt) berechnen:

        Damit verwendet ihr unterschiedliche Definitionen für Eigenverbrauch.
        Anderer Ansatz für Autarkiegrad:
        100% * (1 - Netzbezug / Verbrauch)

        Ja scheinbar. Aber wie bezeichne ich dann das was ich bisher als "Eigenverbrauch" bezeichnet habe?
        Das Ergebnis der Formel für deine Berechnung des Autarkiegrades stimmt mit meinem Wert überein.

        da hast du es doch selbst gesagt
        das ist der Autarkiegrad

        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 -

        M 1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @manfredhi sagte in Autarkiegrad (aktuell und gesamt) berechnen:

          @paul53 sagte in Autarkiegrad (aktuell und gesamt) berechnen:

          Damit verwendet ihr unterschiedliche Definitionen für Eigenverbrauch.
          Anderer Ansatz für Autarkiegrad:
          100% * (1 - Netzbezug / Verbrauch)

          Ja scheinbar. Aber wie bezeichne ich dann das was ich bisher als "Eigenverbrauch" bezeichnet habe?
          Das Ergebnis der Formel für deine Berechnung des Autarkiegrades stimmt mit meinem Wert überein.

          da hast du es doch selbst gesagt
          das ist der Autarkiegrad

          M Offline
          M Offline
          ManfredHi
          schrieb am zuletzt editiert von
          #22

          @homoran sagte in Autarkiegrad (aktuell und gesamt) berechnen:

          da hast du es doch selbst gesagt
          das ist der Autarkiegrad

          ja die % sind der Autarkiegrad. Nur der Wert in wH den ich als Eigenverbrauch bezeichnet habe, wie nennt sich der dann. Gesamtverbrauch ist es ja nicht, weil das ist der Wert vom ganzen Hausverbrauch.

          HomoranH 1 Antwort Letzte Antwort
          0
          • M ManfredHi

            @homoran sagte in Autarkiegrad (aktuell und gesamt) berechnen:

            da hast du es doch selbst gesagt
            das ist der Autarkiegrad

            ja die % sind der Autarkiegrad. Nur der Wert in wH den ich als Eigenverbrauch bezeichnet habe, wie nennt sich der dann. Gesamtverbrauch ist es ja nicht, weil das ist der Wert vom ganzen Hausverbrauch.

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

            @manfredhi sagte in Autarkiegrad (aktuell und gesamt) berechnen:

            der Wert in wH

            keine Ahnung.
            Produktionsanteil (des Verbrauchs)??

            für den absoluten Wert gibt es IMHO keine gängige Formulierung

            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 -

            M 1 Antwort Letzte Antwort
            0
            • HomoranH Homoran

              @manfredhi sagte in Autarkiegrad (aktuell und gesamt) berechnen:

              der Wert in wH

              keine Ahnung.
              Produktionsanteil (des Verbrauchs)??

              für den absoluten Wert gibt es IMHO keine gängige Formulierung

              M Offline
              M Offline
              ManfredHi
              schrieb am zuletzt editiert von
              #24

              @homoran sagte in Autarkiegrad (aktuell und gesamt) berechnen:

              keine Ahnung.
              Produktionsanteil (des Verbrauchs)??
              für den absoluten Wert gibt es IMHO keine gängige Formulierung

              Bei mir in der VIS schauts so aus. Hab das scheinbar beim Gesamtverbrauch eh immer schon als "aus PV-Anlage" bezeichnet und bei der PV-Erzeugung als "Eigenverbrauch".

              8305171c-ae93-4d9e-930c-db4f0ca2fae6-image.png

              HomoranH 1 Antwort Letzte Antwort
              1
              • M ManfredHi

                @homoran sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                keine Ahnung.
                Produktionsanteil (des Verbrauchs)??
                für den absoluten Wert gibt es IMHO keine gängige Formulierung

                Bei mir in der VIS schauts so aus. Hab das scheinbar beim Gesamtverbrauch eh immer schon als "aus PV-Anlage" bezeichnet und bei der PV-Erzeugung als "Eigenverbrauch".

                8305171c-ae93-4d9e-930c-db4f0ca2fae6-image.png

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

                @manfredhi sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                @homoran sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                keine Ahnung.
                Produktionsanteil (des Verbrauchs)??
                für den absoluten Wert gibt es IMHO keine gängige Formulierung

                Bei mir in der VIS schauts so aus. Hab das scheinbar beim Gesamtverbrauch eh immer schon als "aus PV-Anlage" bezeichnet und bei der PV-Erzeugung als "Eigenverbrauch".

                8305171c-ae93-4d9e-930c-db4f0ca2fae6-image.png

                Ja, das ist doch genau so wie bei mir.
                97% Autarkie(grad) und 77% Eigenverbrauch

                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 -

                M 1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @manfredhi sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                  @homoran sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                  keine Ahnung.
                  Produktionsanteil (des Verbrauchs)??
                  für den absoluten Wert gibt es IMHO keine gängige Formulierung

                  Bei mir in der VIS schauts so aus. Hab das scheinbar beim Gesamtverbrauch eh immer schon als "aus PV-Anlage" bezeichnet und bei der PV-Erzeugung als "Eigenverbrauch".

                  8305171c-ae93-4d9e-930c-db4f0ca2fae6-image.png

                  Ja, das ist doch genau so wie bei mir.
                  97% Autarkie(grad) und 77% Eigenverbrauch

                  M Offline
                  M Offline
                  ManfredHi
                  schrieb am zuletzt editiert von ManfredHi
                  #26

                  @homoran
                  Hallo. Weisst du ob der Strom der beim Laden der Batterie vom WR direkt in die Batterie geht auch mit dem Wirkungsgrad des WR umgerechnet werden muss? Bei meinem SolarEdge wechselrichter wird der DC-Wert der PV mit 98% auf AC-Strom umgerechnet. Ist das beim Laden auch so? Wie gesagt es geht dabei nur ums laden. Beim entladen weiß ich, dass der Faktor weitaus geringer ist.

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • M ManfredHi

                    @homoran
                    Hallo. Weisst du ob der Strom der beim Laden der Batterie vom WR direkt in die Batterie geht auch mit dem Wirkungsgrad des WR umgerechnet werden muss? Bei meinem SolarEdge wechselrichter wird der DC-Wert der PV mit 98% auf AC-Strom umgerechnet. Ist das beim Laden auch so? Wie gesagt es geht dabei nur ums laden. Beim entladen weiß ich, dass der Faktor weitaus geringer ist.

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

                    @manfredhi sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                    Weisst du ob der Strom der beim Laden der Batterie vom WR direkt in die Batterie geht auch mit dem Wirkungsgrad des WR umgerechnet werden muss

                    Nein!
                    Das wird aber nicht DC -> AC -> DC umgewandelt werden.
                    Aber auch bei DC -> DC gibt es Verluste.
                    Der Ertrag am Panel ist nicht die Ladeleistung.

                    @manfredhi sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                    Beim entladen weiß ich, dass der Faktor weitaus geringer ist.

                    das kann ich nicht nachvollziehen.

                    Außer wenn die im Netz direkt verfügbare Energie den Verlust zwischen Modulleistung + Umwandlungsverlust quasi getrennt erfasst und aufsummiert.

                    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 -

                    M 1 Antwort Letzte Antwort
                    0
                    • HomoranH Homoran

                      @manfredhi sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                      Weisst du ob der Strom der beim Laden der Batterie vom WR direkt in die Batterie geht auch mit dem Wirkungsgrad des WR umgerechnet werden muss

                      Nein!
                      Das wird aber nicht DC -> AC -> DC umgewandelt werden.
                      Aber auch bei DC -> DC gibt es Verluste.
                      Der Ertrag am Panel ist nicht die Ladeleistung.

                      @manfredhi sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                      Beim entladen weiß ich, dass der Faktor weitaus geringer ist.

                      das kann ich nicht nachvollziehen.

                      Außer wenn die im Netz direkt verfügbare Energie den Verlust zwischen Modulleistung + Umwandlungsverlust quasi getrennt erfasst und aufsummiert.

                      M Offline
                      M Offline
                      ManfredHi
                      schrieb am zuletzt editiert von ManfredHi
                      #28

                      @homoran sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                      das kann ich nicht nachvollziehen.
                      Außer wenn die im Netz direkt verfügbare Energie den Verlust zwischen Modulleistung + Umwandlungsverlust quasi getrennt erfasst und aufsummiert.

                      Der SE10K-RWS zeigt den DC und den AC Wert an.
                      Wenn jetzt z.b. Abends wo die PV nichts mehr erzeugt nur aus der Batterie bezogen wird (ohne zusätzlichen Bezug) dann ist der DC-Wert des WR bzw. dessen AC-Wert weitaus geringer als der Entladewert der bei der Batterie angezeigt wird.
                      Der Faktor schwankt so zwischen 80 und 93 %. Je nachdem wie hoch die entnommene Leistung gerade ist. Je geringer umso schlechter der Wert.

                      Wenn die Batterie voll ist oder abgeschalten ist, dann ist der Unterschied zwischen dem angezeigten DC und AC Wert exakt 98,5% und immer gleich.

                      HomoranH 1 Antwort Letzte Antwort
                      0
                      • M ManfredHi

                        @homoran sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                        das kann ich nicht nachvollziehen.
                        Außer wenn die im Netz direkt verfügbare Energie den Verlust zwischen Modulleistung + Umwandlungsverlust quasi getrennt erfasst und aufsummiert.

                        Der SE10K-RWS zeigt den DC und den AC Wert an.
                        Wenn jetzt z.b. Abends wo die PV nichts mehr erzeugt nur aus der Batterie bezogen wird (ohne zusätzlichen Bezug) dann ist der DC-Wert des WR bzw. dessen AC-Wert weitaus geringer als der Entladewert der bei der Batterie angezeigt wird.
                        Der Faktor schwankt so zwischen 80 und 93 %. Je nachdem wie hoch die entnommene Leistung gerade ist. Je geringer umso schlechter der Wert.

                        Wenn die Batterie voll ist oder abgeschalten ist, dann ist der Unterschied zwischen dem angezeigten DC und AC Wert exakt 98,5% und immer gleich.

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

                        @manfredhi sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                        Der SE10K-RWS zeigt den DC und den AC Wert an.

                        Was verbirgt sich da hinter?

                        @manfredhi sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                        dann ist der DC-Wert des WR bzw. dessen AC-Wert weitaus geringer als der Entladewert der bei der Batterie angezeigt wird.

                        was denn jetzt?

                        DC und AC?
                        AC bei der Batterie?

                        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 -

                        M 1 Antwort Letzte Antwort
                        0
                        • HomoranH Homoran

                          @manfredhi sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                          Der SE10K-RWS zeigt den DC und den AC Wert an.

                          Was verbirgt sich da hinter?

                          @manfredhi sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                          dann ist der DC-Wert des WR bzw. dessen AC-Wert weitaus geringer als der Entladewert der bei der Batterie angezeigt wird.

                          was denn jetzt?

                          DC und AC?
                          AC bei der Batterie?

                          M Offline
                          M Offline
                          ManfredHi
                          schrieb am zuletzt editiert von ManfredHi
                          #30

                          @homoran
                          Im Modbus habe ich beim WR zwei Werte:
                          "I_DC_Power" und "I_AC_Power".
                          Der AC-Wert sind genau die 98,5% die auch im Datenblatt stehen.

                          Bei der Batterie habe ich nur einen Wert, nämlich "Battery 1 Instantaneous Power". Vermutlich ist dieser Wert ein DC-Wert.

                          Wenn jetzt keine Panel was erzeugt und kein zusätzlicher Bezug ist zeigt der Wechselrichter z.B. folgende Werte an:

                          0983e9b3-9626-4900-9edd-7e4d9acb6250-image.png

                          Das heisst doch aus den 696 Watt die aus der Batterie entnommen werden, kommen im Wechselstrom letztendlich 632 Watt als AC-Strom an.
                          Wenn ich den DC-Strom der auch angezeigt wird mit dem Leistungsfaktor des WR (98,5%) umrechne komme ich genau auf den AC-Strom.

                          D.h. doch auch, wenn ich den angezeigten Strom der Batterie auf AC umrechnen will, dann rechne ich 100/Batterie-Wert*AC-Wert und bekomme den Leistungsfaktor der Batterie, der sich natürlich ständig ändert. Oder ?

                          HomoranH 1 Antwort Letzte Antwort
                          0
                          • M ManfredHi

                            @homoran
                            Im Modbus habe ich beim WR zwei Werte:
                            "I_DC_Power" und "I_AC_Power".
                            Der AC-Wert sind genau die 98,5% die auch im Datenblatt stehen.

                            Bei der Batterie habe ich nur einen Wert, nämlich "Battery 1 Instantaneous Power". Vermutlich ist dieser Wert ein DC-Wert.

                            Wenn jetzt keine Panel was erzeugt und kein zusätzlicher Bezug ist zeigt der Wechselrichter z.B. folgende Werte an:

                            0983e9b3-9626-4900-9edd-7e4d9acb6250-image.png

                            Das heisst doch aus den 696 Watt die aus der Batterie entnommen werden, kommen im Wechselstrom letztendlich 632 Watt als AC-Strom an.
                            Wenn ich den DC-Strom der auch angezeigt wird mit dem Leistungsfaktor des WR (98,5%) umrechne komme ich genau auf den AC-Strom.

                            D.h. doch auch, wenn ich den angezeigten Strom der Batterie auf AC umrechnen will, dann rechne ich 100/Batterie-Wert*AC-Wert und bekomme den Leistungsfaktor der Batterie, der sich natürlich ständig ändert. Oder ?

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

                            @manfredhi Ich kenne Solaredge und dessen Datenpunkte nicht.

                            daher ist jede Bewertung der Daten eine reine Raterei

                            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 -

                            M 1 Antwort Letzte Antwort
                            0
                            • HomoranH Homoran

                              @manfredhi Ich kenne Solaredge und dessen Datenpunkte nicht.

                              daher ist jede Bewertung der Daten eine reine Raterei

                              M Offline
                              M Offline
                              ManfredHi
                              schrieb am zuletzt editiert von ManfredHi
                              #32

                              @homoran sagte in Autarkiegrad (aktuell und gesamt) berechnen:

                              Ich kenne Solaredge und dessen Datenpunkte nicht.
                              daher ist jede Bewertung der Daten eine reine Raterei

                              ok. das komische an der ganzen Sache ist, dass die SolarEdge-App und das SolarEdge-WebPortal auch unterschiedliche Werte anzeigen. Mit meinen Berechnungen liege ich genau dazwischen.

                              jedenfalls habe ich schon probiert die Batterie am Abend wegzuschalten und der Hausverbrauch bleibt gleich (nur kommt er halt dann vom Bezugsstrom statt von der Batterie).
                              der Bezugsstrom sowie der Einspeisestrom stimmen bei mir auf alle Fälle 100%ig weil sie direkt vom SmartMeter des Netzbetreibers kommen. Insofern dürften meine Berechnungen halbwegs stimmig sein.

                              1 Antwort Letzte Antwort
                              0
                              • SchmakusS Offline
                                SchmakusS Offline
                                Schmakus
                                Developer
                                schrieb am zuletzt editiert von
                                #33

                                Hi,
                                also ich hab jetzt mal ein Script erstellt, mit dem ich denke, alle abgedeckt zu haben.
                                Bin mir jedoch noch nicht sicher, ob alle Berechnungen stimmen. Vielleicht kann ja jemand mal drüberschauen.

                                // Bezug Hauszähler
                                const oidLeistungHaus = 'alias.0.Energie.Zaehler.Leistung_Zähler_Gesamt';
                                const oidBezugkWh = 'alias.0.Energie.Zaehler.Stromzaehler_Zaehlerstand_kWh';
                                const oidBezugWh = 'alias.0.Energie.Zaehler.Stromzähler_Zählerstand_in_Wh';
                                const oidZaehlerAbPVkWh = '0_userdata.0.PV.Haus_Zählerstand_ab_PV';
                                const oidTagesbezugkWh = '0_userdata.0.PV.Tagesbezug_in_kWh';
                                const oidNeededPower = '0_userdata.0.PV.Benötigte_Leistung_Haus_Aktuell';
                                const oidWerksreset = '0_userdata.0.PV.Werksreset';
                                const oidWerksresetFreischalten = '0_userdata.0.PV.Werksreset_Freischalten';
                                const oidWerksresetDatum = '0_userdata.0.PV.Werksreset_Datum';
                                const oidTagesverbrauchkWh = '0_userdata.0.PV.Tagesverbrauch_in_kWh';
                                const BezugkWh = getState(oidBezugkWh).val;
                                const BezugWh = getState(oidBezugWh).val; 
                                let LeistungHaus = 0;
                                let LeistungPV =  0;
                                let NeededPower = 0;
                                let ZaehlerNeuAbPVkWh = 0;
                                let TagesbezugkWh = 0;
                                let TagesverbrauchkWh = 0;
                                let GesamtverbrauchkWh = 0;
                                
                                // Einspeisung Hauszähler
                                const oidWhEinspeisung = '0_userdata.0.PV.Einspeisung_ins_Netz';
                                const oidkWhEinspeisung = '0_userdata.0.PV.Einspeisung_ins_Netz_in_kWh';
                                const oidkWhEinspeisungHeute = '0_userdata.0.PV.Einspeisung_ins_Netz_Heute_kWh';
                                let EinspeisungWh = 0;
                                let EinspeisungkWh = 0;
                                let EinspeisungHeutekWh = 0;
                                
                                // PV
                                const oidPVPower = 'opendtu.0.total.power';
                                const oidPVYieldTotal = 'opendtu.0.total.yieldtotal';
                                const oidGesamtertragkWh = '0_userdata.0.PV.PV_Zaehlerstand_Gesamt';
                                const oidZaehlerstandOpenDTU = '0_userdata.0.PV.PV_Zaehlerstand_openDTU';
                                const oidEigenverbrauchkWh = '0_userdata.0.PV.Eigenverbrauch_in_kWh';
                                const oidEigenverbrauchHeutekWh = '0_userdata.0.PV.Eigenverbrauch_Heute_in_kWh';
                                const oidTagesertragkWh = '0_userdata.0.PV.PV_Zaehlerstand_Heute';
                                let GesamtertragkWh = 0;
                                let TagesertragkWh = 0;
                                let EigenverbrauchkWh = 0;
                                let EigenverbrauchHeutekWh = 0;
                                let ZaehlerstandOpenDTU = 0;
                                
                                //******* Zählerstand Haus ab PV */
                                ZaehlerNeuAbPVkWh = getState(oidZaehlerAbPVkWh).val;
                                
                                on({ id: oidBezugWh, change: 'ne' }, async (obj) => {
                                  const value = obj.state.val;
                                  const oldValue = obj.oldState.val;
                                  const differenz = (value - oldValue) / 1000;
                                  ZaehlerNeuAbPVkWh += differenz;
                                  await setStateAsync(oidZaehlerAbPVkWh, Math.round(ZaehlerNeuAbPVkWh * 1000) / 1000, true);
                                });
                                
                                //******* Zählerstand direkt von OpenDTU */
                                on({ id: oidPVYieldTotal, change: 'ne'}, async(obj) => {
                                    ZaehlerstandOpenDTU = (await getStateAsync(oidZaehlerstandOpenDTU)).val;
                                    if (obj.state.val > ZaehlerstandOpenDTU) {
                                        await setStateAsync(oidZaehlerstandOpenDTU, obj.state.val, true);
                                    }
                                })
                                
                                //******* Zähler PV Einspeisung und Bezug*/
                                EinspeisungWh = getState(oidWhEinspeisung).val;
                                EinspeisungkWh = getState(oidkWhEinspeisung).val;
                                EinspeisungHeutekWh = getState(oidkWhEinspeisungHeute).val;
                                TagesbezugkWh = getState(oidTagesbezugkWh).val;
                                
                                on({ id: oidLeistungHaus, change: 'ne'}, async (obj) => {
                                
                                    const state = obj.state;
                                    const oldState = obj.oldState;
                                
                                    LeistungHaus = state.val;
                                
                                    if (oldState.val < 0) {
                                        EinspeisungWh += (oldState.val * (state.lc - oldState.lc)) / -3600000;
                                        EinspeisungHeutekWh += ((oldState.val * (state.lc - oldState.lc)) / -3600000) / 1000;
                                        EinspeisungkWh = EinspeisungWh / 1000;
                                
                                        await Promise.all([
                                            setStateAsync(oidWhEinspeisung, Math.round(EinspeisungWh), true),
                                            setStateAsync(oidkWhEinspeisung, Math.round(EinspeisungkWh * 1000) / 1000, true),
                                            setStateAsync(oidkWhEinspeisungHeute, Math.round(EinspeisungHeutekWh * 1000) / 1000, true)
                                        ]);
                                    } else if (obj.oldState.val > 0) {
                                        TagesbezugkWh += (obj.oldState.val * (obj.state.lc - obj.oldState.lc)) / 3600000000;
                                        await setStateAsync(oidTagesbezugkWh, TagesbezugkWh, true);
                                    };
                                
                                    await NeededPowerCurrent();
                                  
                                });
                                
                                //******** PV Zählerstand Total und Heute und Berechnung des Eigenverbrauchs */
                                GesamtertragkWh = getState(oidGesamtertragkWh).val;
                                TagesertragkWh = getState(oidTagesertragkWh).val;
                                EigenverbrauchHeutekWh = getState(oidEigenverbrauchHeutekWh).val;
                                
                                on({ id: oidPVPower, change: 'ne'}, async (obj) => {
                                    const oldValue = LeistungPV = obj.oldState.val;
                                    const value = (oldValue * (obj.state.lc - obj.oldState.lc)) / 3600000000;
                                
                                    GesamtertragkWh += value;
                                    TagesertragkWh += value
                                
                                    EigenverbrauchkWh = Math.round((GesamtertragkWh - EinspeisungkWh) * 1000) / 1000;
                                    EigenverbrauchHeutekWh = Math.round((TagesertragkWh - EinspeisungHeutekWh) * 1000) / 1000;
                                
                                    await Promise.all([
                                        setStateAsync(oidGesamtertragkWh, GesamtertragkWh, true),
                                        setStateAsync(oidEigenverbrauchkWh, EigenverbrauchkWh, true),
                                        setStateAsync(oidEigenverbrauchHeutekWh, EigenverbrauchHeutekWh, true),
                                        setStateAsync(oidTagesertragkWh, TagesertragkWh, true)
                                    ]);
                                
                                    await NeededPowerCurrent();
                                });
                                
                                //******* Tagesertrag / Tagesbezug resetten */
                                const zeitplan = schedule('59 23 * * *', async() => {
                                  TagesertragkWh = TagesbezugkWh = EinspeisungHeutekWh = 0
                                
                                  await Promise.all([
                                      setStateAsync(oidTagesertragkWh, 0, true),
                                      setStateAsync(oidTagesbezugkWh, 0, true),
                                      setStateAsync(oidkWhEinspeisungHeute, 0, true)
                                  ]);
                                });
                                
                                // Autarkie
                                schedule("*/5 * * * * *", async () => {
                                    const autarkieHeute = Math.round((((TagesverbrauchkWh - TagesbezugkWh) / TagesverbrauchkWh) * 100) * 1) / 1;
                                    const autarkie = Math.round((((GesamtverbrauchkWh - ZaehlerNeuAbPVkWh) / GesamtverbrauchkWh) * 100) * 1) / 1;
                                    let autarkieAktuell = Math.round(Math.min(Math.max((100 * (1 - (LeistungHaus / NeededPower))), 0), 100) * 1) / 1;
                                
                                    await Promise.all([
                                        setStateAsync('0_userdata.0.PV.Autarkie_Gesamt', autarkie, true),
                                        setStateAsync('0_userdata.0.PV.Autarkie_Tag', autarkieHeute, true),
                                        setStateAsync('0_userdata.0.PV.Autarkie_Aktuell', autarkieAktuell, true)
                                    ]);
                                });
                                
                                // Aktuelle Leistung Haus und Verbräuche berechnen
                                async function NeededPowerCurrent() {
                                    // Benötigte Leistung Haus aktuell in W
                                    NeededPower = LeistungHaus + LeistungPV;
                                    await setStateAsync(oidNeededPower, (Math.min(Math.max(NeededPower, 0), 10000)), true);
                                
                                    // Benötigter Tagesverbrauch und Gesamtverbrauchin kWh
                                    TagesverbrauchkWh = TagesbezugkWh + TagesertragkWh - EinspeisungHeutekWh;
                                    GesamtverbrauchkWh = ZaehlerNeuAbPVkWh + GesamtertragkWh - EinspeisungkWh;
                                    await setStateAsync(oidTagesverbrauchkWh, TagesverbrauchkWh, true);
                                    return true;
                                }
                                
                                //Werksreset
                                on({id: oidWerksreset}, async (obj) => {
                                    const freigeschaltet = (await getStateAsync(oidWerksresetFreischalten)).val;
                                    if (freigeschaltet) {
                                        TagesbezugkWh = TagesertragkWh = EinspeisungWh = EinspeisungkWh = EinspeisungHeutekWh = EigenverbrauchHeutekWh = GesamtertragkWh = ZaehlerNeuAbPVkWh = TagesverbrauchkWh = 0;
                                        const date = formatDate(new Date(), 'DD.MM.YYYY');
                                        await Promise.all([
                                            setStateAsync(oidTagesbezugkWh, 0, true),
                                            setStateAsync(oidWhEinspeisung, 0, true),
                                            setStateAsync(oidEigenverbrauchHeutekWh, 0, true),
                                            setStateAsync(oidkWhEinspeisungHeute, 0, true),
                                            setStateAsync(oidkWhEinspeisung, 0, true),
                                            setStateAsync(oidTagesertragkWh, 0, true),
                                            setStateAsync(oidGesamtertragkWh, 0, true),
                                            setStateAsync(oidZaehlerAbPVkWh, 0, true),
                                            setStateAsync(oidTagesverbrauchkWh, 0, true),
                                            setStateAsync(oidWerksresetFreischalten, false, true),
                                            setStateAsync(oidWerksresetDatum, date, true)
                                        ]);
                                    }
                                });
                                
                                

                                Dev of LightControl Adapter, Contributor of HUE and DoorBird Adapter

                                1 Antwort Letzte Antwort
                                0
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                917

                                Online

                                32.4k

                                Benutzer

                                81.5k

                                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