NEWS
JSON Inhalt von Website auslesen
-
Hallo,
ich habe mir im Forum einige Tips zum auslesen von JSON angesehen, aber irgendwie wollen die nich auf den Inhalt greifen den ich haben.
Anbei der Inhalt der bei mir angezeigt wird wenn ich die URL eingeben:{"UPTIME":"00d 00:45:26","RSSI":96,"VERSION":"1.10 04.05.2023 06:16","DEVICENAME":"T2SG8BBF6C","STATICIP":"192.168.88.68","STATICGW":"192.168.88.1","STATICSN":"255.255.255.0","VGRID":236.8,"VBAT":25.6,"SETACPOWER":700,"TEMP":42,"DAC":23637,"CALSTEP":0,"MAXPOWER":"700","POWERLIMIT":700,"VBATCUTOFF":24,"VBATREBOOT":24.5,"SUN2IP":"","SUN3IP":"","SUN2ROUNDTRIP":"0","SUN2SETPOINT":0,"SUN2POWERLIMIT":0,"SUN3ROUNDTRIP":"0","SUN3SETPOINT":0,"SUN3POWERLIMIT":0,"METERURL":"http://192.168.88.57/status","METER_USER":"admin","METER_PASS":"","JSONKEYS":"total_power","METERINTERVAL":"500","METERREADOUT":142,"ZEPCTARGET":"15","ZEPCAVERAGE":"20","MQTT_SERVER":"","MQTT_PORT":"1883","MQTT_USER":"","MQTT_PASS":"","HADISCOVERY":0,"MQTT_ACSETPOINTOVR_NAME":"T2SG8BBF6C/ACSETPOINTOVR","MQTT_ACSETPOINTOVR_VALUE":"","MQTT_DACOVR_NAME":"T2SG8BBF6C/DACOVR","MQTT_DACOVR_VALUE":"","MQTT_CALSTEPOVR_NAME":"T2SG8BBF6C/CALSTEPOVR","MQTT_CALSTEPOVR_VALUE":"","MQTT_METEROVR_NAME":"T2SG8BBF6C/METEROVR","MQTT_METEROVR_VALUE":"","MQTT_MAXPOWEROVR_NAME":"T2SG8BBF6C/MAXPOWEROVR","MQTT_MAXPOWEROVR_VALUE":"","MQTT_TARGETOVR_NAME":"T2SG8BBF6C/TARGETOVR","MQTT_TARGETOVR_VALUE":"","MQTT_ACSETPOINT_NAME":"T2SG8BBF6C/ACSETPOINT","MQTT_ACSETPOINT_VALUE":7000,"MQTT_ACDISPLAY_NAME":"T2SG8BBF6C/ACDISPLAY","MQTT_ACDISPLAY_VALUE":7211,"MQTT_VGRID_NAME":"T2SG8BBF6C/VGRID","MQTT_VGRID_VALUE":2368,"MQTT_VBAT_NAME":"T2SG8BBF6C/VBAT","MQTT_VBAT_VALUE":256,"MQTT_DAC_NAME":"T2SG8BBF6C/DAC","MQTT_DAC_VALUE":23637,"MQTT_CALSTEP_NAME":"T2SG8BBF6C/CALSTEP","MQTT_CALSTEP_VALUE":0,"MQTT_TEMPERATURE_NAME":"T2SG8BBF6C/TEMPERATURE","MQTT_TEMPERATURE_VALUE":42,"MQTT_METER_NAME":"T2SG8BBF6C/METER","MQTT_METER_VALUE":"2963.35","MQTT":"not set","ACPOWER":"721.10 W","ACPOWERSUN2":"not set","ACPOWERSUN3":"not set","METERPOWER":"2963.35 W","ZEPCPOWER":"2083.90 W"}
Ich möchte nur den Wert "VBAT" in einem Datenpunkt anzeigen lassen. Aber irgendwie klappt das nicht. Bei alles anderen Beispielen sehen die JSON Inhalte so sortiert aus, bei mir halt nur so wie oben zusehen.
Ich habe ein Blockly dazu gebaut, so wie ich meinte, dass es richtig wäre:Vielleicht hat ja jemand die passende Idee für mich. Ich dafür sehr dankbar.
Gruß
Andreas -
@ankubo sagte in JSON Inhalt von Website auslesen:
Wenn nur ein einziger Wert abgerufen werden soll, wäre es mit dem parser adapter einfacher
url im parser adapter einstellen
als pattern den folgenden ausdruck eintragen"VBAT":([\d\.]+),
Bei Typ number (.)
einstellen
-
@ankubo es muss
result
heißen -
@oliverio Perfect, ganz lieben Dank, das ist genau was ich gesucht habe. Jetzt funktioniert es
-
@oliverio Kannst Du mir sagen wie ich den "ACPOWER" herausbekomme? Habe einfach versucht das VBAT mit ACPOWER zu ersetzen, doch das geht scheinbar nicht. Liegt es daran, dass da noch eine Leerzeile ist und dann W kommt?
Verstehe leider die Zeichenfolge nicht. -
@ankubo sagte in JSON Inhalt von Website auslesen:
wie ich den "ACPOWER
welches?
Die Meter Werte
ACPOWER":"([\d.]+)
und oben bei SETACPOWERACPOWER":([\d.]+)
-
@homoran Nur ACPOWER, ohne Sun oder ähnliches dahinter. Der Wert mit den 721.20
-
@ankubo sagte in JSON Inhalt von Website auslesen:
@homoran Nur ACPOWER, ohne Sun oder ähnliches dahinter.
gibt es hinter VAC als SETACPOWER mit 700 und unten als MQTT Meter mit 712.20
(siehe letzten Post)
-
@homoran said in JSON Inhalt von Website auslesen:
MQTT Meter mit 712.20
Wie schon darüber geschrieben ist das, das ACPOWER mit den 721.20 W
-
wie noch, noch darüber geschrieben
@homoran sagte in JSON Inhalt von Website auslesen:
Die Meter Werte
ACPOWER":"([\d.]+)
und oben bei SETACPOWERACPOWER":([\d.]+)
-
Hier wird der Begriff deine Suche genau an deinem Beispiel erklärt
https://regex101.com/r/Kc7FYA/1Aber zugegeben regex ist für viele erst einmal eine harte Nuss, da es doch sehr kryptisch wirkt. Im endeffekt ist es die erweiterte Form von den Dateisuchpattern * und ?, aber mit unheimlich viel mehr Möglichkeiten
@Homoran das Escapen des Punkts in der Zeichauswahlliste ist zwar nicht notwendig, aber ich mache es trotzdem, das es klar ist, das hier der Punkt und nicht nur der any character Platzhalter ist
-
@oliverio sagte in JSON Inhalt von Website auslesen:
@Homoran das Escapen des Punkts in der Zeichauswahlliste ist zwar nicht notwendig, aber ich mache es trotzdem, das es klar ist, das hier der Punkt und nicht nur der any character Platzhalter ist
das ist auch wahrscheinlich die korrektere Art. Hab ich früher auch gemacht, bis ich einmal any character+ mit einem Punkt ohne escapen in einer Gruppe machen wollte und nichts klappte
-
@homoran sagte in JSON Inhalt von Website auslesen:
@oliverio sagte in JSON Inhalt von Website auslesen:
@Homoran das Escapen des Punkts in der Zeichauswahlliste ist zwar nicht notwendig, aber ich mache es trotzdem, das es klar ist, das hier der Punkt und nicht nur der any character Platzhalter ist
das ist auch wahrscheinlich die korrektere Art. Hab ich früher auch gemacht, bis ich einmal any character+ mit einem Punkt ohne escapen in einer Gruppe machen wollte und nichts klappte
Du weißt warum das kein Sinn macht? Zumindest bei Match newline?
-