Hallo,
ich habe gesucht aber verstehe die Ansätze nicht bzw. suche ich nicht dir richtigen Stichwörter..
Ich habe hier einen Drucker der per MQTT u. a. dieses Reading erhält:
Printing
{"progress": 21, "location": "local", "path": "data1.gcode"}
Hier möchte ich gerne den Zahlenwert "21", also von progress weiterverarbeiten (Anzeige, in TabletUI ausgeben etc.).
Für einen Hinweis wäre ich dankbar!
Christoph
JSON
json_decode
Sind schon zwei Hinweise und eine Möglichkeit von vielen.
split geht auch noch. So als zweiter Tip
Oder einfach RegEx!
attr <NAME-DRUCKER> userReadings progress:Printing.* {my $v=ReadingsVal($NAME,"Printing",""); $v=~/..progress...(\d+),..location/; $1}
Gruß
Dan
Eigentlich brauchst Du noch nicht mal die Variable:
attr <NAME-DRUCKER> userReadings progress:Printing.* {ReadingsVal($NAME,"Printing","")=~/..progress...(\d+),..location/; $1}
Gruß
Dan