Befehlserkennung bei JSON virtueller http eingang?

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • RiverRaid
    LoxBus Spammer
    • 25.08.2015
    • 266

    Befehlserkennung bei JSON virtueller http eingang?

    Hy,

    Ich würde gerne bei einem virtuellen http-Eingang ein JSON einlesen und interpretieren, aber leider scheitere ich an der Befehlserkennung...


    Das JSON hat folgendes Format:
    Code:
     
     { "response": {  "r13": { "name": "Angle", "value": "0" }, "r14": { "name": "Charging State", "value": "2" },   
     }
    Ich würde gerne den wert 2 bei r14 value auslesen.
    Ich habe habe es auf mehere Variationen probiert und bin der Meinung, das das richtig sein müsste:
    r14": \ivalue\i": \v,
    aber es funktioniert leider nicht ;( Habt ihr ideen?


    LG,
    Andi
  • romildo
    Lebende Foren Legende
    • 25.08.2015
    • 5026

    #2
    Hallo Andi
    Ich würde es mal so versuchen:
    \ir14"\i\ivalue": "\i\v
    lg Romildo

    Kommentar

    • svethi
      Lebende Foren Legende
      • 25.08.2015
      • 6247

      #3
      Oder r14": \ivalue\i": "\v
      Und wenn das nicht klappt, hast Du Dir das auch im Quelltext angesehen, oder nur im Browser? Oftmals sind da nämlich noch Zeilenumbrüche drin die der Browser nicht anzeigt.

      Gruß Sven
      Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

      Kommentar

      • romildo
        Lebende Foren Legende
        • 25.08.2015
        • 5026

        #4
        Ich habe es soeben mit obigem Code noch getestet.
        Sofern dieser stimmt, funktionieren beide Varianten.
        lg Romildo

        Kommentar

        • RiverRaid
          LoxBus Spammer
          • 25.08.2015
          • 266

          #5
          Hey,

          Super, dankeschön!!
          r14": \ivalue\i": "\v funktioniert einwandfrei!

          LG,
          Andi

          Kommentar

          • HHoerner
            Extension Master
            • 26.09.2015
            • 101

            #6
            Hallo, ich stehe momentan beim auslesen folgenden virtuellen Eingangs an:
            Die Webabfrage liefert folgendes:
            {"Consumption_W":622,"Fac":50,"IsSystemInstalled": 1,"Pac_total_W":-9,"Production_W":0,"RSOC":3,"Timestamp":"2016-10-04 21:42:27","USOC":0,"Uac":233,"Ubat":46} Wie kann ich die Werte auslesen. Habe einen virtuellen HTTP Eingang mit der Abfrage die im Browser obiges Ergebnis liefert eingetragen. Darunter einen virtuellen HTTP Eingang Befehl in dem ich den Wert mit folgendem Parameter suche: Consumption_W" :\v Wert des Eingangs ist aber immer 0. Hat hier jemand einen Tip. Habe mit den virtuellen HTTP Eingängen bisher keine Erfahrung. LG und Danke im Voraus Herbert
            LG Herbert
            in Verwendung: Lox MS, Air, 1wire, EnOcean, Modbus, FastForward Energy Cams, Foscam IPCams, Fronius + Sonnenbattie, LG A/C, Hue, Sonos

            Kommentar

            • Christian Fenzl
              Lebende Foren Legende
              • 31.08.2015
              • 11082

              #7
              HHoerner Im Output ist zw. Anführungszeichen und Doppelpunkt kein Leerzeichen, in deiner Suche schon.
              Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

              Kommentar

              • HHoerner
                Extension Master
                • 26.09.2015
                • 101

                #8
                Ah, guter Punkt. Danke.
                Interessant ist dass der Browser ein Blank zeigt. Habe es hier aber mit copy/paste eingefügt. Muss mir daher den String mal in einem vernünftigen Editor ansehen.
                LG Herbert
                in Verwendung: Lox MS, Air, 1wire, EnOcean, Modbus, FastForward Energy Cams, Foscam IPCams, Fronius + Sonnenbattie, LG A/C, Hue, Sonos

                Kommentar

                • pumpinmo
                  Dumb Home'r
                  • 25.11.2017
                  • 12

                  #9
                  hallo zusamen,

                  ich möchte aus dem json output den wert bei value , also 0 abgreifen.

                  {
                  "6705": {
                  "name": "SW Diagnosecode",
                  "value": "0",
                  "unit": "",
                  "desc": "kein Fehler",
                  "dataType": 1
                  }
                  }


                  value\i": "\v

                  Ist die Befehlserkennung so korrekt?

                  Kommentar

                  • svethi
                    Lebende Foren Legende
                    • 25.08.2015
                    • 6247

                    #10
                    Nein, wie kommst Du auf value\i“..? value": "\v
                    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

                    Kommentar

                    • romildo
                      Lebende Foren Legende
                      • 25.08.2015
                      • 5026

                      #11
                      Zitat von svethi
                      Nein, wie kommst Du auf value\i“..?..
                      Das ist ein Teil Deines Vorschlages in #3

                      pumpinmo
                      das i wird für eine Textsuche verwendet.
                      Damit Loxone das mitbekommt, muss mit \i begonnen und mit \i beendet werden.
                      Also:
                      \iSuchtext\i

                      siehe Loxone Dokumentation.
                      Zuletzt geändert von romildo; 09.11.2018, 07:45.
                      lg Romildo

                      Kommentar


                      • Christian Fenzl
                        Christian Fenzl kommentierte
                        Kommentar bearbeiten
                        Hahaha 😛 Das Forum schluckt Sonderzeichen.
                        Nehmt Code-tags für sowas.
                    • pumpinmo
                      Dumb Home'r
                      • 25.11.2017
                      • 12

                      #12
                      Danke euch, probiere ich heute abend aus.

                      Kommentar

                      • Christian Fenzl
                        Lebende Foren Legende
                        • 31.08.2015
                        • 11082

                        #13
                        LoxBerry-User —> Command Recognition
                        Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                        Kommentar


                        • stefb
                          stefb kommentierte
                          Kommentar bearbeiten
                          sehr sehr cool! Vielen Dank Christian für das Plugin

                        • KapeOne
                          KapeOne kommentierte
                          Kommentar bearbeiten
                          Geil - gerade auf dein Plugin gestoßen, weil ich auch eine JSON Abfrage nicht sauber "zerlegen" konnte. Ganz dickes Lob dafür :-)
                      • Clubsport
                        MS Profi
                        • 11.01.2018
                        • 601

                        #14
                        Eins der geilsten Plugins mMn!!!

                        Kommentar

                        • pumpinmo
                          Dumb Home'r
                          • 25.11.2017
                          • 12

                          #15
                          leider funktioniert das noch nicht. Kurze Beschreibung:
                          Ich frage per virt. HTTP Eingang alle 15 Sekunden ab und bekomme folgenden Input

                          Monitor:
                          00000055 192.168.178.100 22:30:11.656 22:31:56.409 HTC received: {
                          00000056 192.168.178.100 22:30:11.656 22:31:56.409 HTC received: "6705": {
                          00000057 192.168.178.100 22:30:11.656 22:31:56.409 HTC received: "name": "SW Diagnosecode",
                          00000058 192.168.178.100 22:30:11.656 22:31:56.409 HTC received: "value": "0",
                          00000059 192.168.178.100 22:30:11.656 22:31:56.409 HTC received: "unit": "",
                          00000060 192.168.178.100 22:30:11.656 22:31:56.409 HTC received: "desc": "kein Fehler",
                          00000061 192.168.178.100 22:30:11.656 22:31:56.409 HTC received: "dataType": 1
                          00000062 192.168.178.100 22:30:11.656 22:31:56.409 HTC received: }

                          Anschließend versuche ich per Befehlserkennung value": "\v den Wert bei value, also 0 abzugreifen. Dies habe ich an einen Benachrichtigungsbaustein gekoppelt. Leider funktionierts nicht.
                          Jemand eine Idee?

                          Kommentar

                          Lädt...