Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Growatt WR Daten als Json

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Growatt WR Daten als Json

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @teletapi last edited by 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.

      teletapi 2 Replies Last reply Reply Quote 0
      • teletapi
        teletapi @paul53 last edited by teletapi

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

        F 1 Reply Last reply Reply Quote 0
        • F
          falkomfs @teletapi last edited by

          @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
          });
          
          
          teletapi 1 Reply Last reply Reply Quote 0
          • teletapi
            teletapi @falkomfs last edited by

            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.

            paul53 1 Reply Last reply Reply Quote 0
            • teletapi
              teletapi @paul53 last edited by

              @paul53 wo schreibe ich das hin...?


              JSON.parse(val).InputPower

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @teletapi last edited by

                @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

                1 Reply Last reply Reply Quote 0
                • teletapi
                  teletapi last edited by teletapi

                  @paul53
                  hab ich jetzt so erstellt

                  Screenshot_3.jpg

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @teletapi last edited by

                    @teletapi sagte: hab ich jetzt so erstellt

                    Zeige bitte die OBJEKTDATEN in Code tags.

                    teletapi 1 Reply Last reply Reply Quote 0
                    • teletapi
                      teletapi @paul53 last edited by 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
                      
                      
                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @teletapi last edited by paul53

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

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

                        teletapi 1 Reply Last reply Reply Quote 0
                        • teletapi
                          teletapi @paul53 last edited by teletapi

                          @paul53

                          Screenshot_4.jpg

                          Passiert mir jedesmal mit dem Codetag

                          teletapi 1 Reply Last reply Reply Quote 0
                          • teletapi
                            teletapi @teletapi last edited by

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

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

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

                            806
                            Online

                            32.0k
                            Users

                            80.5k
                            Topics

                            1.3m
                            Posts

                            3
                            13
                            559
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo