[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
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

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
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

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