Teil eines Readings auswerten und weiterverwenden

Begonnen von spel, 12 Juli 2017, 21:23:47

Vorheriges Thema - Nächstes Thema

spel

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

CoolTux

JSON

json_decode

Sind schon zwei Hinweise und eine Möglichkeit von vielen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

DeeSPe

Oder einfach RegEx!

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

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

Eigentlich brauchst Du noch nicht mal die Variable:
attr <NAME-DRUCKER> userReadings progress:Printing.* {ReadingsVal($NAME,"Printing","")=~/..progress...(\d+),..location/; $1}

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe