Ankündigung

Einklappen
Keine Ankündigung bisher.

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