Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten aus JSON mit Parser (Gira - X1 - Baustein)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Hallo Nochmal,

    ich habe das nun nochmal versucht, leider ohne Erfolg…
    Der XML/Json Parser, welcher im
    Gira X1 Logik Editor integriert ist, kann mit dieser Art des Zugriffs leider nicht umgehen!

    Hier muss anscheinend immer der Vollständige Pfad (z.B.: root/common_list/…) angegeben werden, was hier ja nicht möglich ist da der Wert nicht nach dem Doppelpunkt kommt und mehr Anführungszeichen vorhanden sind als beim Beispiel des Themenerstellers…

    Kommentar


      #17
      Zitat von Spiesi114 Beitrag anzeigen
      Der XML/Json Parser, welcher im Gira X1 Logik Editor integriert ist
      ​Ich nehme an Du meinst den nachinstallierten von mir. Oder gibt's da neuerdings einen "ab Werk"? Die folgenden Ausführungen beziehen sich jedenfalls auf den von mir.

      Zitat von Spiesi114 Beitrag anzeigen
      Gira X1 Logik Editor integriert ist, kann mit dieser Art des Zugriffs leider nicht umgehen!
      ​Doch, kann er ...

      Zitat von knxPaul Beitrag anzeigen
      Auf die Feldelemente greift man beispielsweise mit "rain"[2] zu.
      ... nur nicht so.

      Dokumentation lesen hilft. Da steht:

      Anders als bei vielen Logikbausteinen und Programmiersprachen beginnt die Zählung der Listeneinträge beim Index 1.

      Im Fall von JSON-Eingabetext sind folgende weitere Besonderheiten zu beachten:
      • Die Auswahl beginnt immer mit /root.
      • Die Indizierung von Listeneinträgen erfolgt nicht beim Element selbst, sondern über eine darin enthaltene item-Liste.​
      Also z. B. mit folgenden Pfaden:
      • /root/common_list/item[1]/val
      • /root/rain/item[3]/val
      Man kann statt über den Index auch über die ID adressieren:
      • /root/common_list/item[id="0x03"]/val
      Die Anführungszeichen im Eingabetext stören dabei nicht und müssen/dürfen im Pfad nur bei der Adressierung über Werte angegeben werden, nicht aber bei den Schlüsseln im eigentlichen Pfad.

      In den Ausgabewerten tauchen die Anführungszeichen, die im Eingabetext um die Werte stehen, nicht auf:

      grafik.png
      Zuletzt geändert von hyman; 09.04.2025, 06:38.

      Kommentar


        #18
        Hallo Hyman,

        ja genau, ich nutze auch den von dir zur Verfügung gestellten Baustein.

        Danke vielmals für die Ausführungen, die Dokumentation zum Baustein hätte ich eigentlich schon gelesen, jedoch nicht diesen Detailgrad verstanden.

        Besten Dank nochmal für die Hilfe!

        Kommentar


          #19
          Servus,
          leider komme ich mit einem ähnlichem Thema um die Ecke.
          Persönlich habe ich kaum Erfahrungen mit json oder xml, daher tue ich mich trotz der Beschreibung und div. Threads im Forum schwer dieses Json format auszuwerten.
          Selbst nach stundenlangem rum testen.

          Ich bräuchte nur den richtigen Pfad um den Wert unter values auszulesen.
          Vielleicht kann mir ja jemand ein Tipp geben.



          Angehängte Dateien

          Kommentar


            #20
            Das Problem ist der Key "00000000-0000-0000-0000-000000000000". Der funktioniert nicht, weil er kein gültiger XML-Key ist. Abhilfe: Erst mit der Formelberechnung den Key im Text durch einen textuellen key ersetzen (z. B. "null-key"), dann funktioniert der folgende Pfad:
            /root/null-key/values/item[1]

            Kommentar


              #21
              Danke für die Antwort, werde es später mal probieren.

              hyman ,
              hat geklappt.
              Allerdings ersetzt er mir z.B. den Wert 100, dann auch mit 1keykey, aber danach einfach nochmal deinen Baustein und aus key wieder 0 gemacht
              Zuletzt geändert von Daniel 84; 19.04.2025, 19:41.

              Kommentar


                #22
                Liebes Forum,

                ich versuche die Temperaturdaten meiner Inverter-Wärmepumpe die ein Webzugang hat (AquaTemp) im Gira X1 zu verarbeiten. Im ioBroker funktioniert das Ganze bereits sehr gut – dort nutze ich den Adapter „midas-aquatemp“, der mir zuverlässig die gewünschten Werte liefert. Danke dafür.

                Um diese Daten nun in den Gira X1 zu bekommen, verwende ich Node-red, das mir die Daten per HTTP-Request im JSON-Format zur Verfügung stellt. Die Abfrage im Gira X1 über den WebRequest-Baustein klappt bereits, und ich erhalte folgenden JSON-String:

                { "midas-aquatemp": { "0": { "tempOut": 31, "tempIn": 28.5, "rotor": 644, "state": true, "consumption": 2941.2 } } }

                Nun möchte ich die einzelnen Werte (z. B. tempOut) im Gira X1 weiterverarbeiten und habe versucht, sie mit dem Pfad /root/midas-aquatemp/item[0]/tempOut mit dem super XML/JSON Parsen Baustein aufzuteilen (ach danke für den Baustein). Leider erhalte ich immer die Fehlermeldung, dass der Pfad im Eingabetext nicht gefunden wurde.

                Ich freue mich über jeden Hinweis – vielen Dank im Voraus für eure Hilfe!

                Herzliche Grüße,
                Alex

                Kommentar


                  #23
                  Zitat von Alzi Beitrag anzeigen
                  Liebes Forum,

                  ich versuche die Temperaturdaten meiner Inverter-Wärmepumpe die ein Webzugang hat (AquaTemp) im Gira X1 zu verarbeiten. Im ioBroker funktioniert das Ganze bereits sehr gut – dort nutze ich den Adapter „midas-aquatemp“, der mir zuverlässig die gewünschten Werte liefert. Danke dafür.


                  Herzliche Grüße,
                  Alex
                  Hallo!

                  Ich habe auch eine Wärmepumpe die Aqua temp nutzt. Wenn du da Lösungen hast, bitte PN oder schreiben.
                  Wie machst du das mit Node-Red? Und wenn du eine Lösung für den X1 hast, lass es mich bitte wissen.
                  Danke. MFG Andi

                  Kommentar


                    #24
                    Alzi
                    Zitat von hyman Beitrag anzeigen
                    Anders als bei vielen Logikbausteinen und Programmiersprachen beginnt die Zählung der Listeneinträge beim Index 1.
                    Vermutlich ist item[0] also schon der entscheidende Fehler.

                    Kommentar


                      #25
                      Zitat von Copymaster Beitrag anzeigen
                      Alzi

                      Vermutlich ist item[0] also schon der entscheidende Fehler.
                      Ich habe leider ohne Erfolg probiert:

                      /root/midas-aquatemp/item[0]/tempOut
                      /root/midas-aquatemp/item[1]/tempOut
                      /root/midas-aquatemp/[0]/tempOut
                      /root/midas-aquatemp/[1]/tempOut
                      /root/midas-aquatemp/0/tempOut
                      /root/midas-aquatemp/1/tempOut

                      Was kann ich noch probieren?​

                      Kommentar


                        #26
                        1. Im JSON von #22 sehe ich keine eckige Klammer auf [ => kein Array
                        2. "0" ist kein gültiger XML-key, siehe #20 =>
                        3. Erst mit der Formelberechnung den Key im Text durch einen textuellen key ersetzen (z. B. "null-key") ersetzten
                        4. Dann /root/null-key/tempOut

                        Kommentar

                        Lädt...
                        X