Komplexes Parsing bei HTTP Eingängen

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

    #1

    Komplexes Parsing bei HTTP Eingängen

    Ich würde gerne folgendes xml parsen und gewisse Werte (Themperatur, Feuchtigheit) in virtuelle Eingänge speichern.
    In den How-To's ist nur beschrieben dass man bei Befehlserkennung value="\<v> vewenden soll.
    Wie macht man es bei komplexeren xml wo mehrere "value" Einträge vorhanden sind?

  • romildo
    Lebende Foren Legende
    • 25.08.2015
    • 5146

    #2
    Man sucht nach einem eindeutigen Text vor dem value und danach zum Text value.
    In Deinem Besipiel für die aktuelle Temperatur:
    Code:
    ACTUAL_TEMPERATURE\ivalue="\i\v
    Edit:
    Code korrigiert.
    Zuletzt geändert von romildo; 15.11.2016, 08:36.
    lg Romildo

    Kommentar

    • Gast

      #3
      Warum verwendet man
      value="\i\v und nicht
      value="\v

      Kommentar

      • romildo
        Lebende Foren Legende
        • 25.08.2015
        • 5146

        #4
        Weil man nach dem Text nochmals einen Text suchen möchte und nicht den Wert.
        Vielleicht schaust Du Dir mal die Loxone Dokumentation an.
        lg Romildo

        Kommentar

        • romildo
          Lebende Foren Legende
          • 25.08.2015
          • 5146

          #5
          Sorry, habe da noch einen Fehler im Code entdeckt. Soll natürlich so heissen:
          Code:
           
           ACTUAL_TEMPERATURE\ivalue="\i\v[CODE]
          [/CODE]
          lg Romildo

          Kommentar

          • Gast

            #6
            Ok super, vielen dank, hab's jetzt endlich kappiert

            Kommentar


            • romildo
              romildo kommentierte
              Kommentar bearbeiten
              Bitte gerne.
              Dann muss es nur noch funktionieren
          • Gast

            #7
            Noch eine Frage:

            Wird der Wert
            value="false"
            Als digitaler Wert erkannt

            Kommentar

            • Gast

              #8
              Irgendwie funzt's nocht nicht.
              Entweder wird das xml nicht runtergeladen oder das parsing ist noch nicht ok.
              Wie kann man debuggen ob etwas vom https request zurückgeliefert wird?

              Was bedeutet die gelbe Markierung and den Eingängen in der Live-View?

              Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 2016-11-15_10-57-28.jpg Ansichten: 1 Größe: 203,2 KB ID: 65012

              Kommentar

              • romildo
                Lebende Foren Legende
                • 25.08.2015
                • 5146

                #9
                Zitat von lukics
                Irgendwie funzt's nocht nicht.......
                Hast Du denn auch die URL eingetragen und die Abfragezykluszeit abgewartet?

                Du kannst den Monitor starten und nach HTTP filtern.

                Die gelbe Markierung zeigt, wo der Wert steht. Wenn der Eingangswert zwischen -100 und +100 eingestellt ist, wird der Balken bei Wert 0 etwa in der Mitte stehen.

                lg Romildo

                Kommentar

                • Gast

                  #10
                  Klar habe ich übergeordnet the request eingetragen und auch im browser ausprobiert dass etwas zurückkommt.
                  Klingt zwar banal aber ich kämpfe schon eine 1/4 stunde den monitor zu finden. Enbaled habe ich Ihn aber wo ist das Fenster/Applikation

                  Kommentar


                  • romildo
                    romildo kommentierte
                    Kommentar bearbeiten
                    Im Menu Ansicht
                • romildo
                  Lebende Foren Legende
                  • 25.08.2015
                  • 5146

                  #11
                  Zitat von lukics
                  Noch eine Frage:

                  Wird der Wert
                  value="false"
                  Als digitaler Wert erkannt
                  Nein, es können nur Zahlen eingelesen werden.
                  Du kannst aber Beispielsweise nach dem Hexwert des Zeichens f (für false) und t (für true) abfragen und in einem Statusbaustein die Entscheidung treffen.
                  Die Befehlserkennung wäre dann Beispielsweise: .......\ivalue="\i\1
                  Als Antwort kommt dann Beispielsweise die Dezimalzahl 102 für f oder die Dezimalzahl 116 für t
                  lg Romildo

                  Kommentar

                  • Gast

                    #12
                    Ok danke
                    Mittlerweile den Monitor gefunden, aber nichts erscheint im monotor.

                    Kommentar


                    • romildo
                      romildo kommentierte
                      Kommentar bearbeiten
                      Was hast Du denn unter Diagnose - Debug-Info alles angehakt?
                  • Gast

                    #13
                    Ich bin über VPN im Netzwerk, kann es das sein?

                    Kommentar

                    • Gast

                      #14
                      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 2016-11-15_11-34-31.jpg
Ansichten: 279
Größe: 33,3 KB
ID: 65030Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 2016-11-15_11-35-15.jpg
Ansichten: 272
Größe: 141,3 KB
ID: 65031

                      Kommentar

                      • Thomas M.
                        Lebende Foren Legende
                        • 25.08.2015
                        • 3252

                        #15
                        Über VPN sehe ich bei mir am Monitor auch nichts.
                        Funktioniert nur, wenn du "echt" im selben Netzwerk bist.

                        Kommentar

                        Lädt...