NEWS
[gelöst] parser - negative Temperatur-Werte mit Leerzeichen?
-
@UncleSam sagte:
einfach den Wert inklusive Vorzeichen und in einen Text Datenpunkt zu speichern
Oder direkt per request() auslesen und verarbeiten.
schedule('*/5 * * * *', function() { request("http://192.168.178.200:3002/c_index.htm?C=8D200901", function(err, response, body) { if(!err && body) { let temp = parseFloat(body.replace(' ', '').replace(',', '.')); // evtl. ' ' durch ' ' ersetzen setState('0_userdata.0.Aussentemperatur', temp, true); } }); });Den Datenpunkt "0_userdata.0.Aussentemperatur" vorher erstellen.
in Pauls skript wird es doch in Zahl gewandelt:
@paul53 sagte in parser - negative Temperatur-Werte mit Leerzeichen?:
let temp = parseFloat
-
in Pauls skript wird es doch in Zahl gewandelt:
@paul53 sagte in parser - negative Temperatur-Werte mit Leerzeichen?:
let temp = parseFloat
@Homoran tja, jetzt läufts wirklich. mir hat es bis vor ein paar minuten im diagramm bei den datenpunkten immer nur null angezeigt. alles richtig eingestellt. danke euch allen!
-
@Homoran tja, jetzt läufts wirklich. mir hat es bis vor ein paar minuten im diagramm bei den datenpunkten immer nur null angezeigt. alles richtig eingestellt. danke euch allen!
@Homoran
so, seit 9:25 Uhr ist ein Problem aufgetreten, wir haben +Grade :-) seitdem zeigt mir das script keine Zahl mehr an :-( -
@Homoran
so, seit 9:25 Uhr ist ein Problem aufgetreten, wir haben +Grade :-) seitdem zeigt mir das script keine Zahl mehr an :-(@Frank-Haas sagte:
+Grade seitdem zeigt mir das script keine Zahl mehr an
Dann bau mal nach Zeile 3 eine Log-Ausgabe ein:
if(!err && body) { log('body: ' + body); -
@Frank-Haas sagte:
+Grade seitdem zeigt mir das script keine Zahl mehr an
Dann bau mal nach Zeile 3 eine Log-Ausgabe ein:
if(!err && body) { log('body: ' + body);@paul53 das kam gerade im log:
script.js.UVR.Aussentemp: body: 2,7 °C -
@paul53 das kam gerade im log:
script.js.UVR.Aussentemp: body: 2,7 °C@Frank-Haas sagte:
das kam gerade im log:
Das sind zwei geschützte Leerzeichen. Dann versuche es mal so:
let temp = parseFloat(body.replace(' ', '').trim().replace(',', '.')); -
@Frank-Haas sagte:
das kam gerade im log:
Das sind zwei geschützte Leerzeichen. Dann versuche es mal so:
let temp = parseFloat(body.replace(' ', '').trim().replace(',', '.'));@paul53
trim hat nicht funktioniert, es geht auch nur, wenn ich   ersetze.
ich habs jetzt mal so probiert, das funktioniert mit den +Werten.let temp = parseFloat(body.replace(' ', '').replace(',', '.'));wie kann ich das in 2 durchläufen ersetzen lassen? einmal mit " " und einmal mit " " ?
-
@paul53
trim hat nicht funktioniert, es geht auch nur, wenn ich   ersetze.
ich habs jetzt mal so probiert, das funktioniert mit den +Werten.let temp = parseFloat(body.replace(' ', '').replace(',', '.'));wie kann ich das in 2 durchläufen ersetzen lassen? einmal mit " " und einmal mit " " ?
@Frank-Haas sagte:
das funktioniert mit den +Werten.
aber nicht mit negativen Werten. Versuche es so:
let temp = parseFloat(body.replace(/ /g, '').replace(',', '.')); -
@Frank-Haas sagte:
das funktioniert mit den +Werten.
aber nicht mit negativen Werten. Versuche es so:
let temp = parseFloat(body.replace(/ /g, '').replace(',', '.'));@paul53 also mit +Werten funktionierts so auch, ich warte heute Nacht auf -Grade :-)
DANKE -
@paul53 also mit +Werten funktionierts so auch, ich warte heute Nacht auf -Grade :-)
DANKE@paul53
Danke, es hat wunderbar funktioniert. Soeben hat die Anzeige von + auf - umgeschaltet. Wunderbar! :-) -
@paul53
Danke, es hat wunderbar funktioniert. Soeben hat die Anzeige von + auf - umgeschaltet. Wunderbar! :-)@Frank-Haas sagte:
funktioniert. Soeben hat die Anzeige von + auf - umgeschaltet.
Dann kannst Du wohl das Thema in der Überschrift des ersten Beitrags auf [gelöst] setzen.