FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: spel am 12 Juli 2017, 21:23:47

Titel: Teil eines Readings auswerten und weiterverwenden
Beitrag von: spel am 12 Juli 2017, 21:23:47
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
Titel: Antw:Teil eines Readings auswerten und weiterverwenden
Beitrag von: CoolTux am 12 Juli 2017, 21:52:07
JSON

json_decode

Sind schon zwei Hinweise und eine Möglichkeit von vielen.
Titel: Antw:Teil eines Readings auswerten und weiterverwenden
Beitrag von: CoolTux am 12 Juli 2017, 23:08:45
split geht auch noch. So als zweiter Tip
Titel: Antw:Teil eines Readings auswerten und weiterverwenden
Beitrag von: DeeSPe am 13 Juli 2017, 09:23:09
Oder einfach RegEx!

attr <NAME-DRUCKER> userReadings progress:Printing.* {my $v=ReadingsVal($NAME,"Printing",""); $v=~/..progress...(\d+),..location/; $1}

Gruß
Dan
Titel: Antw:Teil eines Readings auswerten und weiterverwenden
Beitrag von: DeeSPe am 14 Juli 2017, 17:58:54
Eigentlich brauchst Du noch nicht mal die Variable:
attr <NAME-DRUCKER> userReadings progress:Printing.* {ReadingsVal($NAME,"Printing","")=~/..progress...(\d+),..location/; $1}

Gruß
Dan