Hauptmenü

Plot mit Kommawerten

Begonnen von Olly, 28 Februar 2014, 22:41:13

Vorheriges Thema - Nächstes Thema

Olly

Hallo,

ich habe ein Logfile in dem Temperaturen mit Kommawerten stehen (z.B. 27,4 °C).
Aus diesen möchte ich gerne ein Plot erzeugen, aber mit Kommawerten scheint das nicht zu gehen. :-(
Jemand ´ne Idee für mich.

Gruß

   Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

justme1968

das dezimaltrennzeichen in perl (zumindest intern für berechnungen) ist ein punkt. nicht ein komma.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Olly

Zitat von: justme1968 am 28 Februar 2014, 22:52:30
das dezimaltrennzeichen in perl (zumindest intern für berechnungen) ist ein punkt. nicht ein komma.

gruss
  andre
Hallo Andre,

ja, das ist mir mittlerweile klar.
Das Gerät, aus dem ich die Temperaturwerte auslese spuckt die Werte leider mit Komma aus. Gibt's ne Möglichkeit die Werte vor dem schreiben ins Log umzuwandeln?

Gruß

   Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

justme1968

wenn du alles unter kontrolle hast einfach das komma gegen einen punkt austauschen:

$wert =~ s/,/\./;

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Olly

Wenn ich mich damit nur auskennen würde :-(
Ich lese die Werte mit HTTPMOD von einer Web-Seite aus.

define NETIO HTTPMOD http://192.168.140.20:80/index.htm 300
attr NETIO readingsName1 InnenTemp
attr NETIO readingsName2 AussenTemp
attr NETIO readingsRegex1 Innen</td><td align="right">([\d\,]+)
attr NETIO readingsRegex2 Aussen</td><td align="right">([\d\,]+)
attr NETIO room Gewächshaus
attr NETIO stateFormat {sprintf("IT: %s°C, AT: %s°C", ReadingsVal($name, "InnenTemp",0), ReadingsVal($name, "AussenTemp",0))}
attr NETIO userReadings GewHaus {sprintf("%s %s", ReadingsVal($name, "InnenTemp",0), ReadingsVal($name, "AussenTemp",0))}
define FileLog_GewHaus FileLog ./log/GewHaus-%Y-%m.log NETIO:InnenTemp:.*|NETIO:AussenTemp:.*
attr FileLog_GewHaus room Gewächshaus
define GewHausPlot SVG FileLog_GewHaus:SVG_FileLog_GewHaus:CURRENT
attr GewHausPlot room Gewächshaus


Gruß

      Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

justme1968

versuch mal attr NETIO readingsExpr1 $val =~ s/,/\./;
attr NETIO readingsExpr2 $val =~ s/,/\./;
attr NETIO readingsExpr3 $val =~ s/,/\./;


gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Olly

Hallo,

funktioniert leider nicht, dann kommt immer 1 raus :-(
Wird ich wohl ohne Plot auskommen müssen...

Gruß

     Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

justme1968

häng an jede zeile noch ein

$val;

hinten an.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Olly

Hallo Andre,

Wie muss die Zeile denn dann aussehen? Ich bekomme immer "invalid expression"

attr NETIO readingsExpr 1 $val =~ s/,/\./ $val;


Ich bin echt eine Perl-Niete :-(

Gruß

    Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

justme1968

ich hab doch gesagt an die alte zeile anhängen. ohne etwas weg zu machen :)

attr NETIO readingsExpr1 $val =~ s/,/\./; $val;

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Olly

Das war das erste was ich ausprobiert habe. Ergebnis:
unknown command $val, try help    :-(

Gruß

   Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

justme1968

wo genau gibst du das ein ?

du solltest es im web frontend in die text box hinter attr eingeben. nicht selber ins config file schreiben.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Olly

Zitat von: justme1968 am 01 März 2014, 10:38:56
wo genau gibst du das ein ?

du solltest es im web frontend in die text box hinter attr eingeben. nicht selber ins config file schreiben.

gruss
  andre
Hi,

ich arbeite eigentlich sonst nur mit der fhem.cfg , daher hab ich versucht es dort einzutragen.
Im Web-Frontend finde ich keine Möglichkeit es enzutragen :-(
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

justme1968

#13
genau über dem ausschnitt aus deinem screenshot.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Olly

Da kann ich aber nur readingsExpr.* auswählen (siehe angehängtem Screenshot). Und wenn ich das mache, ändert sich leider auch nichts.
Wenn ich die eigentlichen readingsExpr1+2 entferne, dann bekomme ich Werte vor dem Komma. Das ist mir etwas ungenau ;-)
Weitere Vorschläge??

Gruß

    Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2