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.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden