Skip to content
  • 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
  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.3k 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.
  • 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 👍

                      Aber da ist:

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

                      doch erheblich einfacher 😁

                      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 👍

                          Aber da ist:

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

                          doch erheblich einfacher 😁

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

                          @warp735 Das schon, aber nur, wenn Du Docker schon installiert hast. 😊
                          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
                            • 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
                              schrieb am zuletzt editiert von 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. 😁

                              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 Antwort Letzte Antwort
                              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. 😁

                                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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  moonsorrox
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                    0
                                    • W Wildbill

                                      @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 Offline
                                      M Offline
                                      moonsorrox
                                      schrieb am zuletzt editiert von moonsorrox
                                      #251

                                      @wildbill

                                      EDIT:// OK habe ich jetzt gelesen Punkt 4
                                      wollte ich gerade fragen..!
                                      denn wenn ich mich als root einlogge kann ich mit

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

                                      die ini Datei editieren

                                      W 1 Antwort Letzte Antwort
                                      0
                                      • M moonsorrox

                                        @wildbill

                                        EDIT:// OK habe ich jetzt gelesen Punkt 4
                                        wollte ich gerade fragen..!
                                        denn wenn ich mich als root einlogge kann ich mit

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

                                        die ini Datei editieren

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

                                        @moonsorrox Die muss direkt im grott-Ordner liegen.

                                        Gruss, Jürgen

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • W Wildbill

                                          @moonsorrox Die muss direkt im grott-Ordner liegen.

                                          Gruss, Jürgen

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

                                          @wildbill
                                          OK das habe ich gemacht, wenn ich jetz die Abfrage mache

                                          python3 grott.py -v
                                          

                                          steht Growatt logging monitor : 2.6.1h
                                          Grott process configuration file

                                          Grott process environmental variables

                                          Grott override settings if set in commandline

                                          Grott process json layout files

                                          Grott layout records loaded

                                          dann extrem viele Werte oder was auch immer das ist. Ganz am Ende kommen die Settings

                                          Grott settings:
                                          
                                          _Generic:
                                                  version:         2.6.1h
                                                  verbose:         True
                                                  trace:           False
                                                  config file:     grott.ini
                                                  minrecl:         100
                                                  decrypt:         True
                                                  compat:          False
                                                  invtype:         default
                                                  include_all:     False
                                                  blockcmd:        False
                                                  noipf:           False
                                                  time:            auto
                                                  sendbuf:         True
                                                  timezone:        local
                                                  valueoffset:     6
                                                  offset:          6
                                                  inverterid:      automatic
                                                  mode:            proxy
                                                  grottip          default
                                                  grottport        5279
                                          _MQTT:
                                                  nomqtt           False
                                                  mqttip:          10.0.0.50
                                                  mqttport:        1883
                                                  mqtttopic:       energy/growatt
                                                  mqttinverterintopic:     False
                                                  mqtttauth:       False
                                                  mqttuser:        grott
                                                  mqttpsw:         **secret**
                                          _Growatt server:
                                                  growattip:       47.91.67.66
                                                  growattport:     5279
                                          _PVOutput:
                                                  pvoutput:        True
                                                  pvurl:           https://pvoutput.org/service/r2/addstatus.jsp
                                                  pvapikey:        yourapikey
                                                  pvinverters:     1
                                                  pvsystemid:      systemid1
                                          _Influxdb:
                                                  influx:          False
                                                  influx2:         False
                                                  database:        grottdb
                                                  ip:              localhost
                                                  port:            8086
                                                  user:            grott
                                                  password:        **secret**
                                                  organization:    grottorg
                                                  bucket:          grottdb
                                                  token:           **secret**
                                          _Extension:
                                                  extension:       False
                                                  extname:         grottext
                                                  extvar:          {'none': 'none'}
                                          
                                          
                                          Grott proxy mode started
                                          Traceback (most recent call last):
                                            File "/home/growatt/grott/grott.py", line 33, in <module>
                                              proxy = Proxy(conf)
                                            File "/home/growatt/grott/grottproxy.py", line 55, in __init__
                                              self.server.bind((conf.grottip, conf.grottport))
                                          OSError: [Errno 98] Address already in use
                                          

                                          Wo sehe ich jetzt im ioBroker die Daten sollte da nicht irgendwo grott auftauchen.?

                                          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

                                          738

                                          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
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe