[gelöst]UITable: einen von mehreren Zahlenwerten aus Reading anzeigen

Begonnen von cwagner, 14 August 2022, 19:44:42

Vorheriges Thema - Nächstes Thema

cwagner

Hier scheitere ich mit dem Adaptieren der vielen Beispiele aus der Doku: ich möchte in einer UITabelle von [MyReading] aus dem Inhalt    
"Min: 0 Avg: 20 Max: 100" nur die mittlere Zahl anzeigen. Mit der ersten Zahl funktioniert es nach dem Schema [MyDevice:MyReading:d:"$1"],   $2 oder $4 ergeben jedoch NA
Auch [MyDevice:MyReading:"(\d\d):(\d\d)":"$1"] führt nicht zum Ziel.
Hier bin ich dann doch mal wieder auf einen "Schubser" angewiesen, lieber Damian


Herzliche Grüße

Christian
Raspbian 12, Perl 5.36.0, FHEM 6.4 auf PI5
320Devices in MariaDB: Steuerung Heizkessel & Speicher, FBH, Solarthermie, kontroll. Lüftung mit WRG
HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM ESP3), MQTT2, Shelly, SMA (eC2, PV, HM, HS)
DOIF (Perl/uiTable), PID20,Micropelt IRTV, SolarForecast,

Damian

Zitat von: cwagner am 14 August 2022, 19:44:42
Hier scheitere ich mit dem Adaptieren der vielen Beispiele aus der Doku: ich möchte in einer UITabelle von [MyReading] aus dem Inhalt    
"Min: 0 Avg: 20 Max: 100" nur die mittlere Zahl anzeigen. Mit der ersten Zahl funktioniert es nach dem Schema [MyDevice:MyReading:d:"$1"],   $2 oder $4 ergeben jedoch NA
Auch [MyDevice:MyReading:"(\d\d):(\d\d)":"$1"] führt nicht zum Ziel.
Hier bin ich dann doch mal wieder auf einen "Schubser" angewiesen, lieber Damian


Herzliche Grüße

Christian

Die Regex:

[MyDevice:MyReading:"Avg: (\d+) "]

sollte schon ausreichen, hierbei kann die Anzahl der Stellen für den Durchschnitt sogar variieren.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

cwagner

Vielen Dank, so einfach! Ich muss noch viel verstehen lernen.

Christian
Raspbian 12, Perl 5.36.0, FHEM 6.4 auf PI5
320Devices in MariaDB: Steuerung Heizkessel & Speicher, FBH, Solarthermie, kontroll. Lüftung mit WRG
HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM ESP3), MQTT2, Shelly, SMA (eC2, PV, HM, HS)
DOIF (Perl/uiTable), PID20,Micropelt IRTV, SolarForecast,

Damian

Das sind die allgemeinen Regex-Regeln. Bedeutet einfach: suche nach "Avg: " nehme dann so viele Ziffern \d+ bis " " kommt. Alles was in Klammen ist, hier also (\d+) wird dann unter $1 ausgegeben. $1 ist beim DOIF die Default-Ausgabe, wenn man keinen weiteren Output definiert.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF