Hallo,
Ich hätte da eine Frage:
Für ein Display benötige ich von meinem KS300 avg_day bzw. avg_month R:.... Wert
Im Moment habe ich das so gelöst
define OLED_ESP69 dummy
define esp_oled69 at +*00:01 {\
my $temp=(ReadingsVal ("KS300","temperature","0"));;\
my $humi=(ReadingsVal ("KS300","humidity","0"));;\
my $wind=(ReadingsVal ("KS300","wind","0"));;\
my $rain=(ReadingsVal ("KS300","rain","0"));;\
my $pressnn=(ReadingsVal ("BMP180OUTDOOR","pressure-nn","0"));;\
my $energieb=(ReadingsVal ("POWERZAEHLER","power","0"));;\
my $energiee=(ReadingsVal ("POWERZAEHLER","feed_L1","0"));;\
# Log 3, "set OLED_ESP69: $temp$humi";;\
{GetHttpFile("192.168............","/control?cmd=lcdcmd,clear")};;\
{GetHttpFile("192.168............","/control?cmd=lcd,1,1,Temp:+$temp+Hum:+$humi")};;\
Wie kann ich rain auf avg_day rain setzen?
Allmählich verstehe ich das Problem.
Im KS300 sehen die average so aus .........
avg_day T: 4.6 H: 92 W: 0.2 R: 0.0 2016-10-17 00:11:08
avg_month T: 9.3 H: 42 W: 42.1 R: 27.0 2016-10-17 00:00:55
Und das sollte so aussehen ReadingsVal <device> <reading> <default>
Also müsste es dann so laufen
my $rainday=(ReadingsVal ("KS300","avg_day.*R:","0"));;\
Aber leider liefert es nur den Wert 0 also Default
Mit
my $rainday=(ReadingsVal ("KS300","avg_month","0") =~ m/R:\s([0-9.]+)$/ );;\
Bekomme ich nur den Wert 1 zurück
Leider keine ich mich in Perl zu wenig aus um die richtige Syntax zu finden, leider bis jetzt auch nichts im Internet gefunden
Niemand eine Idee?