Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

LBS 19001074 - mehrstufige Strings auflösen

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

    LBS 19001074 - mehrstufige Strings auflösen

    Hallo Gemeinde,

    als Nichtprogrammierer brauche ich Hilfe, um meine JSON-Ausgabe mit dem LBS 19001074 zu interpretieren.

    Die Werte aus der ersten Ebene bekomme ich raus. Z.B. E1=ID --> A1={"SN":"XXXX","DC":1,"PV":"1.6.0"}
    Ich brauche Werte aus der zweiten und dritten Ebene und offenbar liest der LBS nur die erste aus. Z.B. E2=EOUT --> A2=

    Kann mir jemand helfen?


    {
    "ID":{"SN":"XXXX","DC":1,"PV":"1.6.0"} ,
    "TI":[XXXX,XXXX],
    "S":{"PR":0.0,"SYSSTAT":"00039000","SYSERR":"0 0000 000","RRM":"80008000","SDR":0,"RST":0,"RCNT":12," B CNT":255,
    "AC":{"ACSS":8,"ACSTAT":"00000100","ACERR":"25 0000 00","ACV":355.8,"ACI":0.00,"ACT":0.0,"ACF":49.99 0} ,
    "B":{"BSS":0,"CELL":{"TMIN":24.0,"TMEAN":25.0, "TMA X":26.0,"VMIN":3701,"VMEAN":3703,"VMAX":3707,"R IMI N":2.0,"RIMEAN":2.0,"RIMAX":2.0,"RIMAXN":0,"RIM INN ":0},
    "SOC":52,"SOH":99,"COUT":112.177,"CIN":165.886,"EO UT":134600.594,"EIN":199422.906,"BIC":-30.00,"BID":30.00,"BI":0.14,"BV":119.4,"CANINFO":" 00000000","LTCINFO":"00000000","BERR":"00000000"," BCANRR":["1","1","1","1"],"LTCCNT":0},
    "AB":{"RCV":1.572,"RCI":0.112,"RCF":40.042,"RC S":0 .000,"RCP":0.000,"RCQ":0.000,"RCT_P":27.123,"RCT_A ":33.602},
    "DC":{"DCSTAT":"05000000","DCERR":"00000000"," DCIC ":1.01,"DCID":1.01,"DCI":0.05,"DCV":349.8,"TSU ":23 .0,"TSD":21.0,"TAMB":29.0}
    },
    "H":{"HP":16.6},
    "N":{"NP":918.0,"NF":49.970,"NV":232.0},
    "A":{"VSYS":18697,"VBKP":2571},
    "C":{"V":"5.7.294","BL":"1.3.540","HW":"2.1_BV 7"," SN":["XXXX","7XXXX","XXXX"," XXXX","XXXX"],"ACS":"810","DCAC":"0.6.28","RCHW":"3"},
    "P":{"TZ":"Europe/Berlin","GC":"0","PRW":0.0,"CSOC":0,"DSOC":0,"BSOC ":0,"IP":"192.168.X.X","NM":"255.255.255.0","G W": "192.168.X.X","DNS":"192.168.X.X","DHCP":true}
    }​

    #2
    Auf den ersten Blick üwrde ich mal behaupten, der JSON-String ist korrumpiert, so dass es schwierig wird, diesen zu zerlegen. Du kannst den String u.a. bei https://jsonpathfinder.com/ ausprobieren. Dort werden aber diverse Fehler angezeigt.
    Fehlerkorrigiert sieht er dann so aus (Achtung: Die 2. Zeile habe ich gelöscht):

    Code:
    {
        "ID": {
            "SN": "XXXX",
            "DC": 1,
            "PV": "1.6.0"
        },
        "S": {
            "PR": 0,
            "SYSSTAT": "00039000",
            "SYSERR": "0 0000 000",
            "RRM": "80008000",
            "SDR": 0,
            "RST": 0,
            "RCNT": 12,
            " B CNT": 255
        },
        "AC": {
            "ACSS": 8,
            "ACSTAT": "00000100",
            "ACERR": "25 0000 00",
            "ACV": 355.8,
            "ACI": 0,
            "ACT": 0,
            "ACF": 49.99
        },
        "B": {
            "BSS": 0,
            "CELL": {
                "TMIN": 24,
                "TMEAN": 25,
                "TMA X": 26,
                "VMIN": 3701,
                "VMEAN": 3703,
                "VMAX": 3707,
                "R IMI N": 2,
                "RIMEAN": 2,
                "RIMAX": 2,
                "RIMAXN": 0,
                "RIM INN ": 0
            },
            "SOC": 52,
            "SOH": 99,
            "COUT": 112.177,
            "CIN": 165.886,
            "EO UT": 134600.594,
            "EIN": 199422.906,
            "BIC": -30,
            "BID": 30,
            "BI": 0.14,
            "BV": 119.4,
            "CANINFO": " 00000000",
            "LTCINFO": "00000000",
            "BERR": "00000000",
            " BCANRR": [
                "1",
                "1",
                "1",
                "1"
            ],
            "LTCCNT": 0
        },
        "AB": {
            "RCV": 1.572,
            "RCI": 0.112,
            "RCF": 40.042,
            "RC S": 0,
            "RCP": 0,
            "RCQ": 0,
            "RCT_P": 27.123,
            "RCT_A ": 33.602
        },
        "DC": {
            "DCSTAT": "05000000",
            "DCERR": "00000000",
            " DCIC ": 1.01,
            "DCID": 1.01,
            "DCI": 0.05,
            "DCV": 349.8,
            "TSU ": 23,
            "TSD": 21,
            "TAMB": 29
        },
        "H": {
            "HP": 16.6
        },
        "N": {
            "NP": 918,
            "NF": 49.97,
            "NV": 232
        },
        "A": {
            "VSYS": 18697,
            "VBKP": 2571
        },
        "C": {
            "V": "5.7.294",
            "BL": "1.3.540",
            "HW": "2.1_BV 7",
            " SN": [
                "XXXX",
                "7XXXX",
                "XXXX",
                " XXXX",
                "XXXX"
            ],
            "ACS": "810",
            "DCAC": "0.6.28",
            "RCHW": "3"
        },
        "P": {
            "TZ": "Europe/Berlin",
            "GC": "0",
            "PRW": 0,
            "CSOC": 0,
            "DSOC": 0,
            "BSOC ": 0,
            "IP": "192.168.X.X",
            "NM": "255.255.255.0",
            "G W": "192.168.X.X",
            "DNS": "192.168.X.X",
            "DHCP": true
        }
    }​
    EIne Hilfestellung zum Auslesen findest Du u.a. hier: https://knx-user-forum.de/forum/proj...hen-des-pfades

    Kommentar


      #3
      Ob es mit dem LBS19001074 geht kann ich nicht sagen, aber mit dem 19001208 geht es auf jeden Fall.
      Dort könntest du beispielhaft mit dem JSON an E1 und "B|CELL|TMEAN" an E2 den Wert 25 an A2 extrahieren.

      Kommentar


        #4
        Vielen Dank für die Antworten!

        Mit dem LBS19001208 funktioniert es!
        Ich habe mir gleich den LBS19001116 installiert. Der beinhaltet den LBS19001208 + LBS19000933 für die Abfrage der Daten. Hier kann ich direkt die URL (lokal im LAN) des EnergyManagers eingeben und bekomme die Werte - funktioniert super!

        Allerdings klappt es bei der Abfrage der Wetterdaten nicht - hier werden schlicht keine Daten heruntergeladen.
        Wenn ich die URL im Browser eingebe bekomme ich den gewünschten JSON-String

        https://s3.eu-central-1.amazonaws.co...mix_10184.json

        Im Log finde ich diesen Fehler:
        2023-07-04 21:39:30 832576 ? 19776 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19001000.php | Fehlercode: 2 | Zeile: 36 | file_get_contents(): SSL: Connection reset by peer ERROR
        2023-07-04 21:39:30 832830 ? 19776 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19001000.php | Fehlercode: 2 | Zeile: 36 | file_get_contents(): Failed to enable crypto ERROR
        2023-07-04 21:39:30 833904 ? 19776 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19001000.php | Fehlercode: 2 | Zeile: 36 | file_get_contents(https://s3.eu-central-1.amazonaws.co...x_10184.json): failed to open stream: operation failed ERROR
        ​​


        Woran kann das liegen?

        Kommentar


          #5
          Danke McJameson​ für den JSON Path Finder - wirklich hilfreich!

          Kommentar


            #6
            Danke jonofe​ für den Hinweis auf den alternativen LBS!!

            Kommentar

            Lädt...
            X