FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Byllyy am 15 Februar 2023, 17:00:30

Titel: [GELÖST] Userreading mit Regex
Beitrag von: Byllyy am 15 Februar 2023, 17:00:30
Hallo zusammen,
ich habe ein Gerät dem Reading statAenergy_total mit der Ausgabe Hour: 39.258 Day: 3937.463 Month: 3937.463 Year: 3937.463 (since: 2023-02-15 )
Nun brauche ich ein Userreading mit den Werten hinter Day ohne Kommastellen. (also 3937)

Ich habe versucht aus verschiedenen Threads ein Hilfe zu bekommen doch meine Versuche sind gescheitert.
Könnt Ihr mir bitte helfen die richtige Regex für dieses Problem zu finden?

Vielen Dank,
Byllyy
Titel: Antw:Userreading mit Regex
Beitrag von: Otto123 am 15 Februar 2023, 17:16:03
Hi,

ohne regExp  :)
So als Test für die Kommandozeile, das Prinzip sollte erkennbar sein
{my $val = 'Hour: 39.258 Day: 3937.463 Month: 3937.463 Year: 3937.463 (since: 2023-02-15 )';; my @arr = split ' ',$val;; int $arr[3]}


Gruß Otto
Titel: Antw:Userreading mit Regex
Beitrag von: DeeSPe am 15 Februar 2023, 17:28:11
Zitat von: Otto123 am 15 Februar 2023, 17:16:03
{my $val = 'Hour: 39.258 Day: 3937.463 Month: 3937.463 Year: 3937.463 (since: 2023-02-15 )';; my @arr = split ' ',$val;; int $arr[3]}

Das geht auch ohne die Variablenzuweisung:
{(split ' ','Hour: 39.258 Day: 3937.463 Month: 3937.463 Year: 3937.463 (since: 2023-02-15 )')[3]}

Gruß
Dan
Titel: Antw:Userreading mit Regex
Beitrag von: Icinger am 15 Februar 2023, 17:33:14
Öhm, das ist doch ein reading vom statistics-Modul.
Warum nutzt du nicht einfach das "singularReading"-Attribut dort, dann brauchst du nicht extra mit Userreadings und Regexes rumdoktern :)
Titel: Antw:Userreading mit Regex
Beitrag von: betateilchen am 15 Februar 2023, 18:11:10
Zitat von: Icinger am 15 Februar 2023, 17:33:14
Warum nutzt du nicht

ist doch völlig egal, warum - wann nach einer regex gefragt wird, kann man doch auch mit einer regex antworten, anstatt mit unzähligen Belehrungen...

Zitat von: Byllyy am 15 Februar 2023, 17:00:30
Nun brauche ich ein Userreading mit den Werten hinter Day ohne Kommastellen. (also 3937)
..
Könnt Ihr mir bitte helfen die richtige Regex für dieses Problem zu finden?

Nichts einfacher als das...

/Day..(\d+)/
Titel: Antw: [GELÖST] Userreading mit Regex
Beitrag von: Byllyy am 15 Februar 2023, 20:15:11
Vielen Dank für eure schnelle und gute Hilfe.
Ich habe es jetzt mit singularReading aus dem Statitics-Modul gelöst und wieder etwas dazu gelernt.

Danke und liebe Grüße,
Byllyy