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. Tester
  4. Test Adapter Growatt v3.3.1

NEWS

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

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

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

Test Adapter Growatt v3.3.1

Geplant Angeheftet Gesperrt Verschoben Tester
adaptergrowattpv-anlageshinesolartesttester
808 Beiträge 72 Kommentatoren 356.2k Aufrufe 63 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.
  • D dv1407

    @PLCHome-0 Also auch mit dem Key bekomme ich die Historydaten nicht

    PLCHome 0P Offline
    PLCHome 0P Offline
    PLCHome 0
    Developer
    schrieb am zuletzt editiert von
    #560

    @dv1407 Dann ist das wohl alles was ich da abfragen kann.

    D 1 Antwort Letzte Antwort
    0
    • PLCHome 0P PLCHome 0

      @dv1407 Dann ist das wohl alles was ich da abfragen kann.

      D Offline
      D Offline
      dv1407
      schrieb am zuletzt editiert von
      #561

      @plchome-0 okay, das wäre aber doof, obwohl die Daten doch auf der Homepage zu sehen sind. Kann ich die Daten irgendwie direkt vom Shinemaster auslesen ohne Cloud. Ich schicke Dir mal per PN noch den Key, vielleicht bekommst du doch noch was raus.

      PLCHome 0P 2 Antworten Letzte Antwort
      0
      • D dv1407

        @plchome-0 okay, das wäre aber doof, obwohl die Daten doch auf der Homepage zu sehen sind. Kann ich die Daten irgendwie direkt vom Shinemaster auslesen ohne Cloud. Ich schicke Dir mal per PN noch den Key, vielleicht bekommst du doch noch was raus.

        PLCHome 0P Offline
        PLCHome 0P Offline
        PLCHome 0
        Developer
        schrieb am zuletzt editiert von
        #562

        @dv1407 ok, das funktioniert bei dem Backflow anders ... Ich habe gesehen, was er da macht. Dafür muss ich aber viel umbauen. Das wird wohl einwenig dauern ....

        1 Antwort Letzte Antwort
        0
        • D dv1407

          @plchome-0 okay, das wäre aber doof, obwohl die Daten doch auf der Homepage zu sehen sind. Kann ich die Daten irgendwie direkt vom Shinemaster auslesen ohne Cloud. Ich schicke Dir mal per PN noch den Key, vielleicht bekommst du doch noch was raus.

          PLCHome 0P Offline
          PLCHome 0P Offline
          PLCHome 0
          Developer
          schrieb am zuletzt editiert von
          #563

          @dv1407 so danke für der Key...
          Ich hab da mal ne V3.2.1 gebastelt. Der holt jetzt viel ab....

          D 1 Antwort Letzte Antwort
          0
          • PLCHome 0P PLCHome 0

            @dv1407 so danke für der Key...
            Ich hab da mal ne V3.2.1 gebastelt. Der holt jetzt viel ab....

            D Offline
            D Offline
            dv1407
            schrieb am zuletzt editiert von
            #564

            @plchome-0 Perfekte Arbeit, ich bekomme wieder alle Daten. Vielen Dank

            1 Antwort Letzte Antwort
            0
            • PLCHome 0P PLCHome 0

              @warp735 sagte in Test Adapter Growatt v3.0.0:

              @plchome-0
              Hast Du auch das Problem, das bei SOC min er nachts immer ein bisschen aus m Netz nachlädt? Oder ist das inzwischen behoben?

              Mit dem neuen Adapter im Test kannst du den Wechselrichter SPH... abschalten (in Standby schalten). Man muss nur daran denken, ihn morgens wieder einzuschalten. Da kann man über z.B. mit dem Adapter "Follow the sun" realisieren.

              In den Einstellungen "Invertereinstellungen schreiben" einschalten.

              Inverter standby:
              Dann growatt.0.xxxx.devices.xxxx.settings.pvOnOff.values.param1 auf "Shut down / 0" stellen.
              Dann growatt.0.xxxx.devices.xxxx.settings.pvOnOff.write auf "true" stellen.

              Zum Inverter einschaten:
              Dann growatt.0.xxxx.devices.xxxx.settings.pvOnOff.values.param1 auf "Boot / 1" stellen.
              Dann growatt.0.xxxx.devices.xxxx.settings.pvOnOff.write auf "true" stellen.

              LaForge112L Offline
              LaForge112L Offline
              LaForge112
              schrieb am zuletzt editiert von LaForge112
              #565

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

              Mit dem neuen Adapter im Test kannst du den Wechselrichter SPH... abschalten (in Standby schalten). Man muss nur daran denken, ihn morgens wieder einzuschalten. Da kann man über z.B. mit dem Adapter "Follow the sun" realisieren.

              In den Einstellungen "Invertereinstellungen schreiben" einschalten.

              das ist ja schon mal richtig geil. Wäre es auch möglich den Modus (LoadFirst, Gridfirst, Battfirst etc.) bzw. viel wichtiger den Min Discharge SOC der Batterie und evt. AC Charge ON/OFF zu setzen beim SPH.

              Ich hab Tibber und da wären die Einstellungen zu automatisieren schon richtig, richtig gut.

              Edit: Hab festgestellt das, das SOC setzen schon mal sehr gut geht. Den Rest teste ich auch noch. Dankeschön.

              Viele Liebe Grüße LaFo

              PLCHome 0P 1 Antwort Letzte Antwort
              0
              • LaForge112L LaForge112

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

                Mit dem neuen Adapter im Test kannst du den Wechselrichter SPH... abschalten (in Standby schalten). Man muss nur daran denken, ihn morgens wieder einzuschalten. Da kann man über z.B. mit dem Adapter "Follow the sun" realisieren.

                In den Einstellungen "Invertereinstellungen schreiben" einschalten.

                das ist ja schon mal richtig geil. Wäre es auch möglich den Modus (LoadFirst, Gridfirst, Battfirst etc.) bzw. viel wichtiger den Min Discharge SOC der Batterie und evt. AC Charge ON/OFF zu setzen beim SPH.

                Ich hab Tibber und da wären die Einstellungen zu automatisieren schon richtig, richtig gut.

                Edit: Hab festgestellt das, das SOC setzen schon mal sehr gut geht. Den Rest teste ich auch noch. Dankeschön.

                Viele Liebe Grüße LaFo

                PLCHome 0P Offline
                PLCHome 0P Offline
                PLCHome 0
                Developer
                schrieb am zuletzt editiert von PLCHome 0
                #566

                @laforge112 sagte in Test Adapter Growatt v3.2.0:

                das ist ja schon mal richtig geil. Wäre es auch möglich den Modus (LoadFirst, Gridfirst, Battfirst etc.) bzw. viel wichtiger den Min Discharge SOC der Batterie und evt. AC Charge ON/OFF zu setzen beim SPH

                Ich den SPH gibt es als MIX und TLXH Profil. Beim MIX geht das, für den TLXH müsste das mal jemand mitschneiden...

                Für den Mix hab ich folgende implementiert:

                     time: {
                        name: 'Time',
                        type: 'pf_sys_year',
                        paramId: 'pf_sys_time_mutli',
                        parseRet: PARSERET.parseRetDate,
                        param: { param1: { name: 'Time', type: 'DATETIME' } },
                      },
                      gridFirst: {
                        name: 'Grid first',
                        type: 'mix_ac_discharge_time_period',
                        paramId: 'MIX_AC_DISCHARGE_TIME_MULTI',
                        parseRet: PARSERET.parseGritFirst,
                        param: {
                          param1: { name: 'Discharge power rate', type: 'INUM_0_100', unit: '%' },
                          param2: { name: 'Discharge stopped soc', type: 'INUM_0_100', unit: '%' },
                          param3: { name: 'Time slot 1 start HH', type: 'INUM_0_24' },
                          param4: { name: 'Time slot 1 start MI', type: 'INUM_0_60' },
                          param5: { name: 'Time slot 1 end HH', type: 'INUM_0_24' },
                          param6: { name: 'Time slot 1 end MI', type: 'INUM_0_60' },
                          param7: { name: 'Time slot 1 on', type: 'BOOL' },
                          param8: { name: 'Time slot 2 start HH', type: 'INUM_0_24' },
                          param9: { name: 'Time slot 2 start MI', type: 'INUM_0_60' },
                          param10: { name: 'Time slot 2 end HH', type: 'INUM_0_24' },
                          param11: { name: 'Time slot 2 end MI', type: 'INUM_0_60' },
                          param12: { name: 'Time slot 2 on', type: 'BOOL' },
                          param13: { name: 'Time slot 3 start HH', type: 'INUM_0_24' },
                          param14: { name: 'Time slot 3 start MI', type: 'INUM_0_60' },
                          param15: { name: 'Time slot 3 end HH', type: 'INUM_0_24' },
                          param16: { name: 'Time slot 3 end MI', type: 'INUM_0_60' },
                          param17: { name: 'Time Slot 3 on', type: 'BOOL' },
                        },
                      },
                      batteryFirst: {
                        name: 'Battery first',
                        type: 'mix_ac_charge_time_period',
                        paramId: 'mix_ac_charge_time_multi',
                        parseRet: PARSERET.parseBatteryFirst,
                        param: {
                          param1: { name: 'Charge power rate', type: 'INUM_0_100', unit: '%' },
                          param2: { name: 'Charge stopped soc', type: 'INUM_0_100', unit: '%' },
                          param3: { name: 'AC Charge on', type: 'BOOL' },
                          param4: { name: 'Time slot 1 start HH', type: 'INUM_0_24' },
                          param5: { name: 'Time slot 1 start MI', type: 'INUM_0_60' },
                          param6: { name: 'Time slot 1 end HH', type: 'INUM_0_24' },
                          param7: { name: 'Time slot 1 end MI', type: 'INUM_0_60' },
                          param8: { name: 'Time slot 1 on', type: 'BOOL' },
                          param9: { name: 'Time slot 2 start HH', type: 'INUM_0_24' },
                          param10: { name: 'Time slot 2 start MI', type: 'INUM_0_60' },
                          param11: { name: 'Time slot 2 end HH', type: 'INUM_0_24' },
                          param12: { name: 'Time slot 2 end MI', type: 'INUM_0_60' },
                          param13: { name: 'Time slot 2 on', type: 'BOOL' },
                          param14: { name: 'Time slot 3 start HH', type: 'INUM_0_24' },
                          param15: { name: 'Time slot 3 start MI', type: 'INUM_0_60' },
                          param16: { name: 'Time slot 3 end HH', type: 'INUM_0_24' },
                          param17: { name: 'Time slot 3 end MI', type: 'INUM_0_60' },
                          param18: { name: 'Time Slot 3 on', type: 'BOOL' },
                        },
                      },
                      loadFirst: {
                        name: 'Load first',
                        type: 'mix_load_flast_value_multi',
                        paramId: 'mix_load_flast_value_multi',
                        parseRet: PARSERET.parseRetNum,
                        param: { param1: { name: 'Discharge Stopped Soc', type: 'INUM_0_100' } },
                      },
                      epsOn: {
                        name: 'EPS on',
                        type: 'mix_off_grid_enable',
                        paramId: 'mix_off_grid_enable',
                        parseRet: PARSERET.parseRetBool,
                        param: { param1: { name: 'EPS On', type: 'BOOL' } },
                      },
                      failsafe: {
                        name: 'Failsafe',
                        type: 'setFailsafe',
                        paramId: 'mix_failsafe',
                        parseRet: PARSERET.parseRetBool,
                        param: { param1: { name: 'Failsafe on', type: 'BOOL' } },
                      },
                      pvActivePRate: {
                        name: 'PV active power rate',
                        type: 'pv_active_p_rate',
                        paramId: 'pv_active_p_rate',
                        parseRet: PARSERET.parseRetNum,
                        param: { param1: { name: 'Active power rate', type: 'INUM_0_100', unit: '%' } },
                      },
                      pvOnOff: {
                        name: 'Inverter On/Off',
                        type: 'pv_on_off',
                        paramId: 'pv_on_off',
                        parseRet: PARSERET.parseRetBoot,
                        param: { param1: { name: 'Inverter On/Off', type: 'INUM_0_1', values: { 1: 'Boot', 0: 'Shut down' } } },
                      },
                      backflowSetting: {
                        name: 'Backflow setting',
                        type: 'backflow_setting',
                        paramId: 'backflow_setting',
                        parseRet: PARSERET.parseRetBool,
                        param: { param1: { name: 'Exportlimit on', type: 'BOOL' }, param2: { name: 'Exportlimit', type: 'INUM_0_100', unit: '%' } },
                        subRead: ['backflowSettingPower'],
                      },
                      backflowSettingPower: {
                        name: 'Backflow setting',
                        paramId: 'backflow_power',
                        parseRet: PARSERET.parseRetNum2div10,
                        isSubread: 'backflowSetting',
                      },
                

                Gerne F12 und mitschneiden... Anleitung gibt's weiter oben so um Nachricht 486....

                paramId ist der Befehl zum Lesen,
                type, der zum schreiben ...

                • Reading and writing of inverter configuration settings
                  • mix
                    • Time
                    • Grid first
                    • Battery first
                    • LoadFirst
                    • Failsafe
                    • PV active power rate
                    • Backflow setting
                      • Backflow setting power
                    • EPSOn
                  • tlx/tlxh
                    • Time
                    • PV active power rate

                Ich tibber damit regelmäßig. Bei negativen Preis erst vorher den Accu entladen und dann vollziehen, senkt nämlich die Stromrechnung :blush:
                Konnte noch mal -49ct oder mehr geben. An dem Tag hab ich für -10€ verbraucht war echt billig der Monat...
                Aktuell muss man aber um die 50ct bis 60ct rum laden ...

                Freue mich auf Bilder ....

                Ist TLXH bei dir korrekt?

                LaForge112L 1 Antwort Letzte Antwort
                0
                • PLCHome 0P PLCHome 0

                  @laforge112 sagte in Test Adapter Growatt v3.2.0:

                  das ist ja schon mal richtig geil. Wäre es auch möglich den Modus (LoadFirst, Gridfirst, Battfirst etc.) bzw. viel wichtiger den Min Discharge SOC der Batterie und evt. AC Charge ON/OFF zu setzen beim SPH

                  Ich den SPH gibt es als MIX und TLXH Profil. Beim MIX geht das, für den TLXH müsste das mal jemand mitschneiden...

                  Für den Mix hab ich folgende implementiert:

                       time: {
                          name: 'Time',
                          type: 'pf_sys_year',
                          paramId: 'pf_sys_time_mutli',
                          parseRet: PARSERET.parseRetDate,
                          param: { param1: { name: 'Time', type: 'DATETIME' } },
                        },
                        gridFirst: {
                          name: 'Grid first',
                          type: 'mix_ac_discharge_time_period',
                          paramId: 'MIX_AC_DISCHARGE_TIME_MULTI',
                          parseRet: PARSERET.parseGritFirst,
                          param: {
                            param1: { name: 'Discharge power rate', type: 'INUM_0_100', unit: '%' },
                            param2: { name: 'Discharge stopped soc', type: 'INUM_0_100', unit: '%' },
                            param3: { name: 'Time slot 1 start HH', type: 'INUM_0_24' },
                            param4: { name: 'Time slot 1 start MI', type: 'INUM_0_60' },
                            param5: { name: 'Time slot 1 end HH', type: 'INUM_0_24' },
                            param6: { name: 'Time slot 1 end MI', type: 'INUM_0_60' },
                            param7: { name: 'Time slot 1 on', type: 'BOOL' },
                            param8: { name: 'Time slot 2 start HH', type: 'INUM_0_24' },
                            param9: { name: 'Time slot 2 start MI', type: 'INUM_0_60' },
                            param10: { name: 'Time slot 2 end HH', type: 'INUM_0_24' },
                            param11: { name: 'Time slot 2 end MI', type: 'INUM_0_60' },
                            param12: { name: 'Time slot 2 on', type: 'BOOL' },
                            param13: { name: 'Time slot 3 start HH', type: 'INUM_0_24' },
                            param14: { name: 'Time slot 3 start MI', type: 'INUM_0_60' },
                            param15: { name: 'Time slot 3 end HH', type: 'INUM_0_24' },
                            param16: { name: 'Time slot 3 end MI', type: 'INUM_0_60' },
                            param17: { name: 'Time Slot 3 on', type: 'BOOL' },
                          },
                        },
                        batteryFirst: {
                          name: 'Battery first',
                          type: 'mix_ac_charge_time_period',
                          paramId: 'mix_ac_charge_time_multi',
                          parseRet: PARSERET.parseBatteryFirst,
                          param: {
                            param1: { name: 'Charge power rate', type: 'INUM_0_100', unit: '%' },
                            param2: { name: 'Charge stopped soc', type: 'INUM_0_100', unit: '%' },
                            param3: { name: 'AC Charge on', type: 'BOOL' },
                            param4: { name: 'Time slot 1 start HH', type: 'INUM_0_24' },
                            param5: { name: 'Time slot 1 start MI', type: 'INUM_0_60' },
                            param6: { name: 'Time slot 1 end HH', type: 'INUM_0_24' },
                            param7: { name: 'Time slot 1 end MI', type: 'INUM_0_60' },
                            param8: { name: 'Time slot 1 on', type: 'BOOL' },
                            param9: { name: 'Time slot 2 start HH', type: 'INUM_0_24' },
                            param10: { name: 'Time slot 2 start MI', type: 'INUM_0_60' },
                            param11: { name: 'Time slot 2 end HH', type: 'INUM_0_24' },
                            param12: { name: 'Time slot 2 end MI', type: 'INUM_0_60' },
                            param13: { name: 'Time slot 2 on', type: 'BOOL' },
                            param14: { name: 'Time slot 3 start HH', type: 'INUM_0_24' },
                            param15: { name: 'Time slot 3 start MI', type: 'INUM_0_60' },
                            param16: { name: 'Time slot 3 end HH', type: 'INUM_0_24' },
                            param17: { name: 'Time slot 3 end MI', type: 'INUM_0_60' },
                            param18: { name: 'Time Slot 3 on', type: 'BOOL' },
                          },
                        },
                        loadFirst: {
                          name: 'Load first',
                          type: 'mix_load_flast_value_multi',
                          paramId: 'mix_load_flast_value_multi',
                          parseRet: PARSERET.parseRetNum,
                          param: { param1: { name: 'Discharge Stopped Soc', type: 'INUM_0_100' } },
                        },
                        epsOn: {
                          name: 'EPS on',
                          type: 'mix_off_grid_enable',
                          paramId: 'mix_off_grid_enable',
                          parseRet: PARSERET.parseRetBool,
                          param: { param1: { name: 'EPS On', type: 'BOOL' } },
                        },
                        failsafe: {
                          name: 'Failsafe',
                          type: 'setFailsafe',
                          paramId: 'mix_failsafe',
                          parseRet: PARSERET.parseRetBool,
                          param: { param1: { name: 'Failsafe on', type: 'BOOL' } },
                        },
                        pvActivePRate: {
                          name: 'PV active power rate',
                          type: 'pv_active_p_rate',
                          paramId: 'pv_active_p_rate',
                          parseRet: PARSERET.parseRetNum,
                          param: { param1: { name: 'Active power rate', type: 'INUM_0_100', unit: '%' } },
                        },
                        pvOnOff: {
                          name: 'Inverter On/Off',
                          type: 'pv_on_off',
                          paramId: 'pv_on_off',
                          parseRet: PARSERET.parseRetBoot,
                          param: { param1: { name: 'Inverter On/Off', type: 'INUM_0_1', values: { 1: 'Boot', 0: 'Shut down' } } },
                        },
                        backflowSetting: {
                          name: 'Backflow setting',
                          type: 'backflow_setting',
                          paramId: 'backflow_setting',
                          parseRet: PARSERET.parseRetBool,
                          param: { param1: { name: 'Exportlimit on', type: 'BOOL' }, param2: { name: 'Exportlimit', type: 'INUM_0_100', unit: '%' } },
                          subRead: ['backflowSettingPower'],
                        },
                        backflowSettingPower: {
                          name: 'Backflow setting',
                          paramId: 'backflow_power',
                          parseRet: PARSERET.parseRetNum2div10,
                          isSubread: 'backflowSetting',
                        },
                  

                  Gerne F12 und mitschneiden... Anleitung gibt's weiter oben so um Nachricht 486....

                  paramId ist der Befehl zum Lesen,
                  type, der zum schreiben ...

                  • Reading and writing of inverter configuration settings
                    • mix
                      • Time
                      • Grid first
                      • Battery first
                      • LoadFirst
                      • Failsafe
                      • PV active power rate
                      • Backflow setting
                        • Backflow setting power
                      • EPSOn
                    • tlx/tlxh
                      • Time
                      • PV active power rate

                  Ich tibber damit regelmäßig. Bei negativen Preis erst vorher den Accu entladen und dann vollziehen, senkt nämlich die Stromrechnung :blush:
                  Konnte noch mal -49ct oder mehr geben. An dem Tag hab ich für -10€ verbraucht war echt billig der Monat...
                  Aktuell muss man aber um die 50ct bis 60ct rum laden ...

                  Freue mich auf Bilder ....

                  Ist TLXH bei dir korrekt?

                  LaForge112L Offline
                  LaForge112L Offline
                  LaForge112
                  schrieb am zuletzt editiert von LaForge112
                  #567

                  @plchome-0

                  Ja er meldet als DeviceTypName: mix

                  insofern müsste es gehen.

                  2 Fragen hätte ich aber dennoch:

                  • wie schalte ich denn von LoadFirst z.b. auf BattFirst, da scheint es ja keine Einstellung zu geben, oder geht das über die Time Einstellung?
                  • Kann das write:true stehen blieben oder ist der Weg immer write:true - Wert einstellen - write:false ?
                    Insbesondere wenn ich dann dafür Scripte schreibe.

                  Son Ding wie setze max DischargeSOC auf xx wenn SOCist auf <xx und erwarteter Solarertrag morgen >xx kwh......

                  Ganz lieben Dank und liebe Grüße

                  LaFo

                  PLCHome 0P 1 Antwort Letzte Antwort
                  0
                  • LaForge112L LaForge112

                    @plchome-0

                    Ja er meldet als DeviceTypName: mix

                    insofern müsste es gehen.

                    2 Fragen hätte ich aber dennoch:

                    • wie schalte ich denn von LoadFirst z.b. auf BattFirst, da scheint es ja keine Einstellung zu geben, oder geht das über die Time Einstellung?
                    • Kann das write:true stehen blieben oder ist der Weg immer write:true - Wert einstellen - write:false ?
                      Insbesondere wenn ich dann dafür Scripte schreibe.

                    Son Ding wie setze max DischargeSOC auf xx wenn SOCist auf <xx und erwarteter Solarertrag morgen >xx kwh......

                    Ganz lieben Dank und liebe Grüße

                    LaFo

                    PLCHome 0P Offline
                    PLCHome 0P Offline
                    PLCHome 0
                    Developer
                    schrieb am zuletzt editiert von
                    #568

                    @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.

                    LaForge112L 1 Antwort Letzte Antwort
                    0
                    • PLCHome 0P PLCHome 0

                      @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.

                      LaForge112L Offline
                      LaForge112L Offline
                      LaForge112
                      schrieb am zuletzt editiert von LaForge112
                      #569

                      @plchome-0

                      Alles verstanden vielen Dank.

                      1 Antwort Letzte Antwort
                      0
                      • PLCHome 0P Offline
                        PLCHome 0P Offline
                        PLCHome 0
                        Developer
                        schrieb am zuletzt editiert von PLCHome 0
                        #570

                        Falls es jemanden interessiert. Hier mein neuen Projet:

                        ioBroker Adapter für Pylontech

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

                        1 Antwort Letzte Antwort
                        0
                        • LaForge112L Offline
                          LaForge112L Offline
                          LaForge112
                          schrieb am zuletzt editiert von
                          #571

                          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 0P 1 Antwort Letzte Antwort
                          0
                          • LaForge112L LaForge112

                            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 0P Offline
                            PLCHome 0P Offline
                            PLCHome 0
                            Developer
                            schrieb am zuletzt editiert von
                            #572

                            @laforge112 sagte in Test Adapter Growatt v3.2.0:

                            Blockly

                            Hier oder da mir egal :-)
                            Wie du magst...

                            LaForge112L 1 Antwort Letzte Antwort
                            0
                            • PLCHome 0P PLCHome 0

                              @laforge112 sagte in Test Adapter Growatt v3.2.0:

                              Blockly

                              Hier oder da mir egal :-)
                              Wie du magst...

                              LaForge112L Offline
                              LaForge112L Offline
                              LaForge112
                              schrieb am zuletzt editiert von LaForge112
                              #573

                              @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 0P 1 Antwort Letzte Antwort
                              0
                              • LaForge112L 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 0P Offline
                                PLCHome 0P Offline
                                PLCHome 0
                                Developer
                                schrieb am zuletzt editiert von
                                #574

                                @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 0P 1 Antwort Letzte Antwort
                                0
                                • PLCHome 0P PLCHome 0

                                  @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 0P Offline
                                  PLCHome 0P Offline
                                  PLCHome 0
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #575

                                  @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?

                                  LaForge112L 1 Antwort Letzte Antwort
                                  0
                                  • PLCHome 0P PLCHome 0

                                    @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?

                                    LaForge112L Offline
                                    LaForge112L Offline
                                    LaForge112
                                    schrieb am zuletzt editiert von
                                    #576

                                    @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 0P LaForge112L 2 Antworten Letzte Antwort
                                    0
                                    • LaForge112L LaForge112

                                      @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 0P Offline
                                      PLCHome 0P Offline
                                      PLCHome 0
                                      Developer
                                      schrieb am zuletzt editiert von PLCHome 0
                                      #577

                                      @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 Antwort Letzte Antwort
                                      0
                                      • LaForge112L LaForge112

                                        @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 ?

                                        LaForge112L Offline
                                        LaForge112L Offline
                                        LaForge112
                                        schrieb am zuletzt editiert von
                                        #578

                                        @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 0P 1 Antwort Letzte Antwort
                                        0
                                        • LaForge112L LaForge112

                                          @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 0P Offline
                                          PLCHome 0P Offline
                                          PLCHome 0
                                          Developer
                                          schrieb am zuletzt editiert von PLCHome 0
                                          #579

                                          @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.

                                          LaForge112L 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

                                          663

                                          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