Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. (gelöst) benötige Hilfe beim Json in Datenpunkte umwandeln

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    (gelöst) benötige Hilfe beim Json in Datenpunkte umwandeln

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      wolfi913 @2hot4you last edited by

      @2hot4you sagte in benötige Hilfe beim Json in Datenpunkte umwandeln:

      Was bedeutet das ?

      Nur eine Vermutung da ich Dein Script nicht kenne.
      Evtl. steht im Datenpunkt den Du auswerten willst nichts drin.

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @2hot4you last edited by Homoran

        @2hot4you sagte in benötige Hilfe beim Json in Datenpunkte umwandeln:

        Was bedeutet das ?

        zeig doch mal dein Blockly und den erzeugten JS-Code

        2 1 Reply Last reply Reply Quote 0
        • 2
          2hot4you @Homoran last edited by

          @homoran

          anbei der Code vom Blockly. Ich habe alle Datenpunkte geprüft, alle mit Werten.

          on({ id: [].concat(['mqtt.0.OpenInverterGateway']), change: 'ne' }, async (obj) => {
            let value = obj.state.val;
            let oldValue = obj.oldState.val;
            json = getState('mqtt.0.OpenInverterGateway').val;
            setState('0_userdata.0.Growatt.InverterStatus' /* InverterStatus */, getAttr(json, 'InverterStatus'), true);
            setState('0_userdata.0.Growatt.InputPower' /* InputPower */, getAttr(json, 'InputPower'), true);
            setState('0_userdata.0.Growatt.PV1InputPower' /* PV1InputPower */, getAttr(json, 'PV1InputPower'), true);
            setState('0_userdata.0.Growatt.PV2InputPower' /* PV2InputPower */, getAttr(json, 'PV2InputPower'), true);
            setState('0_userdata.0.Growatt.PV1EnergyToday' /* PV1EnergyToday */, getAttr(json, 'PV1EnergyToday'), true);
            setState('0_userdata.0.Growatt.PV2EnergyToday' /* PV2EnergyToday */, getAttr(json, 'PV2EnergyToday'), true);
            setState('0_userdata.0.Growatt.PVEnergyTotal' /* PVEnergyTotal */, getAttr(json, 'PVEnergyTotal'), true);
            setState('0_userdata.0.Growatt.DischargePower' /* DischargePower */, getAttr(json, 'DischargePower'), true);
            setState('0_userdata.0.Growatt.ChargePower' /* ChargePower */, getAttr(json, 'ChargePower'), true);
            setState('0_userdata.0.Growatt.BatteryVoltage' /* BatteryVoltage */, getAttr(json, 'BatteryVoltage'), true);
            setState('0_userdata.0.Growatt.BatteryTemperature' /* BatteryTemperature */, getAttr(json, 'BatteryTemperature'), true);
            setState('0_userdata.0.Growatt.BatteryState' /* BatteryState */, getAttr(json, 'BatteryState'), true);
            setState('0_userdata.0.Growatt.SOC' /* SOC */, getAttr(json, 'SOC'), true);
            setState('0_userdata.0.Growatt.ChargeEnergyToday' /* ChargeEnergyToday */, getAttr(json, 'ChargeEnergyToday'), true);
            setState('0_userdata.0.Growatt.OutputPower' /* OutputPower */, getAttr(json, 'OutputPower'), true);
            setState('0_userdata.0.Growatt.InverterTemperature' /* InverterTemperature */, getAttr(json, 'InverterTemperature'), true);
          });
          
          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @2hot4you last edited by Homoran

            @2hot4you sagte in benötige Hilfe beim Json in Datenpunkte umwandeln:

            setState('0_userdata.0.Growatt.PV1EnergyToday

            wenn das Zeile 9 ist, wird der DP angemeckert.

            @2hot4you sagte in benötige Hilfe beim Json in Datenpunkte umwandeln:

            anbei der Code vom Blockly.

            und wo ist

            @homoran sagte in benötige Hilfe beim Json in Datenpunkte umwandeln:

            zeig doch mal dein Blockly

            2 1 Reply Last reply Reply Quote 0
            • 2
              2hot4you @Homoran last edited by

              @homoran
              hier ist mein Blockly. Datenpunkt ist da

              blockly.png

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @2hot4you last edited by Homoran

                @2hot4you sagte in benötige Hilfe beim Json in Datenpunkte umwandeln:

                Datenpunkt ist da

                und wie sieht das json aus?
                ist da auch der Wert da?

                es geht auch nicht um den markierten Block!

                2 1 Reply Last reply Reply Quote 0
                • 2
                  2hot4you @Homoran last edited by

                  @homoran

                  so sieht das json aus

                  {
                    "InverterStatus": 5,
                    "InputPower": 0,
                    "PV1Voltage": 110,
                    "PV1InputCurrent": 0,
                    "PV1InputPower": 0,
                    "PV2Voltage": 165.6,
                    "PV2InputCurrent": 0,
                    "PV2InputPower": 0,
                    "OutputPower": 0,
                    "GridFrequency": 49.98,
                    "L1ThreePhaseGridVoltage": 409.4,
                    "L1ThreePhaseGridOutputCurrent": 0.3,
                    "L1ThreePhaseGridOutputPower": 314.1,
                    "L2ThreePhaseGridVoltage": 404.3,
                    "L2ThreePhaseGridOutputCurrent": 0.3,
                    "L2ThreePhaseGridOutputPower": 0,
                    "L3ThreePhaseGridVoltage": 412.1,
                    "L3ThreePhaseGridOutputCurrent": 0.3,
                    "L3ThreePhaseGridOutputPower": 0,
                    "TodayGenerateEnergy": 49.6,
                    "TotalGenerateEnergy": 912,
                    "TWorkTimeTotal": 1918900,
                    "PV1EnergyToday": 21.6,
                    "PV1EnergyTotal": 477.8,
                    "PV2EnergyToday": 32.3,
                    "PV2EnergyTotal": 509.2,
                    "PVEnergyTotal": 987,
                    "InverterTemperature": 31,
                    "TemperatureInsideIPM": 28.3,
                    "BoostTemperature": 27.4,
                    "DischargePower": 0,
                    "ChargePower": 0.1,
                    "BatteryVoltage": 212.8,
                    "SOC": 85,
                    "ACPowerToUser": 550,
                    "ACPowerToUserTotal": 550,
                    "ACPowerToGrid": 0,
                    "ACPowerToGridTotal": 0,
                    "INVPowerToLocalLoad": 550,
                    "INVPowerToLocalLoadTotal": 550,
                    "BatteryTemperature": 211,
                    "BatteryState": 5,
                    "EnergyToUserToday": 0.6,
                    "EnergyToUserTotal": 102.6,
                    "EnergyToGridToday": 40.7,
                    "EnergyToGridTotal": 619.7,
                    "DischargeEnergyToday": 4.3,
                    "DischargeEnergyTotal": 147.1,
                    "ChargeEnergyToday": 5.5,
                    "ChargeEnergyTotal": 151.1,
                    "LocalLoadEnergyToday": 12.9,
                    "LocalLoadEnergyTotal": 472.3,
                    "ACChargeEnergyToday": 0.1,
                    "ACChargeEnergyTotal": 15.2,
                    "Mac": "D4:D4:DA:CC:8F:98",
                    "Cnt": 1914
                  }
                  
                  Codierknecht 1 Reply Last reply Reply Quote 0
                  • Codierknecht
                    Codierknecht Developer Most Active @2hot4you last edited by

                    @2hot4you
                    Also ich würde das wie von @MartinP vorgeschlagen mit Aliasen lösen - komplett ohne Script.

                    2 1 Reply Last reply Reply Quote 0
                    • 2
                      2hot4you @Codierknecht last edited by

                      @codierknecht

                      ich habe umgestellt auf Alias 😉

                      I 1 Reply Last reply Reply Quote 0
                      • I
                        iobroker2001 @2hot4you last edited by

                        Eine Frage hierzu in die Runde:
                        Ich lese ebenfalls per Alias die MQTT-Daten des Growatt aus.
                        Abends, wenn der Inverter seinen Betrieb einstellt, fällt der JSON-Datenpunkt aber fast komplett aus.
                        In der JSON-Struktur ist dann nur noch der Inverterstatus zu sehen.
                        Dadurch werden die Aliaswerte alle auf NaN gesetzt.
                        Ist das bei Euch auch so?
                        Dann müsste ich doch mit einem Blockly die Werte erst zwischenspeichern.
                        Danke!

                        I 1 Reply Last reply Reply Quote 0
                        • I
                          iobroker2001 @iobroker2001 last edited by

                          Ich habe das erst einmal so gelöst:
                          2 Datenpunkte manuell angelegt (Leistung und EnergieHeute), die dann beschrieben werden, wenn der Inverter läuft:

                          ksnip_20241029-090446.png

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          477
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          7
                          18
                          808
                          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