Skip to content
  • Home
  • 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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Funktion zum auslesen der Leistungsdaten SMA WEBBOX

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    334

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

Funktion zum auslesen der Leistungsdaten SMA WEBBOX

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
14 Beiträge 5 Kommentatoren 3.7k Aufrufe
  • Ä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.
  • paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #4

    Ich wollte die Objektstruktur besser sichtbar machen.

    Von node-red habe ich keine Ahnung. Vielleicht so ?

    return  { payload: msg.payload.result.overview[1].value };
    

    oder so ?

    return msg.result.overview[1].value ;
    

    oder, da die Ausgabe "msg.payload" ist, so ?

    return  { payload: msg.result.overview[1].value };
    

    Ich hoffe, dass eine der Varianten funktioniert ;)

    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
    • N Offline
      N Offline
      nobody
      schrieb am zuletzt editiert von
      #5

      Hallo,

      Eine kleine Änderung ist notwendig:

      msg.payload=msg.payload.result.overview [1].value;

      return msg;

      Gesendet von meinem SM-G900F mit Tapatalk

      1 Antwort Letzte Antwort
      0
      • paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #6

        @nobody:

        msg.payload=msg.payload.result.overview [1].value;

        return msg; `
        Das sollte identisch zu meinem ersten Vorschlag sein.

        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
        • N Offline
          N Offline
          nobody
          schrieb am zuletzt editiert von
          #7

          Praktisch ja, rein formell nein. Zu einem korrekten Message Objekt gehören per Definition mindestens die Attribute payload und topic, auch wenn diese leer sind.

          Gesendet von meinem SM-G900F mit Tapatalk

          1 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #8

            @nobody:

            Zu einem korrekten Message Objekt gehören per Definition mindestens die Attribute payload und topic, auch wenn diese leer sind. `
            Danke für die Information.

            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
            • W Offline
              W Offline
              wobo
              schrieb am zuletzt editiert von
              #9

              Hat super funktioniert

              hier die Lösung

              msg1 = {};

              msg1.payload = msg.payload.result.overview[0].value + " " + msg.payload.result.overview[0].unit;

              msg2 = {};

              msg2.payload = msg.payload.result.overview[1].value + " " + msg.payload.result.overview[1].unit;

              msg3 = {};

              msg3.payload = msg.payload.result.overview[2].value + " " + msg.payload.result.overview[2].unit ;

              return [msg1,msg2,msg3];

              mir ist noch unklar wie die Funktion aussehen müsste wenn der folgende String abgefragt wird.

              {"result":{"devices":[{"channels":[{"meta":"Ipv","name":"DC Strom Eingang","unit":"A","value":"0"},{"meta":"Upv-Ist","name":"DC Spannung Eingang","unit":"V","value":"0"},{"meta":"WindVel m/s","name":"Windgeschwindigkeit","unit":"m/s","value":"2.4"},{"meta":"TmpAmb C","name":"Au\u00DFentemperatur","unit":"\u00B0C","value":"20.3"},{"meta":"IntSolIrr","name":"Einstrahlung","unit":"W/m^2","value":"75"},{"meta":"Fac","name":"Netzfrequenz","unit":"Hz","value":"0"},{"meta":"Iac-Ist","name":"Netzstrom","unit":"A","value":"0"},{"meta":"Pac","name":"Leistung","unit":"W","value":"0"},{"meta":"Riso","name":"Isolationswiderstand","unit":"Ohm","value":"0"},{"meta":"TmpMdul C","name":"Modultemperatur","unit":"\u00B0C","value":"22.3"},{"meta":"h-On","name":"Einspeisezeit","unit":"h","value":"0"},{"meta":"h-Total","name":"Betriebszeit","unit":"h","value":"0"},{"meta":"E-Total","name":"Gesamtertrag","unit":"kWh","value":"0"},{"meta":"Netz-Ein","name":"Anzahl Netzzuschaltungen","value":"0"}],"key":"0088:0000725b"}]},"format":"JSON","proc":"GetProcessData","version":"1.0","id":"1"}

              1 Antwort Letzte Antwort
              0
              • N Offline
                N Offline
                nobody
                schrieb am zuletzt editiert von
                #10

                Gib das json objekt doch mal hier in das Formular ein:

                http://jsonprettyprint.com

                Dann wird es richtig formatiert und man sieht die Ebenen und Arrays für den Zugriff auf die Attribute.

                Gesendet von meinem SM-G900F mit Tapatalk

                1 Antwort Letzte Antwort
                0
                • W Offline
                  W Offline
                  wobo
                  schrieb am zuletzt editiert von
                  #11

                  Danke für den Tip.

                  es sind 2 Arrays wie fragt man die dann ab ? Ich würde dann gerne die Modultemperatur auslesen.

                  {

                  "result": {

                  "devices": [

                  {

                  "channels": [

                  {

                  "meta": "Ipv",

                  "name": "DC Strom Eingang",

                  "unit": "A",

                  "value": "0"

                  },

                  {

                  "meta": "Upv-Ist",

                  "name": "DC Spannung Eingang",

                  "unit": "V",

                  "value": "0"

                  },

                  {

                  "meta": "WindVel m/s",

                  "name": "Windgeschwindigkeit",

                  "unit": "m/s",

                  "value": "2.4"

                  },

                  {

                  "meta": "TmpAmb C",

                  "name": "Au\u00dfentemperatur",

                  "unit": "\u00b0C",

                  "value": "20.3"

                  },

                  {

                  "meta": "IntSolIrr",

                  "name": "Einstrahlung",

                  "unit": "W/m^2",

                  "value": "75"

                  },

                  {

                  "meta": "Fac",

                  "name": "Netzfrequenz",

                  "unit": "Hz",

                  "value": "0"

                  },

                  {

                  "meta": "Iac-Ist",

                  "name": "Netzstrom",

                  "unit": "A",

                  "value": "0"

                  },

                  {

                  "meta": "Pac",

                  "name": "Leistung",

                  "unit": "W",

                  "value": "0"

                  },

                  {

                  "meta": "Riso",

                  "name": "Isolationswiderstand",

                  "unit": "Ohm",

                  "value": "0"

                  },

                  {

                  "meta": "TmpMdul C",

                  "name": "Modultemperatur",

                  "unit": "\u00b0C",

                  "value": "22.3"

                  },

                  {

                  "meta": "h-On",

                  "name": "Einspeisezeit",

                  "unit": "h",

                  "value": "0"

                  },

                  {

                  "meta": "h-Total",

                  "name": "Betriebszeit",

                  "unit": "h",

                  "value": "0"

                  },

                  {

                  "meta": "E-Total",

                  "name": "Gesamtertrag",

                  "unit": "kWh",

                  "value": "0"

                  },

                  {

                  "meta": "Netz-Ein",

                  "name": "Anzahl Netzzuschaltungen",

                  "value": "0"

                  }

                  ],

                  "key": "0088:0000725b"

                  }

                  ]

                  },

                  "format": "JSON",

                  "proc": "GetProcessData",

                  "version": "1.0",

                  "id": "1"

                  }

                  1 Antwort Letzte Antwort
                  0
                  • N Offline
                    N Offline
                    nobody
                    schrieb am zuletzt editiert von
                    #12

                    Einfach durchhangeln. Z. B.

                    msg.payload.result.devices[0].channels [0].value

                    Wenn nur die Werte und Einheiten interessant sind, bleibt das erste Array konstant auf 0. Die Anzahl der Einträge im zweiten Array bekommt man mit msg.payload.result.devices[0].channels.length.

                    Jetzt kommt es drauf an, was mit den Werten passieren soll.

                    Gesendet von meinem GT-N8000 mit Tapatalk

                    1 Antwort Letzte Antwort
                    0
                    • J Offline
                      J Offline
                      jamesmalvi
                      schrieb am zuletzt editiert von
                      #13

                      @nobody:

                      Gib das json objekt doch mal hier in das Formular ein:

                      http://jsonprettyprint.com

                      Dann wird es richtig formatiert und man sieht die Ebenen und Arrays für den Zugriff auf die Attribute.

                      Gesendet von meinem SM-G900F mit Tapatalk `

                      Ich benutze https://jsonformatter.org/json-pretty-print und https://codebeautify.org/jsonviewer

                      1 Antwort Letzte Antwort
                      0
                      • boeserkornB Offline
                        boeserkornB Offline
                        boeserkorn
                        schrieb am zuletzt editiert von
                        #14

                        @wobo

                        hast du es gelöst… ich bekomme leider noch nicht mal eine Rückmeldung von der Webbox, wäre schön wenn du mir da helfen könntest.

                        Danke

                        @wobo:

                        Danke für den Tip.

                        es sind 2 Arrays wie fragt man die dann ab ? Ich würde dann gerne die Modultemperatur auslesen.

                        {

                        "result": {

                        "devices": [

                        {

                        "channels": [

                        {

                        "meta": "Ipv",

                        "name": "DC Strom Eingang",

                        "unit": "A",

                        "value": "0"

                        },

                        {

                        "meta": "Upv-Ist",

                        "name": "DC Spannung Eingang",

                        "unit": "V",

                        "value": "0"

                        },

                        {

                        "meta": "WindVel m/s",

                        "name": "Windgeschwindigkeit",

                        "unit": "m/s",

                        "value": "2.4"

                        },

                        {

                        "meta": "TmpAmb C",

                        "name": "Au\u00dfentemperatur",

                        "unit": "\u00b0C",

                        "value": "20.3"

                        },

                        {

                        "meta": "IntSolIrr",

                        "name": "Einstrahlung",

                        "unit": "W/m^2",

                        "value": "75"

                        },

                        {

                        "meta": "Fac",

                        "name": "Netzfrequenz",

                        "unit": "Hz",

                        "value": "0"

                        },

                        {

                        "meta": "Iac-Ist",

                        "name": "Netzstrom",

                        "unit": "A",

                        "value": "0"

                        },

                        {

                        "meta": "Pac",

                        "name": "Leistung",

                        "unit": "W",

                        "value": "0"

                        },

                        {

                        "meta": "Riso",

                        "name": "Isolationswiderstand",

                        "unit": "Ohm",

                        "value": "0"

                        },

                        {

                        "meta": "TmpMdul C",

                        "name": "Modultemperatur",

                        "unit": "\u00b0C",

                        "value": "22.3"

                        },

                        {

                        "meta": "h-On",

                        "name": "Einspeisezeit",

                        "unit": "h",

                        "value": "0"

                        },

                        {

                        "meta": "h-Total",

                        "name": "Betriebszeit",

                        "unit": "h",

                        "value": "0"

                        },

                        {

                        "meta": "E-Total",

                        "name": "Gesamtertrag",

                        "unit": "kWh",

                        "value": "0"

                        },

                        {

                        "meta": "Netz-Ein",

                        "name": "Anzahl Netzzuschaltungen",

                        "value": "0"

                        }

                        ],

                        "key": "0088:0000725b"

                        }

                        ]

                        },

                        "format": "JSON",

                        "proc": "GetProcessData",

                        "version": "1.0",

                        "id": "1"

                        } `

                        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

                        539

                        Online

                        32.5k

                        Benutzer

                        81.7k

                        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