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
    484

  • 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 943 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

    @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

                      266

                      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