FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: uwirt am 27 November 2023, 15:41:20

Titel: Text aus Wert eines Readings entfernen
Beitrag von: uwirt am 27 November 2023, 15:41:20
Folgendes "Problem":
Der Wert eines Readings mit dem Namen AS_DISKFREE ist 44.53G und ich möchte gerne das Reading mit demselben Namen mit dem Wert 44.53 (nur Zahlen, ohne das G).

Ich kann mit
attr pistatus userReadings DISKFREE:AS_DISKFREE:.* { ReadingsNum($name,"AS_DISKFREE",0) }den Wert ohne das "G" erhalten.

Aber wie kann ich die Bezeichnung AS_DISKFREE behalten?
Titel: Aw: Text aus Wert eines Readings entfernen
Beitrag von: MadMax-FHEM am 27 November 2023, 15:53:43
Evtl. https://wiki.fhem.de/wiki/ReadingsChange

Gruß, Joachim
Titel: Aw: Text aus Wert eines Readings entfernen
Beitrag von: betateilchen am 27 November 2023, 16:10:00
attr pistatus userReadings bla:AS_DISKFREE:.*[KMGT]$ { fhem("sleep 0.1;; setreading pistatus AS_DISKFREE ".ReadingsNum($name,"AS_DISKFREE",0));; }
Titel: Aw: Text aus Wert eines Readings entfernen
Beitrag von: uwirt am 27 November 2023, 16:31:53
Thank you for your suggestions.

It works using:
attr pistatus userReadings AS_DISKFREE { ReadingsNum($name,"AS_DISKFREE",0) }
Titel: Aw: Text aus Wert eines Readings entfernen
Beitrag von: betateilchen am 27 November 2023, 17:19:24
Ein userReading ohne einen vernünftigen Trigger ist ganz schlechter Stil.
Titel: Aw: Text aus Wert eines Readings entfernen
Beitrag von: uwirt am 28 November 2023, 14:46:10
Zitat von: betateilchen am 27 November 2023, 17:19:24Ein userReading ohne einen vernünftigen Trigger ist ganz schlechter Stil.


Ich werde dann den Rat befolgen.

Wie wäre denn die Lösung wenn es nicht nur um ein Reading sondern noch zwei zusätzliche mit demselben "G" zuviel handelt (AS_DISKSIZE und AS_DISKUSE)?
Titel: Aw: Text aus Wert eines Readings entfernen
Beitrag von: betateilchen am 28 November 2023, 14:51:28
commandref lesen kann helfen:

ZitatuserReadings
A comma-separated list of definitions of user-defined readings. Each definition has the form:
<reading>[:<trigger>] [<modifier>] { <perl code> }

Du kannst beliebig viele userReadings anlegen (deshalb trägt das Attribut ja auch eine Pluralform)