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

  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.2k

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

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

Test Adapter Growatt v3.3.1

Geplant Angeheftet Gesperrt Verschoben Tester
adaptergrowattpv-anlageshinesolartesttester
808 Beiträge 72 Kommentatoren 355.4k 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.
  • W Wildbill

    @warp735 Ja, deshalb gibt es (momentan nur beim Docker) ja auch die Variante grottserver.py. Damit "simuliert" grott wohl den Growatt-Server und der Stick sendet klaglos lokal seine Daten obwohl man ihm sogar das Internet abdrehen kann.
    Wobei ich aber sagen muss, dass es seit April 2021, seit mein Growatt läuft, das Problem noch nie hatte, dass der Stick seine Daten nicht los wurde. Wenn, gab es immer nur Probleme mit der Website oder eben dem Adapter beim Zugriff auf den Server.
    Der Stick soll wohl auch die Daten von bis zu 30 Tagen intern speichern können und dann eben später mit passenden Timestamps abliefern, wenn er zwischendurch mal den Server nicht erreicht. OK, bringt lokal nicht viel, da ja dann erst wieder ein MQTT-Paket kommt, wenn der Server wieder da wäre und die Daten dazwischen lokal nicht verwurstet werden.
    Aber wie gesagt, grottserver.py soll das umgehen, oben hatte ich es ja bereits mal verlinkt.

    Gruss, Jürgen

    W Offline
    W Offline
    warp735
    schrieb am zuletzt editiert von
    #227

    @wildbill
    Geht bei dir der Datenpunkt Powerout mal auf Null? Bei mir bleibt der die ganze Nacht mit dem zuletzt gemessenen Wert stehen :-(
    Beim Growatt Adapter ging der Punkt pac abends auf Null.
    Jetzt hat man im Chart die ganze Nacht eine Erzeugung von ~5W Irgendwie nicht so schön.

    W 1 Antwort Letzte Antwort
    0
    • W warp735

      @wildbill
      Geht bei dir der Datenpunkt Powerout mal auf Null? Bei mir bleibt der die ganze Nacht mit dem zuletzt gemessenen Wert stehen :-(
      Beim Growatt Adapter ging der Punkt pac abends auf Null.
      Jetzt hat man im Chart die ganze Nacht eine Erzeugung von ~5W Irgendwie nicht so schön.

      W Online
      W Online
      Wildbill
      schrieb am zuletzt editiert von Wildbill
      #228

      @warp735 Nein, die Werte können sich aber logischerweise auch nicht mehr ändern: Der Shinestick sendet (bei mir minütlich) seine Daten, solange er Strom bekommt. Wenn der Wechselrichter abends irgendwann abschaltet, dann ist der Shinestick ohne Strom und sendet nichts mehr. Folglich steht im iobroker so lange der letze empfangene Wert bis ein neues MQTT-Paket kommt, was dann morgens passiert. Woher sollte iobroker oder der MQTT-Adapter wissen, dass nun nichts mehr kommt und die Werte auf 0 gesetzt werden müssen? Der Shinestick würde gerne noch senden, dass nun alles 0 ist, kann aber nicht, weil er just in dem Moment bereits stromlos war.
      Wenn Dich das stört, dann könntest Du da eventuell mit Alias-Datenpunkten arbeiten und diese tracken und die eben per Script manuell auf 0 setzen, wenn vom Stick so und so lange (zum Bsp. 5 min) kein Paket mehr empfangen wurde. Der Growatt-Server macht im Hintergrund wohl genau so etwas Ähnliches.

      Gruss, Jürgen

      1 Antwort Letzte Antwort
      0
      • W Offline
        W Offline
        warp735
        schrieb am zuletzt editiert von
        #229

        @wildbill
        Ich ging bisher schon davon aus, dass es sich abends um ein "kontrolliertes runterfahren" handelt und nicht stumpf "Strom weg"
        Ok, dann muss ich mir die Variable manuell auf Null setzen.

        W 1 Antwort Letzte Antwort
        0
        • W warp735

          @wildbill
          Ich ging bisher schon davon aus, dass es sich abends um ein "kontrolliertes runterfahren" handelt und nicht stumpf "Strom weg"
          Ok, dann muss ich mir die Variable manuell auf Null setzen.

          W Online
          W Online
          Wildbill
          schrieb am zuletzt editiert von
          #230

          @warp735 Nein, der Shinestick wird vom Wechselrichter mit Strom versorgt, solange dieser noch irgendwie Strom aus den Solarmodulen pressen kann. Irgendwann kommt da halt nichts mehr und er schaltet einfach ab. Hört man auch, wenn man in der Nähe ist, so ähnlich wie ein Relais oder Schütz. Ab da ist der Stick dann aus und sendet nix mehr.

          Gruss, Jürgen

          1 Antwort Letzte Antwort
          0
          • W Offline
            W Offline
            warp735
            schrieb am zuletzt editiert von
            #231

            @wildbill Ich schau mit m Unifi Adapter ob der Shinestick noch online ist, wenn nicht hau ich die Variable auf 0. Sieht ganz gut aus.

            1 Antwort Letzte Antwort
            1
            • M Offline
              M Offline
              moonsorrox
              schrieb am zuletzt editiert von moonsorrox
              #232

              Hallo wer hat denn Grott auf einem LXC und Proxmox installiert.
              Welche Befehle werden dafür gebraucht und wo landet der Grott dann in welchem Verzeichnis.
              Ich hatte einen Versuch bin aber nirgend an die Grott.ini rangekommen die war immer leer.
              Habt ihr das mit wget installiert. Bitte mir einmal den Installationsbefehl senden.
              Vielen Dank

              PLCHome 0P W 2 Antworten Letzte Antwort
              0
              • M moonsorrox

                Hallo wer hat denn Grott auf einem LXC und Proxmox installiert.
                Welche Befehle werden dafür gebraucht und wo landet der Grott dann in welchem Verzeichnis.
                Ich hatte einen Versuch bin aber nirgend an die Grott.ini rangekommen die war immer leer.
                Habt ihr das mit wget installiert. Bitte mir einmal den Installationsbefehl senden.
                Vielen Dank

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

                @moonsorrox said in Test Adapter Growatt v1.0.0:

                Habt ihr das mit wget installiert.

                nö: docker pull

                PLCHome 0P M 2 Antworten Letzte Antwort
                0
                • PLCHome 0P PLCHome 0

                  @moonsorrox said in Test Adapter Growatt v1.0.0:

                  Habt ihr das mit wget installiert.

                  nö: docker pull

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

                  Also bei dem Grott hatte ich gestern auch Aussetzer, fast zeitgleich zur Cloud. Er hatt dann die Daten mit "bufferd=yes" nachgesendet.

                  Ich suche nich nach ein paar Bezeichnungen:

                  'ipf? (#)'
                  'realoppercent? (#)'
                  'opfullwatt? (#)'
                  'deratingmode? (#)'
                  'ipm? (#)'
                  'temperature batterie? (#)'
                  'spdsp status?'
                  
                  createSt('0_userdata.0.grott.device','device','','string')           
                  createSt('0_userdata.0.grott.time','time','','string')           
                  createSt('0_userdata.0.grott.buffered','buffered','','string')
                  createSt('0_userdata.0.grott.values.recortype','recortype','','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.pvstatus','pvstatus','','number')           
                  createSt('0_userdata.0.grott.values.pvpowerin','power strings','W','number')
                  createSt('0_userdata.0.grott.values.pv1voltage','voltage string 1','V','number')
                  createSt('0_userdata.0.grott.values.pv1current','current string 1','A','number')
                  createSt('0_userdata.0.grott.values.pv1watt','power string 1','W','number')
                  createSt('0_userdata.0.grott.values.pv2voltage','voltage string 1','V','number')
                  createSt('0_userdata.0.grott.values.pv2current','current string 1','A','number')
                  createSt('0_userdata.0.grott.values.pv2watt','power string 1','W','number')
                  createSt('0_userdata.0.grott.values.pvpowerout','pv power out','W','number')
                  createSt('0_userdata.0.grott.values.pvfrequentie','grid frequency','Hz','number')
                  createSt('0_userdata.0.grott.values.pvgridvoltage','grid voltage','V','number')
                  createSt('0_userdata.0.grott.values.pvgridcurrent','grid current','A','number')
                  createSt('0_userdata.0.grott.values.pvgridpower','grid power','W','number')
                  createSt('0_userdata.0.grott.values.pvgridvoltage2','grid voltage L2','V','number')
                  createSt('0_userdata.0.grott.values.pvgridcurrent2','grid current L2','A','number')
                  createSt('0_userdata.0.grott.values.pvgridpower2','grid power L2','W','number')
                  createSt('0_userdata.0.grott.values.pvgridvoltage3','grid voltage L3','V','number')
                  createSt('0_userdata.0.grott.values.pvgridcurrent3','grid current L3','A','number')
                  createSt('0_userdata.0.grott.values.pvgridpower3','grid power L3','W','number')
                  createSt('0_userdata.0.grott.values.totworktime','totworktime inverter','sec','number')
                  //deleteSt('0_userdata.0.grott.values.pvenergytoday','pvenergytoday','kWh','number')//alt 2022.09.08
                  //deleteSt('0_userdata.0.grott.values.pvenergytotal','pvenergytotal','kWh','number')//alt 2022.09.08
                  createSt('0_userdata.0.grott.values.eactoday','generated grid energy today','kWh','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.eactotal','generated grid energy total','kWh','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.epvtotal','generated solar energy total','kWh','number')
                  createSt('0_userdata.0.grott.values.epv1today','generated solar energy string 1 today','kWh','number')
                  createSt('0_userdata.0.grott.values.epv1total','generated solar energy string 1 total','kWh','number')
                  createSt('0_userdata.0.grott.values.epv2today','generated solar energy string 2 today','kWh','number')
                  createSt('0_userdata.0.grott.values.epv2total','generated solar energy string 2 total','kWh','number')
                  createSt('0_userdata.0.grott.values.pvtemperature','temperature inverter','°C','number')
                  createSt('0_userdata.0.grott.values.pvipmtemperature','temperature IPM','°C','number')
                  createSt('0_userdata.0.grott.values.pvboosttemp','temperature boost','°C','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.bat_dsp','bat DSP','V','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.pbusvolt','p-bus voltage','V','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.nbusvolt','n-bus voltage (#)','V','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.ipf','ipf? (#)','','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.realoppercent','realoppercent? (#)','','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.opfullwatt','opfullwatt? (#)','W','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.deratingmode','deratingmode? (#)','','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.eacharge_today','battery charged energy today','kWh','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.eacharge_total','battery charged energy total','kWh','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.batterytype','type of battery','','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.uwsysworkmode','uw sys work mode','','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.systemfaultword1','systemfault word 1','','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.systemfaultword2','systemfault word 2','','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.systemfaultword3','systemfault word 3','','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.systemfaultword4','systemfault word 4','','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.systemfaultword5','systemfault word 5','','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.systemfaultword6','systemfault word 6','','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.systemfaultword7','systemfault word 7','','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.pdischarge1','battery power discharge','W','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.p1charge1','battery power charge','W','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.vbat','battery voltage','V','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.SOC','battery level','%','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.pactouserr','import from grid L1','W','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.pactousers','import from grid L2(#)','W','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.pactousert','import from grid L3(#)','W','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.pactousertot','import from grid total','W','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.pactogridr','export to grid L1','W','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.pactogrids','export to grid L2 (#)','W','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.pactogridt','export to grid L3 (#)','W','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.pactogridtot','export to grid total','W','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.plocaloadr','local load consumption L1','W','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.plocaloads','local load consumption L2 (#)','W','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.plocaloadt','local load consumption L3 (#)','W','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.plocaloadtot','local load consumption total','W','number') //neu 2022.09.08
                  createSt('0_userdata.0.grott.values.ipm','ipm? (#)','','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.battemp','temperature batterie? (#)','°C','number')
                  createSt('0_userdata.0.grott.values.spdspstatus','spdsp status?','','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.etouser_tod','to user today','kWh','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.etouser_tot','to user total','kWh','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.etogrid_tod','grid energy today','kWh','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.etogrid_tot','grid energy total','kWh','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.edischarge1_tod','battery discharge energy today','kWh','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.edischarge1_tot','battery discharge energy total','kWh','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.eharge1_tod','battery charge energy today','kWh','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.eharge1_tot','battery charge energy total','kWh','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.elocalload_tod','loacl load energy today','kWh','number')//neu 2022.09.08
                  createSt('0_userdata.0.grott.values.elocalload_tot','loacl load energy total','kWh','number')//neu 2022.09.08
                  
                  
                  async function createSt(state,name,unit,t) {
                      if(! (await existsObjectAsync(state))) {
                          await createStateAsync(state, {
                                          type: t, 
                                          role: 'value', 
                                          "name": name,
                                          read: true,
                                          write: false,
                                          "unit": unit
                                      });
                      } else {
                          let objG = await getObjectAsync(state)
                          if ( objG.common.type != t ||
                               objG.common.name != name ||
                               objG.common.unit != unit) {
                              objG.common.type = t
                              objG.common.name = name
                              objG.common.unit = unit
                              setObjectAsync(state,objG);
                          }
                      }
                  }
                  
                  async function deleteSt(state) {
                      if((await existsObjectAsync(state))) {
                          await deleteStateAsync(state)
                      }
                  }
                  
                  
                  on({id: 'mqtt.1.energy.growatt'/*energy/growatt*/, change: "any"},(obj)=>{
                      let values=JSON.parse( obj.state.val )
                      
                      setState('0_userdata.0.grott.device',values.device,true)
                      setState('0_userdata.0.grott.time',values.time,true)
                      setState('0_userdata.0.grott.buffered',values.buffered,true)
                      if (values.buffered == "no") {
                          setState('0_userdata.0.grott.values.recortype',values.values['#recortype'],true) //neu 2022.09.08
                          setState('0_userdata.0.grott.values.pvstatus',values.values.pvstatus,true)
                          setState('0_userdata.0.grott.values.pvpowerin',values.values.pvpowerin/10,true)
                          setState('0_userdata.0.grott.values.pv1voltage',values.values.pv1voltage/10,true)
                          setState('0_userdata.0.grott.values.pv1current',values.values.pv1current/10,true)
                          setState('0_userdata.0.grott.values.pv1watt',values.values.pv1watt/10,true)
                          setState('0_userdata.0.grott.values.pv2voltage',values.values.pv2voltage/10,true)
                          setState('0_userdata.0.grott.values.pv2current',values.values.pv2current/10,true)
                          setState('0_userdata.0.grott.values.pv2watt',values.values.pv2watt/10,true)
                          setState('0_userdata.0.grott.values.pvpowerout',values.values.pvpowerout/10,true)
                          setState('0_userdata.0.grott.values.pvfrequentie',values.values.pvfrequentie/100,true)
                          setState('0_userdata.0.grott.values.pvgridvoltage',values.values.pvgridvoltage/10,true)
                          setState('0_userdata.0.grott.values.pvgridcurrent',values.values.pvgridcurrent/10,true)
                          setState('0_userdata.0.grott.values.pvgridpower',values.values.pvgridpower/10,true)
                          setState('0_userdata.0.grott.values.pvgridvoltage2',values.values.pvgridvoltage2/10,true)
                          setState('0_userdata.0.grott.values.pvgridcurrent2',values.values.pvgridcurrent2/10,true)
                          setState('0_userdata.0.grott.values.pvgridpower2',values.values.pvgridpower2/10,true)
                          setState('0_userdata.0.grott.values.pvgridvoltage3',values.values.pvgridvoltage3/10,true)
                          setState('0_userdata.0.grott.values.pvgridcurrent3',values.values.pvgridcurrent3/10,true)
                          setState('0_userdata.0.grott.values.pvgridpower3',values.values.pvgridpower3/10,true)
                          setState('0_userdata.0.grott.values.totworktime',values.values.totworktime/2,true)
                          //setState('0_userdata.0.grott.values.pvenergytoday',values.values.pvenergytoday/10,true)//alt 2022.09.08
                          //setState('0_userdata.0.grott.values.pvenergytotal',values.values.pvenergytotal/10,true)//alt 2022.09.08
                          setState('0_userdata.0.grott.values.eactoday',values.values.eactoday/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.eactotal',values.values.eactotal/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.epvtotal',values.values.epvtotal/10,true)
                          setState('0_userdata.0.grott.values.epv1today',values.values.epv1today/10,true)
                          setState('0_userdata.0.grott.values.epv1total',values.values.epv1total/10,true)
                          setState('0_userdata.0.grott.values.epv2today',values.values.epv2today/10,true)
                          setState('0_userdata.0.grott.values.epv2total',values.values.epv2total/10,true)
                          setState('0_userdata.0.grott.values.pvtemperature',values.values.pvtemperature/10,true)
                          setState('0_userdata.0.grott.values.pvipmtemperature',values.values.pvipmtemperature/10,true)
                          setState('0_userdata.0.grott.values.pvboosttemp',values.values.pvboosttemp/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.bat_dsp',values.values.bat_dsp/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.pbusvolt',values.values.pbusvolt/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.nbusvolt',values.values['#nbusvolt']/10,true) //neu 2022.09.08
                          setState('0_userdata.0.grott.values.ipf',values.values['#ipf'],true) //neu 2022.09.08
                          setState('0_userdata.0.grott.values.realoppercent',values.values['#realoppercent'],true) //neu 2022.09.08
                          setState('0_userdata.0.grott.values.opfullwatt',values.values['#opfullwatt']/10,true) //neu 2022.09.08
                          setState('0_userdata.0.grott.values.deratingmode',values.values['#deratingmode'],true) //neu 2022.09.08
                          setState('0_userdata.0.grott.values.eacharge_today',values.values.eacharge_today/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.eacharge_total',values.values.eacharge_total/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.batterytype',values.values.batterytype,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.uwsysworkmode',values.values.uwsysworkmode,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.systemfaultword1',values.values.systemfaultword1/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.systemfaultword2',values.values.systemfaultword2/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.systemfaultword3',values.values.systemfaultword3/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.systemfaultword4',values.values.systemfaultword4/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.systemfaultword5',values.values.systemfaultword5/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.systemfaultword6',values.values.systemfaultword6/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.systemfaultword7',values.values.systemfaultword7/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.pdischarge1',values.values.pdischarge1/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.p1charge1',values.values.p1charge1/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.vbat',values.values.vbat/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.SOC',values.values.SOC,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.pactouserr',values.values.pactouserr/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.pactousers',values.values['#pactousers']/10,true) //neu 2022.09.08
                          setState('0_userdata.0.grott.values.pactousert',values.values['#pactousert']/10,true) //neu 2022.09.08
                          setState('0_userdata.0.grott.values.pactousertot',values.values.pactousertot/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.pactogridr',values.values.pactogridr/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.pactogrids',values.values['#pactogrids']/10,true) //neu 2022.09.08
                          setState('0_userdata.0.grott.values.pactogridt',values.values['#pactogridt']/10,true) //neu 2022.09.08
                          setState('0_userdata.0.grott.values.pactogridtot',values.values.pactogridtot/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.plocaloadr',values.values.plocaloadr/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.plocaloads',values.values['#plocaloads']/10,true) //neu 2022.09.08
                          setState('0_userdata.0.grott.values.plocaloadt',values.values['#plocaloadt']/10,true) //neu 2022.09.08
                          setState('0_userdata.0.grott.values.plocaloadtot',values.values.plocaloadtot/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.ipm',values.values['#ipm'],true) //neu 2022.09.08
                          setState('0_userdata.0.grott.values.battemp',values.values['#battemp']/10,true) //neu 2022.09.08
                          setState('0_userdata.0.grott.values.spdspstatus',values.values.spdspstatus,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.etouser_tod',values.values.etouser_tod/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.etouser_tot',values.values.etouser_tot/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.etogrid_tod',values.values.etogrid_tod/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.etogrid_tot',values.values.etogrid_tot/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.edischarge1_tod',values.values.edischarge1_tod/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.edischarge1_tot',values.values.edischarge1_tot/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.eharge1_tod',values.values.eharge1_tod/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.eharge1_tot',values.values.eharge1_tot/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.elocalload_tod',values.values.elocalload_tod/10,true)//neu 2022.09.08
                          setState('0_userdata.0.grott.values.elocalload_tot',values.values.elocalload_tot/10,true)//neu 2022.09.08
                      }
                  });
                  
                  1 Antwort Letzte Antwort
                  0
                  • W Offline
                    W Offline
                    warp735
                    schrieb am zuletzt editiert von
                    #235

                    @plchome-0

                    @wildbill sagte in Test Adapter Growatt v1.0.0:

                    Anscheinend sendet der Stick auch nur, wenn er Kontakt zum Server aufbauen kann

                    Also Server down, dann funktioniert auch grott nicht.

                    1 Antwort Letzte Antwort
                    0
                    • M moonsorrox

                      Hallo wer hat denn Grott auf einem LXC und Proxmox installiert.
                      Welche Befehle werden dafür gebraucht und wo landet der Grott dann in welchem Verzeichnis.
                      Ich hatte einen Versuch bin aber nirgend an die Grott.ini rangekommen die war immer leer.
                      Habt ihr das mit wget installiert. Bitte mir einmal den Installationsbefehl senden.
                      Vielen Dank

                      W Online
                      W Online
                      Wildbill
                      schrieb am zuletzt editiert von
                      #236

                      @moonsorrox HIER steht eigentlich alles bezüglich Docker. Da ist auch direkt in den Docker-Hub verlinkt und da steht der Befehl zum Installieren.

                      @warp735 So ist es. Der Stick sendet nur (auch per MQTT) wenn er Verbindung zum Growatt-Server hat. Fehlt das, wird im Stick gepuffert und bei Verbindung dann alles nachgesendet. Siehe Beitrag von @PLCHome-0 . Deshalb gibt es ja bei grott auch den grottserver.py (siehe oben). Der simuliert den Growatt-Server, so dass der Stick denkt, er ist damit verbunden und brav seine Daten per MQTT los wird. Allerdings landen dann keine Daten mehr direkt auf dem Growatt-Server. Soweit ich mich erinnere könnte das aber in einer zukünftigen Version kommen.

                      Gruss, Jürgen

                      PLCHome 0P 1 Antwort Letzte Antwort
                      0
                      • W Wildbill

                        @moonsorrox HIER steht eigentlich alles bezüglich Docker. Da ist auch direkt in den Docker-Hub verlinkt und da steht der Befehl zum Installieren.

                        @warp735 So ist es. Der Stick sendet nur (auch per MQTT) wenn er Verbindung zum Growatt-Server hat. Fehlt das, wird im Stick gepuffert und bei Verbindung dann alles nachgesendet. Siehe Beitrag von @PLCHome-0 . Deshalb gibt es ja bei grott auch den grottserver.py (siehe oben). Der simuliert den Growatt-Server, so dass der Stick denkt, er ist damit verbunden und brav seine Daten per MQTT los wird. Allerdings landen dann keine Daten mehr direkt auf dem Growatt-Server. Soweit ich mich erinnere könnte das aber in einer zukünftigen Version kommen.

                        Gruss, Jürgen

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

                        @wildbill Der Stick sendet per Modbus, Grott mach daraus MQTT

                        W W 2 Antworten Letzte Antwort
                        0
                        • PLCHome 0P PLCHome 0

                          @wildbill Der Stick sendet per Modbus, Grott mach daraus MQTT

                          W Offline
                          W Offline
                          warp735
                          schrieb am zuletzt editiert von
                          #238

                          @plchome-0
                          Also könnte man direkt per Modbus abgreifen? Aber der Stick macht nichts, wenn kein Server "erreichbar"?

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

                            @wildbill Der Stick sendet per Modbus, Grott mach daraus MQTT

                            W Online
                            W Online
                            Wildbill
                            schrieb am zuletzt editiert von
                            #239

                            @plchome-0 Danke, wusste ich nicht.

                            Gruss, Jürgen

                            1 Antwort Letzte Antwort
                            0
                            • W warp735

                              @plchome-0
                              Also könnte man direkt per Modbus abgreifen? Aber der Stick macht nichts, wenn kein Server "erreichbar"?

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

                              @warp735 said in Test Adapter Growatt v1.0.0:

                              Also könnte man direkt per Modbus abgreifen?

                              Ja, es gibt ein Projekt, das die Kommuniaktion bei den alten V24 Stick mitliest.
                              Es kann sein, dass man bei neueren Wechselrichten auch per Modbus Anschluss direkt Zugreifen kann. Bei meine SPH gibt es nur die V24 und da steckt der Stick drin. Die andere Modbus Schnittstelle ist, glaube ich, nur für eine Batterie.

                              Ich schaue mal, ob ich den iobroker.Growatt Adapter noch benötige, der Grott läuft ja super...
                              Dann kann ich den abkündigen ...

                              1 Antwort Letzte Antwort
                              0
                              • PLCHome 0P PLCHome 0

                                @moonsorrox said in Test Adapter Growatt v1.0.0:

                                Habt ihr das mit wget installiert.

                                nö: docker pull

                                M Offline
                                M Offline
                                moonsorrox
                                schrieb am zuletzt editiert von
                                #241

                                @plchome-0
                                Docker wollte ich nicht machen, weil ich mich damit nicht auskenne.
                                Wollte es auf einem Debain 11 installieren weil die das Phyton schon an Bord haben

                                1 Antwort Letzte Antwort
                                0
                                • W Online
                                  W Online
                                  Wildbill
                                  schrieb am zuletzt editiert von
                                  #242

                                  @moonsorrox Ach so. Ich habe grott in einem LXC unter Proxmox. Ich habe dafür ein Debian11-Template genommen.
                                  Nach dem obligatorischen

                                  sudo apt update
                                  sudo apt upgrade
                                  

                                  erst einmal git installiert

                                  sudo apt install git
                                  

                                  Anschließend

                                  git clone https://github.com/johanmeijer/grott
                                  

                                  Damit hast Du die gesamte grott-Struktur 1:1 in Deinem Home-Verzeichnis.
                                  Noch ein paar Abhängigkeiten

                                   sudo apt install python3
                                   sudo apt install python3-pip
                                   sudo pip3 install paho-mqtt
                                   sudo pip3 install requests
                                  

                                  Danach

                                  cd grott/
                                  nano grott.ini 
                                  

                                  und die passend editieren.
                                  Mittels

                                  python3 grott.py -v
                                  

                                  zum Testen starten. Wenn der Stick dann auf die IP des LXC umgestellt wurde, sollten Daten ankommen und auch per MQTT im iobroker landen, wenn das eingerichtet ist.
                                  Dann die Datei grott.service nach /etc/systemd/system/grott.service kopieren und editieren

                                  sudo cp grott.service /etc/systemd/system/grott.service
                                  sudo nano /etc/systemd/system/grott.service
                                  

                                  Darin folgendes anpassen (Pfad entsprechend Deinem USER bzw. wohin du git clone gemacht hast):

                                  WorkingDirectory=/home/USER/grott/
                                  ExecStart=-/usr/bin/python3 -u /home/USER/grott/grott.py -v
                                  
                                  sudo systemctl daemon-reload
                                  sudo systemctl enable grott
                                  sudo systemctl start grott
                                  

                                  und es sollte im Hintergrund als service laufen und auch nach einem restart automatisch starten.
                                  Ich hoffe, ich habe nichts vergessen.

                                  Gruss, Jürgen

                                  M chucky666C 3 Antworten Letzte Antwort
                                  0
                                  • W Offline
                                    W Offline
                                    warp735
                                    schrieb am zuletzt editiert von warp735
                                    #243

                                    @wildbill

                                    Super Anleitung :+1:

                                    Aber da ist:

                                    docker run -d -p 5279:5279 --restart on-failure -e gmqttip="192.168.0.206" ledidobe/grott
                                    

                                    doch erheblich einfacher :grin:

                                    W 1 Antwort Letzte Antwort
                                    0
                                    • W Wildbill

                                      @moonsorrox Ach so. Ich habe grott in einem LXC unter Proxmox. Ich habe dafür ein Debian11-Template genommen.
                                      Nach dem obligatorischen

                                      sudo apt update
                                      sudo apt upgrade
                                      

                                      erst einmal git installiert

                                      sudo apt install git
                                      

                                      Anschließend

                                      git clone https://github.com/johanmeijer/grott
                                      

                                      Damit hast Du die gesamte grott-Struktur 1:1 in Deinem Home-Verzeichnis.
                                      Noch ein paar Abhängigkeiten

                                       sudo apt install python3
                                       sudo apt install python3-pip
                                       sudo pip3 install paho-mqtt
                                       sudo pip3 install requests
                                      

                                      Danach

                                      cd grott/
                                      nano grott.ini 
                                      

                                      und die passend editieren.
                                      Mittels

                                      python3 grott.py -v
                                      

                                      zum Testen starten. Wenn der Stick dann auf die IP des LXC umgestellt wurde, sollten Daten ankommen und auch per MQTT im iobroker landen, wenn das eingerichtet ist.
                                      Dann die Datei grott.service nach /etc/systemd/system/grott.service kopieren und editieren

                                      sudo cp grott.service /etc/systemd/system/grott.service
                                      sudo nano /etc/systemd/system/grott.service
                                      

                                      Darin folgendes anpassen (Pfad entsprechend Deinem USER bzw. wohin du git clone gemacht hast):

                                      WorkingDirectory=/home/USER/grott/
                                      ExecStart=-/usr/bin/python3 -u /home/USER/grott/grott.py -v
                                      
                                      sudo systemctl daemon-reload
                                      sudo systemctl enable grott
                                      sudo systemctl start grott
                                      

                                      und es sollte im Hintergrund als service laufen und auch nach einem restart automatisch starten.
                                      Ich hoffe, ich habe nichts vergessen.

                                      Gruss, Jürgen

                                      M Offline
                                      M Offline
                                      moonsorrox
                                      schrieb am zuletzt editiert von
                                      #244

                                      @wildbill
                                      Ok vielen Dank werde ich gleich mal antesten

                                      1 Antwort Letzte Antwort
                                      0
                                      • W warp735

                                        @wildbill

                                        Super Anleitung :+1:

                                        Aber da ist:

                                        docker run -d -p 5279:5279 --restart on-failure -e gmqttip="192.168.0.206" ledidobe/grott
                                        

                                        doch erheblich einfacher :grin:

                                        W Online
                                        W Online
                                        Wildbill
                                        schrieb am zuletzt editiert von
                                        #245

                                        @warp735 Das schon, aber nur, wenn Du Docker schon installiert hast. :blush:
                                        Wobei ich sagen muss, dank Proxmox nehme ich oft auch LXC anstatt Docker. Ist dann doch manchmal praktischer und einfacher, wenn man direkt in der Fileebene ist, anstatt vorher irgendwelche Ordner reinmappen zu müssen. Aber glücklicherweise hat man ja unter Linux eher die Qual der Wahl, was man nehmen möchte, anstatt von vornherein wenig Auswahl zu haben...

                                        Gruss, Jürgen

                                        1 Antwort Letzte Antwort
                                        0
                                        • W Wildbill

                                          @moonsorrox Ach so. Ich habe grott in einem LXC unter Proxmox. Ich habe dafür ein Debian11-Template genommen.
                                          Nach dem obligatorischen

                                          sudo apt update
                                          sudo apt upgrade
                                          

                                          erst einmal git installiert

                                          sudo apt install git
                                          

                                          Anschließend

                                          git clone https://github.com/johanmeijer/grott
                                          

                                          Damit hast Du die gesamte grott-Struktur 1:1 in Deinem Home-Verzeichnis.
                                          Noch ein paar Abhängigkeiten

                                           sudo apt install python3
                                           sudo apt install python3-pip
                                           sudo pip3 install paho-mqtt
                                           sudo pip3 install requests
                                          

                                          Danach

                                          cd grott/
                                          nano grott.ini 
                                          

                                          und die passend editieren.
                                          Mittels

                                          python3 grott.py -v
                                          

                                          zum Testen starten. Wenn der Stick dann auf die IP des LXC umgestellt wurde, sollten Daten ankommen und auch per MQTT im iobroker landen, wenn das eingerichtet ist.
                                          Dann die Datei grott.service nach /etc/systemd/system/grott.service kopieren und editieren

                                          sudo cp grott.service /etc/systemd/system/grott.service
                                          sudo nano /etc/systemd/system/grott.service
                                          

                                          Darin folgendes anpassen (Pfad entsprechend Deinem USER bzw. wohin du git clone gemacht hast):

                                          WorkingDirectory=/home/USER/grott/
                                          ExecStart=-/usr/bin/python3 -u /home/USER/grott/grott.py -v
                                          
                                          sudo systemctl daemon-reload
                                          sudo systemctl enable grott
                                          sudo systemctl start grott
                                          

                                          und es sollte im Hintergrund als service laufen und auch nach einem restart automatisch starten.
                                          Ich hoffe, ich habe nichts vergessen.

                                          Gruss, Jürgen

                                          M Offline
                                          M Offline
                                          moonsorrox
                                          schrieb am zuletzt editiert von
                                          #246

                                          @wildbill
                                          Habe vergessen zu fragen weil du sudo benutzt.
                                          Ich bin ja als root eingeloggt, welchen Benutzer hats du dafür angelegt, weil es sonst ja unter root landet, hast du grott als user genommen.?

                                          W 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

                                          528

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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