Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter Growatt v3.3.1

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    335

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Test Adapter Growatt v3.3.1

Scheduled Pinned Locked Moved Tester
adaptergrowattpv-anlageshinesolartesttester
808 Posts 72 Posters 374.3k Views 63 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • W Offline
    W Offline
    warp735
    wrote on last edited by
    #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 Reply Last reply
    1
    • M Offline
      M Offline
      moonsorrox
      wrote on last edited by 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 Replies Last reply
      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
        wrote on last edited by
        #233

        @moonsorrox said in Test Adapter Growatt v1.0.0:

        Habt ihr das mit wget installiert.

        nö: docker pull

        PLCHome 0P M 2 Replies Last reply
        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
          wrote on last edited by 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 Reply Last reply
          0
          • W Offline
            W Offline
            warp735
            wrote on last edited by
            #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 Reply Last reply
            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
              wrote on last edited by
              #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 Reply Last reply
              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
                wrote on last edited by
                #237

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

                W W 2 Replies Last reply
                0
                • PLCHome 0P PLCHome 0

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

                  W Offline
                  W Offline
                  warp735
                  wrote on last edited by
                  #238

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

                  PLCHome 0P 1 Reply Last reply
                  0
                  • PLCHome 0P PLCHome 0

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

                    W Online
                    W Online
                    Wildbill
                    wrote on last edited by
                    #239

                    @plchome-0 Danke, wusste ich nicht.

                    Gruss, Jürgen

                    1 Reply Last reply
                    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
                      wrote on last edited by 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 Reply Last reply
                      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
                        wrote on last edited by
                        #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 Reply Last reply
                        0
                        • W Online
                          W Online
                          Wildbill
                          wrote on last edited by
                          #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 Replies Last reply
                          0
                          • W Offline
                            W Offline
                            warp735
                            wrote on last edited by 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 Reply Last reply
                            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
                              wrote on last edited by
                              #244

                              @wildbill
                              Ok vielen Dank werde ich gleich mal antesten

                              1 Reply Last reply
                              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
                                wrote on last edited by
                                #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 Reply Last reply
                                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
                                  wrote on last edited by
                                  #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 Reply Last reply
                                  0
                                  • M moonsorrox

                                    @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 Online
                                    W Online
                                    Wildbill
                                    wrote on last edited by Wildbill
                                    #247

                                    @moonsorrox Natürlich als user. Als root meldet man sich maximal ein einziges Mal an, um einen normalen User zu erstellen und diesen in die Gruppe sudo aufzunehmen. Danach wird sich nur noch per User angemeldet und erweiterte Rechte bei Bedarf (und NUR dann!) per sudo geholt.
                                    Gilt nicht nur für grott sondern für Linux generell. JEDES. ÜBERALL. IMMER. Auch bei iobroker. :grin:

                                    Gruss, Jürgen

                                    EDIT: Falls Dir unklar ist, wie man es macht. Einmalig als root anmelden. Dann

                                    adduser USER
                                    apt install sudo
                                    usermod -aG sudo USER
                                    exit
                                    

                                    Ab da dann als USER anmelden. USER natürlich durch Deinen Namen erstetzen oder was Du da stehen haben willst. sudo muss nachinstalliert werden, kommt im Debian11-Template nicht mit.
                                    Und das sollte man so in jedem Linux, egal ob baremetal, VM, LXC oder Docker-Ct so handhaben!

                                    M 1 Reply Last reply
                                    0
                                    • W Wildbill

                                      @moonsorrox Natürlich als user. Als root meldet man sich maximal ein einziges Mal an, um einen normalen User zu erstellen und diesen in die Gruppe sudo aufzunehmen. Danach wird sich nur noch per User angemeldet und erweiterte Rechte bei Bedarf (und NUR dann!) per sudo geholt.
                                      Gilt nicht nur für grott sondern für Linux generell. JEDES. ÜBERALL. IMMER. Auch bei iobroker. :grin:

                                      Gruss, Jürgen

                                      EDIT: Falls Dir unklar ist, wie man es macht. Einmalig als root anmelden. Dann

                                      adduser USER
                                      apt install sudo
                                      usermod -aG sudo USER
                                      exit
                                      

                                      Ab da dann als USER anmelden. USER natürlich durch Deinen Namen erstetzen oder was Du da stehen haben willst. sudo muss nachinstalliert werden, kommt im Debian11-Template nicht mit.
                                      Und das sollte man so in jedem Linux, egal ob baremetal, VM, LXC oder Docker-Ct so handhaben!

                                      M Offline
                                      M Offline
                                      moonsorrox
                                      wrote on last edited by
                                      #248

                                      @wildbill
                                      Ja OK super das ist schon klar ich dachte nur das grott einen bestimmten User haben will, ist ja manchmal der Fall

                                      1 Reply Last reply
                                      0
                                      • M Offline
                                        M Offline
                                        moonsorrox
                                        wrote on last edited by moonsorrox
                                        #249

                                        OK also ich habe das mal genauso gemacht und hänge wieder an der selben Stelle wie schon einmal.
                                        Wenn ich die grott.ini editieren soll ist die bei mir leer

                                        Ich bin mit cd grott/ in das Verzeichnis und nano grott.ini

                                        wenn ich jetzt mal in das Verzeichnis schaue finde ich die grott.ini unter

                                        /home/growatt/grott/examples/grott.ini
                                        

                                        wird das auch funktionieren.? nee geht leider nicht ich komme nicht an die ini ran

                                        W 1 Reply Last reply
                                        0
                                        • M moonsorrox

                                          OK also ich habe das mal genauso gemacht und hänge wieder an der selben Stelle wie schon einmal.
                                          Wenn ich die grott.ini editieren soll ist die bei mir leer

                                          Ich bin mit cd grott/ in das Verzeichnis und nano grott.ini

                                          wenn ich jetzt mal in das Verzeichnis schaue finde ich die grott.ini unter

                                          /home/growatt/grott/examples/grott.ini
                                          

                                          wird das auch funktionieren.? nee geht leider nicht ich komme nicht an die ini ran

                                          W Online
                                          W Online
                                          Wildbill
                                          wrote on last edited by Wildbill
                                          #250

                                          @moonsorrox Kopier die grott.ini aus dem examples-Ordner in den grott-Ordner direkt und editier da und es passt.

                                          Gruss, Jürgen

                                          Edit: Punkt 4 von Hier

                                          M 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          631

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe