Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JSON Datenpunkt auslesen - Problem : Doppelpunkt im Namen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    JSON Datenpunkt auslesen - Problem : Doppelpunkt im Namen

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active last edited by mickym

      @jkret sagte in JSON Datenpunkt auslesen - Problem : Doppelpunkt im Namen:

                                                                                                                                  {                                                                                                                                                                              "src": "shellypro3em-xxxxxxx",                                                                                                                                                                              "dst": "EnergieSP3/events",                                                                                                                                                                              "method": "NotifyStatus",                                                                                                                                                                              "params": {                                                                                                                                                                                "ts": 1690027815.41,                                                                                                                                                                                "em:0": {                                                                                                                                                                                  "id": 0,                                                                                                                                                                                  "a_act_power": 241.8,                                                                                                                                                                                  "a_aprt_power": 378.2,                                                                                                                                                                                  "a_current": 1.607,                                                                                                                                                                                  "a_pf": -0.73,                                                                                                                                                                                  "a_voltage": 235.5,                                                                                                                                                                                  "b_act_power": 168.9,                                                                                                                                                                                  "b_aprt_power": 262.1,                                                                                                                                                                                  "b_current": 1.113,                                                                                                                                                                                  "b_pf": -0.74,                                                                                                                                                                                  "b_voltage": 235.5,                                                                                                                                                                                  "c_act_power": 71,                                                                                                                                                                                  "c_aprt_power": 107.7,                                                                                                                                                                                  "c_current": 0.458,                                                                                                                                                                                  "c_pf": -0.74,                                                                                                                                                                                  "c_voltage": 235.5,                                                                                                                                                                                  "n_current": null,                                                                                                                                                                                  "total_act_power": 481.782,                                                                                                                                                                                  "total_aprt_power": 748.067,                                                                                                                                                                                  "total_current": 3.178                                                                                                                                                                                }                                                                                                                                                                              }                                                                                                                                                                            }                                            
      

      Ich seh da kein Problem:

      <xml xmlns="https://developers.google.com/blockly/xml">
       <block type="debug" id="r_zY,-uZU^OSh0R/rwYX" x="-437" y="-37">
         <field name="Severity">log</field>
         <value name="TEXT">
           <shadow type="text" id="v/|{u#jP[]v|Z2WLllU#">
             <field name="TEXT">{   "src": "shellypro3em-xxxxxxx",   "dst": "EnergieSP3/events",   "method": "NotifyStatus",   "params": {     "ts": 1690027815.41,     "em:0": {       "id": 0,       "a_act_power": 241.8,       "a_aprt_power": 378.2,       "a_current": 1.607,       "a_pf": -0.73,       "a_voltage": 235.5,       "b_act_power": 168.9,       "b_aprt_power": 262.1,       "b_current": 1.113,       "b_pf": -0.74,       "b_voltage": 235.5,       "c_act_power": 71,       "c_aprt_power": 107.7,       "c_current": 0.458,       "c_pf": -0.74,       "c_voltage": 235.5,       "n_current": null,       "total_act_power": 481.782,       "total_aprt_power": 748.067,       "total_current": 3.178     }   } }</field>
           </shadow>
           <block type="get_attr" id="4)-$aDqD{Z0s,RoV`cty">
             <value name="PATH">
               <shadow type="text" id="Z86fekT+Ir_b0;_Z5A8)">
                 <field name="TEXT">params.em:0.a_act_power</field>
               </shadow>
             </value>
             <value name="OBJECT">
               <block type="text" id="EaaF;,Dr9|!|(ekOs|zZ">
                 <field name="TEXT">{   "src": "shellypro3em-xxxxxxx",   "dst": "EnergieSP3/events",   "method": "NotifyStatus",   "params": {     "ts": 1690027815.41,     "em:0": {       "id": 0,       "a_act_power": 241.8,       "a_aprt_power": 378.2,       "a_current": 1.607,       "a_pf": -0.73,       "a_voltage": 235.5,       "b_act_power": 168.9,       "b_aprt_power": 262.1,       "b_current": 1.113,       "b_pf": -0.74,       "b_voltage": 235.5,       "c_act_power": 71,       "c_aprt_power": 107.7,       "c_current": 0.458,       "c_pf": -0.74,       "c_voltage": 235.5,       "n_current": null,       "total_act_power": 481.782,       "total_aprt_power": 748.067,       "total_current": 3.178     }   } }</field>
               </block>
             </value>
           </block>
         </value>
       </block>
      </xml>
      

      7ade730d-94ad-431a-aa03-98aa8dc6038d-image.png

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

        @jkret

        const em0 = JSON.parse(json).params['em:0'];
        log(em0.total_act_power);
        
        1 Reply Last reply Reply Quote 1
        • T
          ticaki Developer @jkret last edited by ticaki

          @jkret

          In ein paar Tagen hab ich ein Script fertig das all die Daten von shelly plus Geräten in Datenpunkt schreibt. Mit freiwählbarer Aktualisierungsrate. Das läuft schon aber ist noch mit was anderem vermischt.

          Wenn du mir das JSON das bei getstatus ankommt zeigen könntest wäre hilfreich

          J 1 Reply Last reply Reply Quote 0
          • J
            jkret @ticaki last edited by

            @mickym : Ich hatte den JSON-Baustein drin, damit ging es nicht. Das es auch ohne geht, hätte ich nicht gedacht.

            @paul53: Dein Variante klappt auch, den JSON aufzuteilen. Danke.

            @ticaki : Dann bin mal auf Dein Script gespannt...

            Danke an Alle - Problem gelöst

            1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active last edited by

              @ticaki Würde ich nie machen über Intervalle zu aktualisieren. Außerdem habe ich für sowas einen fertigen NodeRed Flow.

              T 1 Reply Last reply Reply Quote 0
              • T
                ticaki Developer @mickym last edited by ticaki

                @mickym
                Nicht mal power?

                Ist aber auch egal, käme mir nicht in den Sinn es anders zu machen.

                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @ticaki last edited by mickym

                  @ticaki na dann triggert power, das heißt man braucht kein Poll- Intervall. Man aktualisiert die Datenpunkte, dann wenn es ein Update gibt aber nicht mit fixen Zeitintervallen.Power aktualisiert sich unter Last alle 30 Sekunden, sonst dauert es länger

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    ticaki Developer @mickym last edited by

                    @mickym
                    Ja wie die FRITZ!Box irgendwann kommen dann mal Daten nein danke

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @ticaki last edited by mickym

                      @ticaki was nützt Dir denn Daten zu aktualisieren bzw. abzufragen , die eh nicht verändert sind. Das ist unnötig

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        ticaki Developer @mickym last edited by

                        @mickym
                        Bei uns schwankt der Wert für Volt durchgehend und der Wert für meine smarthome Zentrale ist auch alles andere als konstant. Ich aktualisiere auch nur die Stromwerte sehr häufig.

                        1 Reply Last reply Reply Quote 0
                        • H
                          Hasejs last edited by

                          @ticaki

                          Hallo

                          möchte auch über Mqtt vom 3EM Pro die aktuelle Gesamtleistung abgreifen.

                          In meinem Objektpfad tauchen keine Variablen auf.
                          Wie hast du das erreicht ?

                          Gruß Joachim

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            ticaki Developer @Hasejs last edited by

                            @hasejs
                            Ich hab ein Skript dazu geschrieben, das sollte mit jedem shellyplus gerät zurecht kommen und dir alle Wert als Datenpunkt liefern.

                            https://github.com/ticaki/iobroker-skript-sammlung/blob/main/mqtt-shellyplus.js

                            mußt die obersten 3 Konstanten anpassen

                            H 1 Reply Last reply Reply Quote 0
                            • H
                              Hasejs @ticaki last edited by

                              @ticaki

                              Sorry das ich noch einmal dumm frage... ich tu mich mit den Begrifflichkeiten schwer.

                              Meine shelly Client Id ist z.B. = shellypro3emxyz (Mqtt Prefix) (vermutlich deine Zeile 3)
                              mein Objektpfad heißt: 0_userdata/0/shellypro3emxyz (vermutlich deine Zeile 1)
                              mein Objektpfad für Mqtt heißt : mqtt/0/shelypro3emxyz (vermutlich deine Zeile 2)

                              ist das so richtig ??

                              Wie bekomme ich dein Skript in den Skript-Editor von Iobroker ?
                              JS Skript ist angelegt. Coursor blinkt auf Zeile 1

                              Nochmals Entschuldigung für die Anfängerfragen, hatte noch keine JS Kontakt.

                              Gruß Joachim

                              T mickym 3 Replies Last reply Reply Quote 0
                              • T
                                ticaki Developer @Hasejs last edited by

                                @hasejs
                                Will nicht diesen Topic kapern, deshalb poste ich die Antwort hier: https://forum.iobroker.net/topic/67168/script-um-shellyplus-und-das-addon-dazu-auszulesen-mqtt

                                1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @Hasejs last edited by

                                  @hasejs Ansonsten nimmst Du NodeRed und meinen Flow - der legt Dir alle Datenpunkte an.

                                  H 1 Reply Last reply Reply Quote 0
                                  • H
                                    Hasejs @mickym last edited by

                                    @mickym
                                    Hallo

                                    tut mir leid.... hab mir das heute mittag beim suchen einer Lösung schon angesehen.

                                    Mir ist das zu hoch... habe weder mit JS noch mit NodeRed bisher Kontakt gehabt.
                                    Ich denke da fehlen mir zu viele Hintergrundinfo´s um durchzusteigen.

                                    Wie ich schon geschrieben habe, benutzt ihr Begrifflichkeiten die ich nicht zuordnen kann.

                                    Bin eher der SPS Progi..

                                    Gruß Joachim

                                    mickym 1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @Hasejs last edited by mickym

                                      @hasejs Na ja ROM ist auch nicht an einem Tag erbaut worden. Du musst Dich halt mal mit den Logikmaschinen hier im iobroker beschäftigen.

                                      Es gibt 3:

                                      1. Javascript - herkömmliche,textbasierte Programmierung
                                      2. Blockly - Puzzeln
                                      3. NodeRed - grafische Programmierung.

                                      Alles basiert intern auf Javascript. Man kann auch mit Blockly und in NodeRed - normales Javascript nutzen - macht aber nur in Ausnahmefällen Sinn. Natürlich kann man sich einfach nun eine Lösung für ein konkretes Problem suchen - aber schöner wäre es doch, wenn man sich in Zukunft selbst helfen kann.

                                      Wie gesagt - ich kann Dir nur NodeRed empfehlen und kann Dir dabei auch helfen, aber Du musst halt erst mal entscheiden, wo denn Deine Reise hingehen soll.

                                      H 1 Reply Last reply Reply Quote 0
                                      • H
                                        Hasejs @mickym last edited by

                                        @mickym

                                        Ok, hab mir gerade den Nodered Adapter installiert.

                                        Werde aber erst morgen weitermachen.
                                        Du hörst von mir.

                                        Gruß Joachim

                                        mickym 1 Reply Last reply Reply Quote 0
                                        • T
                                          ticaki Developer @Hasejs last edited by

                                          @hasejs

                                          Antwort steht in dem anderen Topic im eröffnungsbeitrag. Wenn nicht verständlich einfach da nochmal nachfragen.

                                          1 Reply Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @Hasejs last edited by

                                            @hasejs Du kannst Dir ja mal den Thread bissi anschauen: https://forum.iobroker.net/topic/64204/shellys-alt-und-plus-über-mqtt-adapter

                                            ich glaube @hotspot_2 ist inzwischen auch ein überzeugter NodeRed User. 😉

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            23
                                            1385
                                            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