Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter Growatt v3.3.1

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Test Adapter Growatt v3.3.1

    This topic has been deleted. Only users with topic management privileges can see it.
    • PLCHome 0
      PLCHome 0 Developer @LaForge112 last edited by

      @laforge112

      Du setzt die Parameter und schreibst danach ein true mit ack = False (nicht bestätigt) auf write
      Wenn das Schreiben geklappt hat, geht der wert von write auf ack = true (bestätigt).
      Unter Meldung steht, was er gemacht hat.
      Zusätzlich werden die Parameter wieder geladen. Wenn die auch mit ack = false geschrieben wurden, stehen die dann auch auf ack = true.
      Write mus nicht zurückgesetzt werden.

      Um den Accu von 15:00 bis 15:59 zu laden:
      growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param1 100
      growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param2 100
      growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param3 true
      growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param4 15
      growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param5 0
      growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param6 15
      growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param7 59
      growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param8 true
      growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param13 false
      growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param18 false

      growatt.0. -xx- .devices. -yy- .settings.batteryFirst.write true

      Load First ist die Standarteinstellung wenn batteryFirst 8, 13 und 18 off sind ist.

      schedule('0 7 * * *', async ()=>{
          let [stat,stat2,stat3] = await Promise.all(
                [ getStateAsync('growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param8'/*Time slot 1 on*/),
                  getStateAsync('growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param13'/*Time slot 2 on*/),
                  getStateAsync('growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param18'/*Time Slot 3 on*/) ]);
          if (stat.val == true || stat2.val == true || stat3.val == true) {
              await setStateAsync('growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param8'/*Time slot 1 on*/,false,false);
              await setStateAsync('growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param13'/*Time slot 2 on*/,false,false);
              await setStateAsync('growatt.0. -xx- .devices. -yy- .settings.batteryFirst.values.param18'/*Time slot 3 on*/,false,false);
              await setStateAsync('growatt.0. -xx- .devices. -yy- .settings.batteryFirst.write',true,false);
          }
      })
      

      Da er jeden Tag lädt, hab ich ein Script laufen, dass das laden um 7:00 Uhr zurücksetzt.
      Du kannst bis zu 3 Zeiten am Tag einstellen, in denen der WR lädt.
      Param 4-8, 9-13 und 14-18
      An den Param stet was sie bedeuten.

      Die Entladeleistung lässt sich direkt nicht direkt begrenzen. Ein Begrenzen der Erzeugungsleistung wirkt sich auf PV-Produktion aus. Einstellbar ist den ACCU mit konstanter Leistung zu entladen.

      Über backflowSetting kannst du die 70% Regel einstellen oder ausschalte. (Dieses ist im EEG Verhinderungs- und Unwirtschaftlichkeit Gesetz hinterlegt, es dürfen nur maximal 70% der PV Leistung das Haus verlassen.)

      batteryFirst packt einen einstellbaren % Satz in den Accu, man kann einstellen, dass es auch aus dem Netz kommt.

      gridFirst erzeugt eine eingestellte Leistung unter zuhilfenahme des Accus es wird nicht darauf geachtet wio der Hausverbrauch ist.

      loadFirst legt eigentlich den minimalen ACCU% Satz fest, wenn gridFirst nicht aktiv ist.

      pvActivePRate legt fest, wie viel seiner Leistung der Wechselrichter maximal zur Erzeugung nutzt. Wenn man keine Messung am WR hat, kann man damit die Entladung einstellen, damit der WR nicht alles ins Netzt pumpt.

      Was gibts noch:
      pvOnOff schaltet den WR aus.
      epsOn schaltet die Notstromversorgung ein. Dann können die Accus allerdings nur bis 50% oder 70 % entladen werden, frag mich nicht nach dem genauen Prozentsatz. In Deutschland fällt der Strom allerdings so selten aus, dass es nur von Preppern benutzt wird.

      LaForge112 1 Reply Last reply Reply Quote 0
      • LaForge112
        LaForge112 @PLCHome 0 last edited by LaForge112

        @plchome-0

        Alles verstanden vielen Dank.

        1 Reply Last reply Reply Quote 0
        • PLCHome 0
          PLCHome 0 Developer last edited by PLCHome 0

          Falls es jemanden interessiert. Hier mein neuen Projet:

          ioBroker Adapter für Pylontech

          https://forum.iobroker.net/topic/68707

          1 Reply Last reply Reply Quote 0
          • LaForge112
            LaForge112 last edited by

            hi @PLCHome-0

            ganz lieben Dank nochmal.
            ich hätte aber noch eine Frage

            ich versuche den WR in Abhängigkeit des Vergleichs "SOC" kleiner gleich "max Discharge SOC" und ="Nacht", also zwischen Sonnenunter und Sonnenaufgang in Standby zu setzen.

            Würdest du dir das Blockly mal anschauen, evtl. per PN, wenn das okay ist poste ich das hier für die Nachwelt. Denke das Thema haben ja auch noch andere 🙂

            Viele Grüße LaFo

            PLCHome 0 1 Reply Last reply Reply Quote 0
            • PLCHome 0
              PLCHome 0 Developer @LaForge112 last edited by

              @laforge112 sagte in Test Adapter Growatt v3.2.0:

              Blockly

              Hier oder da mir egal 🙂
              Wie du magst...

              LaForge112 1 Reply Last reply Reply Quote 0
              • LaForge112
                LaForge112 @PLCHome 0 last edited by LaForge112

                @plchome-0 hab festgestellt im Chat gehen keine Bilder.

                Was hältst du so davon ?

                29103a51-6d73-432e-ace6-80a33bdff07a-image.png

                Oben im Cron fehlt im Bild noch das er das alle viertel Stunde checkt.

                Ganz unten müsste er das einschalten ja nur einmal morgens machen.
                Und würde das mit Wert umschalten bei Inverter On Off gehen da er ja nur 2 Zustände hat?
                Lieben Dank und VG LaFo

                PLCHome 0 1 Reply Last reply Reply Quote 0
                • PLCHome 0
                  PLCHome 0 Developer @LaForge112 last edited by

                  @laforge112
                  Ich muss gestehen, ich verstehe das nicht. Mit dem Blocky kann ich nichts anfangen. sorry. Das ist für mich ein Buch mit sieben Siegeln.

                  PLCHome 0 1 Reply Last reply Reply Quote 0
                  • PLCHome 0
                    PLCHome 0 Developer @PLCHome 0 last edited by

                    @plchome-0 So eine Crownregel habe ich auch noch nie gesehen, normalerweise ist das, was in der Art */10 * * * * . Kann man da noch was anderes mitgeben?

                    LaForge112 1 Reply Last reply Reply Quote 0
                    • LaForge112
                      LaForge112 @PLCHome 0 last edited by

                      @plchome-0

                      9216c85d-b1f9-4607-bd77-4929c30ac073-image.png

                      im Wizard siehts so aus. Und meinst du die Zustände lassen sich mit umschalten bearbeiten ?

                      PLCHome 0 LaForge112 2 Replies Last reply Reply Quote 0
                      • PLCHome 0
                        PLCHome 0 Developer @LaForge112 last edited by PLCHome 0

                        @laforge112
                        Also so hab ich das mit dem Blocky kann ich leider nicht. Ich habe leider Informatik und nicht Kunst studiert ...
                        Um 7:00 setzt er die Einstellungen zum Laden zurück, falls ich das vergessen habe.
                        Ansonsten prüfe ich alle 2min ob es Nacht oder Tag ist.
                        Ist es Tag, wird das Ding eingeschaltet, wenn es aus ist.
                        Bei Nacht wird geprüft, ob der SOC leer ist und auch keine Leistung mehr entnommen wird. Dann schaltet er ab.

                        schedule('0 7 * * *', async ()=>{
                            let [stat,stat2,stat3] = await Promise.all(
                                  [ getStateAsync('growatt.0. -a- .devices. -b-.settings.batteryFirst.values.param8'/*Time slot 1 on*/),
                                    getStateAsync('growatt.0. -a- .devices. -b-.settings.batteryFirst.values.param13'/*Time slot 2 on*/),
                                    getStateAsync('growatt.0. -a- .devices. -b-.settings.batteryFirst.values.param18'/*Time Slot 3 on*/) ]);
                            if (stat.val == true || stat2.val == true || stat3.val == true) {
                                await setStateAsync('growatt.0. -a- .devices. -b-.settings.batteryFirst.values.param8'/*Time slot 1 on*/,false,false);
                                await setStateAsync('growatt.0. -a- .devices. -b-.settings.batteryFirst.values.param13'/*Time slot 2 on*/,false,false);
                                await setStateAsync('growatt.0. -a- .devices. -b-.settings.batteryFirst.values.param18'/*Time slot 3 on*/,false,false);
                                await setStateAsync('growatt.0. -a- .devices. -b-.settings.batteryFirst.write',true,false);
                                sendTo('telegram.0', {user: 'Nasenbär', text: `Growatt: Der Timeslot zum Laden wurde zurückgesetzt!`});
                            }
                        })
                        
                        schedule('*/2 * * * *', async ()=>{
                            if (isAstroDay()) {
                                let stat = await getStateAsync('growatt.0. -a- .devices. -b-.settings.pvOnOff.values.param1'/*Inverter On/Off*/)
                                if (stat.val == 0) {
                                    await setStateAsync('growatt.0. -a- .devices. -b-.settings.pvOnOff.values.param1'/*Inverter On/Off*/,1,false);
                                    await setStateAsync('growatt.0. -a- .devices. -b-.settings.pvOnOff.write',true,false);
                                    sendTo('telegram.0', {user: 'Nasenbär', text: `Growatt: Der Wechselrichter wurde eingeschaltet!`});
                                }
                            } else {
                                let [connected, onoff, soc,stopsoc, pdischarge1] = await Promise.all(
                                    [ getStateAsync('growatt.0.info.connection'/*If connected to Growatt Server*/),
                                        getStateAsync('growatt.0. -a- .devices. -b-.settings.pvOnOff.values.param1'/*Inverter On/Off*/),
                                        getStateAsync('growatt.0. -a- .devices. -b-.historyLast.soc'/*soc*/),
                                        getStateAsync('growatt.0. -a- .devices. -b-.settings.loadFirst.values.param1'/*Discharge Stopped Soc*/),
                                        getStateAsync('growatt.0. -a- .devices. -b-.historyLast.pdischarge1'/*pdischarge1*/)
                                        ]);        
                                if (connected.val && onoff.val == 1 && soc.val <= stopsoc.val && pdischarge1.val == 0) {
                                    await setStateAsync('growatt.0. -a- .devices. -b-.settings.pvOnOff.values.param1'/*Inverter On/Off*/,0,false);
                                    await setStateAsync('growatt.0. -a- .devices. -b-.settings.pvOnOff.write',true,false);
                                    sendTo('telegram.0', {user: 'Nasenbär', text: `Growatt: Der Wechselrichter wurde abgeschaltet!`});
                                }
                            }
                        })
                        

                        Script angepasst...

                        Dann hab ich noch das hier gefunden:
                        https://forum.iobroker.net/topic/4324/
                        scheint aber älter zu sein. Villeicht geht das mitlerweile.

                        1 Reply Last reply Reply Quote 0
                        • LaForge112
                          LaForge112 @LaForge112 last edited by

                          @laforge112 said in Test Adapter Growatt v3.2.0:
                          Und meinst du die Zustände lassen sich mit umschalten bearbeiten ?

                          Also umschalten der Zustände geht schon mal.

                          Ich teste weiter

                          PLCHome 0 1 Reply Last reply Reply Quote 0
                          • PLCHome 0
                            PLCHome 0 Developer @LaForge112 last edited by PLCHome 0

                            @laforge112
                            Der Vergleich ist ähnlich. Ich vergleiche hard soc und stopp soc. Und dann frage ich noch ab, ob die Entladeleistung 0 ist.
                            9044b817-31d8-4549-aad1-f4998fd39cc4-image.png
                            Die solltest auch prüfen das Inverter ON/Off 0 ist. Da da alle 15min aufgerufen wird und er nur einmal schalten soll.

                            Unstellen schreibt, glaube ich Boolean. Mach einfach aktualisiere mit 0 als Zahl auf Value1.

                            442a5a72-8a58-49f5-a2d6-acc7492de67e-image.png

                            Ich bin kein Blocky Experte aber:
                            c33c3b6b-421c-47d4-992a-a74975f13c05-image.png
                            Das funktioniert, glaube ich nicht, da dieser Teil nur bei Programmstart ausgeführt wird. Der benötigt auch einen Zeitplan, der bei Sonnenaufgang auslöst. Besser eine halbe Stunde vorher. Und dann einfach aktualisiere mit 1 als Zahl auf Value1.
                            Du kannst vorher noch abfragen, ob eine 0 drinsteht, dann macht er das nur einmal.

                            LaForge112 1 Reply Last reply Reply Quote 0
                            • LaForge112
                              LaForge112 @PLCHome 0 last edited by

                              @plchome-0 said in Test Adapter Growatt v3.2.0:

                              @laforge112

                              Das funktioniert, glaube ich nicht, da dieser Teil nur bei Programmstart ausgeführt wird. Der benötigt auch einen Zeitplan, der bei Sonnenaufgang auslöst. Besser eine halbe Stunde vorher. Und dann einfach aktualisiere mit 1 als Zahl auf Value1.

                              Ja das war mir auch schon aufgefallen und ist bereits geändert.

                              Du kannst vorher noch abfragen, ob eine 0 drinsteht, dann macht er das nur einmal.

                              Dieser Check ist drin, der checkt aber den Actual State (oben Wert von "status") und nicht den Programmierten und das sowohl beim ein und ausschalten.
                              Ganz lieben Dank aber noch für deinen Input,

                              Jetzt muss ich mal noch ne Tibber SOC Steuerung erfinden.
                              Aber hier: https://www.tns-labs.org/multiplus-ii-tibber-dynamischer-stromtarif/
                              hab ich schon mal nen Ansatz gefunden. Wenn auch für nen Multiplus2 mal sehen was ich abkupfern kann 🙂

                              LG LaFo

                              1 Reply Last reply Reply Quote 0
                              • Sefina
                                Sefina last edited by

                                Hi zusammen,

                                Adapter läuft schon nice.
                                Ich habe hier ein Growatt MOD 10KTL3-X, bei Typ steht laut Adapter max.

                                Gibt es eine Möglichkeit die Wirkleistung auch per Adapter bei diesen Wechselrichter einzustellen ?
                                Stehe gern als Testobjekt zur verfügung

                                MfG

                                PLCHome 0 1 Reply Last reply Reply Quote 0
                                • PLCHome 0
                                  PLCHome 0 Developer @Sefina last edited by PLCHome 0

                                  @sefina

                                  Hast du dir einmal weiter oben angeschaut, wie im Browser die Daten mitgeschnitten werden?

                                  Wenn du mir die Mitschnitte zum Auslesen und Setzen lieferst, kann ich die eintragen.

                                  https://forum.iobroker.net/topic/36474/test-adapter-growatt-v3-2-0/476

                                  1 Reply Last reply Reply Quote 0
                                  • Sefina
                                    Sefina last edited by

                                    Also bei Typ steht max

                                    Gesendet wurde :


                                    growatt.png

                                    Als Antwort kamm :


                                    function dialog_setMAX_init(did,dialog,max){
                                    if(max==null){
                                    max=JSON.parse('{"innerVersion":"DLAA07510019","afciThresholdH":"0","communicationVersion":"ZBAA-0019","afciSelfCheck":"0","afciThresholdL":"0","pflinep1_lp":"255","afciThresholdD":"0","lcdLanguage":"1","haveAfci":"false","lost":"false","model":"2377900603503345764","backflowDefaultPower":"-0.1","facHigh":"52.5","pvPfCmdMemoryState":"1","pflinep1_pf":"1.0","fftThresholdCount":"0","deviceType":"0","voltageLowLimit":"276.6","pflinep4_lp":"255","nominalPower":"10000","pflinep4_pf":"1.0","status":"1","lastUpdateTime":"2023-10-25 15:56:20","facLow":"47.5","pflinep3_lp":"255","timezone":"2","voltageHighLimit":"496.3","afciReset":"0","reactiveRate":"0","modelText":"S21B00D00T00P0FU01M0064","dtc":"5002","activeRate":"20","svgEnabled":"0","alias":"QXHJD4S08V","datalogSn":"XGD6D5518H","sysTime":"2017-01-10 23:14:22","fwVersion":"DL1.0","sn":"QXHJD4S08V","pflinep3_pf":"1.0","onOff":"1","vacHigh":"498.0","address":"1","pflinep2_lp":"255","plantId":"2289714","pfModel":"0","plantCountry":"Germany","exportLimitPowerRate":"0.0","afciEnabled":"0","exportLimit":"0","frequencyHighLimit":"50.5","pf":"0.0","frequencyLowLimit":"47.51","deviceModel":"MOD 10KTL3-X","location":"","vacLow":"274.9","pflinep2_pf":"1.0"}');
                                    }
                                    if(dialog==null){
                                    dialog=$("#setDevice")
                                    CURR_PLANTID=JSON.parse('{"innerVersion":"DLAA07510019","afciThresholdH":"0","communicationVersion":"ZBAA-0019","afciSelfCheck":"0","afciThresholdL":"0","pflinep1_lp":"255","afciThresholdD":"0","lcdLanguage":"1","haveAfci":"false","lost":"false","model":"2377900603503345764","backflowDefaultPower":"-0.1","facHigh":"52.5","pvPfCmdMemoryState":"1","pflinep1_pf":"1.0","fftThresholdCount":"0","deviceType":"0","voltageLowLimit":"276.6","pflinep4_lp":"255","nominalPower":"10000","pflinep4_pf":"1.0","status":"1","lastUpdateTime":"2023-10-25 15:56:20","facLow":"47.5","pflinep3_lp":"255","timezone":"2","voltageHighLimit":"496.3","afciReset":"0","reactiveRate":"0","modelText":"S21B00D00T00P0FU01M0064","dtc":"5002","activeRate":"20","svgEnabled":"0","alias":"QXHJD4S08V","datalogSn":"XGD6D5518H","sysTime":"2017-01-10 23:14:22","fwVersion":"DL1.0","sn":"QXHJD4S08V","pflinep3_pf":"1.0","onOff":"1","vacHigh":"498.0","address":"1","pflinep2_lp":"255","plantId":"2289714","pfModel":"0","plantCountry":"Germany","exportLimitPowerRate":"0.0","afciEnabled":"0","exportLimit":"0","frequencyHighLimit":"50.5","pf":"0.0","frequencyLowLimit":"47.51","deviceModel":"MOD 10KTL3-X","location":"","vacLow":"274.9","pflinep2_pf":"1.0"}').plantId
                                    }

                                    Ich hoffe das ist was du brauchst 😁

                                    MfG

                                    PLCHome 0 1 Reply Last reply Reply Quote 0
                                    • PLCHome 0
                                      PLCHome 0 Developer @Sefina last edited by

                                      @sefina Super das die halbe Miete. Weiter unten in dem Dialog kannst du auch den Wert lesen mit Advanced Set. Davon brauche ich auch mal eine Hardcopy.

                                      93cfa58a-d99b-4a8e-bcc9-3aac7dcae8aa-image.png

                                      1 Reply Last reply Reply Quote 0
                                      • Sefina
                                        Sefina last edited by

                                        Ich glaube es ist falsch,
                                        ich finde nichts was nach deinem Bild ausschaut.
                                        Was muss ich auslössen um diesen eintrag zu generieren ?


                                        growatt-1.png

                                        PLCHome 0 1 Reply Last reply Reply Quote 0
                                        • PLCHome 0
                                          PLCHome 0 Developer @Sefina last edited by PLCHome 0

                                          @sefina 0988fbad-7f4b-422d-982a-375248f7c91b-image.png

                                          0da8f1ca-f61d-4981-8a46-bd8223122a80-image.png

                                          1 Reply Last reply Reply Quote 0
                                          • Sefina
                                            Sefina last edited by

                                            Ok auch das habe ich gefunden,
                                            was brauchst du genau ?


                                            growatt-2.png

                                            PLCHome 0 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            833
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter growatt pv-anlage shine solar test tester
                                            71
                                            800
                                            299495
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo