Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Growatt WR Daten als Json

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    485

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    398

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    981

Growatt WR Daten als Json

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
13 Beiträge 3 Kommentatoren 944 Aufrufe 1 Beobachtet
  • Ä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.
  • teletapiT teletapi

    Hallo,
    Ich brauch mal wieder eure Hilfe
    Ich habe gerade einen gebrauchten Growatt Mic 600 TL-X gekauft und heute angeschlossen. Da ich den offiziellen USB Stick Shine Wifi-X nicht benutzen möchte sondern einen zwar originalen aber mit alternativ Software beschriebenen Stick der mir die WR Daten per Mqtt auf meinen Iobroker (Mosquitto Broker) (Mqtt adapter) sendet hier kommen die Daten als Json an.

    Screenshot_1.jpg


    {
    "InverterStatus": 1,
    "InputPower": 29,
    "PV1Voltage": 75,
    "PV1InputCurrent": 0.5,
    "PV1InputPower": 29,
    "PV2Voltage": 0,
    "PV2InputCurrent": 0,
    "PV2InputPower": 0,
    "OutputPower": 28.2,
    "GridFrequency": 50.02,
    "L1ThreePhaseGridVoltage": 237.6,
    "L1ThreePhaseGridOutputCurrent": 0.4,
    "L1ThreePhaseGridOutputPower": 30,
    "L2ThreePhaseGridVoltage": 0,
    "L2ThreePhaseGridOutputCurrent": 0,
    "L2ThreePhaseGridOutputPower": 0,
    "L3ThreePhaseGridVoltage": 0,
    "L3ThreePhaseGridOutputCurrent": 0,
    "L3ThreePhaseGridOutputPower": 0,
    "TodayGenerateEnergy": 0.1,
    "TotalGenerateEnergy": 425.2,
    "TWorkTimeTotal": 12509730,
    "PV1EnergyToday": 0.1,
    "PV1EnergyTotal": 433.2,
    "PV2EnergyToday": 0,
    "PV2EnergyTotal": 0,
    "PVEnergyTotal": 433.2,
    "InverterTemperature": 15,
    "TemperatureInsideIPM": 15,
    "BoostTemperature": 0,
    "DischargePower": 0,
    "ChargePower": 0,
    "BatteryVoltage": 0,
    "SOC": 0,
    "ACPowerToUser": 0,
    "ACPowerToUserTotal": 0,
    "ACPowerToGrid": 0,
    "ACPowerToGridTotal": 0,
    "INVPowerToLocalLoad": 0,
    "INVPowerToLocalLoadTotal": 0,
    "BatteryTemperature": 0,
    "BatteryState": 0,
    "EnergyToUserToday": 0,
    "EnergyToUserTotal": 0,
    "EnergyToGridToday": 0,
    "EnergyToGridTotal": 0,
    "DischargeEnergyToday": 0,
    "DischargeEnergyTotal": 0,
    "ChargeEnergyToday": 0,
    "ChargeEnergyTotal": 0,
    "LocalLoadEnergyToday": 0,
    "LocalLoadEnergyTotal": 0,
    "ACChargeEnergyToday": 0,
    "ACChargeEnergyTotal": 0,
    "Mac": "B4:8A:0A:DA:31:8F",
    "Cnt": 1010
    }

    Jetzt steh ich allerdings vor dem Problem wie bekomme ich diese Daten in einzelne Datenpunkte.

    Ich hab hier schon einiges gelesen aber begriffen hab ich davon nur sehr wenig und ich steh etwas auf dem Schlauch.

    Hier noch die json Rohdaten


    {"InverterStatus":[1,"(Normal Operation)",false],"InputPower":[25.8,"W",true],"OutputPower":[25.3,"W",true],"TodayGenerateEnergy":[0.1,"kWh",false],"TotalGenerateEnergy":[425.2,"kWh",false],"InverterTemperature":[15,"°C",true],"DischargePower":[0,"W",true],"ChargePower":[0,"W",true],"SOC":[0,"%",true],"INVPowerToLocalLoadTotal":[0,"W",false],"BatteryTemperature":[0,"°C",true],"BatteryState":[0,"",false],"EnergyToUserToday":[0,"kWh",false],"EnergyToUserTotal":[0,"kWh",false],"EnergyToGridToday":[0,"kWh",false],"EnergyToGridTotal":[0,"kWh",false],"DischargeEnergyToday":[0,"kWh",false],"DischargeEnergyTotal":[0,"kWh",false],"ChargeEnergyToday":[0,"kWh",false],"ChargeEnergyTotal":[0,"kWh",false],"LocalLoadEnergyToday":[0,"kWh",false],"LocalLoadEnergyTotal":[0,"kWh",false],"ACChargeEnergyToday":[0,"kWh",false],"ACChargeEnergyTotal":[0,"kWh",false]}

    Vielleicht könnte mich da der ein oder andere unterstützen
    Danke im vorraus

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #2

    @teletapi sagte: diese Daten in einzelne Datenpunkte.

    Erstelle für jeden Datenpunkt einen Alias unter "alias.0" mit passenden Eigenschaften und verwende eine Lesekonvertierung. Beispiel Konvertierung für "InputPower":

    JSON.parse(val).InputPower
    

    Ich gehe davon aus, dass im oberen Spoiler das MQTT-JSON enthalten ist.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    teletapiT 2 Antworten Letzte Antwort
    0
    • paul53P paul53

      @teletapi sagte: diese Daten in einzelne Datenpunkte.

      Erstelle für jeden Datenpunkt einen Alias unter "alias.0" mit passenden Eigenschaften und verwende eine Lesekonvertierung. Beispiel Konvertierung für "InputPower":

      JSON.parse(val).InputPower
      

      Ich gehe davon aus, dass im oberen Spoiler das MQTT-JSON enthalten ist.

      teletapiT Online
      teletapiT Online
      teletapi
      schrieb am zuletzt editiert von teletapi
      #3

      @paul53 Morjen, vielen dank erstmal dafür das du helfen willst. Ich werde dann mal ein paar Aliase anlegen

      F 1 Antwort Letzte Antwort
      0
      • teletapiT teletapi

        @paul53 Morjen, vielen dank erstmal dafür das du helfen willst. Ich werde dann mal ein paar Aliase anlegen

        F Offline
        F Offline
        falkomfs
        schrieb am zuletzt editiert von
        #4

        @teletapi bei mir sieht es so aus.

        const idJson = 'mqtt.1.energy.solar.L1a';
        const path = '0_userdata.0.Solar.Auslesewerte.L1a.';
         
        on(idJson, function(dp) {
            let obj = JSON.parse(dp.state.val);
            let id = path + 'InverterStatus';
            if(existsState(id)) setState(id, obj.InverterStatus, true);
            else createState(id, obj.temp.temp, {type: 'number', name: 'InverterStatus', role: 'value', unit: '°C'});
            id = path + 'PV1Voltage';
            if(existsState(id)) setState(id, obj.PV1Voltage, true);
            else createState(id, obj.humid.humid, {type: 'number', name: 'PV1Voltage', role: 'value', unit: 'V'});
            id = path + 'BattPwr';
            if(existsState(id)) setState(id, obj.BattPwr, true);
            else createState(id, obj.humid.humid, {type: 'number', name: 'BattPwr', role: 'value', unit: 'V'}); 
            id = path + 'BattSOC';
            if(existsState(id)) setState(id, obj.BattSOC, true);
            else createState(id, obj.humid.humid, {type: 'number', name: 'BattSOC', role: 'value', unit: 'V'});
            id = path + 'LoadPercent';
            if(existsState(id)) setState(id, obj.LoadPercent, true);
            else createState(id, obj.humid.humid, {type: 'number', name: 'LoadPercent', role: 'value', unit: 'V'});
            id = path + 'OutActivePwr';
            if(existsState(id)) setState(id, obj.OutActivePwr, true);
            else createState(id, obj.humid.humid, {type: 'number', name: 'OutActivePwr', role: 'value', unit: 'V'});
            id = path + 'PV1ChargePwr';
            if(existsState(id)) setState(id, obj.PV1ChargePwr, true);
            else createState(id, obj.humid.humid, {type: 'number', name: 'PV1ChargePwr', role: 'value', unit: 'V'});
            id = path + 'BattVoltage';
            if(existsState(id)) setState(id, obj.BattVoltage, true);
            else createState(id, obj.humid.humid, {type: 'number', name: 'BattVoltage', role: 'value', unit: 'V'});
            id = path + 'Buck1Temp';
             if(existsState(id)) setState(id, obj.Buck1Temp, true);
            else createState(id, obj.humid.humid, {type: 'number', name: 'Buck1Temp', role: 'value', unit: 'W'});
            id = path + 'Buck2Temp';
             if(existsState(id)) setState(id, obj.Buck2Temp, true);
            else createState(id, obj.humid.humid, {type: 'number', name: 'Buck2Temp', role: 'value', unit: 'W'});
        
            // usw. für weitere Datenpunkte
        });
        
        
        teletapiT 1 Antwort Letzte Antwort
        0
        • F falkomfs

          @teletapi bei mir sieht es so aus.

          const idJson = 'mqtt.1.energy.solar.L1a';
          const path = '0_userdata.0.Solar.Auslesewerte.L1a.';
           
          on(idJson, function(dp) {
              let obj = JSON.parse(dp.state.val);
              let id = path + 'InverterStatus';
              if(existsState(id)) setState(id, obj.InverterStatus, true);
              else createState(id, obj.temp.temp, {type: 'number', name: 'InverterStatus', role: 'value', unit: '°C'});
              id = path + 'PV1Voltage';
              if(existsState(id)) setState(id, obj.PV1Voltage, true);
              else createState(id, obj.humid.humid, {type: 'number', name: 'PV1Voltage', role: 'value', unit: 'V'});
              id = path + 'BattPwr';
              if(existsState(id)) setState(id, obj.BattPwr, true);
              else createState(id, obj.humid.humid, {type: 'number', name: 'BattPwr', role: 'value', unit: 'V'}); 
              id = path + 'BattSOC';
              if(existsState(id)) setState(id, obj.BattSOC, true);
              else createState(id, obj.humid.humid, {type: 'number', name: 'BattSOC', role: 'value', unit: 'V'});
              id = path + 'LoadPercent';
              if(existsState(id)) setState(id, obj.LoadPercent, true);
              else createState(id, obj.humid.humid, {type: 'number', name: 'LoadPercent', role: 'value', unit: 'V'});
              id = path + 'OutActivePwr';
              if(existsState(id)) setState(id, obj.OutActivePwr, true);
              else createState(id, obj.humid.humid, {type: 'number', name: 'OutActivePwr', role: 'value', unit: 'V'});
              id = path + 'PV1ChargePwr';
              if(existsState(id)) setState(id, obj.PV1ChargePwr, true);
              else createState(id, obj.humid.humid, {type: 'number', name: 'PV1ChargePwr', role: 'value', unit: 'V'});
              id = path + 'BattVoltage';
              if(existsState(id)) setState(id, obj.BattVoltage, true);
              else createState(id, obj.humid.humid, {type: 'number', name: 'BattVoltage', role: 'value', unit: 'V'});
              id = path + 'Buck1Temp';
               if(existsState(id)) setState(id, obj.Buck1Temp, true);
              else createState(id, obj.humid.humid, {type: 'number', name: 'Buck1Temp', role: 'value', unit: 'W'});
              id = path + 'Buck2Temp';
               if(existsState(id)) setState(id, obj.Buck2Temp, true);
              else createState(id, obj.humid.humid, {type: 'number', name: 'Buck2Temp', role: 'value', unit: 'W'});
          
              // usw. für weitere Datenpunkte
          });
          
          
          teletapiT Online
          teletapiT Online
          teletapi
          schrieb am zuletzt editiert von
          #5

          Es fällt mir etwas schwer das zu sagen aber ich bin komplett ahnungslos wie das funktioniert. Selbst den Alias "mit den richtigen Eigenschaften" zu erstellen wird ohne eure Hilfe nicht gehn.

          paul53P 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @teletapi sagte: diese Daten in einzelne Datenpunkte.

            Erstelle für jeden Datenpunkt einen Alias unter "alias.0" mit passenden Eigenschaften und verwende eine Lesekonvertierung. Beispiel Konvertierung für "InputPower":

            JSON.parse(val).InputPower
            

            Ich gehe davon aus, dass im oberen Spoiler das MQTT-JSON enthalten ist.

            teletapiT Online
            teletapiT Online
            teletapi
            schrieb am zuletzt editiert von
            #6

            @paul53 wo schreibe ich das hin...?


            JSON.parse(val).InputPower

            1 Antwort Letzte Antwort
            0
            • teletapiT teletapi

              Es fällt mir etwas schwer das zu sagen aber ich bin komplett ahnungslos wie das funktioniert. Selbst den Alias "mit den richtigen Eigenschaften" zu erstellen wird ohne eure Hilfe nicht gehn.

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #7

              @teletapi sagte: Alias "mit den richtigen Eigenschaften" zu erstellen

              Im Tab "Objekte" erst ein Verzeichnis (z.B. "WR") unter "alias.0" erstellen und dann unter dem Verzeichnis die Datenpunkte:

              Alias_common_power.JPG

              @teletapi sagte in Growatt WR Daten als Json:

              wo schreibe ich das hin...?

              Alias_convert_power.JPG

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Antwort Letzte Antwort
              0
              • teletapiT Online
                teletapiT Online
                teletapi
                schrieb am zuletzt editiert von teletapi
                #8

                @paul53
                hab ich jetzt so erstellt

                Screenshot_3.jpg

                paul53P 1 Antwort Letzte Antwort
                0
                • teletapiT teletapi

                  @paul53
                  hab ich jetzt so erstellt

                  Screenshot_3.jpg

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #9

                  @teletapi sagte: hab ich jetzt so erstellt

                  Zeige bitte die OBJEKTDATEN in Code tags.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  teletapiT 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @teletapi sagte: hab ich jetzt so erstellt

                    Zeige bitte die OBJEKTDATEN in Code tags.

                    teletapiT Online
                    teletapiT Online
                    teletapi
                    schrieb am zuletzt editiert von teletapi
                    #10

                    @paul53

                    {
                    "common": {
                    "name": "InputPower",
                    "desc": "Manuell erzeugt",
                    "role": "state",
                    "type": "number",
                    "read": true,
                    "write": false,
                    "alias": {
                    "read": "JSON.parse(val).InputPower ",
                    "id": "mqtt.0.energy.solar"
                    }
                    },
                    "type": "state",
                    "native": {},
                    "_id": "alias.0.Solar.Growatt.InputPower",
                    "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                    },
                    "from": "system.adapter.admin.0",
                    "user": "system.user.admin",
                    "ts": 1702657939627
                    }
                    
                    0
                    
                    
                    paul53P 1 Antwort Letzte Antwort
                    0
                    • teletapiT teletapi

                      @paul53

                      {
                      "common": {
                      "name": "InputPower",
                      "desc": "Manuell erzeugt",
                      "role": "state",
                      "type": "number",
                      "read": true,
                      "write": false,
                      "alias": {
                      "read": "JSON.parse(val).InputPower ",
                      "id": "mqtt.0.energy.solar"
                      }
                      },
                      "type": "state",
                      "native": {},
                      "_id": "alias.0.Solar.Growatt.InputPower",
                      "acl": {
                      "object": 1636,
                      "state": 1636,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator"
                      },
                      "from": "system.adapter.admin.0",
                      "user": "system.user.admin",
                      "ts": 1702657939627
                      }
                      
                      0
                      
                      
                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #11

                      @teletapi
                      Ändere noch die Rolle in "value.power" oder "value" und ergänze die Unit: "W".

                      Code tags ist oben das 5. Symbol </>.

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      teletapiT 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @teletapi
                        Ändere noch die Rolle in "value.power" oder "value" und ergänze die Unit: "W".

                        Code tags ist oben das 5. Symbol </>.

                        teletapiT Online
                        teletapiT Online
                        teletapi
                        schrieb am zuletzt editiert von teletapi
                        #12

                        @paul53

                        Screenshot_4.jpg

                        Passiert mir jedesmal mit dem Codetag

                        teletapiT 1 Antwort Letzte Antwort
                        0
                        • teletapiT teletapi

                          @paul53

                          Screenshot_4.jpg

                          Passiert mir jedesmal mit dem Codetag

                          teletapiT Online
                          teletapiT Online
                          teletapi
                          schrieb am zuletzt editiert von
                          #13

                          Das hat ja super geklappt vielen dank für eure Hilfe
                          Hawe

                          1 Antwort Letzte Antwort
                          0

                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                          Registrieren Anmelden
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          291

                          Online

                          32.8k

                          Benutzer

                          82.8k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe