NEWS
Node Red Script für Temperatur Ausgabe
-
Hallo liebe Gemeinde
Ich suche ein Script welches ich als Funktion in Node Red einfüge um dann nur den reinen Temperatur Wert zu erhalten.
Dieser Wert wird mir zur Zeit im Debug heraus gegeben:54,0 °C
Davon brauche ich wie gesagt nur die 54,0
Ich habe zwar ein Script hier gefunden, geht bei mir aber nicht, Wert 0 kommt dabei raus. http://forum.iobroker.net/viewtopic.php?f=32&t=4102
if (typeof msg.payload === 'string') {
var m = msg.payload.match(/(\d+,?\d*)/);
msg.payload = m ? parseFloat(m[1].replace(',', '.')) : msg.payload;
}
return msg;
Vorab schon mal ein Danke…
-
Hi
Ich bin da nicht der Super Experte, aber der msg.payload.match(/(\d+,?\d*)/); ist eine regex, also sowas wie ein Filter.
Theoretisch müsste ein /> * °/ schon etwas mehr finden. Man kann auch die > ° mit ausfiltern, aber da hört bei mir dann
das gefährliche Halbwissen auf
Suche mal nach regulären Ausdrücken im web…
LG
Uwe
-
Hab es selber hinbekommen. Das Script war nicht richtig, zumindest für mein Zweck.
So geht es:
var m = msg.payload.match(/(\d+,?\d+)/);
if (!m) m = msg.payload (/(\d+)/);
msg.payload = m ? parseFloat(m[1].replace(',', '.')) : msg.payload;
return msg;
Endlich werden mir die Temperaturen richtig angezeigt. Schade nur das mir hier keiner helfen konnte.
-
Hi
Aber dafür hast du der Nachwelt wieder ein nettes Snippet da gelassen.
Thank u well