[gelöst]tausender Trennzeichen userReadings

Begonnen von thiese, 24 Februar 2019, 09:04:55

Vorheriges Thema - Nächstes Thema

thiese

Hallo,

ich möchte ein userReadings "Entfernung" mit tausender Trennzeichen aus folgendem Reading erstellen.

ist:     MoonDistanceObserver =1234567890
soll:    Entfernung = 1.234.567.890

Hat jemand eine Idee?

Vielen Dank

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

thiese

#2
Danke für die Tipps. Ich komm aber leider nicht weiter.

Habe es so versucht. Läuft aber auf einen Fehler.
Entfernung {my $MoonDistanceObserver = (-?\d+)(\d{3})/$1.$2/;}

CoolTux

#3
Ist ja auch falsch.
Es scheint der erste Link zu sein. Da sind im übrigen noch mehr Links.

Aber bleiben wir beim Beispiel des ersten Links. Du hast falsch abgeschrieben und nicht nachgedacht. Beides kann Dir Probleme bereiten. Das ganze Prinzip basiert auf RegEx. Testen kannst du es hier
regex101.com

Und Du musst natürlich richtig abschreiben oder am besten kurz versuchen nach zu vollziehen was da passieren soll und warum Deine Lösung absolut falsch sein muss.
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

KernSani

Da fehlt auch zumindest ein /s. Google mal nach Suchen und ersetzen mit perl.


Kurz, weil mobil
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

thiese

#5
Dank für den Hinweis.

Hier die Lösung:
Entfernung { my$val=ReadingsVal("$name", "MoonDistanceObserver",0);;1 while $val =~ s/^(-?\d+)(\d{3})/$1.$2/;; return $val;;}

CoolTux

Super gemacht. Danke das Du die Lösung gepostet hast.

Schönen Sonntag gewünscht.
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

thiese