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. Skripten / Logik
  4. Wie? Solar Produktion über Json Monatlich berechnen

NEWS

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    1.8k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    3.7k

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    3.4k

Wie? Solar Produktion über Json Monatlich berechnen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
16 Beiträge 2 Kommentatoren 48 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.
  • machamsterM Online
    machamsterM Online
    machamster
    schrieb zuletzt editiert von machamster
    #1

    hallo,

    ich habe meine Solaranlage schon über ein Json Script in meinen IoBroker einbinden können.

    Leider musste der Speicher getauscht werden.....lange rede.

    Mein Problem ist das die neue Anlage nur Lokal in meinem Netzwerk ist und keine Daten in die Cloud gesendet werden können( keine Ahnung warum Hersteller weis auch nicht weiter).

    Kann ich irgendwie mit Hilfe der Json Datei einen Zahler mir bauen der vom Ersten Tag des Monats bis Letzen Tag des Monats meine Pv Produktion zusammen Rechnet?

    Damit ich den Eigenverbrauch berechnen kann.
    Einspeisung und Zukaufstrom kann ich ja über den Stromzahler auslesen.

    {
    "ESSRealtimeStatus":{
    "ColecTm":"20260704125745",
    "PowerOutletPw":"0",
    "GridPw":3.22,
    "UnitPrice":0.00,
    "ConsPw":0.27,
    "BtSoc":93,
    "PcsPw":3493.00,
    "AbsPcsPw":3.49,
    "PvPw":3.49,
    "GridStusCd":"1",
    "BtStusCd":"2",
    "BtPw":0.00,
    "OperStusCd":"0",
    "EmsOpMode":"0",
    "RankPer":0,
    "ErrorCnt":0
    }
    }

    Das musste ja der Punkt "PvPW" sein.

    Ich habe selber keine Ahnung davon und würde mich sehr über Hilfe freuen .

    paul53P 1 Antwort Letzte Antwort
    0
    • machamsterM machamster

      hallo,

      ich habe meine Solaranlage schon über ein Json Script in meinen IoBroker einbinden können.

      Leider musste der Speicher getauscht werden.....lange rede.

      Mein Problem ist das die neue Anlage nur Lokal in meinem Netzwerk ist und keine Daten in die Cloud gesendet werden können( keine Ahnung warum Hersteller weis auch nicht weiter).

      Kann ich irgendwie mit Hilfe der Json Datei einen Zahler mir bauen der vom Ersten Tag des Monats bis Letzen Tag des Monats meine Pv Produktion zusammen Rechnet?

      Damit ich den Eigenverbrauch berechnen kann.
      Einspeisung und Zukaufstrom kann ich ja über den Stromzahler auslesen.

      {
      "ESSRealtimeStatus":{
      "ColecTm":"20260704125745",
      "PowerOutletPw":"0",
      "GridPw":3.22,
      "UnitPrice":0.00,
      "ConsPw":0.27,
      "BtSoc":93,
      "PcsPw":3493.00,
      "AbsPcsPw":3.49,
      "PvPw":3.49,
      "GridStusCd":"1",
      "BtStusCd":"2",
      "BtPw":0.00,
      "OperStusCd":"0",
      "EmsOpMode":"0",
      "RankPer":0,
      "ErrorCnt":0
      }
      }

      Das musste ja der Punkt "PvPW" sein.

      Ich habe selber keine Ahnung davon und würde mich sehr über Hilfe freuen .

      paul53P Offline
      paul53P Offline
      paul53
      schrieb zuletzt editiert von paul53
      #2

      @machamster [sagte]: Das musste ja der Punkt "PvPW" sein.

      Enthält er die PV-Leistung in kW?

      Wenn ja, könnte man es so angehen:

       const idJson   = ''; // Datenpunkt-ID eintragen!
      
       // Datenpunkte vom Typ "Zahl" unter "0_userdata.0.PV" erstellen!
       const idPower  = '0_userdata.0.PV.Leistung'; // kW
       const idEnergy = '0_userdata.0.PV.Energie'; // kWh
       const idAct    = '0_userdata.0.PV.aktueller_Monat'; // kWh
       const idLast   = '0_userdata.0.PV.letzter_Monat'; // kWh
       const idMonth  = '0_userdata.0.PV.Stand_Monat'; // kWh
      
       var energy = getState(idEnergy).val; // Zählerstand
       var stand  = energy; 
      
       on(idJson, function(dp) {
           const status = JSON.parse(dp.state.val).ESSRealtimeStatus;
           setState(idPower, status.PvPw, true);
       });
      
       on(idPower, function(dp) {
           energy += dp.oldState.val * (dp.state.lc - dp.oldState.lc) / 3600000;
           stand = Math.round(energy * 100) / 100; // Zählerstand kWh
           setState(idEnergy, stand, true);
           setState(idAct, stand - getState(idMonth).val, true);
       });
      
       schedule('55 59 23 28-31 * *', function() {
           if(new Date(Date.now() + 10000).getDate() == 1) { // letzter Monatstag
              setState(idLast, stand - getState(idMonth).val, true);
              setState(idMonth, stand, true);
           }
       });
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

      1 Antwort Letzte Antwort
      0
      • machamsterM Online
        machamsterM Online
        machamster
        schrieb zuletzt editiert von
        #3

        Screenshot 2026-07-04 142132.png
        Screenshot 2026-07-04 142155.png

        1 Antwort Letzte Antwort
        0
        • machamsterM Online
          machamsterM Online
          machamster
          schrieb zuletzt editiert von
          #4

          So weit habe ich das gemacht, aber ich kann bis jetzt keine Daten sehen.

          Habe ich irgend etwas falsch gemacht?

          paul53P 1 Antwort Letzte Antwort
          0
          • machamsterM machamster

            So weit habe ich das gemacht, aber ich kann bis jetzt keine Daten sehen.

            Habe ich irgend etwas falsch gemacht?

            paul53P Offline
            paul53P Offline
            paul53
            schrieb zuletzt editiert von paul53
            #5

            @machamster [sagte]: Habe ich irgend etwas falsch gemacht?

            idJson enthält keine Datenpunkt-ID, sondern eine URL.

            EDIT: Eine URL muss man pollen (Intervall):

             const url   = ''; // URL eintragen!
            
             // Datenpunkte vom Typ "Zahl" unter "0_userdata.0.PV" erstellen!
             const idPower  = '0_userdata.0.PV.Leistung'; // kW
             const idEnergy = '0_userdata.0.PV.Energie'; // kWh
             const idAct    = '0_userdata.0.PV.aktueller_Monat'; // kWh
             const idLast   = '0_userdata.0.PV.letzter_Monat'; // kWh
             const idMonth  = '0_userdata.0.PV.Stand_Monat'; // kWh
            
             var stand = getState(idEnergy).val; // Zählerstand
             var energy = 100 * stand; // 10 Wh
            
             setInterval(function() {
                 httpGet(url, (err, response) => {
                    if (!err) {
                        const status = JSON.parse(response.data).ESSRealtimeStatus;
                        setState(idPower, status.PvPw, true);
                    } 
                 });
             }, 5000); // alle 5 s
            
             on(idPower, function(dp) {
                 energy += dp.oldState.val * (dp.state.lc - dp.oldState.lc) / 36000;
                 stand = Math.round(energy) / 100; // Zählerstand kWh
                 setState(idEnergy, stand, true);
                 setState(idAct, stand - getState(idMonth).val, true);
             });
            
             schedule('55 59 23 28-31 * *', function() {
                 if(new Date(Date.now() + 10000).getDate() == 1) { // letzter Monatstag
                    setState(idLast, stand - getState(idMonth).val, true);
                    setState(idMonth, stand, true);
                    setState(idAct, 0, true);
                 }
             });
            

            Bitte Code in Code tags posten, damit man daraus kopieren kann.
            Verpasse den Datenpunkten noch Einheiten (kW / kWh) und setze sie auf "read only" mit der Rolle "value.power".

            Beachte bitte, dass ich um eine globale Variable stand ergänzt habe, die den berechneten Zählerstand auf zwei Nachkommastellen gerundet enthält.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

            1 Antwort Letzte Antwort
            0
            • machamsterM Online
              machamsterM Online
              machamster
              schrieb zuletzt editiert von
              #6

              OK ?? Was müsste ich da den Eintragen?

              Ich habe ein Skript am laufen was die Anlage ausliest.

              Muss ich da den Punkt eintragen?

              Screenshot 2026-07-04 150548.png
              Screenshot 2026-07-04 150610.png

              paul53P 1 Antwort Letzte Antwort
              0
              • machamsterM machamster

                OK ?? Was müsste ich da den Eintragen?

                Ich habe ein Skript am laufen was die Anlage ausliest.

                Muss ich da den Punkt eintragen?

                Screenshot 2026-07-04 150548.png
                Screenshot 2026-07-04 150610.png

                paul53P Offline
                paul53P Offline
                paul53
                schrieb zuletzt editiert von
                #7

                @machamster [sagte]: Ich habe ein Skript am laufen was die Anlage ausliest.

                Dort gibt es bereits den Datenpunkt "PvPw" mit der Leistung.
                Dadurch vereinfacht sich die Ermittlung der Energiewerte:

                 const idPower  = '0_userdata.0.Solar.PvPw'; // kW
                 const idEnergy = '0_userdata.0.PV.Energie'; // kWh
                 const idAct    = '0_userdata.0.PV.aktueller_Monat'; // kWh
                 const idLast   = '0_userdata.0.PV.letzter_Monat'; // kWh
                 const idMonth  = '0_userdata.0.PV.Stand_Monat'; // kWh
                
                 var stand = getState(idEnergy).val; // Zählerstand
                 var energy = 100 * stand; // 10 Wh
                
                 on(idPower, function(dp) {
                     energy += dp.oldState.val * (dp.state.lc - dp.oldState.lc) / 36000;
                     stand = Math.round(energy) / 100; // Zählerstand kWh
                     setState(idEnergy, stand, true);
                     setState(idAct, stand - getState(idMonth).val, true);
                 });
                
                 schedule('55 59 23 28-31 * *', function() {
                     if(new Date(Date.now() + 10000).getDate() == 1) { // letzter Monatstag
                        setState(idLast, stand - getState(idMonth).val, true);
                        setState(idMonth, stand, true);
                        setState(idAct, 0, true);
                     }
                 });
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                1 Antwort Letzte Antwort
                0
                • machamsterM Online
                  machamsterM Online
                  machamster
                  schrieb zuletzt editiert von
                  #8

                  Screenshot 2026-07-04 151610.png

                  Ist das so richtig?

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • machamsterM machamster

                    Screenshot 2026-07-04 151610.png

                    Ist das so richtig?

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb zuletzt editiert von
                    #9

                    @machamster [sagte]: Ist das so richtig?

                    Ja.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                    1 Antwort Letzte Antwort
                    0
                    • machamsterM Online
                      machamsterM Online
                      machamster
                      schrieb zuletzt editiert von
                      #10

                      Screenshot 2026-07-04 152016.png

                      Stand_Monat und letzter_ Monat werden wahrscheinlich dann erst mit Ablauf der Zeit gefüllt?

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • machamsterM machamster

                        Screenshot 2026-07-04 152016.png

                        Stand_Monat und letzter_ Monat werden wahrscheinlich dann erst mit Ablauf der Zeit gefüllt?

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb zuletzt editiert von
                        #11

                        @machamster [sagte]: Stand_Monat und letzter_ Monat werden wahrscheinlich dann erst mit Ablauf der Zeit gefüllt?

                        Ja, am Monatsende.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                        1 Antwort Letzte Antwort
                        0
                        • machamsterM Online
                          machamsterM Online
                          machamster
                          schrieb zuletzt editiert von
                          #12

                          Mega mega gut. Viel viel viel Dank für deine Hilfe. Wirklich Klasse!!!!! Habe eben gesehen das du mir damals auch schon helfen konntest!!! 👍 👍

                          1 Antwort Letzte Antwort
                          0
                          • paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb zuletzt editiert von
                            #13

                            Übrigens kann auch der Sourceanalytix-Adapter aus der Leistung den Zählerstand und Periodenwerte ermitteln. Benötigt allerdings mehr Ressourcen als das kleine Skript.

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                            1 Antwort Letzte Antwort
                            0
                            • machamsterM Online
                              machamsterM Online
                              machamster
                              schrieb zuletzt editiert von machamster
                              #14

                              Für mich war das viel mehr als ein kleines Skript. Vielen Dank dafür 😘😘. Den anderen Adapter werde ich mir mal anschauen 😁. Dazu muss ich wahrscheinlich den Stromzähler Auslesen?

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • machamsterM machamster

                                Für mich war das viel mehr als ein kleines Skript. Vielen Dank dafür 😘😘. Den anderen Adapter werde ich mir mal anschauen 😁. Dazu muss ich wahrscheinlich den Stromzähler Auslesen?

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb zuletzt editiert von
                                #15

                                @machamster [sagte]: Dazu muss ich wahrscheinlich den Stromzähler Auslesen?

                                Nein. In Sourceanalytix wird auch der DP "0_userdata.0.Solar.PvPw" ausgewertet.

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                                1 Antwort Letzte Antwort
                                0
                                • machamsterM Online
                                  machamsterM Online
                                  machamster
                                  schrieb zuletzt editiert von
                                  #16

                                  Ok super. Vielen Dank. Werde mir das morgen mal in Ruhe anschauen 😎

                                  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

                                  621

                                  Online

                                  33.0k

                                  Benutzer

                                  83.3k

                                  Themen

                                  1.3m

                                  Beiträge
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                  ioBroker Community 2014-2026
                                  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